| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447 |
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 1
- 1 .cpu cortex-m4
- 2 .arch armv7e-m
- 3 .fpu fpv4-sp-d16
- 4 .eabi_attribute 27, 1
- 5 .eabi_attribute 28, 1
- 6 .eabi_attribute 20, 1
- 7 .eabi_attribute 21, 1
- 8 .eabi_attribute 23, 3
- 9 .eabi_attribute 24, 1
- 10 .eabi_attribute 25, 1
- 11 .eabi_attribute 26, 1
- 12 .eabi_attribute 30, 6
- 13 .eabi_attribute 34, 1
- 14 .eabi_attribute 18, 4
- 15 .file "stm32f3xx_hal_can.c"
- 16 .text
- 17 .Ltext0:
- 18 .cfi_sections .debug_frame
- 19 .section .rodata
- 20 .align 2
- 21 .LC0:
- 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can."
- 22 6572732F
- 22 53544D33
- 22 32463378
- 22 785F4841
- 23 0033 6300 .ascii "c\000"
- 24 .section .text.HAL_CAN_Init,"ax",%progbits
- 25 .align 1
- 26 .global HAL_CAN_Init
- 27 .syntax unified
- 28 .thumb
- 29 .thumb_func
- 31 HAL_CAN_Init:
- 32 .LFB130:
- 33 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c"
- 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
- 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @file stm32f3xx_hal_can.c
- 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @author MCD Application Team
- 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN HAL module driver.
- 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This file provides firmware functions to manage the following
- 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * functionalities of the Controller Area Network (CAN) peripheral:
- 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Initialization and de-initialization functions
- 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Configuration functions
- 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Control functions
- 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Interrupts management
- 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Callbacks functions
- 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Peripheral State and Error functions
- 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
- 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @attention
- 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Copyright (c) 2016 STMicroelectronics.
- 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * All rights reserved.
- 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This software is licensed under terms that can be found in the LICENSE file
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 2
- 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * in the root directory of this software component.
- 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
- 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
- 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
- 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### How to use this driver #####
- 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
- 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN low level resources by implementing the
- 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit():
- 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Enable the CAN interface clock using __HAL_RCC_CANx_CLK_ENABLE()
- 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Configure CAN pins
- 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the clock for the CAN GPIOs
- 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure CAN pins as alternate function
- 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) In case of using interrupts (e.g. HAL_CAN_ActivateNotification())
- 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure the CAN interrupt priority using
- 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_NVIC_SetPriority()
- 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the CAN IRQ handler using HAL_NVIC_EnableIRQ()
- 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) In CAN IRQ handler, call HAL_CAN_IRQHandler()
- 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN peripheral using HAL_CAN_Init() function. This
- 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function resorts to HAL_CAN_MspInit() for low-level initialization.
- 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Configure the reception filters using the following configuration
- 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** functions:
- 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_ConfigFilter()
- 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Start the CAN module using HAL_CAN_Start() function. At this level
- 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the node is active on the bus: it receive messages, and can send
- 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** messages.
- 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) To manage messages transmission, the following Tx control functions
- 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can be used:
- 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AddTxMessage() to request transmission of a new
- 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
- 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AbortTxRequest() to abort transmission of a pending
- 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
- 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxMailboxesFreeLevel() to get the number of free Tx
- 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailboxes.
- 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_IsTxMessagePending() to check if a message is pending
- 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in a Tx mailbox.
- 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxTimestamp() to get the timestamp of Tx message
- 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** sent, if time triggered communication mode is enabled.
- 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) When a message is received into the CAN Rx FIFOs, it can be retrieved
- 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using the HAL_CAN_GetRxMessage() function. The function
- 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxFifoFillLevel() allows to know how many Rx message are
- 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** stored in the Rx Fifo.
- 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Calling the HAL_CAN_Stop() function stops the CAN module.
- 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The deinitialization is achieved with HAL_CAN_DeInit() function.
- 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Polling mode operation ***
- 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 3
- 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
- 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Reception:
- 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor reception of message using HAL_CAN_GetRxFifoFillLevel()
- 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** until at least one message is received.
- 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then get the message using HAL_CAN_GetRxMessage().
- 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Transmission:
- 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor the Tx mailboxes availability until at least one Tx
- 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailbox is free, using HAL_CAN_GetTxMailboxesFreeLevel().
- 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then request transmission of a message using
- 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_AddTxMessage().
- 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Interrupt mode operation ***
- 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ================================
- 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
- 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications are activated using HAL_CAN_ActivateNotification()
- 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function. Then, the process can be controlled through the
- 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** available user callbacks: HAL_CAN_xxxCallback(), using same APIs
- 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage() and HAL_CAN_AddTxMessage().
- 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications can be deactivated using
- 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_DeactivateNotification() function.
- 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and
- 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_IT_RX_FIFO1_MSG_PENDING notifications. These notifications trig
- 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and
- 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFIFO1MsgPendingCallback(). User has two possible options
- 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** here.
- 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Directly get the Rx message in the callback, using
- 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage().
- 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Or deactivate the notification in the callback without
- 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** getting the Rx message. The Rx message can then be got later
- 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_GetRxMessage(). Once the Rx message have been
- 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** read, the notification can be activated again.
- 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Sleep mode ***
- 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==================
- 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
- 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The CAN peripheral can be put in sleep mode (low power), using
- 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RequestSleep(). The sleep mode will be entered as soon as the
- 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** current CAN activity (transmission or reception of a CAN frame) will
- 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** be completed.
- 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) A notification can be activated to be informed when the sleep mode
- 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** will be entered.
- 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) It can be checked if the sleep mode is entered using
- 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_IsSleepActive().
- 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Note that the CAN state (accessible from the API HAL_CAN_GetState())
- 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** is HAL_CAN_STATE_SLEEP_PENDING as soon as the sleep mode request is
- 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** submitted (the sleep mode is not yet entered), and become
- 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_STATE_SLEEP_ACTIVE when the sleep mode is effective.
- 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The wake-up from sleep mode can be triggered by two ways:
- 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Using HAL_CAN_WakeUp(). When returning from this function,
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 4
- 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the sleep mode is exited (if return status is HAL_OK).
- 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) When a start of Rx CAN frame is detected by the CAN peripheral,
- 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if automatic wake up mode is enabled.
- 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Callback registration ***
- 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** =============================================
- 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** The compilation define USE_HAL_CAN_REGISTER_CALLBACKS when set to 1
- 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** allows the user to configure dynamically the driver callbacks.
- 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use Function HAL_CAN_RegisterCallback() to register an interrupt callback.
- 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Function HAL_CAN_RegisterCallback() allows to register following callbacks:
- 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
- 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
- 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
- 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
- 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
- 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
- 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
- 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
- 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
- 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
- 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
- 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
- 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
- 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
- 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
- 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
- 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and a pointer to the user callback function.
- 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use function HAL_CAN_UnRegisterCallback() to reset a callback to the default
- 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** weak function.
- 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_UnRegisterCallback takes as parameters the HAL peripheral handle,
- 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and the Callback ID.
- 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function allows to reset following callbacks:
- 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
- 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
- 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
- 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
- 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
- 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
- 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
- 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
- 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
- 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
- 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
- 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
- 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
- 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
- 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
- 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 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,
- 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** all callbacks are set to the corresponding weak functions:
- 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** example HAL_CAN_ErrorCallback().
- 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done for MspInit and MspDeInit functions that are
- 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
- 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** these callbacks are null (not registered beforehand).
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 5
- 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()
- 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
- 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Callbacks can be registered/unregistered in HAL_CAN_STATE_READY state only.
- 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
- 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in HAL_CAN_STATE_READY or HAL_CAN_STATE_RESET state,
- 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
- 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** In that case first register the MspInit/MspDeInit user callbacks
- 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_RegisterCallback() before calling HAL_CAN_DeInit()
- 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** or HAL_CAN_Init() function.
- 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** When The compilation define USE_HAL_CAN_REGISTER_CALLBACKS is set to 0 or
- 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** not defined, the callback registration feature is not available and all callbacks
- 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** are set to the corresponding weak functions.
- 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
- 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
- 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Includes ------------------------------------------------------------------*/
- 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #include "stm32f3xx_hal.h"
- 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @addtogroup STM32F3xx_HAL_Driver
- 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if defined(CAN)
- 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN CAN
- 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN driver modules
- 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_MODULE_ENABLED
- 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
- 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"
- 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
- 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private typedef -----------------------------------------------------------*/
- 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private define ------------------------------------------------------------*/
- 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Private_Constants CAN Private Constants
- 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_TIMEOUT_VALUE 10U
- 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_WAKEUP_TIMEOUT_COUNTER 1000000U
- 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
- 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private macro -------------------------------------------------------------*/
- 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private variables ---------------------------------------------------------*/
- 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private function prototypes -----------------------------------------------*/
- 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exported functions --------------------------------------------------------*/
- 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions CAN Exported Functions
- 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 6
- 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group1 Initialization and de-initialization functions
- 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initialization and Configuration functions
- 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
- 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Initialization and de-initialization functions #####
- 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
- 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Init : Initialize and configure the CAN.
- 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeInit : De-initialize the CAN.
- 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspInit : Initialize the CAN MSP.
- 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspDeInit : DeInitialize the CAN MSP.
- 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
- 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN peripheral according to the specified
- 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_InitStruct.
- 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
- 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 34 .loc 1 276 1
- 35 .cfi_startproc
- 36 @ args = 0, pretend = 0, frame = 16
- 37 @ frame_needed = 1, uses_anonymous_args = 0
- 38 0000 80B5 push {r7, lr}
- 39 .LCFI0:
- 40 .cfi_def_cfa_offset 8
- 41 .cfi_offset 7, -8
- 42 .cfi_offset 14, -4
- 43 0002 84B0 sub sp, sp, #16
- 44 .LCFI1:
- 45 .cfi_def_cfa_offset 24
- 46 0004 00AF add r7, sp, #0
- 47 .LCFI2:
- 48 .cfi_def_cfa_register 7
- 49 0006 7860 str r0, [r7, #4]
- 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
- 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
- 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
- 50 .loc 1 280 6
- 51 0008 7B68 ldr r3, [r7, #4]
- 52 000a 002B cmp r3, #0
- 53 000c 01D1 bne .L2
- 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 54 .loc 1 282 12
- 55 000e 0123 movs r3, #1
- 56 0010 09E2 b .L3
- 57 .L2:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 7
- 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
- 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
- 58 .loc 1 286 3
- 59 0012 7B68 ldr r3, [r7, #4]
- 60 0014 1B68 ldr r3, [r3]
- 61 0016 8F4A ldr r2, .L34
- 62 0018 9342 cmp r3, r2
- 63 001a 04D0 beq .L4
- 64 .loc 1 286 3 is_stmt 0 discriminator 1
- 65 001c 4FF48F71 mov r1, #286
- 66 0020 8D48 ldr r0, .L34+4
- 67 0022 FFF7FEFF bl assert_failed
- 68 .L4:
- 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
- 69 .loc 1 287 3 is_stmt 1
- 70 0026 7B68 ldr r3, [r7, #4]
- 71 0028 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
- 72 002a 002B cmp r3, #0
- 73 002c 08D0 beq .L5
- 74 .loc 1 287 3 is_stmt 0 discriminator 1
- 75 002e 7B68 ldr r3, [r7, #4]
- 76 0030 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
- 77 0032 012B cmp r3, #1
- 78 0034 04D0 beq .L5
- 79 .loc 1 287 3 discriminator 2
- 80 0036 40F21F11 movw r1, #287
- 81 003a 8748 ldr r0, .L34+4
- 82 003c FFF7FEFF bl assert_failed
- 83 .L5:
- 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
- 84 .loc 1 288 3 is_stmt 1
- 85 0040 7B68 ldr r3, [r7, #4]
- 86 0042 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
- 87 0044 002B cmp r3, #0
- 88 0046 08D0 beq .L6
- 89 .loc 1 288 3 is_stmt 0 discriminator 1
- 90 0048 7B68 ldr r3, [r7, #4]
- 91 004a 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
- 92 004c 012B cmp r3, #1
- 93 004e 04D0 beq .L6
- 94 .loc 1 288 3 discriminator 2
- 95 0050 4FF49071 mov r1, #288
- 96 0054 8048 ldr r0, .L34+4
- 97 0056 FFF7FEFF bl assert_failed
- 98 .L6:
- 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
- 99 .loc 1 289 3 is_stmt 1
- 100 005a 7B68 ldr r3, [r7, #4]
- 101 005c 9B7E ldrb r3, [r3, #26] @ zero_extendqisi2
- 102 005e 002B cmp r3, #0
- 103 0060 08D0 beq .L7
- 104 .loc 1 289 3 is_stmt 0 discriminator 1
- 105 0062 7B68 ldr r3, [r7, #4]
- 106 0064 9B7E ldrb r3, [r3, #26] @ zero_extendqisi2
- 107 0066 012B cmp r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 8
- 108 0068 04D0 beq .L7
- 109 .loc 1 289 3 discriminator 2
- 110 006a 40F22111 movw r1, #289
- 111 006e 7A48 ldr r0, .L34+4
- 112 0070 FFF7FEFF bl assert_failed
- 113 .L7:
- 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
- 114 .loc 1 290 3 is_stmt 1
- 115 0074 7B68 ldr r3, [r7, #4]
- 116 0076 DB7E ldrb r3, [r3, #27] @ zero_extendqisi2
- 117 0078 002B cmp r3, #0
- 118 007a 08D0 beq .L8
- 119 .loc 1 290 3 is_stmt 0 discriminator 1
- 120 007c 7B68 ldr r3, [r7, #4]
- 121 007e DB7E ldrb r3, [r3, #27] @ zero_extendqisi2
- 122 0080 012B cmp r3, #1
- 123 0082 04D0 beq .L8
- 124 .loc 1 290 3 discriminator 2
- 125 0084 4FF49171 mov r1, #290
- 126 0088 7348 ldr r0, .L34+4
- 127 008a FFF7FEFF bl assert_failed
- 128 .L8:
- 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
- 129 .loc 1 291 3 is_stmt 1
- 130 008e 7B68 ldr r3, [r7, #4]
- 131 0090 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
- 132 0092 002B cmp r3, #0
- 133 0094 08D0 beq .L9
- 134 .loc 1 291 3 is_stmt 0 discriminator 1
- 135 0096 7B68 ldr r3, [r7, #4]
- 136 0098 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
- 137 009a 012B cmp r3, #1
- 138 009c 04D0 beq .L9
- 139 .loc 1 291 3 discriminator 2
- 140 009e 40F22311 movw r1, #291
- 141 00a2 6D48 ldr r0, .L34+4
- 142 00a4 FFF7FEFF bl assert_failed
- 143 .L9:
- 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
- 144 .loc 1 292 3 is_stmt 1
- 145 00a8 7B68 ldr r3, [r7, #4]
- 146 00aa 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
- 147 00ac 002B cmp r3, #0
- 148 00ae 08D0 beq .L10
- 149 .loc 1 292 3 is_stmt 0 discriminator 1
- 150 00b0 7B68 ldr r3, [r7, #4]
- 151 00b2 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
- 152 00b4 012B cmp r3, #1
- 153 00b6 04D0 beq .L10
- 154 .loc 1 292 3 discriminator 2
- 155 00b8 4FF49271 mov r1, #292
- 156 00bc 6648 ldr r0, .L34+4
- 157 00be FFF7FEFF bl assert_failed
- 158 .L10:
- 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
- 159 .loc 1 293 3 is_stmt 1
- 160 00c2 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 9
- 161 00c4 9B68 ldr r3, [r3, #8]
- 162 00c6 002B cmp r3, #0
- 163 00c8 13D0 beq .L11
- 164 .loc 1 293 3 is_stmt 0 discriminator 1
- 165 00ca 7B68 ldr r3, [r7, #4]
- 166 00cc 9B68 ldr r3, [r3, #8]
- 167 00ce B3F1804F cmp r3, #1073741824
- 168 00d2 0ED0 beq .L11
- 169 .loc 1 293 3 discriminator 2
- 170 00d4 7B68 ldr r3, [r7, #4]
- 171 00d6 9B68 ldr r3, [r3, #8]
- 172 00d8 B3F1004F cmp r3, #-2147483648
- 173 00dc 09D0 beq .L11
- 174 .loc 1 293 3 discriminator 3
- 175 00de 7B68 ldr r3, [r7, #4]
- 176 00e0 9B68 ldr r3, [r3, #8]
- 177 00e2 B3F1404F cmp r3, #-1073741824
- 178 00e6 04D0 beq .L11
- 179 .loc 1 293 3 discriminator 4
- 180 00e8 40F22511 movw r1, #293
- 181 00ec 5A48 ldr r0, .L34+4
- 182 00ee FFF7FEFF bl assert_failed
- 183 .L11:
- 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
- 184 .loc 1 294 3 is_stmt 1
- 185 00f2 7B68 ldr r3, [r7, #4]
- 186 00f4 DB68 ldr r3, [r3, #12]
- 187 00f6 002B cmp r3, #0
- 188 00f8 13D0 beq .L12
- 189 .loc 1 294 3 is_stmt 0 discriminator 1
- 190 00fa 7B68 ldr r3, [r7, #4]
- 191 00fc DB68 ldr r3, [r3, #12]
- 192 00fe B3F1807F cmp r3, #16777216
- 193 0102 0ED0 beq .L12
- 194 .loc 1 294 3 discriminator 2
- 195 0104 7B68 ldr r3, [r7, #4]
- 196 0106 DB68 ldr r3, [r3, #12]
- 197 0108 B3F1007F cmp r3, #33554432
- 198 010c 09D0 beq .L12
- 199 .loc 1 294 3 discriminator 3
- 200 010e 7B68 ldr r3, [r7, #4]
- 201 0110 DB68 ldr r3, [r3, #12]
- 202 0112 B3F1407F cmp r3, #50331648
- 203 0116 04D0 beq .L12
- 204 .loc 1 294 3 discriminator 4
- 205 0118 4FF49371 mov r1, #294
- 206 011c 4E48 ldr r0, .L34+4
- 207 011e FFF7FEFF bl assert_failed
- 208 .L12:
- 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
- 209 .loc 1 295 3 is_stmt 1
- 210 0122 7B68 ldr r3, [r7, #4]
- 211 0124 1B69 ldr r3, [r3, #16]
- 212 0126 002B cmp r3, #0
- 213 0128 4FD0 beq .L13
- 214 .loc 1 295 3 is_stmt 0 discriminator 1
- 215 012a 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 10
- 216 012c 1B69 ldr r3, [r3, #16]
- 217 012e B3F5803F cmp r3, #65536
- 218 0132 4AD0 beq .L13
- 219 .loc 1 295 3 discriminator 2
- 220 0134 7B68 ldr r3, [r7, #4]
- 221 0136 1B69 ldr r3, [r3, #16]
- 222 0138 B3F5003F cmp r3, #131072
- 223 013c 45D0 beq .L13
- 224 .loc 1 295 3 discriminator 3
- 225 013e 7B68 ldr r3, [r7, #4]
- 226 0140 1B69 ldr r3, [r3, #16]
- 227 0142 B3F5403F cmp r3, #196608
- 228 0146 40D0 beq .L13
- 229 .loc 1 295 3 discriminator 4
- 230 0148 7B68 ldr r3, [r7, #4]
- 231 014a 1B69 ldr r3, [r3, #16]
- 232 014c B3F5802F cmp r3, #262144
- 233 0150 3BD0 beq .L13
- 234 .loc 1 295 3 discriminator 5
- 235 0152 7B68 ldr r3, [r7, #4]
- 236 0154 1B69 ldr r3, [r3, #16]
- 237 0156 B3F5A02F cmp r3, #327680
- 238 015a 36D0 beq .L13
- 239 .loc 1 295 3 discriminator 6
- 240 015c 7B68 ldr r3, [r7, #4]
- 241 015e 1B69 ldr r3, [r3, #16]
- 242 0160 B3F5C02F cmp r3, #393216
- 243 0164 31D0 beq .L13
- 244 .loc 1 295 3 discriminator 7
- 245 0166 7B68 ldr r3, [r7, #4]
- 246 0168 1B69 ldr r3, [r3, #16]
- 247 016a B3F5E02F cmp r3, #458752
- 248 016e 2CD0 beq .L13
- 249 .loc 1 295 3 discriminator 8
- 250 0170 7B68 ldr r3, [r7, #4]
- 251 0172 1B69 ldr r3, [r3, #16]
- 252 0174 B3F5002F cmp r3, #524288
- 253 0178 27D0 beq .L13
- 254 .loc 1 295 3 discriminator 9
- 255 017a 7B68 ldr r3, [r7, #4]
- 256 017c 1B69 ldr r3, [r3, #16]
- 257 017e B3F5102F cmp r3, #589824
- 258 0182 22D0 beq .L13
- 259 .loc 1 295 3 discriminator 10
- 260 0184 7B68 ldr r3, [r7, #4]
- 261 0186 1B69 ldr r3, [r3, #16]
- 262 0188 B3F5202F cmp r3, #655360
- 263 018c 1DD0 beq .L13
- 264 .loc 1 295 3 discriminator 11
- 265 018e 7B68 ldr r3, [r7, #4]
- 266 0190 1B69 ldr r3, [r3, #16]
- 267 0192 B3F5302F cmp r3, #720896
- 268 0196 18D0 beq .L13
- 269 .loc 1 295 3 discriminator 12
- 270 0198 7B68 ldr r3, [r7, #4]
- 271 019a 1B69 ldr r3, [r3, #16]
- 272 019c B3F5402F cmp r3, #786432
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 11
- 273 01a0 13D0 beq .L13
- 274 .loc 1 295 3 discriminator 13
- 275 01a2 7B68 ldr r3, [r7, #4]
- 276 01a4 1B69 ldr r3, [r3, #16]
- 277 01a6 B3F5502F cmp r3, #851968
- 278 01aa 0ED0 beq .L13
- 279 .loc 1 295 3 discriminator 14
- 280 01ac 7B68 ldr r3, [r7, #4]
- 281 01ae 1B69 ldr r3, [r3, #16]
- 282 01b0 B3F5602F cmp r3, #917504
- 283 01b4 09D0 beq .L13
- 284 .loc 1 295 3 discriminator 15
- 285 01b6 7B68 ldr r3, [r7, #4]
- 286 01b8 1B69 ldr r3, [r3, #16]
- 287 01ba B3F5702F cmp r3, #983040
- 288 01be 04D0 beq .L13
- 289 .loc 1 295 3 discriminator 16
- 290 01c0 40F22711 movw r1, #295
- 291 01c4 2448 ldr r0, .L34+4
- 292 01c6 FFF7FEFF bl assert_failed
- 293 .L13:
- 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
- 294 .loc 1 296 3 is_stmt 1
- 295 01ca 7B68 ldr r3, [r7, #4]
- 296 01cc 5B69 ldr r3, [r3, #20]
- 297 01ce 002B cmp r3, #0
- 298 01d0 27D0 beq .L14
- 299 .loc 1 296 3 is_stmt 0 discriminator 1
- 300 01d2 7B68 ldr r3, [r7, #4]
- 301 01d4 5B69 ldr r3, [r3, #20]
- 302 01d6 B3F5801F cmp r3, #1048576
- 303 01da 22D0 beq .L14
- 304 .loc 1 296 3 discriminator 2
- 305 01dc 7B68 ldr r3, [r7, #4]
- 306 01de 5B69 ldr r3, [r3, #20]
- 307 01e0 B3F5001F cmp r3, #2097152
- 308 01e4 1DD0 beq .L14
- 309 .loc 1 296 3 discriminator 3
- 310 01e6 7B68 ldr r3, [r7, #4]
- 311 01e8 5B69 ldr r3, [r3, #20]
- 312 01ea B3F5401F cmp r3, #3145728
- 313 01ee 18D0 beq .L14
- 314 .loc 1 296 3 discriminator 4
- 315 01f0 7B68 ldr r3, [r7, #4]
- 316 01f2 5B69 ldr r3, [r3, #20]
- 317 01f4 B3F5800F cmp r3, #4194304
- 318 01f8 13D0 beq .L14
- 319 .loc 1 296 3 discriminator 5
- 320 01fa 7B68 ldr r3, [r7, #4]
- 321 01fc 5B69 ldr r3, [r3, #20]
- 322 01fe B3F5A00F cmp r3, #5242880
- 323 0202 0ED0 beq .L14
- 324 .loc 1 296 3 discriminator 6
- 325 0204 7B68 ldr r3, [r7, #4]
- 326 0206 5B69 ldr r3, [r3, #20]
- 327 0208 B3F5C00F cmp r3, #6291456
- 328 020c 09D0 beq .L14
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 12
- 329 .loc 1 296 3 discriminator 7
- 330 020e 7B68 ldr r3, [r7, #4]
- 331 0210 5B69 ldr r3, [r3, #20]
- 332 0212 B3F5E00F cmp r3, #7340032
- 333 0216 04D0 beq .L14
- 334 .loc 1 296 3 discriminator 8
- 335 0218 4FF49471 mov r1, #296
- 336 021c 0E48 ldr r0, .L34+4
- 337 021e FFF7FEFF bl assert_failed
- 338 .L14:
- 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
- 339 .loc 1 297 3 is_stmt 1
- 340 0222 7B68 ldr r3, [r7, #4]
- 341 0224 5B68 ldr r3, [r3, #4]
- 342 0226 002B cmp r3, #0
- 343 0228 04D0 beq .L15
- 344 .loc 1 297 3 is_stmt 0 discriminator 2
- 345 022a 7B68 ldr r3, [r7, #4]
- 346 022c 5B68 ldr r3, [r3, #4]
- 347 022e B3F5806F cmp r3, #1024
- 348 0232 04D9 bls .L16
- 349 .L15:
- 350 .loc 1 297 3 discriminator 3
- 351 0234 40F22911 movw r1, #297
- 352 0238 0748 ldr r0, .L34+4
- 353 023a FFF7FEFF bl assert_failed
- 354 .L16:
- 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
- 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset callbacks to legacy functions */
- 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; /* Legacy weak RxFifo0M
- 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; /* Legacy weak RxFifo0F
- 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; /* Legacy weak RxFifo1M
- 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; /* Legacy weak RxFifo1F
- 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbo
- 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbo
- 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbo
- 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; /* Legacy weak TxMailbo
- 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; /* Legacy weak TxMailbo
- 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; /* Legacy weak TxMailbo
- 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback; /* Legacy weak SleepCal
- 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; /* Legacy weak WakeUpFr
- 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback; /* Legacy weak ErrorCal
- 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspInitCallback == NULL)
- 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */
- 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
- 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback(hcan);
- 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 13
- 355 .loc 1 327 11 is_stmt 1
- 356 023e 7B68 ldr r3, [r7, #4]
- 357 0240 93F82030 ldrb r3, [r3, #32]
- 358 0244 DBB2 uxtb r3, r3
- 359 .loc 1 327 6
- 360 0246 002B cmp r3, #0
- 361 0248 08D1 bne .L17
- 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
- 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit(hcan);
- 362 .loc 1 330 5
- 363 024a 7868 ldr r0, [r7, #4]
- 364 024c FFF7FEFF bl HAL_CAN_MspInit
- 365 0250 04E0 b .L35
- 366 .L36:
- 367 0252 00BF .align 2
- 368 .L34:
- 369 0254 00640040 .word 1073767424
- 370 0258 00000000 .word .LC0
- 371 .L35:
- 372 .L17:
- 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
- 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
- 373 .loc 1 335 3
- 374 025c 7B68 ldr r3, [r7, #4]
- 375 025e 1B68 ldr r3, [r3]
- 376 0260 1A68 ldr r2, [r3]
- 377 0262 7B68 ldr r3, [r7, #4]
- 378 0264 1B68 ldr r3, [r3]
- 379 0266 42F00102 orr r2, r2, #1
- 380 026a 1A60 str r2, [r3]
- 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
- 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
- 381 .loc 1 338 15
- 382 026c FFF7FEFF bl HAL_GetTick
- 383 0270 F860 str r0, [r7, #12]
- 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait initialisation acknowledge */
- 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
- 384 .loc 1 341 9
- 385 0272 12E0 b .L18
- 386 .L19:
- 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
- 387 .loc 1 343 10
- 388 0274 FFF7FEFF bl HAL_GetTick
- 389 0278 0246 mov r2, r0
- 390 .loc 1 343 24
- 391 027a FB68 ldr r3, [r7, #12]
- 392 027c D31A subs r3, r2, r3
- 393 .loc 1 343 8
- 394 027e 0A2B cmp r3, #10
- 395 0280 0BD9 bls .L18
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 14
- 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
- 396 .loc 1 346 23
- 397 0282 7B68 ldr r3, [r7, #4]
- 398 0284 5B6A ldr r3, [r3, #36]
- 399 0286 43F40032 orr r2, r3, #131072
- 400 028a 7B68 ldr r3, [r7, #4]
- 401 028c 5A62 str r2, [r3, #36]
- 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
- 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
- 402 .loc 1 349 19
- 403 028e 7B68 ldr r3, [r7, #4]
- 404 0290 0522 movs r2, #5
- 405 0292 83F82020 strb r2, [r3, #32]
- 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 406 .loc 1 351 14
- 407 0296 0123 movs r3, #1
- 408 0298 C5E0 b .L3
- 409 .L18:
- 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 410 .loc 1 341 15
- 411 029a 7B68 ldr r3, [r7, #4]
- 412 029c 1B68 ldr r3, [r3]
- 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 413 .loc 1 341 25
- 414 029e 5B68 ldr r3, [r3, #4]
- 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 415 .loc 1 341 31
- 416 02a0 03F00103 and r3, r3, #1
- 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 417 .loc 1 341 9
- 418 02a4 002B cmp r3, #0
- 419 02a6 E5D0 beq .L19
- 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
- 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
- 420 .loc 1 356 3
- 421 02a8 7B68 ldr r3, [r7, #4]
- 422 02aa 1B68 ldr r3, [r3]
- 423 02ac 1A68 ldr r2, [r3]
- 424 02ae 7B68 ldr r3, [r7, #4]
- 425 02b0 1B68 ldr r3, [r3]
- 426 02b2 22F00202 bic r2, r2, #2
- 427 02b6 1A60 str r2, [r3]
- 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
- 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
- 428 .loc 1 359 15
- 429 02b8 FFF7FEFF bl HAL_GetTick
- 430 02bc F860 str r0, [r7, #12]
- 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode leave acknowledge */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 15
- 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
- 431 .loc 1 362 9
- 432 02be 12E0 b .L20
- 433 .L21:
- 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
- 434 .loc 1 364 10
- 435 02c0 FFF7FEFF bl HAL_GetTick
- 436 02c4 0246 mov r2, r0
- 437 .loc 1 364 24
- 438 02c6 FB68 ldr r3, [r7, #12]
- 439 02c8 D31A subs r3, r2, r3
- 440 .loc 1 364 8
- 441 02ca 0A2B cmp r3, #10
- 442 02cc 0BD9 bls .L20
- 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
- 443 .loc 1 367 23
- 444 02ce 7B68 ldr r3, [r7, #4]
- 445 02d0 5B6A ldr r3, [r3, #36]
- 446 02d2 43F40032 orr r2, r3, #131072
- 447 02d6 7B68 ldr r3, [r7, #4]
- 448 02d8 5A62 str r2, [r3, #36]
- 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
- 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
- 449 .loc 1 370 19
- 450 02da 7B68 ldr r3, [r7, #4]
- 451 02dc 0522 movs r2, #5
- 452 02de 83F82020 strb r2, [r3, #32]
- 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 453 .loc 1 372 14
- 454 02e2 0123 movs r3, #1
- 455 02e4 9FE0 b .L3
- 456 .L20:
- 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 457 .loc 1 362 15
- 458 02e6 7B68 ldr r3, [r7, #4]
- 459 02e8 1B68 ldr r3, [r3]
- 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 460 .loc 1 362 25
- 461 02ea 5B68 ldr r3, [r3, #4]
- 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 462 .loc 1 362 31
- 463 02ec 03F00203 and r3, r3, #2
- 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 464 .loc 1 362 9
- 465 02f0 002B cmp r3, #0
- 466 02f2 E5D1 bne .L21
- 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the time triggered communication mode */
- 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TimeTriggeredMode == ENABLE)
- 467 .loc 1 377 17
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 16
- 468 02f4 7B68 ldr r3, [r7, #4]
- 469 02f6 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
- 470 .loc 1 377 6
- 471 02f8 012B cmp r3, #1
- 472 02fa 08D1 bne .L22
- 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
- 473 .loc 1 379 5
- 474 02fc 7B68 ldr r3, [r7, #4]
- 475 02fe 1B68 ldr r3, [r3]
- 476 0300 1A68 ldr r2, [r3]
- 477 0302 7B68 ldr r3, [r7, #4]
- 478 0304 1B68 ldr r3, [r3]
- 479 0306 42F08002 orr r2, r2, #128
- 480 030a 1A60 str r2, [r3]
- 481 030c 07E0 b .L23
- 482 .L22:
- 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
- 483 .loc 1 383 5
- 484 030e 7B68 ldr r3, [r7, #4]
- 485 0310 1B68 ldr r3, [r3]
- 486 0312 1A68 ldr r2, [r3]
- 487 0314 7B68 ldr r3, [r7, #4]
- 488 0316 1B68 ldr r3, [r3]
- 489 0318 22F08002 bic r2, r2, #128
- 490 031c 1A60 str r2, [r3]
- 491 .L23:
- 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic bus-off management */
- 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoBusOff == ENABLE)
- 492 .loc 1 387 17
- 493 031e 7B68 ldr r3, [r7, #4]
- 494 0320 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
- 495 .loc 1 387 6
- 496 0322 012B cmp r3, #1
- 497 0324 08D1 bne .L24
- 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
- 498 .loc 1 389 5
- 499 0326 7B68 ldr r3, [r7, #4]
- 500 0328 1B68 ldr r3, [r3]
- 501 032a 1A68 ldr r2, [r3]
- 502 032c 7B68 ldr r3, [r7, #4]
- 503 032e 1B68 ldr r3, [r3]
- 504 0330 42F04002 orr r2, r2, #64
- 505 0334 1A60 str r2, [r3]
- 506 0336 07E0 b .L25
- 507 .L24:
- 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
- 508 .loc 1 393 5
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 17
- 509 0338 7B68 ldr r3, [r7, #4]
- 510 033a 1B68 ldr r3, [r3]
- 511 033c 1A68 ldr r2, [r3]
- 512 033e 7B68 ldr r3, [r7, #4]
- 513 0340 1B68 ldr r3, [r3]
- 514 0342 22F04002 bic r2, r2, #64
- 515 0346 1A60 str r2, [r3]
- 516 .L25:
- 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic wake-up mode */
- 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoWakeUp == ENABLE)
- 517 .loc 1 397 17
- 518 0348 7B68 ldr r3, [r7, #4]
- 519 034a 9B7E ldrb r3, [r3, #26] @ zero_extendqisi2
- 520 .loc 1 397 6
- 521 034c 012B cmp r3, #1
- 522 034e 08D1 bne .L26
- 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
- 523 .loc 1 399 5
- 524 0350 7B68 ldr r3, [r7, #4]
- 525 0352 1B68 ldr r3, [r3]
- 526 0354 1A68 ldr r2, [r3]
- 527 0356 7B68 ldr r3, [r7, #4]
- 528 0358 1B68 ldr r3, [r3]
- 529 035a 42F02002 orr r2, r2, #32
- 530 035e 1A60 str r2, [r3]
- 531 0360 07E0 b .L27
- 532 .L26:
- 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
- 533 .loc 1 403 5
- 534 0362 7B68 ldr r3, [r7, #4]
- 535 0364 1B68 ldr r3, [r3]
- 536 0366 1A68 ldr r2, [r3]
- 537 0368 7B68 ldr r3, [r7, #4]
- 538 036a 1B68 ldr r3, [r3]
- 539 036c 22F02002 bic r2, r2, #32
- 540 0370 1A60 str r2, [r3]
- 541 .L27:
- 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic retransmission */
- 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoRetransmission == ENABLE)
- 542 .loc 1 407 17
- 543 0372 7B68 ldr r3, [r7, #4]
- 544 0374 DB7E ldrb r3, [r3, #27] @ zero_extendqisi2
- 545 .loc 1 407 6
- 546 0376 012B cmp r3, #1
- 547 0378 08D1 bne .L28
- 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART);
- 548 .loc 1 409 5
- 549 037a 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 18
- 550 037c 1B68 ldr r3, [r3]
- 551 037e 1A68 ldr r2, [r3]
- 552 0380 7B68 ldr r3, [r7, #4]
- 553 0382 1B68 ldr r3, [r3]
- 554 0384 22F01002 bic r2, r2, #16
- 555 0388 1A60 str r2, [r3]
- 556 038a 07E0 b .L29
- 557 .L28:
- 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_NART);
- 558 .loc 1 413 5
- 559 038c 7B68 ldr r3, [r7, #4]
- 560 038e 1B68 ldr r3, [r3]
- 561 0390 1A68 ldr r2, [r3]
- 562 0392 7B68 ldr r3, [r7, #4]
- 563 0394 1B68 ldr r3, [r3]
- 564 0396 42F01002 orr r2, r2, #16
- 565 039a 1A60 str r2, [r3]
- 566 .L29:
- 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the receive FIFO locked mode */
- 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.ReceiveFifoLocked == ENABLE)
- 567 .loc 1 417 17
- 568 039c 7B68 ldr r3, [r7, #4]
- 569 039e 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
- 570 .loc 1 417 6
- 571 03a0 012B cmp r3, #1
- 572 03a2 08D1 bne .L30
- 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
- 573 .loc 1 419 5
- 574 03a4 7B68 ldr r3, [r7, #4]
- 575 03a6 1B68 ldr r3, [r3]
- 576 03a8 1A68 ldr r2, [r3]
- 577 03aa 7B68 ldr r3, [r7, #4]
- 578 03ac 1B68 ldr r3, [r3]
- 579 03ae 42F00802 orr r2, r2, #8
- 580 03b2 1A60 str r2, [r3]
- 581 03b4 07E0 b .L31
- 582 .L30:
- 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
- 583 .loc 1 423 5
- 584 03b6 7B68 ldr r3, [r7, #4]
- 585 03b8 1B68 ldr r3, [r3]
- 586 03ba 1A68 ldr r2, [r3]
- 587 03bc 7B68 ldr r3, [r7, #4]
- 588 03be 1B68 ldr r3, [r3]
- 589 03c0 22F00802 bic r2, r2, #8
- 590 03c4 1A60 str r2, [r3]
- 591 .L31:
- 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 19
- 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the transmit FIFO priority */
- 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TransmitFifoPriority == ENABLE)
- 592 .loc 1 427 17
- 593 03c6 7B68 ldr r3, [r7, #4]
- 594 03c8 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
- 595 .loc 1 427 6
- 596 03ca 012B cmp r3, #1
- 597 03cc 08D1 bne .L32
- 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
- 598 .loc 1 429 5
- 599 03ce 7B68 ldr r3, [r7, #4]
- 600 03d0 1B68 ldr r3, [r3]
- 601 03d2 1A68 ldr r2, [r3]
- 602 03d4 7B68 ldr r3, [r7, #4]
- 603 03d6 1B68 ldr r3, [r3]
- 604 03d8 42F00402 orr r2, r2, #4
- 605 03dc 1A60 str r2, [r3]
- 606 03de 07E0 b .L33
- 607 .L32:
- 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
- 608 .loc 1 433 5
- 609 03e0 7B68 ldr r3, [r7, #4]
- 610 03e2 1B68 ldr r3, [r3]
- 611 03e4 1A68 ldr r2, [r3]
- 612 03e6 7B68 ldr r3, [r7, #4]
- 613 03e8 1B68 ldr r3, [r3]
- 614 03ea 22F00402 bic r2, r2, #4
- 615 03ee 1A60 str r2, [r3]
- 616 .L33:
- 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the bit timing register */
- 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode |
- 617 .loc 1 437 3
- 618 03f0 7B68 ldr r3, [r7, #4]
- 619 03f2 9A68 ldr r2, [r3, #8]
- 620 03f4 7B68 ldr r3, [r7, #4]
- 621 03f6 DB68 ldr r3, [r3, #12]
- 622 03f8 1A43 orrs r2, r2, r3
- 623 03fa 7B68 ldr r3, [r7, #4]
- 624 03fc 1B69 ldr r3, [r3, #16]
- 625 03fe 1A43 orrs r2, r2, r3
- 626 0400 7B68 ldr r3, [r7, #4]
- 627 0402 5B69 ldr r3, [r3, #20]
- 628 0404 42EA0301 orr r1, r2, r3
- 629 0408 7B68 ldr r3, [r7, #4]
- 630 040a 5B68 ldr r3, [r3, #4]
- 631 040c 5A1E subs r2, r3, #1
- 632 040e 7B68 ldr r3, [r7, #4]
- 633 0410 1B68 ldr r3, [r3]
- 634 0412 0A43 orrs r2, r2, r1
- 635 0414 DA61 str r2, [r3, #28]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 20
- 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.SyncJumpWidth |
- 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg1 |
- 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg2 |
- 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (hcan->Init.Prescaler - 1U)));
- 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the error code */
- 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
- 636 .loc 1 444 19
- 637 0416 7B68 ldr r3, [r7, #4]
- 638 0418 0022 movs r2, #0
- 639 041a 5A62 str r2, [r3, #36]
- 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the CAN state */
- 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
- 640 .loc 1 447 15
- 641 041c 7B68 ldr r3, [r7, #4]
- 642 041e 0122 movs r2, #1
- 643 0420 83F82020 strb r2, [r3, #32]
- 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 644 .loc 1 450 10
- 645 0424 0023 movs r3, #0
- 646 .L3:
- 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 647 .loc 1 451 1
- 648 0426 1846 mov r0, r3
- 649 0428 1037 adds r7, r7, #16
- 650 .LCFI3:
- 651 .cfi_def_cfa_offset 8
- 652 042a BD46 mov sp, r7
- 653 .LCFI4:
- 654 .cfi_def_cfa_register 13
- 655 @ sp needed
- 656 042c 80BD pop {r7, pc}
- 657 .cfi_endproc
- 658 .LFE130:
- 660 042e 00BF .section .text.HAL_CAN_DeInit,"ax",%progbits
- 661 .align 1
- 662 .global HAL_CAN_DeInit
- 663 .syntax unified
- 664 .thumb
- 665 .thumb_func
- 667 HAL_CAN_DeInit:
- 668 .LFB131:
- 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Deinitializes the CAN peripheral registers to their default
- 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * reset values.
- 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)
- 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 669 .loc 1 461 1
- 670 .cfi_startproc
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 21
- 671 @ args = 0, pretend = 0, frame = 8
- 672 @ frame_needed = 1, uses_anonymous_args = 0
- 673 0000 80B5 push {r7, lr}
- 674 .LCFI5:
- 675 .cfi_def_cfa_offset 8
- 676 .cfi_offset 7, -8
- 677 .cfi_offset 14, -4
- 678 0002 82B0 sub sp, sp, #8
- 679 .LCFI6:
- 680 .cfi_def_cfa_offset 16
- 681 0004 00AF add r7, sp, #0
- 682 .LCFI7:
- 683 .cfi_def_cfa_register 7
- 684 0006 7860 str r0, [r7, #4]
- 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
- 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
- 685 .loc 1 463 6
- 686 0008 7B68 ldr r3, [r7, #4]
- 687 000a 002B cmp r3, #0
- 688 000c 01D1 bne .L38
- 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 689 .loc 1 465 12
- 690 000e 0123 movs r3, #1
- 691 0010 1FE0 b .L39
- 692 .L38:
- 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
- 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
- 693 .loc 1 469 3
- 694 0012 7B68 ldr r3, [r7, #4]
- 695 0014 1B68 ldr r3, [r3]
- 696 0016 114A ldr r2, .L41
- 697 0018 9342 cmp r3, r2
- 698 001a 04D0 beq .L40
- 699 .loc 1 469 3 is_stmt 0 discriminator 1
- 700 001c 40F2D511 movw r1, #469
- 701 0020 0F48 ldr r0, .L41+4
- 702 0022 FFF7FEFF bl assert_failed
- 703 .L40:
- 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Stop the CAN module */
- 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (void)HAL_CAN_Stop(hcan);
- 704 .loc 1 472 9 is_stmt 1
- 705 0026 7868 ldr r0, [r7, #4]
- 706 0028 FFF7FEFF bl HAL_CAN_Stop
- 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspDeInitCallback == NULL)
- 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */
- 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
- 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback(hcan);
- 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 22
- 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
- 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspDeInit(hcan);
- 707 .loc 1 485 3
- 708 002c 7868 ldr r0, [r7, #4]
- 709 002e FFF7FEFF bl HAL_CAN_MspDeInit
- 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN peripheral */
- 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);
- 710 .loc 1 489 3
- 711 0032 7B68 ldr r3, [r7, #4]
- 712 0034 1B68 ldr r3, [r3]
- 713 0036 1A68 ldr r2, [r3]
- 714 0038 7B68 ldr r3, [r7, #4]
- 715 003a 1B68 ldr r3, [r3]
- 716 003c 42F40042 orr r2, r2, #32768
- 717 0040 1A60 str r2, [r3]
- 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
- 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
- 718 .loc 1 492 19
- 719 0042 7B68 ldr r3, [r7, #4]
- 720 0044 0022 movs r2, #0
- 721 0046 5A62 str r2, [r3, #36]
- 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
- 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_RESET;
- 722 .loc 1 495 15
- 723 0048 7B68 ldr r3, [r7, #4]
- 724 004a 0022 movs r2, #0
- 725 004c 83F82020 strb r2, [r3, #32]
- 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 726 .loc 1 498 10
- 727 0050 0023 movs r3, #0
- 728 .L39:
- 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 729 .loc 1 499 1
- 730 0052 1846 mov r0, r3
- 731 0054 0837 adds r7, r7, #8
- 732 .LCFI8:
- 733 .cfi_def_cfa_offset 8
- 734 0056 BD46 mov sp, r7
- 735 .LCFI9:
- 736 .cfi_def_cfa_register 13
- 737 @ sp needed
- 738 0058 80BD pop {r7, pc}
- 739 .L42:
- 740 005a 00BF .align 2
- 741 .L41:
- 742 005c 00640040 .word 1073767424
- 743 0060 00000000 .word .LC0
- 744 .cfi_endproc
- 745 .LFE131:
- 747 .section .text.HAL_CAN_MspInit,"ax",%progbits
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 23
- 748 .align 1
- 749 .weak HAL_CAN_MspInit
- 750 .syntax unified
- 751 .thumb
- 752 .thumb_func
- 754 HAL_CAN_MspInit:
- 755 .LFB132:
- 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN MSP.
- 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan)
- 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 756 .loc 1 508 1
- 757 .cfi_startproc
- 758 @ args = 0, pretend = 0, frame = 8
- 759 @ frame_needed = 1, uses_anonymous_args = 0
- 760 @ link register save eliminated.
- 761 0000 80B4 push {r7}
- 762 .LCFI10:
- 763 .cfi_def_cfa_offset 4
- 764 .cfi_offset 7, -4
- 765 0002 83B0 sub sp, sp, #12
- 766 .LCFI11:
- 767 .cfi_def_cfa_offset 16
- 768 0004 00AF add r7, sp, #0
- 769 .LCFI12:
- 770 .cfi_def_cfa_register 7
- 771 0006 7860 str r0, [r7, #4]
- 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspInit could be implemented in the user file
- 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 772 .loc 1 515 1
- 773 0008 00BF nop
- 774 000a 0C37 adds r7, r7, #12
- 775 .LCFI13:
- 776 .cfi_def_cfa_offset 4
- 777 000c BD46 mov sp, r7
- 778 .LCFI14:
- 779 .cfi_def_cfa_register 13
- 780 @ sp needed
- 781 000e 5DF8047B ldr r7, [sp], #4
- 782 .LCFI15:
- 783 .cfi_restore 7
- 784 .cfi_def_cfa_offset 0
- 785 0012 7047 bx lr
- 786 .cfi_endproc
- 787 .LFE132:
- 789 .section .text.HAL_CAN_MspDeInit,"ax",%progbits
- 790 .align 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 24
- 791 .weak HAL_CAN_MspDeInit
- 792 .syntax unified
- 793 .thumb
- 794 .thumb_func
- 796 HAL_CAN_MspDeInit:
- 797 .LFB133:
- 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief DeInitializes the CAN MSP.
- 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan)
- 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 798 .loc 1 524 1
- 799 .cfi_startproc
- 800 @ args = 0, pretend = 0, frame = 8
- 801 @ frame_needed = 1, uses_anonymous_args = 0
- 802 @ link register save eliminated.
- 803 0000 80B4 push {r7}
- 804 .LCFI16:
- 805 .cfi_def_cfa_offset 4
- 806 .cfi_offset 7, -4
- 807 0002 83B0 sub sp, sp, #12
- 808 .LCFI17:
- 809 .cfi_def_cfa_offset 16
- 810 0004 00AF add r7, sp, #0
- 811 .LCFI18:
- 812 .cfi_def_cfa_register 7
- 813 0006 7860 str r0, [r7, #4]
- 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspDeInit could be implemented in the user file
- 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 814 .loc 1 531 1
- 815 0008 00BF nop
- 816 000a 0C37 adds r7, r7, #12
- 817 .LCFI19:
- 818 .cfi_def_cfa_offset 4
- 819 000c BD46 mov sp, r7
- 820 .LCFI20:
- 821 .cfi_def_cfa_register 13
- 822 @ sp needed
- 823 000e 5DF8047B ldr r7, [sp], #4
- 824 .LCFI21:
- 825 .cfi_restore 7
- 826 .cfi_def_cfa_offset 0
- 827 0012 7047 bx lr
- 828 .cfi_endproc
- 829 .LFE133:
- 831 .section .text.HAL_CAN_ConfigFilter,"ax",%progbits
- 832 .align 1
- 833 .global HAL_CAN_ConfigFilter
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 25
- 834 .syntax unified
- 835 .thumb
- 836 .thumb_func
- 838 HAL_CAN_ConfigFilter:
- 839 .LFB134:
- 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Register a CAN CallBack.
- 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * To be used instead of the weak predefined callback
- 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
- 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be registered
- 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
- 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
- 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
- 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
- 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
- 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pCallback pointer to the Callback function
- 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb
- 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void (* pCallback)(CAN_HandleTypeDef *_hcan))
- 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
- 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pCallback == NULL)
- 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
- 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
- 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
- 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
- 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
- 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = pCallback;
- 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
- 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = pCallback;
- 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 26
- 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
- 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = pCallback;
- 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
- 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = pCallback;
- 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
- 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = pCallback;
- 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
- 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = pCallback;
- 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
- 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = pCallback;
- 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
- 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = pCallback;
- 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
- 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = pCallback;
- 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
- 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = pCallback;
- 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
- 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = pCallback;
- 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
- 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = pCallback;
- 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
- 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = pCallback;
- 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
- 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
- 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
- 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
- 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
- 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
- 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
- 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 27
- 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
- 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
- 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
- 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
- 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
- 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
- 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
- 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
- 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
- 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
- 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
- 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
- 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
- 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
- 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
- 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
- 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
- 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Unregister a CAN CallBack.
- 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * CAN callback is redirected to the weak predefined callback
- 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
- 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be unregistered
- 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
- 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
- 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 28
- 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
- 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
- 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal
- 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
- 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
- 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
- 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
- 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback;
- 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
- 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback;
- 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
- 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback;
- 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
- 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback;
- 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
- 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback;
- 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
- 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback;
- 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
- 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback;
- 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
- 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback;
- 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
- 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback;
- 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
- 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback;
- 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
- 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback;
- 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 29
- 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback;
- 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
- 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback;
- 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
- 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
- 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
- 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
- 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
- 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
- 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
- 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
- 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
- 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
- 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
- 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
- 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
- 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
- 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
- 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
- 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
- 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
- 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
- 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
- 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
- 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
- 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
- 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
- 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
- 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 30
- 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
- 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group2 Configuration functions
- 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configuration functions.
- 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
- 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Configuration functions #####
- 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
- 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ConfigFilter : Configure the CAN reception filters
- 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
- 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configures the CAN reception filter according to the specified
- 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_FilterInitStruct.
- 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param sFilterConfig pointer to a CAN_FilterTypeDef structure that
- 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * contains the filter configuration information.
- 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, const CAN_FilterTypeDef *sFilterCon
- 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 840 .loc 1 841 1
- 841 .cfi_startproc
- 842 @ args = 0, pretend = 0, frame = 24
- 843 @ frame_needed = 1, uses_anonymous_args = 0
- 844 0000 80B5 push {r7, lr}
- 845 .LCFI22:
- 846 .cfi_def_cfa_offset 8
- 847 .cfi_offset 7, -8
- 848 .cfi_offset 14, -4
- 849 0002 86B0 sub sp, sp, #24
- 850 .LCFI23:
- 851 .cfi_def_cfa_offset 32
- 852 0004 00AF add r7, sp, #0
- 853 .LCFI24:
- 854 .cfi_def_cfa_register 7
- 855 0006 7860 str r0, [r7, #4]
- 856 0008 3960 str r1, [r7]
- 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filternbrbitpos;
- 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_TypeDef *can_ip = hcan->Instance;
- 857 .loc 1 843 16
- 858 000a 7B68 ldr r3, [r7, #4]
- 859 000c 1B68 ldr r3, [r3]
- 860 000e 7B61 str r3, [r7, #20]
- 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 861 .loc 1 844 24
- 862 0010 7B68 ldr r3, [r7, #4]
- 863 0012 93F82030 ldrb r3, [r3, #32]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 31
- 864 0016 FB74 strb r3, [r7, #19]
- 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 865 .loc 1 846 6
- 866 0018 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
- 867 001a 012B cmp r3, #1
- 868 001c 03D0 beq .L46
- 869 .loc 1 846 38 discriminator 1
- 870 001e FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
- 871 0020 022B cmp r3, #2
- 872 0022 40F00F81 bne .L47
- 873 .L46:
- 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
- 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdHigh));
- 874 .loc 1 850 5
- 875 0026 3B68 ldr r3, [r7]
- 876 0028 1B68 ldr r3, [r3]
- 877 002a B3F5803F cmp r3, #65536
- 878 002e 04D3 bcc .L48
- 879 .loc 1 850 5 is_stmt 0 discriminator 1
- 880 0030 40F25231 movw r1, #850
- 881 0034 8948 ldr r0, .L65
- 882 0036 FFF7FEFF bl assert_failed
- 883 .L48:
- 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
- 884 .loc 1 851 5 is_stmt 1
- 885 003a 3B68 ldr r3, [r7]
- 886 003c 5B68 ldr r3, [r3, #4]
- 887 003e B3F5803F cmp r3, #65536
- 888 0042 04D3 bcc .L49
- 889 .loc 1 851 5 is_stmt 0 discriminator 1
- 890 0044 40F25331 movw r1, #851
- 891 0048 8448 ldr r0, .L65
- 892 004a FFF7FEFF bl assert_failed
- 893 .L49:
- 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
- 894 .loc 1 852 5 is_stmt 1
- 895 004e 3B68 ldr r3, [r7]
- 896 0050 9B68 ldr r3, [r3, #8]
- 897 0052 B3F5803F cmp r3, #65536
- 898 0056 04D3 bcc .L50
- 899 .loc 1 852 5 is_stmt 0 discriminator 1
- 900 0058 4FF45571 mov r1, #852
- 901 005c 7F48 ldr r0, .L65
- 902 005e FFF7FEFF bl assert_failed
- 903 .L50:
- 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
- 904 .loc 1 853 5 is_stmt 1
- 905 0062 3B68 ldr r3, [r7]
- 906 0064 DB68 ldr r3, [r3, #12]
- 907 0066 B3F5803F cmp r3, #65536
- 908 006a 04D3 bcc .L51
- 909 .loc 1 853 5 is_stmt 0 discriminator 1
- 910 006c 40F25531 movw r1, #853
- 911 0070 7A48 ldr r0, .L65
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 32
- 912 0072 FFF7FEFF bl assert_failed
- 913 .L51:
- 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
- 914 .loc 1 854 5 is_stmt 1
- 915 0076 3B68 ldr r3, [r7]
- 916 0078 9B69 ldr r3, [r3, #24]
- 917 007a 002B cmp r3, #0
- 918 007c 08D0 beq .L52
- 919 .loc 1 854 5 is_stmt 0 discriminator 1
- 920 007e 3B68 ldr r3, [r7]
- 921 0080 9B69 ldr r3, [r3, #24]
- 922 0082 012B cmp r3, #1
- 923 0084 04D0 beq .L52
- 924 .loc 1 854 5 discriminator 2
- 925 0086 40F25631 movw r1, #854
- 926 008a 7448 ldr r0, .L65
- 927 008c FFF7FEFF bl assert_failed
- 928 .L52:
- 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
- 929 .loc 1 855 5 is_stmt 1
- 930 0090 3B68 ldr r3, [r7]
- 931 0092 DB69 ldr r3, [r3, #28]
- 932 0094 002B cmp r3, #0
- 933 0096 08D0 beq .L53
- 934 .loc 1 855 5 is_stmt 0 discriminator 1
- 935 0098 3B68 ldr r3, [r7]
- 936 009a DB69 ldr r3, [r3, #28]
- 937 009c 012B cmp r3, #1
- 938 009e 04D0 beq .L53
- 939 .loc 1 855 5 discriminator 2
- 940 00a0 40F25731 movw r1, #855
- 941 00a4 6D48 ldr r0, .L65
- 942 00a6 FFF7FEFF bl assert_failed
- 943 .L53:
- 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
- 944 .loc 1 856 5 is_stmt 1
- 945 00aa 3B68 ldr r3, [r7]
- 946 00ac 1B69 ldr r3, [r3, #16]
- 947 00ae 002B cmp r3, #0
- 948 00b0 08D0 beq .L54
- 949 .loc 1 856 5 is_stmt 0 discriminator 1
- 950 00b2 3B68 ldr r3, [r7]
- 951 00b4 1B69 ldr r3, [r3, #16]
- 952 00b6 012B cmp r3, #1
- 953 00b8 04D0 beq .L54
- 954 .loc 1 856 5 discriminator 2
- 955 00ba 4FF45671 mov r1, #856
- 956 00be 6748 ldr r0, .L65
- 957 00c0 FFF7FEFF bl assert_failed
- 958 .L54:
- 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
- 959 .loc 1 857 5 is_stmt 1
- 960 00c4 3B68 ldr r3, [r7]
- 961 00c6 1B6A ldr r3, [r3, #32]
- 962 00c8 002B cmp r3, #0
- 963 00ca 08D0 beq .L55
- 964 .loc 1 857 5 is_stmt 0 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 33
- 965 00cc 3B68 ldr r3, [r7]
- 966 00ce 1B6A ldr r3, [r3, #32]
- 967 00d0 012B cmp r3, #1
- 968 00d2 04D0 beq .L55
- 969 .loc 1 857 5 discriminator 2
- 970 00d4 40F25931 movw r1, #857
- 971 00d8 6048 ldr r0, .L65
- 972 00da FFF7FEFF bl assert_failed
- 973 .L55:
- 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* CAN is single instance with 14 dedicated filters banks */
- 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
- 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
- 974 .loc 1 862 5 is_stmt 1
- 975 00de 3B68 ldr r3, [r7]
- 976 00e0 5B69 ldr r3, [r3, #20]
- 977 00e2 0D2B cmp r3, #13
- 978 00e4 04D9 bls .L56
- 979 .loc 1 862 5 is_stmt 0 discriminator 1
- 980 00e6 40F25E31 movw r1, #862
- 981 00ea 5C48 ldr r0, .L65
- 982 00ec FFF7FEFF bl assert_failed
- 983 .L56:
- 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialisation mode for the filter */
- 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FMR, CAN_FMR_FINIT);
- 984 .loc 1 865 5 is_stmt 1
- 985 00f0 7B69 ldr r3, [r7, #20]
- 986 00f2 D3F80032 ldr r3, [r3, #512]
- 987 00f6 43F00102 orr r2, r3, #1
- 988 00fa 7B69 ldr r3, [r7, #20]
- 989 00fc C3F80022 str r2, [r3, #512]
- 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Convert filter number into bit position */
- 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filternbrbitpos = (uint32_t)1 << (sFilterConfig->FilterBank & 0x1FU);
- 990 .loc 1 868 52
- 991 0100 3B68 ldr r3, [r7]
- 992 0102 5B69 ldr r3, [r3, #20]
- 993 .loc 1 868 65
- 994 0104 03F01F03 and r3, r3, #31
- 995 .loc 1 868 21
- 996 0108 0122 movs r2, #1
- 997 010a 02FA03F3 lsl r3, r2, r3
- 998 010e FB60 str r3, [r7, #12]
- 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Deactivation */
- 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FA1R, filternbrbitpos);
- 999 .loc 1 871 5
- 1000 0110 7B69 ldr r3, [r7, #20]
- 1001 0112 D3F81C22 ldr r2, [r3, #540]
- 1002 0116 FB68 ldr r3, [r7, #12]
- 1003 0118 DB43 mvns r3, r3
- 1004 011a 1A40 ands r2, r2, r3
- 1005 011c 7B69 ldr r3, [r7, #20]
- 1006 011e C3F81C22 str r2, [r3, #540]
- 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 34
- 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Scale */
- 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_16BIT)
- 1007 .loc 1 874 22
- 1008 0122 3B68 ldr r3, [r7]
- 1009 0124 DB69 ldr r3, [r3, #28]
- 1010 .loc 1 874 8
- 1011 0126 002B cmp r3, #0
- 1012 0128 23D1 bne .L57
- 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 16-bit scale for the filter */
- 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FS1R, filternbrbitpos);
- 1013 .loc 1 877 7
- 1014 012a 7B69 ldr r3, [r7, #20]
- 1015 012c D3F80C22 ldr r2, [r3, #524]
- 1016 0130 FB68 ldr r3, [r7, #12]
- 1017 0132 DB43 mvns r3, r3
- 1018 0134 1A40 ands r2, r2, r3
- 1019 0136 7B69 ldr r3, [r7, #20]
- 1020 0138 C3F80C22 str r2, [r3, #524]
- 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* First 16-bit identifier and First 16-bit mask */
- 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or First 16-bit identifier and Second 16-bit identifier */
- 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
- 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
- 1021 .loc 1 882 48
- 1022 013c 3B68 ldr r3, [r7]
- 1023 013e DB68 ldr r3, [r3, #12]
- 1024 .loc 1 882 67
- 1025 0140 1904 lsls r1, r3, #16
- 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
- 1026 .loc 1 883 47
- 1027 0142 3B68 ldr r3, [r7]
- 1028 0144 5B68 ldr r3, [r3, #4]
- 1029 .loc 1 883 22
- 1030 0146 9BB2 uxth r3, r3
- 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
- 1031 .loc 1 881 44
- 1032 0148 3A68 ldr r2, [r7]
- 1033 014a 5269 ldr r2, [r2, #20]
- 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
- 1034 .loc 1 882 75
- 1035 014c 1943 orrs r1, r1, r3
- 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
- 1036 .loc 1 881 62
- 1037 014e 7B69 ldr r3, [r7, #20]
- 1038 0150 4832 adds r2, r2, #72
- 1039 0152 43F83210 str r1, [r3, r2, lsl #3]
- 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Second 16-bit identifier and Second 16-bit mask */
- 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or Third 16-bit identifier and Fourth 16-bit identifier */
- 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
- 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
- 1040 .loc 1 888 48
- 1041 0156 3B68 ldr r3, [r7]
- 1042 0158 9B68 ldr r3, [r3, #8]
- 1043 .loc 1 888 68
- 1044 015a 1904 lsls r1, r3, #16
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 35
- 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
- 1045 .loc 1 889 47
- 1046 015c 3B68 ldr r3, [r7]
- 1047 015e 1B68 ldr r3, [r3]
- 1048 .loc 1 889 22
- 1049 0160 9AB2 uxth r2, r3
- 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
- 1050 .loc 1 887 44
- 1051 0162 3B68 ldr r3, [r7]
- 1052 0164 5B69 ldr r3, [r3, #20]
- 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
- 1053 .loc 1 888 76
- 1054 0166 0A43 orrs r2, r2, r1
- 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
- 1055 .loc 1 887 62
- 1056 0168 7969 ldr r1, [r7, #20]
- 1057 016a 4833 adds r3, r3, #72
- 1058 016c DB00 lsls r3, r3, #3
- 1059 016e 0B44 add r3, r3, r1
- 1060 0170 5A60 str r2, [r3, #4]
- 1061 .L57:
- 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_32BIT)
- 1062 .loc 1 892 22
- 1063 0172 3B68 ldr r3, [r7]
- 1064 0174 DB69 ldr r3, [r3, #28]
- 1065 .loc 1 892 8
- 1066 0176 012B cmp r3, #1
- 1067 0178 22D1 bne .L58
- 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit scale for the filter */
- 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FS1R, filternbrbitpos);
- 1068 .loc 1 895 7
- 1069 017a 7B69 ldr r3, [r7, #20]
- 1070 017c D3F80C22 ldr r2, [r3, #524]
- 1071 0180 FB68 ldr r3, [r7, #12]
- 1072 0182 1A43 orrs r2, r2, r3
- 1073 0184 7B69 ldr r3, [r7, #20]
- 1074 0186 C3F80C22 str r2, [r3, #524]
- 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit identifier or First 32-bit identifier */
- 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
- 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
- 1075 .loc 1 899 48
- 1076 018a 3B68 ldr r3, [r7]
- 1077 018c 1B68 ldr r3, [r3]
- 1078 .loc 1 899 64
- 1079 018e 1904 lsls r1, r3, #16
- 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
- 1080 .loc 1 900 47
- 1081 0190 3B68 ldr r3, [r7]
- 1082 0192 5B68 ldr r3, [r3, #4]
- 1083 .loc 1 900 22
- 1084 0194 9BB2 uxth r3, r3
- 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
- 1085 .loc 1 898 44
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 36
- 1086 0196 3A68 ldr r2, [r7]
- 1087 0198 5269 ldr r2, [r2, #20]
- 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
- 1088 .loc 1 899 72
- 1089 019a 1943 orrs r1, r1, r3
- 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
- 1090 .loc 1 898 62
- 1091 019c 7B69 ldr r3, [r7, #20]
- 1092 019e 4832 adds r2, r2, #72
- 1093 01a0 43F83210 str r1, [r3, r2, lsl #3]
- 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit mask or Second 32-bit identifier */
- 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
- 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
- 1094 .loc 1 904 48
- 1095 01a4 3B68 ldr r3, [r7]
- 1096 01a6 9B68 ldr r3, [r3, #8]
- 1097 .loc 1 904 68
- 1098 01a8 1904 lsls r1, r3, #16
- 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
- 1099 .loc 1 905 47
- 1100 01aa 3B68 ldr r3, [r7]
- 1101 01ac DB68 ldr r3, [r3, #12]
- 1102 .loc 1 905 22
- 1103 01ae 9AB2 uxth r2, r3
- 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
- 1104 .loc 1 903 44
- 1105 01b0 3B68 ldr r3, [r7]
- 1106 01b2 5B69 ldr r3, [r3, #20]
- 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
- 1107 .loc 1 904 76
- 1108 01b4 0A43 orrs r2, r2, r1
- 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
- 1109 .loc 1 903 62
- 1110 01b6 7969 ldr r1, [r7, #20]
- 1111 01b8 4833 adds r3, r3, #72
- 1112 01ba DB00 lsls r3, r3, #3
- 1113 01bc 0B44 add r3, r3, r1
- 1114 01be 5A60 str r2, [r3, #4]
- 1115 .L58:
- 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Mode */
- 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterMode == CAN_FILTERMODE_IDMASK)
- 1116 .loc 1 909 22
- 1117 01c0 3B68 ldr r3, [r7]
- 1118 01c2 9B69 ldr r3, [r3, #24]
- 1119 .loc 1 909 8
- 1120 01c4 002B cmp r3, #0
- 1121 01c6 09D1 bne .L59
- 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Id/Mask mode for the filter*/
- 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FM1R, filternbrbitpos);
- 1122 .loc 1 912 7
- 1123 01c8 7B69 ldr r3, [r7, #20]
- 1124 01ca D3F80422 ldr r2, [r3, #516]
- 1125 01ce FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 37
- 1126 01d0 DB43 mvns r3, r3
- 1127 01d2 1A40 ands r2, r2, r3
- 1128 01d4 7B69 ldr r3, [r7, #20]
- 1129 01d6 C3F80422 str r2, [r3, #516]
- 1130 01da 07E0 b .L60
- 1131 .L59:
- 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */
- 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Identifier list mode for the filter*/
- 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FM1R, filternbrbitpos);
- 1132 .loc 1 917 7
- 1133 01dc 7B69 ldr r3, [r7, #20]
- 1134 01de D3F80422 ldr r2, [r3, #516]
- 1135 01e2 FB68 ldr r3, [r7, #12]
- 1136 01e4 1A43 orrs r2, r2, r3
- 1137 01e6 7B69 ldr r3, [r7, #20]
- 1138 01e8 C3F80422 str r2, [r3, #516]
- 1139 .L60:
- 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter FIFO assignment */
- 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterFIFOAssignment == CAN_FILTER_FIFO0)
- 1140 .loc 1 921 22
- 1141 01ec 3B68 ldr r3, [r7]
- 1142 01ee 1B69 ldr r3, [r3, #16]
- 1143 .loc 1 921 8
- 1144 01f0 002B cmp r3, #0
- 1145 01f2 09D1 bne .L61
- 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 0 assignation for the filter */
- 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FFA1R, filternbrbitpos);
- 1146 .loc 1 924 7
- 1147 01f4 7B69 ldr r3, [r7, #20]
- 1148 01f6 D3F81422 ldr r2, [r3, #532]
- 1149 01fa FB68 ldr r3, [r7, #12]
- 1150 01fc DB43 mvns r3, r3
- 1151 01fe 1A40 ands r2, r2, r3
- 1152 0200 7B69 ldr r3, [r7, #20]
- 1153 0202 C3F81422 str r2, [r3, #532]
- 1154 0206 07E0 b .L62
- 1155 .L61:
- 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 1 assignation for the filter */
- 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FFA1R, filternbrbitpos);
- 1156 .loc 1 929 7
- 1157 0208 7B69 ldr r3, [r7, #20]
- 1158 020a D3F81422 ldr r2, [r3, #532]
- 1159 020e FB68 ldr r3, [r7, #12]
- 1160 0210 1A43 orrs r2, r2, r3
- 1161 0212 7B69 ldr r3, [r7, #20]
- 1162 0214 C3F81422 str r2, [r3, #532]
- 1163 .L62:
- 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 38
- 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter activation */
- 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterActivation == CAN_FILTER_ENABLE)
- 1164 .loc 1 933 22
- 1165 0218 3B68 ldr r3, [r7]
- 1166 021a 1B6A ldr r3, [r3, #32]
- 1167 .loc 1 933 8
- 1168 021c 012B cmp r3, #1
- 1169 021e 07D1 bne .L63
- 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FA1R, filternbrbitpos);
- 1170 .loc 1 935 7
- 1171 0220 7B69 ldr r3, [r7, #20]
- 1172 0222 D3F81C22 ldr r2, [r3, #540]
- 1173 0226 FB68 ldr r3, [r7, #12]
- 1174 0228 1A43 orrs r2, r2, r3
- 1175 022a 7B69 ldr r3, [r7, #20]
- 1176 022c C3F81C22 str r2, [r3, #540]
- 1177 .L63:
- 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Leave the initialisation mode for the filter */
- 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_FINIT);
- 1178 .loc 1 939 5
- 1179 0230 7B69 ldr r3, [r7, #20]
- 1180 0232 D3F80032 ldr r3, [r3, #512]
- 1181 0236 23F00102 bic r2, r3, #1
- 1182 023a 7B69 ldr r3, [r7, #20]
- 1183 023c C3F80022 str r2, [r3, #512]
- 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 1184 .loc 1 942 12
- 1185 0240 0023 movs r3, #0
- 1186 0242 06E0 b .L64
- 1187 .L47:
- 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 1188 .loc 1 947 21
- 1189 0244 7B68 ldr r3, [r7, #4]
- 1190 0246 5B6A ldr r3, [r3, #36]
- 1191 0248 43F48022 orr r2, r3, #262144
- 1192 024c 7B68 ldr r3, [r7, #4]
- 1193 024e 5A62 str r2, [r3, #36]
- 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1194 .loc 1 949 12
- 1195 0250 0123 movs r3, #1
- 1196 .L64:
- 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1197 .loc 1 951 1
- 1198 0252 1846 mov r0, r3
- 1199 0254 1837 adds r7, r7, #24
- 1200 .LCFI25:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 39
- 1201 .cfi_def_cfa_offset 8
- 1202 0256 BD46 mov sp, r7
- 1203 .LCFI26:
- 1204 .cfi_def_cfa_register 13
- 1205 @ sp needed
- 1206 0258 80BD pop {r7, pc}
- 1207 .L66:
- 1208 025a 00BF .align 2
- 1209 .L65:
- 1210 025c 00000000 .word .LC0
- 1211 .cfi_endproc
- 1212 .LFE134:
- 1214 .section .text.HAL_CAN_Start,"ax",%progbits
- 1215 .align 1
- 1216 .global HAL_CAN_Start
- 1217 .syntax unified
- 1218 .thumb
- 1219 .thumb_func
- 1221 HAL_CAN_Start:
- 1222 .LFB135:
- 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
- 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group3 Control functions
- 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Control functions
- 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
- 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Control functions #####
- 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
- 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Start : Start the CAN module
- 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Stop : Stop the CAN module
- 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RequestSleep : Request sleep mode entry.
- 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUp : Wake up from sleep mode.
- 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsSleepActive : Check is sleep mode is active.
- 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AddTxMessage : Add a message to the Tx mailboxes
- 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and activate the corresponding
- 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmission request
- 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AbortTxRequest : Abort transmission request
- 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetTxMailboxesFreeLevel : Return Tx mailboxes free level
- 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsTxMessagePending : Check if a transmission request is
- 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pending on the selected Tx mailbox
- 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxMessage : Get a CAN frame from the Rx FIFO
- 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxFifoFillLevel : Return Rx FIFO fill level
- 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
- 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Start the CAN module.
- 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 40
- 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan)
- 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1223 .loc 1 991 1
- 1224 .cfi_startproc
- 1225 @ args = 0, pretend = 0, frame = 16
- 1226 @ frame_needed = 1, uses_anonymous_args = 0
- 1227 0000 80B5 push {r7, lr}
- 1228 .LCFI27:
- 1229 .cfi_def_cfa_offset 8
- 1230 .cfi_offset 7, -8
- 1231 .cfi_offset 14, -4
- 1232 0002 84B0 sub sp, sp, #16
- 1233 .LCFI28:
- 1234 .cfi_def_cfa_offset 24
- 1235 0004 00AF add r7, sp, #0
- 1236 .LCFI29:
- 1237 .cfi_def_cfa_register 7
- 1238 0006 7860 str r0, [r7, #4]
- 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
- 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
- 1239 .loc 1 994 11
- 1240 0008 7B68 ldr r3, [r7, #4]
- 1241 000a 93F82030 ldrb r3, [r3, #32]
- 1242 000e DBB2 uxtb r3, r3
- 1243 .loc 1 994 6
- 1244 0010 012B cmp r3, #1
- 1245 0012 2ED1 bne .L68
- 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
- 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_LISTENING;
- 1246 .loc 1 997 17
- 1247 0014 7B68 ldr r3, [r7, #4]
- 1248 0016 0222 movs r2, #2
- 1249 0018 83F82020 strb r2, [r3, #32]
- 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request leave initialisation */
- 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
- 1250 .loc 1 1000 5
- 1251 001c 7B68 ldr r3, [r7, #4]
- 1252 001e 1B68 ldr r3, [r3]
- 1253 0020 1A68 ldr r2, [r3]
- 1254 0022 7B68 ldr r3, [r7, #4]
- 1255 0024 1B68 ldr r3, [r3]
- 1256 0026 22F00102 bic r2, r2, #1
- 1257 002a 1A60 str r2, [r3]
- 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
- 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
- 1258 .loc 1 1003 17
- 1259 002c FFF7FEFF bl HAL_GetTick
- 1260 0030 F860 str r0, [r7, #12]
- 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
- 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U)
- 1261 .loc 1 1006 11
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 41
- 1262 0032 12E0 b .L69
- 1263 .L71:
- 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
- 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
- 1264 .loc 1 1009 12
- 1265 0034 FFF7FEFF bl HAL_GetTick
- 1266 0038 0246 mov r2, r0
- 1267 .loc 1 1009 26
- 1268 003a FB68 ldr r3, [r7, #12]
- 1269 003c D31A subs r3, r2, r3
- 1270 .loc 1 1009 10
- 1271 003e 0A2B cmp r3, #10
- 1272 0040 0BD9 bls .L69
- 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
- 1273 .loc 1 1012 25
- 1274 0042 7B68 ldr r3, [r7, #4]
- 1275 0044 5B6A ldr r3, [r3, #36]
- 1276 0046 43F40032 orr r2, r3, #131072
- 1277 004a 7B68 ldr r3, [r7, #4]
- 1278 004c 5A62 str r2, [r3, #36]
- 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
- 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
- 1279 .loc 1 1015 21
- 1280 004e 7B68 ldr r3, [r7, #4]
- 1281 0050 0522 movs r2, #5
- 1282 0052 83F82020 strb r2, [r3, #32]
- 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1283 .loc 1 1017 16
- 1284 0056 0123 movs r3, #1
- 1285 0058 12E0 b .L70
- 1286 .L69:
- 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1287 .loc 1 1006 17
- 1288 005a 7B68 ldr r3, [r7, #4]
- 1289 005c 1B68 ldr r3, [r3]
- 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1290 .loc 1 1006 27
- 1291 005e 5B68 ldr r3, [r3, #4]
- 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1292 .loc 1 1006 33
- 1293 0060 03F00103 and r3, r3, #1
- 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1294 .loc 1 1006 11
- 1295 0064 002B cmp r3, #0
- 1296 0066 E5D1 bne .L71
- 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
- 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
- 1297 .loc 1 1022 21
- 1298 0068 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 42
- 1299 006a 0022 movs r2, #0
- 1300 006c 5A62 str r2, [r3, #36]
- 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 1301 .loc 1 1025 12
- 1302 006e 0023 movs r3, #0
- 1303 0070 06E0 b .L70
- 1304 .L68:
- 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY;
- 1305 .loc 1 1030 21
- 1306 0072 7B68 ldr r3, [r7, #4]
- 1307 0074 5B6A ldr r3, [r3, #36]
- 1308 0076 43F40022 orr r2, r3, #524288
- 1309 007a 7B68 ldr r3, [r7, #4]
- 1310 007c 5A62 str r2, [r3, #36]
- 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1311 .loc 1 1032 12
- 1312 007e 0123 movs r3, #1
- 1313 .L70:
- 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1314 .loc 1 1034 1
- 1315 0080 1846 mov r0, r3
- 1316 0082 1037 adds r7, r7, #16
- 1317 .LCFI30:
- 1318 .cfi_def_cfa_offset 8
- 1319 0084 BD46 mov sp, r7
- 1320 .LCFI31:
- 1321 .cfi_def_cfa_register 13
- 1322 @ sp needed
- 1323 0086 80BD pop {r7, pc}
- 1324 .cfi_endproc
- 1325 .LFE135:
- 1327 .section .text.HAL_CAN_Stop,"ax",%progbits
- 1328 .align 1
- 1329 .global HAL_CAN_Stop
- 1330 .syntax unified
- 1331 .thumb
- 1332 .thumb_func
- 1334 HAL_CAN_Stop:
- 1335 .LFB136:
- 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Stop the CAN module and enable access to configuration registers.
- 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan)
- 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1336 .loc 1 1043 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 43
- 1337 .cfi_startproc
- 1338 @ args = 0, pretend = 0, frame = 16
- 1339 @ frame_needed = 1, uses_anonymous_args = 0
- 1340 0000 80B5 push {r7, lr}
- 1341 .LCFI32:
- 1342 .cfi_def_cfa_offset 8
- 1343 .cfi_offset 7, -8
- 1344 .cfi_offset 14, -4
- 1345 0002 84B0 sub sp, sp, #16
- 1346 .LCFI33:
- 1347 .cfi_def_cfa_offset 24
- 1348 0004 00AF add r7, sp, #0
- 1349 .LCFI34:
- 1350 .cfi_def_cfa_register 7
- 1351 0006 7860 str r0, [r7, #4]
- 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
- 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_LISTENING)
- 1352 .loc 1 1046 11
- 1353 0008 7B68 ldr r3, [r7, #4]
- 1354 000a 93F82030 ldrb r3, [r3, #32]
- 1355 000e DBB2 uxtb r3, r3
- 1356 .loc 1 1046 6
- 1357 0010 022B cmp r3, #2
- 1358 0012 33D1 bne .L73
- 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
- 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
- 1359 .loc 1 1049 5
- 1360 0014 7B68 ldr r3, [r7, #4]
- 1361 0016 1B68 ldr r3, [r3]
- 1362 0018 1A68 ldr r2, [r3]
- 1363 001a 7B68 ldr r3, [r7, #4]
- 1364 001c 1B68 ldr r3, [r3]
- 1365 001e 42F00102 orr r2, r2, #1
- 1366 0022 1A60 str r2, [r3]
- 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
- 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
- 1367 .loc 1 1052 17
- 1368 0024 FFF7FEFF bl HAL_GetTick
- 1369 0028 F860 str r0, [r7, #12]
- 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
- 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
- 1370 .loc 1 1055 11
- 1371 002a 12E0 b .L74
- 1372 .L76:
- 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
- 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
- 1373 .loc 1 1058 12
- 1374 002c FFF7FEFF bl HAL_GetTick
- 1375 0030 0246 mov r2, r0
- 1376 .loc 1 1058 26
- 1377 0032 FB68 ldr r3, [r7, #12]
- 1378 0034 D31A subs r3, r2, r3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 44
- 1379 .loc 1 1058 10
- 1380 0036 0A2B cmp r3, #10
- 1381 0038 0BD9 bls .L74
- 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
- 1382 .loc 1 1061 25
- 1383 003a 7B68 ldr r3, [r7, #4]
- 1384 003c 5B6A ldr r3, [r3, #36]
- 1385 003e 43F40032 orr r2, r3, #131072
- 1386 0042 7B68 ldr r3, [r7, #4]
- 1387 0044 5A62 str r2, [r3, #36]
- 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
- 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
- 1388 .loc 1 1064 21
- 1389 0046 7B68 ldr r3, [r7, #4]
- 1390 0048 0522 movs r2, #5
- 1391 004a 83F82020 strb r2, [r3, #32]
- 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1392 .loc 1 1066 16
- 1393 004e 0123 movs r3, #1
- 1394 0050 1BE0 b .L75
- 1395 .L74:
- 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1396 .loc 1 1055 17
- 1397 0052 7B68 ldr r3, [r7, #4]
- 1398 0054 1B68 ldr r3, [r3]
- 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1399 .loc 1 1055 27
- 1400 0056 5B68 ldr r3, [r3, #4]
- 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1401 .loc 1 1055 33
- 1402 0058 03F00103 and r3, r3, #1
- 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1403 .loc 1 1055 11
- 1404 005c 002B cmp r3, #0
- 1405 005e E5D0 beq .L76
- 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
- 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
- 1406 .loc 1 1071 5
- 1407 0060 7B68 ldr r3, [r7, #4]
- 1408 0062 1B68 ldr r3, [r3]
- 1409 0064 1A68 ldr r2, [r3]
- 1410 0066 7B68 ldr r3, [r7, #4]
- 1411 0068 1B68 ldr r3, [r3]
- 1412 006a 22F00202 bic r2, r2, #2
- 1413 006e 1A60 str r2, [r3]
- 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
- 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
- 1414 .loc 1 1074 17
- 1415 0070 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 45
- 1416 0072 0122 movs r2, #1
- 1417 0074 83F82020 strb r2, [r3, #32]
- 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 1418 .loc 1 1077 12
- 1419 0078 0023 movs r3, #0
- 1420 007a 06E0 b .L75
- 1421 .L73:
- 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED;
- 1422 .loc 1 1082 21
- 1423 007c 7B68 ldr r3, [r7, #4]
- 1424 007e 5B6A ldr r3, [r3, #36]
- 1425 0080 43F48012 orr r2, r3, #1048576
- 1426 0084 7B68 ldr r3, [r7, #4]
- 1427 0086 5A62 str r2, [r3, #36]
- 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1428 .loc 1 1084 12
- 1429 0088 0123 movs r3, #1
- 1430 .L75:
- 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1431 .loc 1 1086 1
- 1432 008a 1846 mov r0, r3
- 1433 008c 1037 adds r7, r7, #16
- 1434 .LCFI35:
- 1435 .cfi_def_cfa_offset 8
- 1436 008e BD46 mov sp, r7
- 1437 .LCFI36:
- 1438 .cfi_def_cfa_register 13
- 1439 @ sp needed
- 1440 0090 80BD pop {r7, pc}
- 1441 .cfi_endproc
- 1442 .LFE136:
- 1444 .section .text.HAL_CAN_RequestSleep,"ax",%progbits
- 1445 .align 1
- 1446 .global HAL_CAN_RequestSleep
- 1447 .syntax unified
- 1448 .thumb
- 1449 .thumb_func
- 1451 HAL_CAN_RequestSleep:
- 1452 .LFB137:
- 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Request the sleep mode (low power) entry.
- 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning from this function, Sleep mode will be entered
- 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * as soon as the current CAN activity (transmission or reception
- 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of a CAN frame) has been completed.
- 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
- 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 46
- 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan)
- 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1453 .loc 1 1098 1
- 1454 .cfi_startproc
- 1455 @ args = 0, pretend = 0, frame = 16
- 1456 @ frame_needed = 1, uses_anonymous_args = 0
- 1457 @ link register save eliminated.
- 1458 0000 80B4 push {r7}
- 1459 .LCFI37:
- 1460 .cfi_def_cfa_offset 4
- 1461 .cfi_offset 7, -4
- 1462 0002 85B0 sub sp, sp, #20
- 1463 .LCFI38:
- 1464 .cfi_def_cfa_offset 24
- 1465 0004 00AF add r7, sp, #0
- 1466 .LCFI39:
- 1467 .cfi_def_cfa_register 7
- 1468 0006 7860 str r0, [r7, #4]
- 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 1469 .loc 1 1099 24
- 1470 0008 7B68 ldr r3, [r7, #4]
- 1471 000a 93F82030 ldrb r3, [r3, #32]
- 1472 000e FB73 strb r3, [r7, #15]
- 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 1473 .loc 1 1101 6
- 1474 0010 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 1475 0012 012B cmp r3, #1
- 1476 0014 02D0 beq .L78
- 1477 .loc 1 1101 38 discriminator 1
- 1478 0016 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 1479 0018 022B cmp r3, #2
- 1480 001a 09D1 bne .L79
- 1481 .L78:
- 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request Sleep mode */
- 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
- 1482 .loc 1 1105 5
- 1483 001c 7B68 ldr r3, [r7, #4]
- 1484 001e 1B68 ldr r3, [r3]
- 1485 0020 1A68 ldr r2, [r3]
- 1486 0022 7B68 ldr r3, [r7, #4]
- 1487 0024 1B68 ldr r3, [r3]
- 1488 0026 42F00202 orr r2, r2, #2
- 1489 002a 1A60 str r2, [r3]
- 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 1490 .loc 1 1108 12
- 1491 002c 0023 movs r3, #0
- 1492 002e 06E0 b .L80
- 1493 .L79:
- 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 47
- 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 1494 .loc 1 1113 21
- 1495 0030 7B68 ldr r3, [r7, #4]
- 1496 0032 5B6A ldr r3, [r3, #36]
- 1497 0034 43F48022 orr r2, r3, #262144
- 1498 0038 7B68 ldr r3, [r7, #4]
- 1499 003a 5A62 str r2, [r3, #36]
- 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1500 .loc 1 1116 12
- 1501 003c 0123 movs r3, #1
- 1502 .L80:
- 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1503 .loc 1 1118 1
- 1504 003e 1846 mov r0, r3
- 1505 0040 1437 adds r7, r7, #20
- 1506 .LCFI40:
- 1507 .cfi_def_cfa_offset 4
- 1508 0042 BD46 mov sp, r7
- 1509 .LCFI41:
- 1510 .cfi_def_cfa_register 13
- 1511 @ sp needed
- 1512 0044 5DF8047B ldr r7, [sp], #4
- 1513 .LCFI42:
- 1514 .cfi_restore 7
- 1515 .cfi_def_cfa_offset 0
- 1516 0048 7047 bx lr
- 1517 .cfi_endproc
- 1518 .LFE137:
- 1520 .section .text.HAL_CAN_WakeUp,"ax",%progbits
- 1521 .align 1
- 1522 .global HAL_CAN_WakeUp
- 1523 .syntax unified
- 1524 .thumb
- 1525 .thumb_func
- 1527 HAL_CAN_WakeUp:
- 1528 .LFB138:
- 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Wake up from sleep mode.
- 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning with HAL_OK status from this function, Sleep mode
- 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * is exited.
- 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
- 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan)
- 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1529 .loc 1 1129 1
- 1530 .cfi_startproc
- 1531 @ args = 0, pretend = 0, frame = 16
- 1532 @ frame_needed = 1, uses_anonymous_args = 0
- 1533 @ link register save eliminated.
- 1534 0000 80B4 push {r7}
- 1535 .LCFI43:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 48
- 1536 .cfi_def_cfa_offset 4
- 1537 .cfi_offset 7, -4
- 1538 0002 85B0 sub sp, sp, #20
- 1539 .LCFI44:
- 1540 .cfi_def_cfa_offset 24
- 1541 0004 00AF add r7, sp, #0
- 1542 .LCFI45:
- 1543 .cfi_def_cfa_register 7
- 1544 0006 7860 str r0, [r7, #4]
- 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __IO uint32_t count = 0;
- 1545 .loc 1 1130 17
- 1546 0008 0023 movs r3, #0
- 1547 000a BB60 str r3, [r7, #8]
- 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 1548 .loc 1 1131 24
- 1549 000c 7B68 ldr r3, [r7, #4]
- 1550 000e 93F82030 ldrb r3, [r3, #32]
- 1551 0012 FB73 strb r3, [r7, #15]
- 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 1552 .loc 1 1133 6
- 1553 0014 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 1554 0016 012B cmp r3, #1
- 1555 0018 02D0 beq .L82
- 1556 .loc 1 1133 38 discriminator 1
- 1557 001a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 1558 001c 022B cmp r3, #2
- 1559 001e 1FD1 bne .L83
- 1560 .L82:
- 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wake up request */
- 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
- 1561 .loc 1 1137 5
- 1562 0020 7B68 ldr r3, [r7, #4]
- 1563 0022 1B68 ldr r3, [r3]
- 1564 0024 1A68 ldr r2, [r3]
- 1565 0026 7B68 ldr r3, [r7, #4]
- 1566 0028 1B68 ldr r3, [r3]
- 1567 002a 22F00202 bic r2, r2, #2
- 1568 002e 1A60 str r2, [r3]
- 1569 .L86:
- 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait sleep mode is exited */
- 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** do
- 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Increment counter */
- 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** count++;
- 1570 .loc 1 1143 12
- 1571 0030 BB68 ldr r3, [r7, #8]
- 1572 0032 0133 adds r3, r3, #1
- 1573 0034 BB60 str r3, [r7, #8]
- 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if timeout is reached */
- 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (count > CAN_WAKEUP_TIMEOUT_COUNTER)
- 1574 .loc 1 1146 17
- 1575 0036 BB68 ldr r3, [r7, #8]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 49
- 1576 .loc 1 1146 10
- 1577 0038 104A ldr r2, .L87
- 1578 003a 9342 cmp r3, r2
- 1579 003c 07D9 bls .L84
- 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
- 1580 .loc 1 1149 25
- 1581 003e 7B68 ldr r3, [r7, #4]
- 1582 0040 5B6A ldr r3, [r3, #36]
- 1583 0042 43F40032 orr r2, r3, #131072
- 1584 0046 7B68 ldr r3, [r7, #4]
- 1585 0048 5A62 str r2, [r3, #36]
- 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1586 .loc 1 1151 16
- 1587 004a 0123 movs r3, #1
- 1588 004c 0FE0 b .L85
- 1589 .L84:
- 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** } while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U);
- 1590 .loc 1 1153 19
- 1591 004e 7B68 ldr r3, [r7, #4]
- 1592 0050 1B68 ldr r3, [r3]
- 1593 .loc 1 1153 29
- 1594 0052 5B68 ldr r3, [r3, #4]
- 1595 .loc 1 1153 35
- 1596 0054 03F00203 and r3, r3, #2
- 1597 .loc 1 1153 5
- 1598 0058 002B cmp r3, #0
- 1599 005a E9D1 bne .L86
- 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 1600 .loc 1 1156 12
- 1601 005c 0023 movs r3, #0
- 1602 005e 06E0 b .L85
- 1603 .L83:
- 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 1604 .loc 1 1161 21
- 1605 0060 7B68 ldr r3, [r7, #4]
- 1606 0062 5B6A ldr r3, [r3, #36]
- 1607 0064 43F48022 orr r2, r3, #262144
- 1608 0068 7B68 ldr r3, [r7, #4]
- 1609 006a 5A62 str r2, [r3, #36]
- 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 1610 .loc 1 1163 12
- 1611 006c 0123 movs r3, #1
- 1612 .L85:
- 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1613 .loc 1 1165 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 50
- 1614 006e 1846 mov r0, r3
- 1615 0070 1437 adds r7, r7, #20
- 1616 .LCFI46:
- 1617 .cfi_def_cfa_offset 4
- 1618 0072 BD46 mov sp, r7
- 1619 .LCFI47:
- 1620 .cfi_def_cfa_register 13
- 1621 @ sp needed
- 1622 0074 5DF8047B ldr r7, [sp], #4
- 1623 .LCFI48:
- 1624 .cfi_restore 7
- 1625 .cfi_def_cfa_offset 0
- 1626 0078 7047 bx lr
- 1627 .L88:
- 1628 007a 00BF .align 2
- 1629 .L87:
- 1630 007c 40420F00 .word 1000000
- 1631 .cfi_endproc
- 1632 .LFE138:
- 1634 .section .text.HAL_CAN_IsSleepActive,"ax",%progbits
- 1635 .align 1
- 1636 .global HAL_CAN_IsSleepActive
- 1637 .syntax unified
- 1638 .thumb
- 1639 .thumb_func
- 1641 HAL_CAN_IsSleepActive:
- 1642 .LFB139:
- 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check is sleep mode is active.
- 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
- 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : Sleep mode is not active.
- 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Sleep mode is active.
- 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsSleepActive(const CAN_HandleTypeDef *hcan)
- 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1643 .loc 1 1176 1
- 1644 .cfi_startproc
- 1645 @ args = 0, pretend = 0, frame = 16
- 1646 @ frame_needed = 1, uses_anonymous_args = 0
- 1647 @ link register save eliminated.
- 1648 0000 80B4 push {r7}
- 1649 .LCFI49:
- 1650 .cfi_def_cfa_offset 4
- 1651 .cfi_offset 7, -4
- 1652 0002 85B0 sub sp, sp, #20
- 1653 .LCFI50:
- 1654 .cfi_def_cfa_offset 24
- 1655 0004 00AF add r7, sp, #0
- 1656 .LCFI51:
- 1657 .cfi_def_cfa_register 7
- 1658 0006 7860 str r0, [r7, #4]
- 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
- 1659 .loc 1 1177 12
- 1660 0008 0023 movs r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 51
- 1661 000a FB60 str r3, [r7, #12]
- 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 1662 .loc 1 1178 24
- 1663 000c 7B68 ldr r3, [r7, #4]
- 1664 000e 93F82030 ldrb r3, [r3, #32]
- 1665 0012 FB72 strb r3, [r7, #11]
- 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 1666 .loc 1 1180 6
- 1667 0014 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 1668 0016 012B cmp r3, #1
- 1669 0018 02D0 beq .L90
- 1670 .loc 1 1180 38 discriminator 1
- 1671 001a FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 1672 001c 022B cmp r3, #2
- 1673 001e 08D1 bne .L91
- 1674 .L90:
- 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode */
- 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
- 1675 .loc 1 1184 14
- 1676 0020 7B68 ldr r3, [r7, #4]
- 1677 0022 1B68 ldr r3, [r3]
- 1678 .loc 1 1184 24
- 1679 0024 5B68 ldr r3, [r3, #4]
- 1680 .loc 1 1184 30
- 1681 0026 03F00203 and r3, r3, #2
- 1682 .loc 1 1184 8
- 1683 002a 002B cmp r3, #0
- 1684 002c 01D0 beq .L91
- 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
- 1685 .loc 1 1186 14
- 1686 002e 0123 movs r3, #1
- 1687 0030 FB60 str r3, [r7, #12]
- 1688 .L91:
- 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
- 1689 .loc 1 1191 10
- 1690 0032 FB68 ldr r3, [r7, #12]
- 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1691 .loc 1 1192 1
- 1692 0034 1846 mov r0, r3
- 1693 0036 1437 adds r7, r7, #20
- 1694 .LCFI52:
- 1695 .cfi_def_cfa_offset 4
- 1696 0038 BD46 mov sp, r7
- 1697 .LCFI53:
- 1698 .cfi_def_cfa_register 13
- 1699 @ sp needed
- 1700 003a 5DF8047B ldr r7, [sp], #4
- 1701 .LCFI54:
- 1702 .cfi_restore 7
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 52
- 1703 .cfi_def_cfa_offset 0
- 1704 003e 7047 bx lr
- 1705 .cfi_endproc
- 1706 .LFE139:
- 1708 .section .text.HAL_CAN_AddTxMessage,"ax",%progbits
- 1709 .align 1
- 1710 .global HAL_CAN_AddTxMessage
- 1711 .syntax unified
- 1712 .thumb
- 1713 .thumb_func
- 1715 HAL_CAN_AddTxMessage:
- 1716 .LFB140:
- 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Add a message to the first free Tx mailbox and activate the
- 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * corresponding transmission request.
- 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_TxHeaderTypeDef structure.
- 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array containing the payload of the Tx frame.
- 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pTxMailbox pointer to a variable where the function will return
- 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the TxMailbox used to store the Tx message.
- 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_Tx_Mailboxes.
- 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, const CAN_TxHeaderTypeDef *pHeader,
- 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** const uint8_t aData[], uint32_t *pTxMailbox)
- 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1717 .loc 1 1208 1
- 1718 .cfi_startproc
- 1719 @ args = 0, pretend = 0, frame = 32
- 1720 @ frame_needed = 1, uses_anonymous_args = 0
- 1721 0000 80B5 push {r7, lr}
- 1722 .LCFI55:
- 1723 .cfi_def_cfa_offset 8
- 1724 .cfi_offset 7, -8
- 1725 .cfi_offset 14, -4
- 1726 0002 88B0 sub sp, sp, #32
- 1727 .LCFI56:
- 1728 .cfi_def_cfa_offset 40
- 1729 0004 00AF add r7, sp, #0
- 1730 .LCFI57:
- 1731 .cfi_def_cfa_register 7
- 1732 0006 F860 str r0, [r7, #12]
- 1733 0008 B960 str r1, [r7, #8]
- 1734 000a 7A60 str r2, [r7, #4]
- 1735 000c 3B60 str r3, [r7]
- 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
- 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 1736 .loc 1 1210 24
- 1737 000e FB68 ldr r3, [r7, #12]
- 1738 0010 93F82030 ldrb r3, [r3, #32]
- 1739 0014 FB77 strb r3, [r7, #31]
- 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsr = READ_REG(hcan->Instance->TSR);
- 1740 .loc 1 1211 18
- 1741 0016 FB68 ldr r3, [r7, #12]
- 1742 0018 1B68 ldr r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 53
- 1743 .loc 1 1211 12
- 1744 001a 9B68 ldr r3, [r3, #8]
- 1745 001c BB61 str r3, [r7, #24]
- 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
- 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IDTYPE(pHeader->IDE));
- 1746 .loc 1 1214 3
- 1747 001e BB68 ldr r3, [r7, #8]
- 1748 0020 9B68 ldr r3, [r3, #8]
- 1749 0022 002B cmp r3, #0
- 1750 0024 08D0 beq .L94
- 1751 .loc 1 1214 3 is_stmt 0 discriminator 1
- 1752 0026 BB68 ldr r3, [r7, #8]
- 1753 0028 9B68 ldr r3, [r3, #8]
- 1754 002a 042B cmp r3, #4
- 1755 002c 04D0 beq .L94
- 1756 .loc 1 1214 3 discriminator 2
- 1757 002e 40F2BE41 movw r1, #1214
- 1758 0032 7F48 ldr r0, .L108
- 1759 0034 FFF7FEFF bl assert_failed
- 1760 .L94:
- 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RTR(pHeader->RTR));
- 1761 .loc 1 1215 3 is_stmt 1
- 1762 0038 BB68 ldr r3, [r7, #8]
- 1763 003a DB68 ldr r3, [r3, #12]
- 1764 003c 002B cmp r3, #0
- 1765 003e 08D0 beq .L95
- 1766 .loc 1 1215 3 is_stmt 0 discriminator 1
- 1767 0040 BB68 ldr r3, [r7, #8]
- 1768 0042 DB68 ldr r3, [r3, #12]
- 1769 0044 022B cmp r3, #2
- 1770 0046 04D0 beq .L95
- 1771 .loc 1 1215 3 discriminator 2
- 1772 0048 40F2BF41 movw r1, #1215
- 1773 004c 7848 ldr r0, .L108
- 1774 004e FFF7FEFF bl assert_failed
- 1775 .L95:
- 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_DLC(pHeader->DLC));
- 1776 .loc 1 1216 3 is_stmt 1
- 1777 0052 BB68 ldr r3, [r7, #8]
- 1778 0054 1B69 ldr r3, [r3, #16]
- 1779 0056 082B cmp r3, #8
- 1780 0058 04D9 bls .L96
- 1781 .loc 1 1216 3 is_stmt 0 discriminator 1
- 1782 005a 4FF49861 mov r1, #1216
- 1783 005e 7448 ldr r0, .L108
- 1784 0060 FFF7FEFF bl assert_failed
- 1785 .L96:
- 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
- 1786 .loc 1 1217 14 is_stmt 1
- 1787 0064 BB68 ldr r3, [r7, #8]
- 1788 0066 9B68 ldr r3, [r3, #8]
- 1789 .loc 1 1217 6
- 1790 0068 002B cmp r3, #0
- 1791 006a 0AD1 bne .L97
- 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_STDID(pHeader->StdId));
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 54
- 1792 .loc 1 1219 5
- 1793 006c BB68 ldr r3, [r7, #8]
- 1794 006e 1B68 ldr r3, [r3]
- 1795 0070 B3F5006F cmp r3, #2048
- 1796 0074 0FD3 bcc .L98
- 1797 .loc 1 1219 5 is_stmt 0 discriminator 1
- 1798 0076 40F2C341 movw r1, #1219
- 1799 007a 6D48 ldr r0, .L108
- 1800 007c FFF7FEFF bl assert_failed
- 1801 0080 09E0 b .L98
- 1802 .L97:
- 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_EXTID(pHeader->ExtId));
- 1803 .loc 1 1223 5 is_stmt 1
- 1804 0082 BB68 ldr r3, [r7, #8]
- 1805 0084 5B68 ldr r3, [r3, #4]
- 1806 0086 B3F1005F cmp r3, #536870912
- 1807 008a 04D3 bcc .L98
- 1808 .loc 1 1223 5 is_stmt 0 discriminator 1
- 1809 008c 40F2C741 movw r1, #1223
- 1810 0090 6748 ldr r0, .L108
- 1811 0092 FFF7FEFF bl assert_failed
- 1812 .L98:
- 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(pHeader->TransmitGlobalTime));
- 1813 .loc 1 1225 3 is_stmt 1
- 1814 0096 BB68 ldr r3, [r7, #8]
- 1815 0098 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
- 1816 009a 002B cmp r3, #0
- 1817 009c 08D0 beq .L99
- 1818 .loc 1 1225 3 is_stmt 0 discriminator 1
- 1819 009e BB68 ldr r3, [r7, #8]
- 1820 00a0 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
- 1821 00a2 012B cmp r3, #1
- 1822 00a4 04D0 beq .L99
- 1823 .loc 1 1225 3 discriminator 2
- 1824 00a6 40F2C941 movw r1, #1225
- 1825 00aa 6148 ldr r0, .L108
- 1826 00ac FFF7FEFF bl assert_failed
- 1827 .L99:
- 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 1828 .loc 1 1227 6 is_stmt 1
- 1829 00b0 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
- 1830 00b2 012B cmp r3, #1
- 1831 00b4 03D0 beq .L100
- 1832 .loc 1 1227 38 discriminator 1
- 1833 00b6 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
- 1834 00b8 022B cmp r3, #2
- 1835 00ba 40F0AD80 bne .L101
- 1836 .L100:
- 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that all the Tx mailboxes are not full */
- 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((tsr & CAN_TSR_TME0) != 0U) ||
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 55
- 1837 .loc 1 1231 15
- 1838 00be BB69 ldr r3, [r7, #24]
- 1839 00c0 03F08063 and r3, r3, #67108864
- 1840 .loc 1 1231 8
- 1841 00c4 002B cmp r3, #0
- 1842 00c6 0AD1 bne .L102
- 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
- 1843 .loc 1 1232 15 discriminator 1
- 1844 00c8 BB69 ldr r3, [r7, #24]
- 1845 00ca 03F00063 and r3, r3, #134217728
- 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
- 1846 .loc 1 1231 38 discriminator 1
- 1847 00ce 002B cmp r3, #0
- 1848 00d0 05D1 bne .L102
- 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME2) != 0U))
- 1849 .loc 1 1233 15
- 1850 00d2 BB69 ldr r3, [r7, #24]
- 1851 00d4 03F08053 and r3, r3, #268435456
- 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
- 1852 .loc 1 1232 38
- 1853 00d8 002B cmp r3, #0
- 1854 00da 00F09580 beq .L103
- 1855 .L102:
- 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select an empty transmit mailbox */
- 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = (tsr & CAN_TSR_CODE) >> CAN_TSR_CODE_Pos;
- 1856 .loc 1 1236 46
- 1857 00de BB69 ldr r3, [r7, #24]
- 1858 00e0 1B0E lsrs r3, r3, #24
- 1859 .loc 1 1236 23
- 1860 00e2 03F00303 and r3, r3, #3
- 1861 00e6 7B61 str r3, [r7, #20]
- 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Store the Tx mailbox */
- 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *pTxMailbox = (uint32_t)1 << transmitmailbox;
- 1862 .loc 1 1239 33
- 1863 00e8 0122 movs r2, #1
- 1864 00ea 7B69 ldr r3, [r7, #20]
- 1865 00ec 9A40 lsls r2, r2, r3
- 1866 .loc 1 1239 19
- 1867 00ee 3B68 ldr r3, [r7]
- 1868 00f0 1A60 str r2, [r3]
- 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Id */
- 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
- 1869 .loc 1 1242 18
- 1870 00f2 BB68 ldr r3, [r7, #8]
- 1871 00f4 9B68 ldr r3, [r3, #8]
- 1872 .loc 1 1242 10
- 1873 00f6 002B cmp r3, #0
- 1874 00f8 0DD1 bne .L104
- 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) |
- 1875 .loc 1 1244 68
- 1876 00fa BB68 ldr r3, [r7, #8]
- 1877 00fc 1B68 ldr r3, [r3]
- 1878 .loc 1 1244 76
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 56
- 1879 00fe 5A05 lsls r2, r3, #21
- 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
- 1880 .loc 1 1245 67
- 1881 0100 BB68 ldr r3, [r7, #8]
- 1882 0102 DB68 ldr r3, [r3, #12]
- 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
- 1883 .loc 1 1244 13
- 1884 0104 F968 ldr r1, [r7, #12]
- 1885 0106 0968 ldr r1, [r1]
- 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
- 1886 .loc 1 1244 98
- 1887 0108 1A43 orrs r2, r2, r3
- 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
- 1888 .loc 1 1244 57
- 1889 010a 7B69 ldr r3, [r7, #20]
- 1890 010c 1833 adds r3, r3, #24
- 1891 010e 1B01 lsls r3, r3, #4
- 1892 0110 0B44 add r3, r3, r1
- 1893 0112 1A60 str r2, [r3]
- 1894 0114 0FE0 b .L105
- 1895 .L104:
- 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) |
- 1896 .loc 1 1249 68
- 1897 0116 BB68 ldr r3, [r7, #8]
- 1898 0118 5B68 ldr r3, [r3, #4]
- 1899 .loc 1 1249 76
- 1900 011a DA00 lsls r2, r3, #3
- 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
- 1901 .loc 1 1250 67
- 1902 011c BB68 ldr r3, [r7, #8]
- 1903 011e 9B68 ldr r3, [r3, #8]
- 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
- 1904 .loc 1 1249 98
- 1905 0120 1A43 orrs r2, r2, r3
- 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
- 1906 .loc 1 1251 67
- 1907 0122 BB68 ldr r3, [r7, #8]
- 1908 0124 DB68 ldr r3, [r3, #12]
- 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
- 1909 .loc 1 1249 13
- 1910 0126 F968 ldr r1, [r7, #12]
- 1911 0128 0968 ldr r1, [r1]
- 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
- 1912 .loc 1 1250 73
- 1913 012a 1A43 orrs r2, r2, r3
- 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
- 1914 .loc 1 1249 57
- 1915 012c 7B69 ldr r3, [r7, #20]
- 1916 012e 1833 adds r3, r3, #24
- 1917 0130 1B01 lsls r3, r3, #4
- 1918 0132 0B44 add r3, r3, r1
- 1919 0134 1A60 str r2, [r3]
- 1920 .L105:
- 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 57
- 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the DLC */
- 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC);
- 1921 .loc 1 1255 11
- 1922 0136 FB68 ldr r3, [r7, #12]
- 1923 0138 1968 ldr r1, [r3]
- 1924 .loc 1 1255 66
- 1925 013a BB68 ldr r3, [r7, #8]
- 1926 013c 1A69 ldr r2, [r3, #16]
- 1927 .loc 1 1255 56
- 1928 013e 7B69 ldr r3, [r7, #20]
- 1929 0140 1833 adds r3, r3, #24
- 1930 0142 1B01 lsls r3, r3, #4
- 1931 0144 0B44 add r3, r3, r1
- 1932 0146 0433 adds r3, r3, #4
- 1933 0148 1A60 str r2, [r3]
- 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Transmit Global Time mode */
- 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->TransmitGlobalTime == ENABLE)
- 1934 .loc 1 1258 18
- 1935 014a BB68 ldr r3, [r7, #8]
- 1936 014c 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
- 1937 .loc 1 1258 10
- 1938 014e 012B cmp r3, #1
- 1939 0150 11D1 bne .L106
- 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT);
- 1940 .loc 1 1260 9
- 1941 0152 FB68 ldr r3, [r7, #12]
- 1942 0154 1A68 ldr r2, [r3]
- 1943 0156 7B69 ldr r3, [r7, #20]
- 1944 0158 1833 adds r3, r3, #24
- 1945 015a 1B01 lsls r3, r3, #4
- 1946 015c 1344 add r3, r3, r2
- 1947 015e 0433 adds r3, r3, #4
- 1948 0160 1B68 ldr r3, [r3]
- 1949 0162 FA68 ldr r2, [r7, #12]
- 1950 0164 1168 ldr r1, [r2]
- 1951 0166 43F48072 orr r2, r3, #256
- 1952 016a 7B69 ldr r3, [r7, #20]
- 1953 016c 1833 adds r3, r3, #24
- 1954 016e 1B01 lsls r3, r3, #4
- 1955 0170 0B44 add r3, r3, r1
- 1956 0172 0433 adds r3, r3, #4
- 1957 0174 1A60 str r2, [r3]
- 1958 .L106:
- 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the data field */
- 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR,
- 1959 .loc 1 1264 7
- 1960 0176 7B68 ldr r3, [r7, #4]
- 1961 0178 0733 adds r3, r3, #7
- 1962 017a 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1963 017c 1A06 lsls r2, r3, #24
- 1964 017e 7B68 ldr r3, [r7, #4]
- 1965 0180 0633 adds r3, r3, #6
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 58
- 1966 0182 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1967 0184 1B04 lsls r3, r3, #16
- 1968 0186 1A43 orrs r2, r2, r3
- 1969 0188 7B68 ldr r3, [r7, #4]
- 1970 018a 0533 adds r3, r3, #5
- 1971 018c 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1972 018e 1B02 lsls r3, r3, #8
- 1973 0190 1343 orrs r3, r3, r2
- 1974 0192 7A68 ldr r2, [r7, #4]
- 1975 0194 0432 adds r2, r2, #4
- 1976 0196 1278 ldrb r2, [r2] @ zero_extendqisi2
- 1977 0198 1046 mov r0, r2
- 1978 019a FA68 ldr r2, [r7, #12]
- 1979 019c 1168 ldr r1, [r2]
- 1980 019e 43EA0002 orr r2, r3, r0
- 1981 01a2 7B69 ldr r3, [r7, #20]
- 1982 01a4 1B01 lsls r3, r3, #4
- 1983 01a6 0B44 add r3, r3, r1
- 1984 01a8 03F5C673 add r3, r3, #396
- 1985 01ac 1A60 str r2, [r3]
- 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
- 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[6] << CAN_TDH0R_DATA6_Pos) |
- 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[5] << CAN_TDH0R_DATA5_Pos) |
- 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[4] << CAN_TDH0R_DATA4_Pos));
- 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR,
- 1986 .loc 1 1269 7
- 1987 01ae 7B68 ldr r3, [r7, #4]
- 1988 01b0 0333 adds r3, r3, #3
- 1989 01b2 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1990 01b4 1A06 lsls r2, r3, #24
- 1991 01b6 7B68 ldr r3, [r7, #4]
- 1992 01b8 0233 adds r3, r3, #2
- 1993 01ba 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1994 01bc 1B04 lsls r3, r3, #16
- 1995 01be 1A43 orrs r2, r2, r3
- 1996 01c0 7B68 ldr r3, [r7, #4]
- 1997 01c2 0133 adds r3, r3, #1
- 1998 01c4 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1999 01c6 1B02 lsls r3, r3, #8
- 2000 01c8 1343 orrs r3, r3, r2
- 2001 01ca 7A68 ldr r2, [r7, #4]
- 2002 01cc 1278 ldrb r2, [r2] @ zero_extendqisi2
- 2003 01ce 1046 mov r0, r2
- 2004 01d0 FA68 ldr r2, [r7, #12]
- 2005 01d2 1168 ldr r1, [r2]
- 2006 01d4 43EA0002 orr r2, r3, r0
- 2007 01d8 7B69 ldr r3, [r7, #20]
- 2008 01da 1B01 lsls r3, r3, #4
- 2009 01dc 0B44 add r3, r3, r1
- 2010 01de 03F5C473 add r3, r3, #392
- 2011 01e2 1A60 str r2, [r3]
- 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
- 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[2] << CAN_TDL0R_DATA2_Pos) |
- 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[1] << CAN_TDL0R_DATA1_Pos) |
- 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[0] << CAN_TDL0R_DATA0_Pos));
- 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request transmission */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 59
- 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ);
- 2012 .loc 1 1276 7
- 2013 01e4 FB68 ldr r3, [r7, #12]
- 2014 01e6 1A68 ldr r2, [r3]
- 2015 01e8 7B69 ldr r3, [r7, #20]
- 2016 01ea 1833 adds r3, r3, #24
- 2017 01ec 1B01 lsls r3, r3, #4
- 2018 01ee 1344 add r3, r3, r2
- 2019 01f0 1B68 ldr r3, [r3]
- 2020 01f2 FA68 ldr r2, [r7, #12]
- 2021 01f4 1168 ldr r1, [r2]
- 2022 01f6 43F00102 orr r2, r3, #1
- 2023 01fa 7B69 ldr r3, [r7, #20]
- 2024 01fc 1833 adds r3, r3, #24
- 2025 01fe 1B01 lsls r3, r3, #4
- 2026 0200 0B44 add r3, r3, r1
- 2027 0202 1A60 str r2, [r3]
- 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 2028 .loc 1 1279 14
- 2029 0204 0023 movs r3, #0
- 2030 0206 0EE0 b .L107
- 2031 .L103:
- 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
- 2032 .loc 1 1284 23
- 2033 0208 FB68 ldr r3, [r7, #12]
- 2034 020a 5B6A ldr r3, [r3, #36]
- 2035 020c 43F40012 orr r2, r3, #2097152
- 2036 0210 FB68 ldr r3, [r7, #12]
- 2037 0212 5A62 str r2, [r3, #36]
- 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 2038 .loc 1 1286 14
- 2039 0214 0123 movs r3, #1
- 2040 0216 06E0 b .L107
- 2041 .L101:
- 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 2042 .loc 1 1292 21
- 2043 0218 FB68 ldr r3, [r7, #12]
- 2044 021a 5B6A ldr r3, [r3, #36]
- 2045 021c 43F48022 orr r2, r3, #262144
- 2046 0220 FB68 ldr r3, [r7, #12]
- 2047 0222 5A62 str r2, [r3, #36]
- 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 2048 .loc 1 1294 12
- 2049 0224 0123 movs r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 60
- 2050 .L107:
- 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2051 .loc 1 1296 1
- 2052 0226 1846 mov r0, r3
- 2053 0228 2037 adds r7, r7, #32
- 2054 .LCFI58:
- 2055 .cfi_def_cfa_offset 8
- 2056 022a BD46 mov sp, r7
- 2057 .LCFI59:
- 2058 .cfi_def_cfa_register 13
- 2059 @ sp needed
- 2060 022c 80BD pop {r7, pc}
- 2061 .L109:
- 2062 022e 00BF .align 2
- 2063 .L108:
- 2064 0230 00000000 .word .LC0
- 2065 .cfi_endproc
- 2066 .LFE140:
- 2068 .section .text.HAL_CAN_AbortTxRequest,"ax",%progbits
- 2069 .align 1
- 2070 .global HAL_CAN_AbortTxRequest
- 2071 .syntax unified
- 2072 .thumb
- 2073 .thumb_func
- 2075 HAL_CAN_AbortTxRequest:
- 2076 .LFB141:
- 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Abort transmission requests
- 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of the Tx Mailboxes to abort.
- 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
- 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
- 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2077 .loc 1 1307 1
- 2078 .cfi_startproc
- 2079 @ args = 0, pretend = 0, frame = 16
- 2080 @ frame_needed = 1, uses_anonymous_args = 0
- 2081 0000 80B5 push {r7, lr}
- 2082 .LCFI60:
- 2083 .cfi_def_cfa_offset 8
- 2084 .cfi_offset 7, -8
- 2085 .cfi_offset 14, -4
- 2086 0002 84B0 sub sp, sp, #16
- 2087 .LCFI61:
- 2088 .cfi_def_cfa_offset 24
- 2089 0004 00AF add r7, sp, #0
- 2090 .LCFI62:
- 2091 .cfi_def_cfa_register 7
- 2092 0006 7860 str r0, [r7, #4]
- 2093 0008 3960 str r1, [r7]
- 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 2094 .loc 1 1308 24
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 61
- 2095 000a 7B68 ldr r3, [r7, #4]
- 2096 000c 93F82030 ldrb r3, [r3, #32]
- 2097 0010 FB73 strb r3, [r7, #15]
- 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
- 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
- 2098 .loc 1 1311 3
- 2099 0012 3B68 ldr r3, [r7]
- 2100 0014 072B cmp r3, #7
- 2101 0016 04D9 bls .L111
- 2102 .loc 1 1311 3 is_stmt 0 discriminator 1
- 2103 0018 40F21F51 movw r1, #1311
- 2104 001c 1E48 ldr r0, .L118
- 2105 001e FFF7FEFF bl assert_failed
- 2106 .L111:
- 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 2107 .loc 1 1313 6 is_stmt 1
- 2108 0022 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 2109 0024 012B cmp r3, #1
- 2110 0026 02D0 beq .L112
- 2111 .loc 1 1313 38 discriminator 1
- 2112 0028 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 2113 002a 022B cmp r3, #2
- 2114 002c 28D1 bne .L113
- 2115 .L112:
- 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 */
- 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX0) != 0U)
- 2116 .loc 1 1317 22
- 2117 002e 3B68 ldr r3, [r7]
- 2118 0030 03F00103 and r3, r3, #1
- 2119 .loc 1 1317 8
- 2120 0034 002B cmp r3, #0
- 2121 0036 07D0 beq .L114
- 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 0 */
- 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0);
- 2122 .loc 1 1320 7
- 2123 0038 7B68 ldr r3, [r7, #4]
- 2124 003a 1B68 ldr r3, [r3]
- 2125 003c 9A68 ldr r2, [r3, #8]
- 2126 003e 7B68 ldr r3, [r7, #4]
- 2127 0040 1B68 ldr r3, [r3]
- 2128 0042 42F08002 orr r2, r2, #128
- 2129 0046 9A60 str r2, [r3, #8]
- 2130 .L114:
- 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 */
- 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX1) != 0U)
- 2131 .loc 1 1324 22
- 2132 0048 3B68 ldr r3, [r7]
- 2133 004a 03F00203 and r3, r3, #2
- 2134 .loc 1 1324 8
- 2135 004e 002B cmp r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 62
- 2136 0050 07D0 beq .L115
- 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 1 */
- 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1);
- 2137 .loc 1 1327 7
- 2138 0052 7B68 ldr r3, [r7, #4]
- 2139 0054 1B68 ldr r3, [r3]
- 2140 0056 9A68 ldr r2, [r3, #8]
- 2141 0058 7B68 ldr r3, [r7, #4]
- 2142 005a 1B68 ldr r3, [r3]
- 2143 005c 42F40042 orr r2, r2, #32768
- 2144 0060 9A60 str r2, [r3, #8]
- 2145 .L115:
- 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 */
- 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX2) != 0U)
- 2146 .loc 1 1331 22
- 2147 0062 3B68 ldr r3, [r7]
- 2148 0064 03F00403 and r3, r3, #4
- 2149 .loc 1 1331 8
- 2150 0068 002B cmp r3, #0
- 2151 006a 07D0 beq .L116
- 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 2 */
- 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2);
- 2152 .loc 1 1334 7
- 2153 006c 7B68 ldr r3, [r7, #4]
- 2154 006e 1B68 ldr r3, [r3]
- 2155 0070 9A68 ldr r2, [r3, #8]
- 2156 0072 7B68 ldr r3, [r7, #4]
- 2157 0074 1B68 ldr r3, [r3]
- 2158 0076 42F40002 orr r2, r2, #8388608
- 2159 007a 9A60 str r2, [r3, #8]
- 2160 .L116:
- 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 2161 .loc 1 1338 12
- 2162 007c 0023 movs r3, #0
- 2163 007e 06E0 b .L117
- 2164 .L113:
- 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 2165 .loc 1 1343 21
- 2166 0080 7B68 ldr r3, [r7, #4]
- 2167 0082 5B6A ldr r3, [r3, #36]
- 2168 0084 43F48022 orr r2, r3, #262144
- 2169 0088 7B68 ldr r3, [r7, #4]
- 2170 008a 5A62 str r2, [r3, #36]
- 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 2171 .loc 1 1345 12
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 63
- 2172 008c 0123 movs r3, #1
- 2173 .L117:
- 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2174 .loc 1 1347 1
- 2175 008e 1846 mov r0, r3
- 2176 0090 1037 adds r7, r7, #16
- 2177 .LCFI63:
- 2178 .cfi_def_cfa_offset 8
- 2179 0092 BD46 mov sp, r7
- 2180 .LCFI64:
- 2181 .cfi_def_cfa_register 13
- 2182 @ sp needed
- 2183 0094 80BD pop {r7, pc}
- 2184 .L119:
- 2185 0096 00BF .align 2
- 2186 .L118:
- 2187 0098 00000000 .word .LC0
- 2188 .cfi_endproc
- 2189 .LFE141:
- 2191 .section .text.HAL_CAN_GetTxMailboxesFreeLevel,"ax",%progbits
- 2192 .align 1
- 2193 .global HAL_CAN_GetTxMailboxesFreeLevel
- 2194 .syntax unified
- 2195 .thumb
- 2196 .thumb_func
- 2198 HAL_CAN_GetTxMailboxesFreeLevel:
- 2199 .LFB142:
- 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Tx Mailboxes free level: number of free Tx Mailboxes.
- 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of free Tx Mailboxes.
- 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxMailboxesFreeLevel(const CAN_HandleTypeDef *hcan)
- 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2200 .loc 1 1356 1
- 2201 .cfi_startproc
- 2202 @ args = 0, pretend = 0, frame = 16
- 2203 @ frame_needed = 1, uses_anonymous_args = 0
- 2204 @ link register save eliminated.
- 2205 0000 80B4 push {r7}
- 2206 .LCFI65:
- 2207 .cfi_def_cfa_offset 4
- 2208 .cfi_offset 7, -4
- 2209 0002 85B0 sub sp, sp, #20
- 2210 .LCFI66:
- 2211 .cfi_def_cfa_offset 24
- 2212 0004 00AF add r7, sp, #0
- 2213 .LCFI67:
- 2214 .cfi_def_cfa_register 7
- 2215 0006 7860 str r0, [r7, #4]
- 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t freelevel = 0U;
- 2216 .loc 1 1357 12
- 2217 0008 0023 movs r3, #0
- 2218 000a FB60 str r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 64
- 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 2219 .loc 1 1358 24
- 2220 000c 7B68 ldr r3, [r7, #4]
- 2221 000e 93F82030 ldrb r3, [r3, #32]
- 2222 0012 FB72 strb r3, [r7, #11]
- 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 2223 .loc 1 1360 6
- 2224 0014 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 2225 0016 012B cmp r3, #1
- 2226 0018 02D0 beq .L121
- 2227 .loc 1 1360 38 discriminator 1
- 2228 001a FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 2229 001c 022B cmp r3, #2
- 2230 001e 1DD1 bne .L122
- 2231 .L121:
- 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 status */
- 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U)
- 2232 .loc 1 1364 14
- 2233 0020 7B68 ldr r3, [r7, #4]
- 2234 0022 1B68 ldr r3, [r3]
- 2235 .loc 1 1364 24
- 2236 0024 9B68 ldr r3, [r3, #8]
- 2237 .loc 1 1364 30
- 2238 0026 03F08063 and r3, r3, #67108864
- 2239 .loc 1 1364 8
- 2240 002a 002B cmp r3, #0
- 2241 002c 02D0 beq .L123
- 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
- 2242 .loc 1 1366 16
- 2243 002e FB68 ldr r3, [r7, #12]
- 2244 0030 0133 adds r3, r3, #1
- 2245 0032 FB60 str r3, [r7, #12]
- 2246 .L123:
- 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 status */
- 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U)
- 2247 .loc 1 1370 14
- 2248 0034 7B68 ldr r3, [r7, #4]
- 2249 0036 1B68 ldr r3, [r3]
- 2250 .loc 1 1370 24
- 2251 0038 9B68 ldr r3, [r3, #8]
- 2252 .loc 1 1370 30
- 2253 003a 03F00063 and r3, r3, #134217728
- 2254 .loc 1 1370 8
- 2255 003e 002B cmp r3, #0
- 2256 0040 02D0 beq .L124
- 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
- 2257 .loc 1 1372 16
- 2258 0042 FB68 ldr r3, [r7, #12]
- 2259 0044 0133 adds r3, r3, #1
- 2260 0046 FB60 str r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 65
- 2261 .L124:
- 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 status */
- 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U)
- 2262 .loc 1 1376 14
- 2263 0048 7B68 ldr r3, [r7, #4]
- 2264 004a 1B68 ldr r3, [r3]
- 2265 .loc 1 1376 24
- 2266 004c 9B68 ldr r3, [r3, #8]
- 2267 .loc 1 1376 30
- 2268 004e 03F08053 and r3, r3, #268435456
- 2269 .loc 1 1376 8
- 2270 0052 002B cmp r3, #0
- 2271 0054 02D0 beq .L122
- 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
- 2272 .loc 1 1378 16
- 2273 0056 FB68 ldr r3, [r7, #12]
- 2274 0058 0133 adds r3, r3, #1
- 2275 005a FB60 str r3, [r7, #12]
- 2276 .L122:
- 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Tx Mailboxes free level */
- 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return freelevel;
- 2277 .loc 1 1383 10
- 2278 005c FB68 ldr r3, [r7, #12]
- 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2279 .loc 1 1384 1
- 2280 005e 1846 mov r0, r3
- 2281 0060 1437 adds r7, r7, #20
- 2282 .LCFI68:
- 2283 .cfi_def_cfa_offset 4
- 2284 0062 BD46 mov sp, r7
- 2285 .LCFI69:
- 2286 .cfi_def_cfa_register 13
- 2287 @ sp needed
- 2288 0064 5DF8047B ldr r7, [sp], #4
- 2289 .LCFI70:
- 2290 .cfi_restore 7
- 2291 .cfi_def_cfa_offset 0
- 2292 0068 7047 bx lr
- 2293 .cfi_endproc
- 2294 .LFE142:
- 2296 .section .text.HAL_CAN_IsTxMessagePending,"ax",%progbits
- 2297 .align 1
- 2298 .global HAL_CAN_IsTxMessagePending
- 2299 .syntax unified
- 2300 .thumb
- 2301 .thumb_func
- 2303 HAL_CAN_IsTxMessagePending:
- 2304 .LFB143:
- 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check if a transmission request is pending on the selected Tx
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 66
- 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Mailboxes.
- 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of Tx Mailboxes to check.
- 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
- 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
- 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : No pending transmission request on any selected Tx Mailboxes.
- 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Pending transmission request on at least one of the selected
- 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Tx Mailbox.
- 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsTxMessagePending(const CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
- 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2305 .loc 1 1399 1
- 2306 .cfi_startproc
- 2307 @ args = 0, pretend = 0, frame = 16
- 2308 @ frame_needed = 1, uses_anonymous_args = 0
- 2309 0000 80B5 push {r7, lr}
- 2310 .LCFI71:
- 2311 .cfi_def_cfa_offset 8
- 2312 .cfi_offset 7, -8
- 2313 .cfi_offset 14, -4
- 2314 0002 84B0 sub sp, sp, #16
- 2315 .LCFI72:
- 2316 .cfi_def_cfa_offset 24
- 2317 0004 00AF add r7, sp, #0
- 2318 .LCFI73:
- 2319 .cfi_def_cfa_register 7
- 2320 0006 7860 str r0, [r7, #4]
- 2321 0008 3960 str r1, [r7]
- 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
- 2322 .loc 1 1400 12
- 2323 000a 0023 movs r3, #0
- 2324 000c FB60 str r3, [r7, #12]
- 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 2325 .loc 1 1401 24
- 2326 000e 7B68 ldr r3, [r7, #4]
- 2327 0010 93F82030 ldrb r3, [r3, #32]
- 2328 0014 FB72 strb r3, [r7, #11]
- 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
- 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
- 2329 .loc 1 1404 3
- 2330 0016 3B68 ldr r3, [r7]
- 2331 0018 072B cmp r3, #7
- 2332 001a 04D9 bls .L127
- 2333 .loc 1 1404 3 is_stmt 0 discriminator 1
- 2334 001c 40F27C51 movw r1, #1404
- 2335 0020 0C48 ldr r0, .L131
- 2336 0022 FFF7FEFF bl assert_failed
- 2337 .L127:
- 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 2338 .loc 1 1406 6 is_stmt 1
- 2339 0026 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 2340 0028 012B cmp r3, #1
- 2341 002a 02D0 beq .L128
- 2342 .loc 1 1406 38 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 67
- 2343 002c FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 2344 002e 022B cmp r3, #2
- 2345 0030 0BD1 bne .L129
- 2346 .L128:
- 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check pending transmission request on the selected Tx Mailboxes */
- 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_P
- 2347 .loc 1 1410 14
- 2348 0032 7B68 ldr r3, [r7, #4]
- 2349 0034 1B68 ldr r3, [r3]
- 2350 .loc 1 1410 24
- 2351 0036 9A68 ldr r2, [r3, #8]
- 2352 .loc 1 1410 45
- 2353 0038 3B68 ldr r3, [r7]
- 2354 003a 9B06 lsls r3, r3, #26
- 2355 .loc 1 1410 30
- 2356 003c 1A40 ands r2, r2, r3
- 2357 .loc 1 1410 83
- 2358 003e 3B68 ldr r3, [r7]
- 2359 0040 9B06 lsls r3, r3, #26
- 2360 .loc 1 1410 8
- 2361 0042 9A42 cmp r2, r3
- 2362 0044 01D0 beq .L129
- 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
- 2363 .loc 1 1412 14
- 2364 0046 0123 movs r3, #1
- 2365 0048 FB60 str r3, [r7, #12]
- 2366 .L129:
- 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return status */
- 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
- 2367 .loc 1 1417 10
- 2368 004a FB68 ldr r3, [r7, #12]
- 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2369 .loc 1 1418 1
- 2370 004c 1846 mov r0, r3
- 2371 004e 1037 adds r7, r7, #16
- 2372 .LCFI74:
- 2373 .cfi_def_cfa_offset 8
- 2374 0050 BD46 mov sp, r7
- 2375 .LCFI75:
- 2376 .cfi_def_cfa_register 13
- 2377 @ sp needed
- 2378 0052 80BD pop {r7, pc}
- 2379 .L132:
- 2380 .align 2
- 2381 .L131:
- 2382 0054 00000000 .word .LC0
- 2383 .cfi_endproc
- 2384 .LFE143:
- 2386 .section .text.HAL_CAN_GetTxTimestamp,"ax",%progbits
- 2387 .align 1
- 2388 .global HAL_CAN_GetTxTimestamp
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 68
- 2389 .syntax unified
- 2390 .thumb
- 2391 .thumb_func
- 2393 HAL_CAN_GetTxTimestamp:
- 2394 .LFB144:
- 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return timestamp of Tx message sent, if time triggered communication
- 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mode is enabled.
- 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailbox Tx Mailbox where the timestamp of message sent will be
- 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * read.
- 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one value of @arg CAN_Tx_Mailboxes.
- 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Timestamp of message sent from Tx Mailbox.
- 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxTimestamp(const CAN_HandleTypeDef *hcan, uint32_t TxMailbox)
- 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2395 .loc 1 1431 1
- 2396 .cfi_startproc
- 2397 @ args = 0, pretend = 0, frame = 32
- 2398 @ frame_needed = 1, uses_anonymous_args = 0
- 2399 0000 80B5 push {r7, lr}
- 2400 .LCFI76:
- 2401 .cfi_def_cfa_offset 8
- 2402 .cfi_offset 7, -8
- 2403 .cfi_offset 14, -4
- 2404 0002 88B0 sub sp, sp, #32
- 2405 .LCFI77:
- 2406 .cfi_def_cfa_offset 40
- 2407 0004 00AF add r7, sp, #0
- 2408 .LCFI78:
- 2409 .cfi_def_cfa_register 7
- 2410 0006 7860 str r0, [r7, #4]
- 2411 0008 3960 str r1, [r7]
- 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t timestamp = 0U;
- 2412 .loc 1 1432 12
- 2413 000a 0023 movs r3, #0
- 2414 000c FB61 str r3, [r7, #28]
- 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
- 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 2415 .loc 1 1434 24
- 2416 000e 7B68 ldr r3, [r7, #4]
- 2417 0010 93F82030 ldrb r3, [r3, #32]
- 2418 0014 FB76 strb r3, [r7, #27]
- 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
- 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX(TxMailbox));
- 2419 .loc 1 1437 3
- 2420 0016 3B68 ldr r3, [r7]
- 2421 0018 012B cmp r3, #1
- 2422 001a 0AD0 beq .L134
- 2423 .loc 1 1437 3 is_stmt 0 discriminator 1
- 2424 001c 3B68 ldr r3, [r7]
- 2425 001e 022B cmp r3, #2
- 2426 0020 07D0 beq .L134
- 2427 .loc 1 1437 3 discriminator 2
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 69
- 2428 0022 3B68 ldr r3, [r7]
- 2429 0024 042B cmp r3, #4
- 2430 0026 04D0 beq .L134
- 2431 .loc 1 1437 3 discriminator 3
- 2432 0028 40F29D51 movw r1, #1437
- 2433 002c 1148 ldr r0, .L139
- 2434 002e FFF7FEFF bl assert_failed
- 2435 .L134:
- 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 2436 .loc 1 1439 6 is_stmt 1
- 2437 0032 FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
- 2438 0034 012B cmp r3, #1
- 2439 0036 02D0 beq .L135
- 2440 .loc 1 1439 38 discriminator 1
- 2441 0038 FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
- 2442 003a 022B cmp r3, #2
- 2443 003c 15D1 bne .L136
- 2444 .L135:
- 2445 003e 3B68 ldr r3, [r7]
- 2446 0040 3B61 str r3, [r7, #16]
- 2447 .LBB4:
- 2448 .LBB5:
- 2449 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
- 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
- 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
- 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
- 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
- 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
- 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
- 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
- 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
- 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
- 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
- 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
- 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
- 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
- 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
- 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
- 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
- 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
- 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
- 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
- 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
- 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
- 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
- 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 70
- 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
- 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
- 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
- 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
- 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
- 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
- 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
- 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
- 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
- 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
- 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
- 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
- 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
- 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
- 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
- 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
- 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
- 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
- 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
- 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
- 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
- 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
- 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
- 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
- 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
- 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
- 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
- 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
- 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
- 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
- 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 71
- 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
- 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
- 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
- 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
- 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
- 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
- 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
- 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
- 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
- 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
- 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
- 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
- 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
- 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
- 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
- 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
- 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
- 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
- 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
- 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
- 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
- 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
- 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
- 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 72
- 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
- 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
- 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
- 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
- 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
- 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
- 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
- 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
- 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
- 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
- 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
- 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
- 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
- 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
- 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
- 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
- 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
- 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
- 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
- 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
- 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
- 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
- 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 73
- 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
- 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
- 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
- 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
- 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
- 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
- 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
- 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
- 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
- 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
- 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
- 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
- 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
- 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
- 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
- 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
- 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
- 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
- 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
- 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
- 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 74
- 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
- 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
- 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
- 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
- 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
- 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
- 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
- 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
- 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
- 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
- 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
- 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
- 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
- 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
- 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
- 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
- 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
- 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
- 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
- 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
- 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
- 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 75
- 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
- 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
- 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
- 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
- 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
- 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
- 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
- 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
- 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
- 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
- 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
- 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
- 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
- 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
- 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
- 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
- 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
- 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
- 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
- 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
- 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
- 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 76
- 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
- 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
- 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
- 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
- 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
- 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
- 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
- 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
- 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
- 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
- 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
- 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
- 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
- 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
- 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
- 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
- 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
- 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
- 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
- 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
- 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
- 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 77
- 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
- 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
- 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
- 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
- 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
- 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
- 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
- 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
- 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
- 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
- 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
- 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
- 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
- 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
- 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
- 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
- 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
- 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
- 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
- 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
- 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
- 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 78
- 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
- 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
- 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
- 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
- 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
- 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
- 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
- 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
- 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
- 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
- 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
- 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
- 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
- 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
- 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
- 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
- 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
- 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
- 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
- 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
- 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
- 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
- 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 79
- 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
- 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
- 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
- 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
- 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
- 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
- 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
- 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
- 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
- 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
- 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
- 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
- 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
- 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
- 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
- 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
- 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
- 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
- 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
- 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
- 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
- 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 80
- 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
- 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
- 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
- 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
- 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
- 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
- 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
- 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
- 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
- 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
- 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
- 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
- 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
- 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
- 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
- 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
- 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
- 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
- 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
- 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 81
- 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
- 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
- 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
- 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
- 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
- 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
- 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
- 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
- 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
- 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
- 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
- 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
- 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
- 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
- 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 82
- 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
- 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
- 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
- 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
- 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
- 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
- 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
- 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
- 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
- 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
- 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
- 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
- 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
- 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
- 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
- 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
- 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
- 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
- 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
- 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
- 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
- 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
- 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
- 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
- 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
- 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 83
- 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
- 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
- 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
- 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
- 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
- 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
- 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
- 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
- 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
- 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
- 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
- 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
- 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
- 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
- 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
- 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
- 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
- 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
- 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
- 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
- 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
- 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
- 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
- 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
- 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
- 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
- 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
- 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
- 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
- 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
- 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 84
- 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
- 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
- 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
- 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
- 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
- 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
- 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
- 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
- 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
- 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
- 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
- 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
- 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
- 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
- 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
- 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
- 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
- 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
- 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
- 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
- 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
- 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
- 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
- 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
- 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 881:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 882:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
- 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
- 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
- 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 85
- 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
- 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 892:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 893:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
- 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
- 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
- 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
- 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
- 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 906:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
- 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 912:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
- 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
- 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
- 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 922:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
- 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 926:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 927:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
- 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
- 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
- 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
- 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
- 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
- 940:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
- 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 945:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 86
- 946:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
- 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
- 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
- 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
- 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
- 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
- 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
- 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
- 958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
- 960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
- 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 963:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 964:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
- 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
- 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
- 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
- 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
- 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
- 973:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 974:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
- 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
- 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
- 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 984:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
- 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
- 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
- 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
- 2450 .loc 2 988 4
- 2451 0042 3B69 ldr r3, [r7, #16]
- 2452 .syntax unified
- 2453 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2454 0044 93FAA3F3 rbit r3, r3
- 2455 @ 0 "" 2
- 2456 .thumb
- 2457 .syntax unified
- 2458 0048 FB60 str r3, [r7, #12]
- 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
- 991:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
- 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 87
- 994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
- 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
- 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
- 998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
- 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 2459 .loc 2 1001 10
- 2460 004a FB68 ldr r3, [r7, #12]
- 2461 .LBE5:
- 2462 .LBE4:
- 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select the Tx mailbox */
- 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = POSITION_VAL(TxMailbox);
- 2463 .loc 1 1443 23
- 2464 004c B3FA83F3 clz r3, r3
- 2465 0050 DBB2 uxtb r3, r3
- 2466 .loc 1 1443 21
- 2467 0052 7B61 str r3, [r7, #20]
- 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get timestamp */
- 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TI
- 2468 .loc 1 1446 22
- 2469 0054 7B68 ldr r3, [r7, #4]
- 2470 0056 1A68 ldr r2, [r3]
- 2471 .loc 1 1446 61
- 2472 0058 7B69 ldr r3, [r7, #20]
- 2473 005a 1833 adds r3, r3, #24
- 2474 005c 1B01 lsls r3, r3, #4
- 2475 005e 1344 add r3, r3, r2
- 2476 0060 0433 adds r3, r3, #4
- 2477 0062 1B68 ldr r3, [r3]
- 2478 .loc 1 1446 85
- 2479 0064 1B0C lsrs r3, r3, #16
- 2480 .loc 1 1446 15
- 2481 0066 9BB2 uxth r3, r3
- 2482 0068 FB61 str r3, [r7, #28]
- 2483 .L136:
- 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the timestamp */
- 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return timestamp;
- 2484 .loc 1 1450 10
- 2485 006a FB69 ldr r3, [r7, #28]
- 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2486 .loc 1 1451 1
- 2487 006c 1846 mov r0, r3
- 2488 006e 2037 adds r7, r7, #32
- 2489 .LCFI79:
- 2490 .cfi_def_cfa_offset 8
- 2491 0070 BD46 mov sp, r7
- 2492 .LCFI80:
- 2493 .cfi_def_cfa_register 13
- 2494 @ sp needed
- 2495 0072 80BD pop {r7, pc}
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 88
- 2496 .L140:
- 2497 .align 2
- 2498 .L139:
- 2499 0074 00000000 .word .LC0
- 2500 .cfi_endproc
- 2501 .LFE144:
- 2503 .section .text.HAL_CAN_GetRxMessage,"ax",%progbits
- 2504 .align 1
- 2505 .global HAL_CAN_GetRxMessage
- 2506 .syntax unified
- 2507 .thumb
- 2508 .thumb_func
- 2510 HAL_CAN_GetRxMessage:
- 2511 .LFB145:
- 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Get an CAN frame from the Rx FIFO zone into the message RAM.
- 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Fifo number of the received message to be read.
- 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
- 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_RxHeaderTypeDef structure where the header
- 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of the Rx frame will be stored.
- 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array where the payload of the Rx frame will be stored.
- 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo,
- 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_RxHeaderTypeDef *pHeader, uint8_t aData[])
- 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2512 .loc 1 1466 1
- 2513 .cfi_startproc
- 2514 @ args = 0, pretend = 0, frame = 24
- 2515 @ frame_needed = 1, uses_anonymous_args = 0
- 2516 0000 80B5 push {r7, lr}
- 2517 .LCFI81:
- 2518 .cfi_def_cfa_offset 8
- 2519 .cfi_offset 7, -8
- 2520 .cfi_offset 14, -4
- 2521 0002 86B0 sub sp, sp, #24
- 2522 .LCFI82:
- 2523 .cfi_def_cfa_offset 32
- 2524 0004 00AF add r7, sp, #0
- 2525 .LCFI83:
- 2526 .cfi_def_cfa_register 7
- 2527 0006 F860 str r0, [r7, #12]
- 2528 0008 B960 str r1, [r7, #8]
- 2529 000a 7A60 str r2, [r7, #4]
- 2530 000c 3B60 str r3, [r7]
- 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 2531 .loc 1 1467 24
- 2532 000e FB68 ldr r3, [r7, #12]
- 2533 0010 93F82030 ldrb r3, [r3, #32]
- 2534 0014 FB75 strb r3, [r7, #23]
- 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
- 2535 .loc 1 1469 3
- 2536 0016 BB68 ldr r3, [r7, #8]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 89
- 2537 0018 002B cmp r3, #0
- 2538 001a 07D0 beq .L142
- 2539 .loc 1 1469 3 is_stmt 0 discriminator 1
- 2540 001c BB68 ldr r3, [r7, #8]
- 2541 001e 012B cmp r3, #1
- 2542 0020 04D0 beq .L142
- 2543 .loc 1 1469 3 discriminator 2
- 2544 0022 40F2BD51 movw r1, #1469
- 2545 0026 8C48 ldr r0, .L154
- 2546 0028 FFF7FEFF bl assert_failed
- 2547 .L142:
- 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 2548 .loc 1 1471 6 is_stmt 1
- 2549 002c FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
- 2550 002e 012B cmp r3, #1
- 2551 0030 03D0 beq .L143
- 2552 .loc 1 1471 38 discriminator 1
- 2553 0032 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
- 2554 0034 022B cmp r3, #2
- 2555 0036 40F00381 bne .L144
- 2556 .L143:
- 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the Rx FIFO */
- 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
- 2557 .loc 1 1475 8
- 2558 003a BB68 ldr r3, [r7, #8]
- 2559 003c 002B cmp r3, #0
- 2560 003e 0ED1 bne .L145
- 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 0 is not empty */
- 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U)
- 2561 .loc 1 1478 16
- 2562 0040 FB68 ldr r3, [r7, #12]
- 2563 0042 1B68 ldr r3, [r3]
- 2564 .loc 1 1478 26
- 2565 0044 DB68 ldr r3, [r3, #12]
- 2566 .loc 1 1478 33
- 2567 0046 03F00303 and r3, r3, #3
- 2568 .loc 1 1478 10
- 2569 004a 002B cmp r3, #0
- 2570 004c 16D1 bne .L146
- 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
- 2571 .loc 1 1481 25
- 2572 004e FB68 ldr r3, [r7, #12]
- 2573 0050 5B6A ldr r3, [r3, #36]
- 2574 0052 43F40012 orr r2, r3, #2097152
- 2575 0056 FB68 ldr r3, [r7, #12]
- 2576 0058 5A62 str r2, [r3, #36]
- 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 2577 .loc 1 1483 16
- 2578 005a 0123 movs r3, #1
- 2579 005c F7E0 b .L147
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 90
- 2580 .L145:
- 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
- 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 1 is not empty */
- 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U)
- 2581 .loc 1 1489 16
- 2582 005e FB68 ldr r3, [r7, #12]
- 2583 0060 1B68 ldr r3, [r3]
- 2584 .loc 1 1489 26
- 2585 0062 1B69 ldr r3, [r3, #16]
- 2586 .loc 1 1489 33
- 2587 0064 03F00303 and r3, r3, #3
- 2588 .loc 1 1489 10
- 2589 0068 002B cmp r3, #0
- 2590 006a 07D1 bne .L146
- 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
- 2591 .loc 1 1492 25
- 2592 006c FB68 ldr r3, [r7, #12]
- 2593 006e 5B6A ldr r3, [r3, #36]
- 2594 0070 43F40012 orr r2, r3, #2097152
- 2595 0074 FB68 ldr r3, [r7, #12]
- 2596 0076 5A62 str r2, [r3, #36]
- 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 2597 .loc 1 1494 16
- 2598 0078 0123 movs r3, #1
- 2599 007a E8E0 b .L147
- 2600 .L146:
- 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the header */
- 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR;
- 2601 .loc 1 1499 39
- 2602 007c FB68 ldr r3, [r7, #12]
- 2603 007e 1A68 ldr r2, [r3]
- 2604 .loc 1 1499 71
- 2605 0080 BB68 ldr r3, [r7, #8]
- 2606 0082 1B33 adds r3, r3, #27
- 2607 0084 1B01 lsls r3, r3, #4
- 2608 0086 1344 add r3, r3, r2
- 2609 0088 1B68 ldr r3, [r3]
- 2610 .loc 1 1499 33
- 2611 008a 03F00402 and r2, r3, #4
- 2612 .loc 1 1499 18
- 2613 008e 7B68 ldr r3, [r7, #4]
- 2614 0090 9A60 str r2, [r3, #8]
- 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
- 2615 .loc 1 1500 16
- 2616 0092 7B68 ldr r3, [r7, #4]
- 2617 0094 9B68 ldr r3, [r3, #8]
- 2618 .loc 1 1500 8
- 2619 0096 002B cmp r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 91
- 2620 0098 0CD1 bne .L148
- 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_
- 2621 .loc 1 1502 45
- 2622 009a FB68 ldr r3, [r7, #12]
- 2623 009c 1A68 ldr r2, [r3]
- 2624 .loc 1 1502 77
- 2625 009e BB68 ldr r3, [r7, #8]
- 2626 00a0 1B33 adds r3, r3, #27
- 2627 00a2 1B01 lsls r3, r3, #4
- 2628 00a4 1344 add r3, r3, r2
- 2629 00a6 1B68 ldr r3, [r3]
- 2630 .loc 1 1502 83
- 2631 00a8 5B0D lsrs r3, r3, #21
- 2632 00aa C3F30A02 ubfx r2, r3, #0, #11
- 2633 .loc 1 1502 22
- 2634 00ae 7B68 ldr r3, [r7, #4]
- 2635 00b0 1A60 str r2, [r3]
- 2636 00b2 0BE0 b .L149
- 2637 .L148:
- 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->ExtId = ((CAN_RI0R_EXID | CAN_RI0R_STID) &
- 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
- 2638 .loc 1 1507 29
- 2639 00b4 FB68 ldr r3, [r7, #12]
- 2640 00b6 1A68 ldr r2, [r3]
- 2641 .loc 1 1507 61
- 2642 00b8 BB68 ldr r3, [r7, #8]
- 2643 00ba 1B33 adds r3, r3, #27
- 2644 00bc 1B01 lsls r3, r3, #4
- 2645 00be 1344 add r3, r3, r2
- 2646 00c0 1B68 ldr r3, [r3]
- 2647 .loc 1 1507 67
- 2648 00c2 DB08 lsrs r3, r3, #3
- 2649 00c4 23F06042 bic r2, r3, #-536870912
- 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
- 2650 .loc 1 1506 22
- 2651 00c8 7B68 ldr r3, [r7, #4]
- 2652 00ca 5A60 str r2, [r3, #4]
- 2653 .L149:
- 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR);
- 2654 .loc 1 1509 40
- 2655 00cc FB68 ldr r3, [r7, #12]
- 2656 00ce 1A68 ldr r2, [r3]
- 2657 .loc 1 1509 72
- 2658 00d0 BB68 ldr r3, [r7, #8]
- 2659 00d2 1B33 adds r3, r3, #27
- 2660 00d4 1B01 lsls r3, r3, #4
- 2661 00d6 1344 add r3, r3, r2
- 2662 00d8 1B68 ldr r3, [r3]
- 2663 .loc 1 1509 34
- 2664 00da 03F00202 and r2, r3, #2
- 2665 .loc 1 1509 18
- 2666 00de 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 92
- 2667 00e0 DA60 str r2, [r3, #12]
- 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
- 2668 .loc 1 1510 31
- 2669 00e2 FB68 ldr r3, [r7, #12]
- 2670 00e4 1A68 ldr r2, [r3]
- 2671 .loc 1 1510 63
- 2672 00e6 BB68 ldr r3, [r7, #8]
- 2673 00e8 1B33 adds r3, r3, #27
- 2674 00ea 1B01 lsls r3, r3, #4
- 2675 00ec 1344 add r3, r3, r2
- 2676 00ee 0433 adds r3, r3, #4
- 2677 00f0 1B68 ldr r3, [r3]
- 2678 .loc 1 1510 92
- 2679 00f2 03F00803 and r3, r3, #8
- 2680 .loc 1 1510 8
- 2681 00f6 002B cmp r3, #0
- 2682 00f8 03D0 beq .L150
- 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Truncate DLC to 8 if received field is over range */
- 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = 8U;
- 2683 .loc 1 1513 20
- 2684 00fa 7B68 ldr r3, [r7, #4]
- 2685 00fc 0822 movs r2, #8
- 2686 00fe 1A61 str r2, [r3, #16]
- 2687 0100 0BE0 b .L151
- 2688 .L150:
- 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_P
- 2689 .loc 1 1517 43
- 2690 0102 FB68 ldr r3, [r7, #12]
- 2691 0104 1A68 ldr r2, [r3]
- 2692 .loc 1 1517 75
- 2693 0106 BB68 ldr r3, [r7, #8]
- 2694 0108 1B33 adds r3, r3, #27
- 2695 010a 1B01 lsls r3, r3, #4
- 2696 010c 1344 add r3, r3, r2
- 2697 010e 0433 adds r3, r3, #4
- 2698 0110 1B68 ldr r3, [r3]
- 2699 .loc 1 1517 82
- 2700 0112 03F00F02 and r2, r3, #15
- 2701 .loc 1 1517 20
- 2702 0116 7B68 ldr r3, [r7, #4]
- 2703 0118 1A61 str r2, [r3, #16]
- 2704 .L151:
- 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_
- 2705 .loc 1 1519 54
- 2706 011a FB68 ldr r3, [r7, #12]
- 2707 011c 1A68 ldr r2, [r3]
- 2708 .loc 1 1519 86
- 2709 011e BB68 ldr r3, [r7, #8]
- 2710 0120 1B33 adds r3, r3, #27
- 2711 0122 1B01 lsls r3, r3, #4
- 2712 0124 1344 add r3, r3, r2
- 2713 0126 0433 adds r3, r3, #4
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 93
- 2714 0128 1B68 ldr r3, [r3]
- 2715 .loc 1 1519 93
- 2716 012a 1B0A lsrs r3, r3, #8
- 2717 012c DAB2 uxtb r2, r3
- 2718 .loc 1 1519 31
- 2719 012e 7B68 ldr r3, [r7, #4]
- 2720 0130 9A61 str r2, [r3, #24]
- 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
- 2721 .loc 1 1520 48
- 2722 0132 FB68 ldr r3, [r7, #12]
- 2723 0134 1A68 ldr r2, [r3]
- 2724 .loc 1 1520 80
- 2725 0136 BB68 ldr r3, [r7, #8]
- 2726 0138 1B33 adds r3, r3, #27
- 2727 013a 1B01 lsls r3, r3, #4
- 2728 013c 1344 add r3, r3, r2
- 2729 013e 0433 adds r3, r3, #4
- 2730 0140 1B68 ldr r3, [r3]
- 2731 .loc 1 1520 87
- 2732 0142 1B0C lsrs r3, r3, #16
- 2733 0144 9AB2 uxth r2, r3
- 2734 .loc 1 1520 24
- 2735 0146 7B68 ldr r3, [r7, #4]
- 2736 0148 5A61 str r2, [r3, #20]
- 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the data */
- 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
- 2737 .loc 1 1523 49
- 2738 014a FB68 ldr r3, [r7, #12]
- 2739 014c 1A68 ldr r2, [r3]
- 2740 .loc 1 1523 81
- 2741 014e BB68 ldr r3, [r7, #8]
- 2742 0150 1B01 lsls r3, r3, #4
- 2743 0152 1344 add r3, r3, r2
- 2744 0154 03F5DC73 add r3, r3, #440
- 2745 0158 1B68 ldr r3, [r3]
- 2746 .loc 1 1523 16
- 2747 015a DAB2 uxtb r2, r3
- 2748 .loc 1 1523 14
- 2749 015c 3B68 ldr r3, [r7]
- 2750 015e 1A70 strb r2, [r3]
- 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
- 2751 .loc 1 1524 49
- 2752 0160 FB68 ldr r3, [r7, #12]
- 2753 0162 1A68 ldr r2, [r3]
- 2754 .loc 1 1524 81
- 2755 0164 BB68 ldr r3, [r7, #8]
- 2756 0166 1B01 lsls r3, r3, #4
- 2757 0168 1344 add r3, r3, r2
- 2758 016a 03F5DC73 add r3, r3, #440
- 2759 016e 1B68 ldr r3, [r3]
- 2760 .loc 1 1524 88
- 2761 0170 1A0A lsrs r2, r3, #8
- 2762 .loc 1 1524 10
- 2763 0172 3B68 ldr r3, [r7]
- 2764 0174 0133 adds r3, r3, #1
- 2765 .loc 1 1524 16
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 94
- 2766 0176 D2B2 uxtb r2, r2
- 2767 .loc 1 1524 14
- 2768 0178 1A70 strb r2, [r3]
- 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
- 2769 .loc 1 1525 49
- 2770 017a FB68 ldr r3, [r7, #12]
- 2771 017c 1A68 ldr r2, [r3]
- 2772 .loc 1 1525 81
- 2773 017e BB68 ldr r3, [r7, #8]
- 2774 0180 1B01 lsls r3, r3, #4
- 2775 0182 1344 add r3, r3, r2
- 2776 0184 03F5DC73 add r3, r3, #440
- 2777 0188 1B68 ldr r3, [r3]
- 2778 .loc 1 1525 88
- 2779 018a 1A0C lsrs r2, r3, #16
- 2780 .loc 1 1525 10
- 2781 018c 3B68 ldr r3, [r7]
- 2782 018e 0233 adds r3, r3, #2
- 2783 .loc 1 1525 16
- 2784 0190 D2B2 uxtb r2, r2
- 2785 .loc 1 1525 14
- 2786 0192 1A70 strb r2, [r3]
- 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
- 2787 .loc 1 1526 49
- 2788 0194 FB68 ldr r3, [r7, #12]
- 2789 0196 1A68 ldr r2, [r3]
- 2790 .loc 1 1526 81
- 2791 0198 BB68 ldr r3, [r7, #8]
- 2792 019a 1B01 lsls r3, r3, #4
- 2793 019c 1344 add r3, r3, r2
- 2794 019e 03F5DC73 add r3, r3, #440
- 2795 01a2 1B68 ldr r3, [r3]
- 2796 .loc 1 1526 88
- 2797 01a4 1A0E lsrs r2, r3, #24
- 2798 .loc 1 1526 10
- 2799 01a6 3B68 ldr r3, [r7]
- 2800 01a8 0333 adds r3, r3, #3
- 2801 .loc 1 1526 16
- 2802 01aa D2B2 uxtb r2, r2
- 2803 .loc 1 1526 14
- 2804 01ac 1A70 strb r2, [r3]
- 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
- 2805 .loc 1 1527 49
- 2806 01ae FB68 ldr r3, [r7, #12]
- 2807 01b0 1A68 ldr r2, [r3]
- 2808 .loc 1 1527 81
- 2809 01b2 BB68 ldr r3, [r7, #8]
- 2810 01b4 1B01 lsls r3, r3, #4
- 2811 01b6 1344 add r3, r3, r2
- 2812 01b8 03F5DE73 add r3, r3, #444
- 2813 01bc 1A68 ldr r2, [r3]
- 2814 .loc 1 1527 10
- 2815 01be 3B68 ldr r3, [r7]
- 2816 01c0 0433 adds r3, r3, #4
- 2817 .loc 1 1527 16
- 2818 01c2 D2B2 uxtb r2, r2
- 2819 .loc 1 1527 14
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 95
- 2820 01c4 1A70 strb r2, [r3]
- 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
- 2821 .loc 1 1528 49
- 2822 01c6 FB68 ldr r3, [r7, #12]
- 2823 01c8 1A68 ldr r2, [r3]
- 2824 .loc 1 1528 81
- 2825 01ca BB68 ldr r3, [r7, #8]
- 2826 01cc 1B01 lsls r3, r3, #4
- 2827 01ce 1344 add r3, r3, r2
- 2828 01d0 03F5DE73 add r3, r3, #444
- 2829 01d4 1B68 ldr r3, [r3]
- 2830 .loc 1 1528 88
- 2831 01d6 1A0A lsrs r2, r3, #8
- 2832 .loc 1 1528 10
- 2833 01d8 3B68 ldr r3, [r7]
- 2834 01da 0533 adds r3, r3, #5
- 2835 .loc 1 1528 16
- 2836 01dc D2B2 uxtb r2, r2
- 2837 .loc 1 1528 14
- 2838 01de 1A70 strb r2, [r3]
- 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
- 2839 .loc 1 1529 49
- 2840 01e0 FB68 ldr r3, [r7, #12]
- 2841 01e2 1A68 ldr r2, [r3]
- 2842 .loc 1 1529 81
- 2843 01e4 BB68 ldr r3, [r7, #8]
- 2844 01e6 1B01 lsls r3, r3, #4
- 2845 01e8 1344 add r3, r3, r2
- 2846 01ea 03F5DE73 add r3, r3, #444
- 2847 01ee 1B68 ldr r3, [r3]
- 2848 .loc 1 1529 88
- 2849 01f0 1A0C lsrs r2, r3, #16
- 2850 .loc 1 1529 10
- 2851 01f2 3B68 ldr r3, [r7]
- 2852 01f4 0633 adds r3, r3, #6
- 2853 .loc 1 1529 16
- 2854 01f6 D2B2 uxtb r2, r2
- 2855 .loc 1 1529 14
- 2856 01f8 1A70 strb r2, [r3]
- 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
- 2857 .loc 1 1530 49
- 2858 01fa FB68 ldr r3, [r7, #12]
- 2859 01fc 1A68 ldr r2, [r3]
- 2860 .loc 1 1530 81
- 2861 01fe BB68 ldr r3, [r7, #8]
- 2862 0200 1B01 lsls r3, r3, #4
- 2863 0202 1344 add r3, r3, r2
- 2864 0204 03F5DE73 add r3, r3, #444
- 2865 0208 1B68 ldr r3, [r3]
- 2866 .loc 1 1530 88
- 2867 020a 1A0E lsrs r2, r3, #24
- 2868 .loc 1 1530 10
- 2869 020c 3B68 ldr r3, [r7]
- 2870 020e 0733 adds r3, r3, #7
- 2871 .loc 1 1530 16
- 2872 0210 D2B2 uxtb r2, r2
- 2873 .loc 1 1530 14
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 96
- 2874 0212 1A70 strb r2, [r3]
- 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release the FIFO */
- 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
- 2875 .loc 1 1533 8
- 2876 0214 BB68 ldr r3, [r7, #8]
- 2877 0216 002B cmp r3, #0
- 2878 0218 08D1 bne .L152
- 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 0 */
- 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0);
- 2879 .loc 1 1536 7
- 2880 021a FB68 ldr r3, [r7, #12]
- 2881 021c 1B68 ldr r3, [r3]
- 2882 021e DA68 ldr r2, [r3, #12]
- 2883 0220 FB68 ldr r3, [r7, #12]
- 2884 0222 1B68 ldr r3, [r3]
- 2885 0224 42F02002 orr r2, r2, #32
- 2886 0228 DA60 str r2, [r3, #12]
- 2887 022a 07E0 b .L153
- 2888 .L152:
- 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
- 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 1 */
- 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1);
- 2889 .loc 1 1541 7
- 2890 022c FB68 ldr r3, [r7, #12]
- 2891 022e 1B68 ldr r3, [r3]
- 2892 0230 1A69 ldr r2, [r3, #16]
- 2893 0232 FB68 ldr r3, [r7, #12]
- 2894 0234 1B68 ldr r3, [r3]
- 2895 0236 42F02002 orr r2, r2, #32
- 2896 023a 1A61 str r2, [r3, #16]
- 2897 .L153:
- 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 2898 .loc 1 1545 12
- 2899 023c 0023 movs r3, #0
- 2900 023e 06E0 b .L147
- 2901 .L144:
- 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 2902 .loc 1 1550 21
- 2903 0240 FB68 ldr r3, [r7, #12]
- 2904 0242 5B6A ldr r3, [r3, #36]
- 2905 0244 43F48022 orr r2, r3, #262144
- 2906 0248 FB68 ldr r3, [r7, #12]
- 2907 024a 5A62 str r2, [r3, #36]
- 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 2908 .loc 1 1552 12
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 97
- 2909 024c 0123 movs r3, #1
- 2910 .L147:
- 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2911 .loc 1 1554 1
- 2912 024e 1846 mov r0, r3
- 2913 0250 1837 adds r7, r7, #24
- 2914 .LCFI84:
- 2915 .cfi_def_cfa_offset 8
- 2916 0252 BD46 mov sp, r7
- 2917 .LCFI85:
- 2918 .cfi_def_cfa_register 13
- 2919 @ sp needed
- 2920 0254 80BD pop {r7, pc}
- 2921 .L155:
- 2922 0256 00BF .align 2
- 2923 .L154:
- 2924 0258 00000000 .word .LC0
- 2925 .cfi_endproc
- 2926 .LFE145:
- 2928 .section .text.HAL_CAN_GetRxFifoFillLevel,"ax",%progbits
- 2929 .align 1
- 2930 .global HAL_CAN_GetRxFifoFillLevel
- 2931 .syntax unified
- 2932 .thumb
- 2933 .thumb_func
- 2935 HAL_CAN_GetRxFifoFillLevel:
- 2936 .LFB146:
- 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Rx FIFO fill level.
- 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Rx FIFO.
- 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
- 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of messages available in Rx FIFO.
- 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetRxFifoFillLevel(const CAN_HandleTypeDef *hcan, uint32_t RxFifo)
- 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2937 .loc 1 1565 1
- 2938 .cfi_startproc
- 2939 @ args = 0, pretend = 0, frame = 16
- 2940 @ frame_needed = 1, uses_anonymous_args = 0
- 2941 0000 80B5 push {r7, lr}
- 2942 .LCFI86:
- 2943 .cfi_def_cfa_offset 8
- 2944 .cfi_offset 7, -8
- 2945 .cfi_offset 14, -4
- 2946 0002 84B0 sub sp, sp, #16
- 2947 .LCFI87:
- 2948 .cfi_def_cfa_offset 24
- 2949 0004 00AF add r7, sp, #0
- 2950 .LCFI88:
- 2951 .cfi_def_cfa_register 7
- 2952 0006 7860 str r0, [r7, #4]
- 2953 0008 3960 str r1, [r7]
- 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filllevel = 0U;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 98
- 2954 .loc 1 1566 12
- 2955 000a 0023 movs r3, #0
- 2956 000c FB60 str r3, [r7, #12]
- 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 2957 .loc 1 1567 24
- 2958 000e 7B68 ldr r3, [r7, #4]
- 2959 0010 93F82030 ldrb r3, [r3, #32]
- 2960 0014 FB72 strb r3, [r7, #11]
- 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
- 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
- 2961 .loc 1 1570 3
- 2962 0016 3B68 ldr r3, [r7]
- 2963 0018 002B cmp r3, #0
- 2964 001a 07D0 beq .L157
- 2965 .loc 1 1570 3 is_stmt 0 discriminator 1
- 2966 001c 3B68 ldr r3, [r7]
- 2967 001e 012B cmp r3, #1
- 2968 0020 04D0 beq .L157
- 2969 .loc 1 1570 3 discriminator 2
- 2970 0022 40F22261 movw r1, #1570
- 2971 0026 0F48 ldr r0, .L162
- 2972 0028 FFF7FEFF bl assert_failed
- 2973 .L157:
- 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 2974 .loc 1 1572 6 is_stmt 1
- 2975 002c FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 2976 002e 012B cmp r3, #1
- 2977 0030 02D0 beq .L158
- 2978 .loc 1 1572 38 discriminator 1
- 2979 0032 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 2980 0034 022B cmp r3, #2
- 2981 0036 0FD1 bne .L159
- 2982 .L158:
- 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0)
- 2983 .loc 1 1575 8
- 2984 0038 3B68 ldr r3, [r7]
- 2985 003a 002B cmp r3, #0
- 2986 003c 06D1 bne .L160
- 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0;
- 2987 .loc 1 1577 23
- 2988 003e 7B68 ldr r3, [r7, #4]
- 2989 0040 1B68 ldr r3, [r3]
- 2990 .loc 1 1577 33
- 2991 0042 DB68 ldr r3, [r3, #12]
- 2992 .loc 1 1577 17
- 2993 0044 03F00303 and r3, r3, #3
- 2994 0048 FB60 str r3, [r7, #12]
- 2995 004a 05E0 b .L159
- 2996 .L160:
- 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* RxFifo == CAN_RX_FIFO1 */
- 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 99
- 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1;
- 2997 .loc 1 1581 23
- 2998 004c 7B68 ldr r3, [r7, #4]
- 2999 004e 1B68 ldr r3, [r3]
- 3000 .loc 1 1581 33
- 3001 0050 1B69 ldr r3, [r3, #16]
- 3002 .loc 1 1581 17
- 3003 0052 03F00303 and r3, r3, #3
- 3004 0056 FB60 str r3, [r7, #12]
- 3005 .L159:
- 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Rx FIFO fill level */
- 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return filllevel;
- 3006 .loc 1 1586 10
- 3007 0058 FB68 ldr r3, [r7, #12]
- 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3008 .loc 1 1587 1
- 3009 005a 1846 mov r0, r3
- 3010 005c 1037 adds r7, r7, #16
- 3011 .LCFI89:
- 3012 .cfi_def_cfa_offset 8
- 3013 005e BD46 mov sp, r7
- 3014 .LCFI90:
- 3015 .cfi_def_cfa_register 13
- 3016 @ sp needed
- 3017 0060 80BD pop {r7, pc}
- 3018 .L163:
- 3019 0062 00BF .align 2
- 3020 .L162:
- 3021 0064 00000000 .word .LC0
- 3022 .cfi_endproc
- 3023 .LFE146:
- 3025 .section .text.HAL_CAN_ActivateNotification,"ax",%progbits
- 3026 .align 1
- 3027 .global HAL_CAN_ActivateNotification
- 3028 .syntax unified
- 3029 .thumb
- 3030 .thumb_func
- 3032 HAL_CAN_ActivateNotification:
- 3033 .LFB147:
- 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
- 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group4 Interrupts management
- 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Interrupts management
- 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
- 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Interrupts management #####
- 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
- 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ActivateNotification : Enable interrupts
- 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeactivateNotification : Disable interrupts
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 100
- 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IRQHandler : Handles CAN interrupt request
- 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
- 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Enable interrupts.
- 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param ActiveITs indicates which interrupts will be enabled.
- 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
- 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs)
- 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3034 .loc 1 1618 1
- 3035 .cfi_startproc
- 3036 @ args = 0, pretend = 0, frame = 16
- 3037 @ frame_needed = 1, uses_anonymous_args = 0
- 3038 0000 80B5 push {r7, lr}
- 3039 .LCFI91:
- 3040 .cfi_def_cfa_offset 8
- 3041 .cfi_offset 7, -8
- 3042 .cfi_offset 14, -4
- 3043 0002 84B0 sub sp, sp, #16
- 3044 .LCFI92:
- 3045 .cfi_def_cfa_offset 24
- 3046 0004 00AF add r7, sp, #0
- 3047 .LCFI93:
- 3048 .cfi_def_cfa_register 7
- 3049 0006 7860 str r0, [r7, #4]
- 3050 0008 3960 str r1, [r7]
- 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 3051 .loc 1 1619 24
- 3052 000a 7B68 ldr r3, [r7, #4]
- 3053 000c 93F82030 ldrb r3, [r3, #32]
- 3054 0010 FB73 strb r3, [r7, #15]
- 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
- 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(ActiveITs));
- 3055 .loc 1 1622 3
- 3056 0012 3B68 ldr r3, [r7]
- 3057 0014 114A ldr r2, .L169
- 3058 0016 9342 cmp r3, r2
- 3059 0018 04D9 bls .L165
- 3060 .loc 1 1622 3 is_stmt 0 discriminator 1
- 3061 001a 40F25661 movw r1, #1622
- 3062 001e 1048 ldr r0, .L169+4
- 3063 0020 FFF7FEFF bl assert_failed
- 3064 .L165:
- 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 3065 .loc 1 1624 6 is_stmt 1
- 3066 0024 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 3067 0026 012B cmp r3, #1
- 3068 0028 02D0 beq .L166
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 101
- 3069 .loc 1 1624 38 discriminator 1
- 3070 002a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 3071 002c 022B cmp r3, #2
- 3072 002e 09D1 bne .L167
- 3073 .L166:
- 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Enable the selected interrupts */
- 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_ENABLE_IT(hcan, ActiveITs);
- 3074 .loc 1 1628 5
- 3075 0030 7B68 ldr r3, [r7, #4]
- 3076 0032 1B68 ldr r3, [r3]
- 3077 0034 5969 ldr r1, [r3, #20]
- 3078 0036 7B68 ldr r3, [r7, #4]
- 3079 0038 1B68 ldr r3, [r3]
- 3080 003a 3A68 ldr r2, [r7]
- 3081 003c 0A43 orrs r2, r2, r1
- 3082 003e 5A61 str r2, [r3, #20]
- 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 3083 .loc 1 1631 12
- 3084 0040 0023 movs r3, #0
- 3085 0042 06E0 b .L168
- 3086 .L167:
- 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 3087 .loc 1 1636 21
- 3088 0044 7B68 ldr r3, [r7, #4]
- 3089 0046 5B6A ldr r3, [r3, #36]
- 3090 0048 43F48022 orr r2, r3, #262144
- 3091 004c 7B68 ldr r3, [r7, #4]
- 3092 004e 5A62 str r2, [r3, #36]
- 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 3093 .loc 1 1638 12
- 3094 0050 0123 movs r3, #1
- 3095 .L168:
- 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3096 .loc 1 1640 1
- 3097 0052 1846 mov r0, r3
- 3098 0054 1037 adds r7, r7, #16
- 3099 .LCFI94:
- 3100 .cfi_def_cfa_offset 8
- 3101 0056 BD46 mov sp, r7
- 3102 .LCFI95:
- 3103 .cfi_def_cfa_register 13
- 3104 @ sp needed
- 3105 0058 80BD pop {r7, pc}
- 3106 .L170:
- 3107 005a 00BF .align 2
- 3108 .L169:
- 3109 005c 7F8F0300 .word 233343
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 102
- 3110 0060 00000000 .word .LC0
- 3111 .cfi_endproc
- 3112 .LFE147:
- 3114 .section .text.HAL_CAN_DeactivateNotification,"ax",%progbits
- 3115 .align 1
- 3116 .global HAL_CAN_DeactivateNotification
- 3117 .syntax unified
- 3118 .thumb
- 3119 .thumb_func
- 3121 HAL_CAN_DeactivateNotification:
- 3122 .LFB148:
- 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Disable interrupts.
- 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param InactiveITs indicates which interrupts will be disabled.
- 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
- 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs)
- 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3123 .loc 1 1651 1
- 3124 .cfi_startproc
- 3125 @ args = 0, pretend = 0, frame = 16
- 3126 @ frame_needed = 1, uses_anonymous_args = 0
- 3127 0000 80B5 push {r7, lr}
- 3128 .LCFI96:
- 3129 .cfi_def_cfa_offset 8
- 3130 .cfi_offset 7, -8
- 3131 .cfi_offset 14, -4
- 3132 0002 84B0 sub sp, sp, #16
- 3133 .LCFI97:
- 3134 .cfi_def_cfa_offset 24
- 3135 0004 00AF add r7, sp, #0
- 3136 .LCFI98:
- 3137 .cfi_def_cfa_register 7
- 3138 0006 7860 str r0, [r7, #4]
- 3139 0008 3960 str r1, [r7]
- 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 3140 .loc 1 1652 24
- 3141 000a 7B68 ldr r3, [r7, #4]
- 3142 000c 93F82030 ldrb r3, [r3, #32]
- 3143 0010 FB73 strb r3, [r7, #15]
- 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
- 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(InactiveITs));
- 3144 .loc 1 1655 3
- 3145 0012 3B68 ldr r3, [r7]
- 3146 0014 114A ldr r2, .L176
- 3147 0016 9342 cmp r3, r2
- 3148 0018 04D9 bls .L172
- 3149 .loc 1 1655 3 is_stmt 0 discriminator 1
- 3150 001a 40F27761 movw r1, #1655
- 3151 001e 1048 ldr r0, .L176+4
- 3152 0020 FFF7FEFF bl assert_failed
- 3153 .L172:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 103
- 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 3154 .loc 1 1657 6 is_stmt 1
- 3155 0024 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 3156 0026 012B cmp r3, #1
- 3157 0028 02D0 beq .L173
- 3158 .loc 1 1657 38 discriminator 1
- 3159 002a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 3160 002c 022B cmp r3, #2
- 3161 002e 0AD1 bne .L174
- 3162 .L173:
- 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Disable the selected interrupts */
- 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_DISABLE_IT(hcan, InactiveITs);
- 3163 .loc 1 1661 5
- 3164 0030 7B68 ldr r3, [r7, #4]
- 3165 0032 1B68 ldr r3, [r3]
- 3166 0034 5969 ldr r1, [r3, #20]
- 3167 0036 3B68 ldr r3, [r7]
- 3168 0038 DA43 mvns r2, r3
- 3169 003a 7B68 ldr r3, [r7, #4]
- 3170 003c 1B68 ldr r3, [r3]
- 3171 003e 0A40 ands r2, r2, r1
- 3172 0040 5A61 str r2, [r3, #20]
- 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
- 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
- 3173 .loc 1 1664 12
- 3174 0042 0023 movs r3, #0
- 3175 0044 06E0 b .L175
- 3176 .L174:
- 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 3177 .loc 1 1669 21
- 3178 0046 7B68 ldr r3, [r7, #4]
- 3179 0048 5B6A ldr r3, [r3, #36]
- 3180 004a 43F48022 orr r2, r3, #262144
- 3181 004e 7B68 ldr r3, [r7, #4]
- 3182 0050 5A62 str r2, [r3, #36]
- 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
- 3183 .loc 1 1671 12
- 3184 0052 0123 movs r3, #1
- 3185 .L175:
- 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3186 .loc 1 1673 1
- 3187 0054 1846 mov r0, r3
- 3188 0056 1037 adds r7, r7, #16
- 3189 .LCFI99:
- 3190 .cfi_def_cfa_offset 8
- 3191 0058 BD46 mov sp, r7
- 3192 .LCFI100:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 104
- 3193 .cfi_def_cfa_register 13
- 3194 @ sp needed
- 3195 005a 80BD pop {r7, pc}
- 3196 .L177:
- 3197 .align 2
- 3198 .L176:
- 3199 005c 7F8F0300 .word 233343
- 3200 0060 00000000 .word .LC0
- 3201 .cfi_endproc
- 3202 .LFE148:
- 3204 .section .text.HAL_CAN_IRQHandler,"ax",%progbits
- 3205 .align 1
- 3206 .global HAL_CAN_IRQHandler
- 3207 .syntax unified
- 3208 .thumb
- 3209 .thumb_func
- 3211 HAL_CAN_IRQHandler:
- 3212 .LFB149:
- 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Handles CAN interrupt request
- 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
- 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3213 .loc 1 1682 1
- 3214 .cfi_startproc
- 3215 @ args = 0, pretend = 0, frame = 40
- 3216 @ frame_needed = 1, uses_anonymous_args = 0
- 3217 0000 80B5 push {r7, lr}
- 3218 .LCFI101:
- 3219 .cfi_def_cfa_offset 8
- 3220 .cfi_offset 7, -8
- 3221 .cfi_offset 14, -4
- 3222 0002 8AB0 sub sp, sp, #40
- 3223 .LCFI102:
- 3224 .cfi_def_cfa_offset 48
- 3225 0004 00AF add r7, sp, #0
- 3226 .LCFI103:
- 3227 .cfi_def_cfa_register 7
- 3228 0006 7860 str r0, [r7, #4]
- 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
- 3229 .loc 1 1683 12
- 3230 0008 0023 movs r3, #0
- 3231 000a 7B62 str r3, [r7, #36]
- 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
- 3232 .loc 1 1684 25
- 3233 000c 7B68 ldr r3, [r7, #4]
- 3234 000e 1B68 ldr r3, [r3]
- 3235 .loc 1 1684 12
- 3236 0010 5B69 ldr r3, [r3, #20]
- 3237 0012 3B62 str r3, [r7, #32]
- 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
- 3238 .loc 1 1685 23
- 3239 0014 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 105
- 3240 0016 1B68 ldr r3, [r3]
- 3241 .loc 1 1685 12
- 3242 0018 5B68 ldr r3, [r3, #4]
- 3243 001a FB61 str r3, [r7, #28]
- 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
- 3244 .loc 1 1686 23
- 3245 001c 7B68 ldr r3, [r7, #4]
- 3246 001e 1B68 ldr r3, [r3]
- 3247 .loc 1 1686 12
- 3248 0020 9B68 ldr r3, [r3, #8]
- 3249 0022 BB61 str r3, [r7, #24]
- 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
- 3250 .loc 1 1687 24
- 3251 0024 7B68 ldr r3, [r7, #4]
- 3252 0026 1B68 ldr r3, [r3]
- 3253 .loc 1 1687 12
- 3254 0028 DB68 ldr r3, [r3, #12]
- 3255 002a 7B61 str r3, [r7, #20]
- 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
- 3256 .loc 1 1688 24
- 3257 002c 7B68 ldr r3, [r7, #4]
- 3258 002e 1B68 ldr r3, [r3]
- 3259 .loc 1 1688 12
- 3260 0030 1B69 ldr r3, [r3, #16]
- 3261 0032 3B61 str r3, [r7, #16]
- 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
- 3262 .loc 1 1689 23
- 3263 0034 7B68 ldr r3, [r7, #4]
- 3264 0036 1B68 ldr r3, [r3]
- 3265 .loc 1 1689 12
- 3266 0038 9B69 ldr r3, [r3, #24]
- 3267 003a FB60 str r3, [r7, #12]
- 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox empty interrupt management *****************************/
- 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_TX_MAILBOX_EMPTY) != 0U)
- 3268 .loc 1 1692 19
- 3269 003c 3B6A ldr r3, [r7, #32]
- 3270 003e 03F00103 and r3, r3, #1
- 3271 .loc 1 1692 6
- 3272 0042 002B cmp r3, #0
- 3273 0044 7CD0 beq .L179
- 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 0 management *****************************************/
- 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP0) != 0U)
- 3274 .loc 1 1695 19
- 3275 0046 BB69 ldr r3, [r7, #24]
- 3276 0048 03F00103 and r3, r3, #1
- 3277 .loc 1 1695 8
- 3278 004c 002B cmp r3, #0
- 3279 004e 23D0 beq .L180
- 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK0,ALST0,TERR0 bits) */
- 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0);
- 3280 .loc 1 1698 7
- 3281 0050 7B68 ldr r3, [r7, #4]
- 3282 0052 1B68 ldr r3, [r3]
- 3283 0054 0122 movs r2, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 106
- 3284 0056 9A60 str r2, [r3, #8]
- 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK0) != 0U)
- 3285 .loc 1 1700 21
- 3286 0058 BB69 ldr r3, [r7, #24]
- 3287 005a 03F00203 and r3, r3, #2
- 3288 .loc 1 1700 10
- 3289 005e 002B cmp r3, #0
- 3290 0060 03D0 beq .L181
- 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 complete callback */
- 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback(hcan);
- 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0CompleteCallback(hcan);
- 3291 .loc 1 1708 9
- 3292 0062 7868 ldr r0, [r7, #4]
- 3293 0064 FFF7FEFF bl HAL_CAN_TxMailbox0CompleteCallback
- 3294 0068 16E0 b .L180
- 3295 .L181:
- 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST0) != 0U)
- 3296 .loc 1 1713 23
- 3297 006a BB69 ldr r3, [r7, #24]
- 3298 006c 03F00403 and r3, r3, #4
- 3299 .loc 1 1713 12
- 3300 0070 002B cmp r3, #0
- 3301 0072 04D0 beq .L182
- 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST0;
- 3302 .loc 1 1716 21
- 3303 0074 7B6A ldr r3, [r7, #36]
- 3304 0076 43F40063 orr r3, r3, #2048
- 3305 007a 7B62 str r3, [r7, #36]
- 3306 007c 0CE0 b .L180
- 3307 .L182:
- 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR0) != 0U)
- 3308 .loc 1 1718 28
- 3309 007e BB69 ldr r3, [r7, #24]
- 3310 0080 03F00803 and r3, r3, #8
- 3311 .loc 1 1718 17
- 3312 0084 002B cmp r3, #0
- 3313 0086 04D0 beq .L183
- 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR0;
- 3314 .loc 1 1721 21
- 3315 0088 7B6A ldr r3, [r7, #36]
- 3316 008a 43F48053 orr r3, r3, #4096
- 3317 008e 7B62 str r3, [r7, #36]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 107
- 3318 0090 02E0 b .L180
- 3319 .L183:
- 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 abort callback */
- 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback(hcan);
- 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0AbortCallback(hcan);
- 3320 .loc 1 1731 11
- 3321 0092 7868 ldr r0, [r7, #4]
- 3322 0094 FFF7FEFF bl HAL_CAN_TxMailbox0AbortCallback
- 3323 .L180:
- 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 1 management *****************************************/
- 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP1) != 0U)
- 3324 .loc 1 1738 19
- 3325 0098 BB69 ldr r3, [r7, #24]
- 3326 009a 03F48073 and r3, r3, #256
- 3327 .loc 1 1738 8
- 3328 009e 002B cmp r3, #0
- 3329 00a0 24D0 beq .L184
- 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK1,ALST1,TERR1 bits) */
- 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1);
- 3330 .loc 1 1741 7
- 3331 00a2 7B68 ldr r3, [r7, #4]
- 3332 00a4 1B68 ldr r3, [r3]
- 3333 00a6 4FF48072 mov r2, #256
- 3334 00aa 9A60 str r2, [r3, #8]
- 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK1) != 0U)
- 3335 .loc 1 1743 21
- 3336 00ac BB69 ldr r3, [r7, #24]
- 3337 00ae 03F40073 and r3, r3, #512
- 3338 .loc 1 1743 10
- 3339 00b2 002B cmp r3, #0
- 3340 00b4 03D0 beq .L185
- 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 complete callback */
- 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback(hcan);
- 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1CompleteCallback(hcan);
- 3341 .loc 1 1751 9
- 3342 00b6 7868 ldr r0, [r7, #4]
- 3343 00b8 FFF7FEFF bl HAL_CAN_TxMailbox1CompleteCallback
- 3344 00bc 16E0 b .L184
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 108
- 3345 .L185:
- 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST1) != 0U)
- 3346 .loc 1 1756 23
- 3347 00be BB69 ldr r3, [r7, #24]
- 3348 00c0 03F48063 and r3, r3, #1024
- 3349 .loc 1 1756 12
- 3350 00c4 002B cmp r3, #0
- 3351 00c6 04D0 beq .L186
- 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST1;
- 3352 .loc 1 1759 21
- 3353 00c8 7B6A ldr r3, [r7, #36]
- 3354 00ca 43F40053 orr r3, r3, #8192
- 3355 00ce 7B62 str r3, [r7, #36]
- 3356 00d0 0CE0 b .L184
- 3357 .L186:
- 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR1) != 0U)
- 3358 .loc 1 1761 28
- 3359 00d2 BB69 ldr r3, [r7, #24]
- 3360 00d4 03F40063 and r3, r3, #2048
- 3361 .loc 1 1761 17
- 3362 00d8 002B cmp r3, #0
- 3363 00da 04D0 beq .L187
- 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR1;
- 3364 .loc 1 1764 21
- 3365 00dc 7B6A ldr r3, [r7, #36]
- 3366 00de 43F48043 orr r3, r3, #16384
- 3367 00e2 7B62 str r3, [r7, #36]
- 3368 00e4 02E0 b .L184
- 3369 .L187:
- 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 abort callback */
- 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback(hcan);
- 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1AbortCallback(hcan);
- 3370 .loc 1 1774 11
- 3371 00e6 7868 ldr r0, [r7, #4]
- 3372 00e8 FFF7FEFF bl HAL_CAN_TxMailbox1AbortCallback
- 3373 .L184:
- 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 109
- 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 2 management *****************************************/
- 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP2) != 0U)
- 3374 .loc 1 1781 19
- 3375 00ec BB69 ldr r3, [r7, #24]
- 3376 00ee 03F48033 and r3, r3, #65536
- 3377 .loc 1 1781 8
- 3378 00f2 002B cmp r3, #0
- 3379 00f4 24D0 beq .L179
- 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK2,ALST2,TERR2 bits) */
- 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2);
- 3380 .loc 1 1784 7
- 3381 00f6 7B68 ldr r3, [r7, #4]
- 3382 00f8 1B68 ldr r3, [r3]
- 3383 00fa 4FF48032 mov r2, #65536
- 3384 00fe 9A60 str r2, [r3, #8]
- 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK2) != 0U)
- 3385 .loc 1 1786 21
- 3386 0100 BB69 ldr r3, [r7, #24]
- 3387 0102 03F40033 and r3, r3, #131072
- 3388 .loc 1 1786 10
- 3389 0106 002B cmp r3, #0
- 3390 0108 03D0 beq .L188
- 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 complete callback */
- 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback(hcan);
- 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2CompleteCallback(hcan);
- 3391 .loc 1 1794 9
- 3392 010a 7868 ldr r0, [r7, #4]
- 3393 010c FFF7FEFF bl HAL_CAN_TxMailbox2CompleteCallback
- 3394 0110 16E0 b .L179
- 3395 .L188:
- 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST2) != 0U)
- 3396 .loc 1 1799 23
- 3397 0112 BB69 ldr r3, [r7, #24]
- 3398 0114 03F48023 and r3, r3, #262144
- 3399 .loc 1 1799 12
- 3400 0118 002B cmp r3, #0
- 3401 011a 04D0 beq .L189
- 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST2;
- 3402 .loc 1 1802 21
- 3403 011c 7B6A ldr r3, [r7, #36]
- 3404 011e 43F40043 orr r3, r3, #32768
- 3405 0122 7B62 str r3, [r7, #36]
- 3406 0124 0CE0 b .L179
- 3407 .L189:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 110
- 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR2) != 0U)
- 3408 .loc 1 1804 28
- 3409 0126 BB69 ldr r3, [r7, #24]
- 3410 0128 03F40023 and r3, r3, #524288
- 3411 .loc 1 1804 17
- 3412 012c 002B cmp r3, #0
- 3413 012e 04D0 beq .L190
- 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR2;
- 3414 .loc 1 1807 21
- 3415 0130 7B6A ldr r3, [r7, #36]
- 3416 0132 43F48033 orr r3, r3, #65536
- 3417 0136 7B62 str r3, [r7, #36]
- 3418 0138 02E0 b .L179
- 3419 .L190:
- 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 abort callback */
- 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback(hcan);
- 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2AbortCallback(hcan);
- 3420 .loc 1 1817 11
- 3421 013a 7868 ldr r0, [r7, #4]
- 3422 013c FFF7FEFF bl HAL_CAN_TxMailbox2AbortCallback
- 3423 .L179:
- 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 overrun interrupt management *****************************/
- 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_OVERRUN) != 0U)
- 3424 .loc 1 1825 19
- 3425 0140 3B6A ldr r3, [r7, #32]
- 3426 0142 03F00803 and r3, r3, #8
- 3427 .loc 1 1825 6
- 3428 0146 002B cmp r3, #0
- 3429 0148 0CD0 beq .L191
- 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FOVR0) != 0U)
- 3430 .loc 1 1827 20
- 3431 014a 7B69 ldr r3, [r7, #20]
- 3432 014c 03F01003 and r3, r3, #16
- 3433 .loc 1 1827 8
- 3434 0150 002B cmp r3, #0
- 3435 0152 07D0 beq .L191
- 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 0 overrun error */
- 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV0;
- 3436 .loc 1 1830 17
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 111
- 3437 0154 7B6A ldr r3, [r7, #36]
- 3438 0156 43F40073 orr r3, r3, #512
- 3439 015a 7B62 str r3, [r7, #36]
- 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO0 Overrun Flag */
- 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
- 3440 .loc 1 1833 7
- 3441 015c 7B68 ldr r3, [r7, #4]
- 3442 015e 1B68 ldr r3, [r3]
- 3443 0160 1022 movs r2, #16
- 3444 0162 DA60 str r2, [r3, #12]
- 3445 .L191:
- 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full interrupt management ********************************/
- 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_FULL) != 0U)
- 3446 .loc 1 1838 19
- 3447 0164 3B6A ldr r3, [r7, #32]
- 3448 0166 03F00403 and r3, r3, #4
- 3449 .loc 1 1838 6
- 3450 016a 002B cmp r3, #0
- 3451 016c 0BD0 beq .L192
- 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FULL0) != 0U)
- 3452 .loc 1 1840 20
- 3453 016e 7B69 ldr r3, [r7, #20]
- 3454 0170 03F00803 and r3, r3, #8
- 3455 .loc 1 1840 8
- 3456 0174 002B cmp r3, #0
- 3457 0176 06D0 beq .L192
- 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 0 full Flag */
- 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
- 3458 .loc 1 1843 7
- 3459 0178 7B68 ldr r3, [r7, #4]
- 3460 017a 1B68 ldr r3, [r3]
- 3461 017c 0822 movs r2, #8
- 3462 017e DA60 str r2, [r3, #12]
- 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full Callback */
- 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback(hcan);
- 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0FullCallback(hcan);
- 3463 .loc 1 1851 7
- 3464 0180 7868 ldr r0, [r7, #4]
- 3465 0182 FFF7FEFF bl HAL_CAN_RxFifo0FullCallback
- 3466 .L192:
- 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending interrupt management *********************/
- 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 112
- 3467 .loc 1 1857 19
- 3468 0186 3B6A ldr r3, [r7, #32]
- 3469 0188 03F00203 and r3, r3, #2
- 3470 .loc 1 1857 6
- 3471 018c 002B cmp r3, #0
- 3472 018e 09D0 beq .L193
- 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
- 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U)
- 3473 .loc 1 1860 14
- 3474 0190 7B68 ldr r3, [r7, #4]
- 3475 0192 1B68 ldr r3, [r3]
- 3476 .loc 1 1860 24
- 3477 0194 DB68 ldr r3, [r3, #12]
- 3478 .loc 1 1860 31
- 3479 0196 03F00303 and r3, r3, #3
- 3480 .loc 1 1860 8
- 3481 019a 002B cmp r3, #0
- 3482 019c 02D0 beq .L193
- 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending Callback */
- 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback(hcan);
- 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0MsgPendingCallback(hcan);
- 3483 .loc 1 1868 7
- 3484 019e 7868 ldr r0, [r7, #4]
- 3485 01a0 FFF7FEFF bl HAL_CAN_RxFifo0MsgPendingCallback
- 3486 .L193:
- 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 overrun interrupt management *****************************/
- 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_OVERRUN) != 0U)
- 3487 .loc 1 1874 19
- 3488 01a4 3B6A ldr r3, [r7, #32]
- 3489 01a6 03F04003 and r3, r3, #64
- 3490 .loc 1 1874 6
- 3491 01aa 002B cmp r3, #0
- 3492 01ac 0CD0 beq .L194
- 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FOVR1) != 0U)
- 3493 .loc 1 1876 20
- 3494 01ae 3B69 ldr r3, [r7, #16]
- 3495 01b0 03F01003 and r3, r3, #16
- 3496 .loc 1 1876 8
- 3497 01b4 002B cmp r3, #0
- 3498 01b6 07D0 beq .L194
- 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 1 overrun error */
- 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV1;
- 3499 .loc 1 1879 17
- 3500 01b8 7B6A ldr r3, [r7, #36]
- 3501 01ba 43F48063 orr r3, r3, #1024
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 113
- 3502 01be 7B62 str r3, [r7, #36]
- 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO1 Overrun Flag */
- 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1);
- 3503 .loc 1 1882 7
- 3504 01c0 7B68 ldr r3, [r7, #4]
- 3505 01c2 1B68 ldr r3, [r3]
- 3506 01c4 1022 movs r2, #16
- 3507 01c6 1A61 str r2, [r3, #16]
- 3508 .L194:
- 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full interrupt management ********************************/
- 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_FULL) != 0U)
- 3509 .loc 1 1887 19
- 3510 01c8 3B6A ldr r3, [r7, #32]
- 3511 01ca 03F02003 and r3, r3, #32
- 3512 .loc 1 1887 6
- 3513 01ce 002B cmp r3, #0
- 3514 01d0 0BD0 beq .L195
- 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FULL1) != 0U)
- 3515 .loc 1 1889 20
- 3516 01d2 3B69 ldr r3, [r7, #16]
- 3517 01d4 03F00803 and r3, r3, #8
- 3518 .loc 1 1889 8
- 3519 01d8 002B cmp r3, #0
- 3520 01da 06D0 beq .L195
- 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 1 full Flag */
- 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1);
- 3521 .loc 1 1892 7
- 3522 01dc 7B68 ldr r3, [r7, #4]
- 3523 01de 1B68 ldr r3, [r3]
- 3524 01e0 0822 movs r2, #8
- 3525 01e2 1A61 str r2, [r3, #16]
- 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full Callback */
- 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback(hcan);
- 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1FullCallback(hcan);
- 3526 .loc 1 1900 7
- 3527 01e4 7868 ldr r0, [r7, #4]
- 3528 01e6 FFF7FEFF bl HAL_CAN_RxFifo1FullCallback
- 3529 .L195:
- 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending interrupt management *********************/
- 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_MSG_PENDING) != 0U)
- 3530 .loc 1 1906 19
- 3531 01ea 3B6A ldr r3, [r7, #32]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 114
- 3532 01ec 03F01003 and r3, r3, #16
- 3533 .loc 1 1906 6
- 3534 01f0 002B cmp r3, #0
- 3535 01f2 09D0 beq .L196
- 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
- 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U)
- 3536 .loc 1 1909 14
- 3537 01f4 7B68 ldr r3, [r7, #4]
- 3538 01f6 1B68 ldr r3, [r3]
- 3539 .loc 1 1909 24
- 3540 01f8 1B69 ldr r3, [r3, #16]
- 3541 .loc 1 1909 31
- 3542 01fa 03F00303 and r3, r3, #3
- 3543 .loc 1 1909 8
- 3544 01fe 002B cmp r3, #0
- 3545 0200 02D0 beq .L196
- 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending Callback */
- 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback(hcan);
- 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1MsgPendingCallback(hcan);
- 3546 .loc 1 1917 7
- 3547 0202 7868 ldr r0, [r7, #4]
- 3548 0204 FFF7FEFF bl HAL_CAN_RxFifo1MsgPendingCallback
- 3549 .L196:
- 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep interrupt management *********************************************/
- 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_SLEEP_ACK) != 0U)
- 3550 .loc 1 1923 19
- 3551 0208 3B6A ldr r3, [r7, #32]
- 3552 020a 03F40033 and r3, r3, #131072
- 3553 .loc 1 1923 6
- 3554 020e 002B cmp r3, #0
- 3555 0210 0BD0 beq .L197
- 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_SLAKI) != 0U)
- 3556 .loc 1 1925 19
- 3557 0212 FB69 ldr r3, [r7, #28]
- 3558 0214 03F01003 and r3, r3, #16
- 3559 .loc 1 1925 8
- 3560 0218 002B cmp r3, #0
- 3561 021a 06D0 beq .L197
- 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Sleep interrupt Flag */
- 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI);
- 3562 .loc 1 1928 7
- 3563 021c 7B68 ldr r3, [r7, #4]
- 3564 021e 1B68 ldr r3, [r3]
- 3565 0220 1022 movs r2, #16
- 3566 0222 5A60 str r2, [r3, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 115
- 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep Callback */
- 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback(hcan);
- 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_SleepCallback(hcan);
- 3567 .loc 1 1936 7
- 3568 0224 7868 ldr r0, [r7, #4]
- 3569 0226 FFF7FEFF bl HAL_CAN_SleepCallback
- 3570 .L197:
- 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp interrupt management *********************************************/
- 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_WAKEUP) != 0U)
- 3571 .loc 1 1942 19
- 3572 022a 3B6A ldr r3, [r7, #32]
- 3573 022c 03F48033 and r3, r3, #65536
- 3574 .loc 1 1942 6
- 3575 0230 002B cmp r3, #0
- 3576 0232 0BD0 beq .L198
- 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_WKUI) != 0U)
- 3577 .loc 1 1944 19
- 3578 0234 FB69 ldr r3, [r7, #28]
- 3579 0236 03F00803 and r3, r3, #8
- 3580 .loc 1 1944 8
- 3581 023a 002B cmp r3, #0
- 3582 023c 06D0 beq .L198
- 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear WakeUp Flag */
- 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU);
- 3583 .loc 1 1947 7
- 3584 023e 7B68 ldr r3, [r7, #4]
- 3585 0240 1B68 ldr r3, [r3]
- 3586 0242 0822 movs r2, #8
- 3587 0244 5A60 str r2, [r3, #4]
- 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp Callback */
- 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback(hcan);
- 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_WakeUpFromRxMsgCallback(hcan);
- 3588 .loc 1 1955 7
- 3589 0246 7868 ldr r0, [r7, #4]
- 3590 0248 FFF7FEFF bl HAL_CAN_WakeUpFromRxMsgCallback
- 3591 .L198:
- 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Error interrupts management *********************************************/
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 116
- 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_ERROR) != 0U)
- 3592 .loc 1 1961 19
- 3593 024c 3B6A ldr r3, [r7, #32]
- 3594 024e 03F40043 and r3, r3, #32768
- 3595 .loc 1 1961 6
- 3596 0252 002B cmp r3, #0
- 3597 0254 7BD0 beq .L199
- 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_ERRI) != 0U)
- 3598 .loc 1 1963 19
- 3599 0256 FB69 ldr r3, [r7, #28]
- 3600 0258 03F00403 and r3, r3, #4
- 3601 .loc 1 1963 8
- 3602 025c 002B cmp r3, #0
- 3603 025e 72D0 beq .L200
- 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Warning Flag */
- 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_WARNING) != 0U) &&
- 3604 .loc 1 1966 24
- 3605 0260 3B6A ldr r3, [r7, #32]
- 3606 0262 03F48073 and r3, r3, #256
- 3607 .loc 1 1966 10
- 3608 0266 002B cmp r3, #0
- 3609 0268 08D0 beq .L201
- 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
- 3610 .loc 1 1967 22 discriminator 1
- 3611 026a FB68 ldr r3, [r7, #12]
- 3612 026c 03F00103 and r3, r3, #1
- 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
- 3613 .loc 1 1966 55 discriminator 1
- 3614 0270 002B cmp r3, #0
- 3615 0272 03D0 beq .L201
- 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Warning */
- 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EWG;
- 3616 .loc 1 1970 19
- 3617 0274 7B6A ldr r3, [r7, #36]
- 3618 0276 43F00103 orr r3, r3, #1
- 3619 027a 7B62 str r3, [r7, #36]
- 3620 .L201:
- 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Warning Flag as read-only */
- 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Passive Flag */
- 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_PASSIVE) != 0U) &&
- 3621 .loc 1 1976 24
- 3622 027c 3B6A ldr r3, [r7, #32]
- 3623 027e 03F40073 and r3, r3, #512
- 3624 .loc 1 1976 10
- 3625 0282 002B cmp r3, #0
- 3626 0284 08D0 beq .L202
- 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
- 3627 .loc 1 1977 22 discriminator 1
- 3628 0286 FB68 ldr r3, [r7, #12]
- 3629 0288 03F00203 and r3, r3, #2
- 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 117
- 3630 .loc 1 1976 55 discriminator 1
- 3631 028c 002B cmp r3, #0
- 3632 028e 03D0 beq .L202
- 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Passive */
- 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EPV;
- 3633 .loc 1 1980 19
- 3634 0290 7B6A ldr r3, [r7, #36]
- 3635 0292 43F00203 orr r3, r3, #2
- 3636 0296 7B62 str r3, [r7, #36]
- 3637 .L202:
- 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Passive Flag as read-only */
- 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Bus-off Flag */
- 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_BUSOFF) != 0U) &&
- 3638 .loc 1 1986 24
- 3639 0298 3B6A ldr r3, [r7, #32]
- 3640 029a 03F48063 and r3, r3, #1024
- 3641 .loc 1 1986 10
- 3642 029e 002B cmp r3, #0
- 3643 02a0 08D0 beq .L203
- 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
- 3644 .loc 1 1987 22 discriminator 1
- 3645 02a2 FB68 ldr r3, [r7, #12]
- 3646 02a4 03F00403 and r3, r3, #4
- 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
- 3647 .loc 1 1986 48 discriminator 1
- 3648 02a8 002B cmp r3, #0
- 3649 02aa 03D0 beq .L203
- 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bus-Off */
- 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BOF;
- 3650 .loc 1 1990 19
- 3651 02ac 7B6A ldr r3, [r7, #36]
- 3652 02ae 43F00403 orr r3, r3, #4
- 3653 02b2 7B62 str r3, [r7, #36]
- 3654 .L203:
- 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Bus-Off as read-only */
- 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Last Error Code Flag */
- 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_LAST_ERROR_CODE) != 0U) &&
- 3655 .loc 1 1996 24
- 3656 02b4 3B6A ldr r3, [r7, #32]
- 3657 02b6 03F40063 and r3, r3, #2048
- 3658 .loc 1 1996 10
- 3659 02ba 002B cmp r3, #0
- 3660 02bc 43D0 beq .L200
- 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
- 3661 .loc 1 1997 22 discriminator 1
- 3662 02be FB68 ldr r3, [r7, #12]
- 3663 02c0 03F07003 and r3, r3, #112
- 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
- 3664 .loc 1 1996 57 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 118
- 3665 02c4 002B cmp r3, #0
- 3666 02c6 3ED0 beq .L200
- 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (esrflags & CAN_ESR_LEC)
- 3667 .loc 1 1999 26
- 3668 02c8 FB68 ldr r3, [r7, #12]
- 3669 02ca 03F07003 and r3, r3, #112
- 3670 .loc 1 1999 9
- 3671 02ce 602B cmp r3, #96
- 3672 02d0 2BD0 beq .L204
- 3673 02d2 602B cmp r3, #96
- 3674 02d4 2ED8 bhi .L213
- 3675 02d6 502B cmp r3, #80
- 3676 02d8 22D0 beq .L206
- 3677 02da 502B cmp r3, #80
- 3678 02dc 2AD8 bhi .L213
- 3679 02de 402B cmp r3, #64
- 3680 02e0 19D0 beq .L207
- 3681 02e2 402B cmp r3, #64
- 3682 02e4 26D8 bhi .L213
- 3683 02e6 302B cmp r3, #48
- 3684 02e8 10D0 beq .L208
- 3685 02ea 302B cmp r3, #48
- 3686 02ec 22D8 bhi .L213
- 3687 02ee 102B cmp r3, #16
- 3688 02f0 02D0 beq .L209
- 3689 02f2 202B cmp r3, #32
- 3690 02f4 05D0 beq .L210
- 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_0):
- 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Stuff error */
- 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_STF;
- 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
- 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Form error */
- 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_FOR;
- 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
- 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Acknowledgement error */
- 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_ACK;
- 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
- 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit recessive error */
- 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BR;
- 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
- 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit Dominant error */
- 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BD;
- 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
- 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to CRC error */
- 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_CRC;
- 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default:
- 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 3691 .loc 1 2026 13
- 3692 02f6 1DE0 b .L213
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 119
- 3693 .L209:
- 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 3694 .loc 1 2003 23
- 3695 02f8 7B6A ldr r3, [r7, #36]
- 3696 02fa 43F00803 orr r3, r3, #8
- 3697 02fe 7B62 str r3, [r7, #36]
- 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
- 3698 .loc 1 2004 13
- 3699 0300 19E0 b .L211
- 3700 .L210:
- 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 3701 .loc 1 2007 23
- 3702 0302 7B6A ldr r3, [r7, #36]
- 3703 0304 43F01003 orr r3, r3, #16
- 3704 0308 7B62 str r3, [r7, #36]
- 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
- 3705 .loc 1 2008 13
- 3706 030a 14E0 b .L211
- 3707 .L208:
- 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 3708 .loc 1 2011 23
- 3709 030c 7B6A ldr r3, [r7, #36]
- 3710 030e 43F02003 orr r3, r3, #32
- 3711 0312 7B62 str r3, [r7, #36]
- 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
- 3712 .loc 1 2012 13
- 3713 0314 0FE0 b .L211
- 3714 .L207:
- 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 3715 .loc 1 2015 23
- 3716 0316 7B6A ldr r3, [r7, #36]
- 3717 0318 43F04003 orr r3, r3, #64
- 3718 031c 7B62 str r3, [r7, #36]
- 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
- 3719 .loc 1 2016 13
- 3720 031e 0AE0 b .L211
- 3721 .L206:
- 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 3722 .loc 1 2019 23
- 3723 0320 7B6A ldr r3, [r7, #36]
- 3724 0322 43F08003 orr r3, r3, #128
- 3725 0326 7B62 str r3, [r7, #36]
- 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
- 3726 .loc 1 2020 13
- 3727 0328 05E0 b .L211
- 3728 .L204:
- 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
- 3729 .loc 1 2023 23
- 3730 032a 7B6A ldr r3, [r7, #36]
- 3731 032c 43F48073 orr r3, r3, #256
- 3732 0330 7B62 str r3, [r7, #36]
- 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default:
- 3733 .loc 1 2024 13
- 3734 0332 00E0 b .L211
- 3735 .L213:
- 3736 .loc 1 2026 13
- 3737 0334 00BF nop
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 120
- 3738 .L211:
- 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Last error code Flag */
- 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC);
- 3739 .loc 1 2030 9
- 3740 0336 7B68 ldr r3, [r7, #4]
- 3741 0338 1B68 ldr r3, [r3]
- 3742 033a 9A69 ldr r2, [r3, #24]
- 3743 033c 7B68 ldr r3, [r7, #4]
- 3744 033e 1B68 ldr r3, [r3]
- 3745 0340 22F07002 bic r2, r2, #112
- 3746 0344 9A61 str r2, [r3, #24]
- 3747 .L200:
- 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear ERRI Flag */
- 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI);
- 3748 .loc 1 2035 5
- 3749 0346 7B68 ldr r3, [r7, #4]
- 3750 0348 1B68 ldr r3, [r3]
- 3751 034a 0422 movs r2, #4
- 3752 034c 5A60 str r2, [r3, #4]
- 3753 .L199:
- 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call the Error call Back in case of Errors */
- 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (errorcode != HAL_CAN_ERROR_NONE)
- 3754 .loc 1 2039 6
- 3755 034e 7B6A ldr r3, [r7, #36]
- 3756 0350 002B cmp r3, #0
- 3757 0352 08D0 beq .L214
- 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code in handle */
- 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= errorcode;
- 3758 .loc 1 2042 21
- 3759 0354 7B68 ldr r3, [r7, #4]
- 3760 0356 5A6A ldr r2, [r3, #36]
- 3761 0358 7B6A ldr r3, [r7, #36]
- 3762 035a 1A43 orrs r2, r2, r3
- 3763 035c 7B68 ldr r3, [r7, #4]
- 3764 035e 5A62 str r2, [r3, #36]
- 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call Error callback function */
- 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
- 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
- 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback(hcan);
- 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
- 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
- 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_ErrorCallback(hcan);
- 3765 .loc 1 2050 5
- 3766 0360 7868 ldr r0, [r7, #4]
- 3767 0362 FFF7FEFF bl HAL_CAN_ErrorCallback
- 3768 .L214:
- 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
- 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 121
- 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3769 .loc 1 2053 1
- 3770 0366 00BF nop
- 3771 0368 2837 adds r7, r7, #40
- 3772 .LCFI104:
- 3773 .cfi_def_cfa_offset 8
- 3774 036a BD46 mov sp, r7
- 3775 .LCFI105:
- 3776 .cfi_def_cfa_register 13
- 3777 @ sp needed
- 3778 036c 80BD pop {r7, pc}
- 3779 .cfi_endproc
- 3780 .LFE149:
- 3782 .section .text.HAL_CAN_TxMailbox0CompleteCallback,"ax",%progbits
- 3783 .align 1
- 3784 .weak HAL_CAN_TxMailbox0CompleteCallback
- 3785 .syntax unified
- 3786 .thumb
- 3787 .thumb_func
- 3789 HAL_CAN_TxMailbox0CompleteCallback:
- 3790 .LFB150:
- 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
- 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group5 Callback functions
- 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Callback functions
- 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
- 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Callback functions #####
- 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
- 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides the following callback functions:
- 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0CompleteCallback
- 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1CompleteCallback
- 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2CompleteCallback
- 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0AbortCallback
- 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1AbortCallback
- 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2AbortCallback
- 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0MsgPendingCallback
- 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0FullCallback
- 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1MsgPendingCallback
- 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1FullCallback
- 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_SleepCallback
- 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUpFromRxMsgCallback
- 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ErrorCallback
- 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
- 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 complete callback.
- 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 122
- 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
- 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3791 .loc 1 2093 1
- 3792 .cfi_startproc
- 3793 @ args = 0, pretend = 0, frame = 8
- 3794 @ frame_needed = 1, uses_anonymous_args = 0
- 3795 @ link register save eliminated.
- 3796 0000 80B4 push {r7}
- 3797 .LCFI106:
- 3798 .cfi_def_cfa_offset 4
- 3799 .cfi_offset 7, -4
- 3800 0002 83B0 sub sp, sp, #12
- 3801 .LCFI107:
- 3802 .cfi_def_cfa_offset 16
- 3803 0004 00AF add r7, sp, #0
- 3804 .LCFI108:
- 3805 .cfi_def_cfa_register 7
- 3806 0006 7860 str r0, [r7, #4]
- 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0CompleteCallback could be implemented in the
- 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3807 .loc 1 2101 1
- 3808 0008 00BF nop
- 3809 000a 0C37 adds r7, r7, #12
- 3810 .LCFI109:
- 3811 .cfi_def_cfa_offset 4
- 3812 000c BD46 mov sp, r7
- 3813 .LCFI110:
- 3814 .cfi_def_cfa_register 13
- 3815 @ sp needed
- 3816 000e 5DF8047B ldr r7, [sp], #4
- 3817 .LCFI111:
- 3818 .cfi_restore 7
- 3819 .cfi_def_cfa_offset 0
- 3820 0012 7047 bx lr
- 3821 .cfi_endproc
- 3822 .LFE150:
- 3824 .section .text.HAL_CAN_TxMailbox1CompleteCallback,"ax",%progbits
- 3825 .align 1
- 3826 .weak HAL_CAN_TxMailbox1CompleteCallback
- 3827 .syntax unified
- 3828 .thumb
- 3829 .thumb_func
- 3831 HAL_CAN_TxMailbox1CompleteCallback:
- 3832 .LFB151:
- 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 complete callback.
- 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 123
- 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
- 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3833 .loc 1 2110 1
- 3834 .cfi_startproc
- 3835 @ args = 0, pretend = 0, frame = 8
- 3836 @ frame_needed = 1, uses_anonymous_args = 0
- 3837 @ link register save eliminated.
- 3838 0000 80B4 push {r7}
- 3839 .LCFI112:
- 3840 .cfi_def_cfa_offset 4
- 3841 .cfi_offset 7, -4
- 3842 0002 83B0 sub sp, sp, #12
- 3843 .LCFI113:
- 3844 .cfi_def_cfa_offset 16
- 3845 0004 00AF add r7, sp, #0
- 3846 .LCFI114:
- 3847 .cfi_def_cfa_register 7
- 3848 0006 7860 str r0, [r7, #4]
- 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1CompleteCallback could be implemented in the
- 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3849 .loc 1 2118 1
- 3850 0008 00BF nop
- 3851 000a 0C37 adds r7, r7, #12
- 3852 .LCFI115:
- 3853 .cfi_def_cfa_offset 4
- 3854 000c BD46 mov sp, r7
- 3855 .LCFI116:
- 3856 .cfi_def_cfa_register 13
- 3857 @ sp needed
- 3858 000e 5DF8047B ldr r7, [sp], #4
- 3859 .LCFI117:
- 3860 .cfi_restore 7
- 3861 .cfi_def_cfa_offset 0
- 3862 0012 7047 bx lr
- 3863 .cfi_endproc
- 3864 .LFE151:
- 3866 .section .text.HAL_CAN_TxMailbox2CompleteCallback,"ax",%progbits
- 3867 .align 1
- 3868 .weak HAL_CAN_TxMailbox2CompleteCallback
- 3869 .syntax unified
- 3870 .thumb
- 3871 .thumb_func
- 3873 HAL_CAN_TxMailbox2CompleteCallback:
- 3874 .LFB152:
- 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 complete callback.
- 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 124
- 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
- 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3875 .loc 1 2127 1
- 3876 .cfi_startproc
- 3877 @ args = 0, pretend = 0, frame = 8
- 3878 @ frame_needed = 1, uses_anonymous_args = 0
- 3879 @ link register save eliminated.
- 3880 0000 80B4 push {r7}
- 3881 .LCFI118:
- 3882 .cfi_def_cfa_offset 4
- 3883 .cfi_offset 7, -4
- 3884 0002 83B0 sub sp, sp, #12
- 3885 .LCFI119:
- 3886 .cfi_def_cfa_offset 16
- 3887 0004 00AF add r7, sp, #0
- 3888 .LCFI120:
- 3889 .cfi_def_cfa_register 7
- 3890 0006 7860 str r0, [r7, #4]
- 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2CompleteCallback could be implemented in the
- 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3891 .loc 1 2135 1
- 3892 0008 00BF nop
- 3893 000a 0C37 adds r7, r7, #12
- 3894 .LCFI121:
- 3895 .cfi_def_cfa_offset 4
- 3896 000c BD46 mov sp, r7
- 3897 .LCFI122:
- 3898 .cfi_def_cfa_register 13
- 3899 @ sp needed
- 3900 000e 5DF8047B ldr r7, [sp], #4
- 3901 .LCFI123:
- 3902 .cfi_restore 7
- 3903 .cfi_def_cfa_offset 0
- 3904 0012 7047 bx lr
- 3905 .cfi_endproc
- 3906 .LFE152:
- 3908 .section .text.HAL_CAN_TxMailbox0AbortCallback,"ax",%progbits
- 3909 .align 1
- 3910 .weak HAL_CAN_TxMailbox0AbortCallback
- 3911 .syntax unified
- 3912 .thumb
- 3913 .thumb_func
- 3915 HAL_CAN_TxMailbox0AbortCallback:
- 3916 .LFB153:
- 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 Cancellation callback.
- 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 125
- 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan)
- 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3917 .loc 1 2144 1
- 3918 .cfi_startproc
- 3919 @ args = 0, pretend = 0, frame = 8
- 3920 @ frame_needed = 1, uses_anonymous_args = 0
- 3921 @ link register save eliminated.
- 3922 0000 80B4 push {r7}
- 3923 .LCFI124:
- 3924 .cfi_def_cfa_offset 4
- 3925 .cfi_offset 7, -4
- 3926 0002 83B0 sub sp, sp, #12
- 3927 .LCFI125:
- 3928 .cfi_def_cfa_offset 16
- 3929 0004 00AF add r7, sp, #0
- 3930 .LCFI126:
- 3931 .cfi_def_cfa_register 7
- 3932 0006 7860 str r0, [r7, #4]
- 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0AbortCallback could be implemented in the
- 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3933 .loc 1 2152 1
- 3934 0008 00BF nop
- 3935 000a 0C37 adds r7, r7, #12
- 3936 .LCFI127:
- 3937 .cfi_def_cfa_offset 4
- 3938 000c BD46 mov sp, r7
- 3939 .LCFI128:
- 3940 .cfi_def_cfa_register 13
- 3941 @ sp needed
- 3942 000e 5DF8047B ldr r7, [sp], #4
- 3943 .LCFI129:
- 3944 .cfi_restore 7
- 3945 .cfi_def_cfa_offset 0
- 3946 0012 7047 bx lr
- 3947 .cfi_endproc
- 3948 .LFE153:
- 3950 .section .text.HAL_CAN_TxMailbox1AbortCallback,"ax",%progbits
- 3951 .align 1
- 3952 .weak HAL_CAN_TxMailbox1AbortCallback
- 3953 .syntax unified
- 3954 .thumb
- 3955 .thumb_func
- 3957 HAL_CAN_TxMailbox1AbortCallback:
- 3958 .LFB154:
- 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 Cancellation callback.
- 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 126
- 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan)
- 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 3959 .loc 1 2161 1
- 3960 .cfi_startproc
- 3961 @ args = 0, pretend = 0, frame = 8
- 3962 @ frame_needed = 1, uses_anonymous_args = 0
- 3963 @ link register save eliminated.
- 3964 0000 80B4 push {r7}
- 3965 .LCFI130:
- 3966 .cfi_def_cfa_offset 4
- 3967 .cfi_offset 7, -4
- 3968 0002 83B0 sub sp, sp, #12
- 3969 .LCFI131:
- 3970 .cfi_def_cfa_offset 16
- 3971 0004 00AF add r7, sp, #0
- 3972 .LCFI132:
- 3973 .cfi_def_cfa_register 7
- 3974 0006 7860 str r0, [r7, #4]
- 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1AbortCallback could be implemented in the
- 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 3975 .loc 1 2169 1
- 3976 0008 00BF nop
- 3977 000a 0C37 adds r7, r7, #12
- 3978 .LCFI133:
- 3979 .cfi_def_cfa_offset 4
- 3980 000c BD46 mov sp, r7
- 3981 .LCFI134:
- 3982 .cfi_def_cfa_register 13
- 3983 @ sp needed
- 3984 000e 5DF8047B ldr r7, [sp], #4
- 3985 .LCFI135:
- 3986 .cfi_restore 7
- 3987 .cfi_def_cfa_offset 0
- 3988 0012 7047 bx lr
- 3989 .cfi_endproc
- 3990 .LFE154:
- 3992 .section .text.HAL_CAN_TxMailbox2AbortCallback,"ax",%progbits
- 3993 .align 1
- 3994 .weak HAL_CAN_TxMailbox2AbortCallback
- 3995 .syntax unified
- 3996 .thumb
- 3997 .thumb_func
- 3999 HAL_CAN_TxMailbox2AbortCallback:
- 4000 .LFB155:
- 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 Cancellation callback.
- 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
- 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 127
- 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan)
- 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4001 .loc 1 2178 1
- 4002 .cfi_startproc
- 4003 @ args = 0, pretend = 0, frame = 8
- 4004 @ frame_needed = 1, uses_anonymous_args = 0
- 4005 @ link register save eliminated.
- 4006 0000 80B4 push {r7}
- 4007 .LCFI136:
- 4008 .cfi_def_cfa_offset 4
- 4009 .cfi_offset 7, -4
- 4010 0002 83B0 sub sp, sp, #12
- 4011 .LCFI137:
- 4012 .cfi_def_cfa_offset 16
- 4013 0004 00AF add r7, sp, #0
- 4014 .LCFI138:
- 4015 .cfi_def_cfa_register 7
- 4016 0006 7860 str r0, [r7, #4]
- 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2AbortCallback could be implemented in the
- 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4017 .loc 1 2186 1
- 4018 0008 00BF nop
- 4019 000a 0C37 adds r7, r7, #12
- 4020 .LCFI139:
- 4021 .cfi_def_cfa_offset 4
- 4022 000c BD46 mov sp, r7
- 4023 .LCFI140:
- 4024 .cfi_def_cfa_register 13
- 4025 @ sp needed
- 4026 000e 5DF8047B ldr r7, [sp], #4
- 4027 .LCFI141:
- 4028 .cfi_restore 7
- 4029 .cfi_def_cfa_offset 0
- 4030 0012 7047 bx lr
- 4031 .cfi_endproc
- 4032 .LFE155:
- 4034 .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
- 4035 .align 1
- 4036 .weak HAL_CAN_RxFifo0MsgPendingCallback
- 4037 .syntax unified
- 4038 .thumb
- 4039 .thumb_func
- 4041 HAL_CAN_RxFifo0MsgPendingCallback:
- 4042 .LFB156:
- 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 message pending callback.
- 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 128
- 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
- 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4043 .loc 1 2195 1
- 4044 .cfi_startproc
- 4045 @ args = 0, pretend = 0, frame = 8
- 4046 @ frame_needed = 1, uses_anonymous_args = 0
- 4047 @ link register save eliminated.
- 4048 0000 80B4 push {r7}
- 4049 .LCFI142:
- 4050 .cfi_def_cfa_offset 4
- 4051 .cfi_offset 7, -4
- 4052 0002 83B0 sub sp, sp, #12
- 4053 .LCFI143:
- 4054 .cfi_def_cfa_offset 16
- 4055 0004 00AF add r7, sp, #0
- 4056 .LCFI144:
- 4057 .cfi_def_cfa_register 7
- 4058 0006 7860 str r0, [r7, #4]
- 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0MsgPendingCallback could be implemented in the
- 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4059 .loc 1 2203 1
- 4060 0008 00BF nop
- 4061 000a 0C37 adds r7, r7, #12
- 4062 .LCFI145:
- 4063 .cfi_def_cfa_offset 4
- 4064 000c BD46 mov sp, r7
- 4065 .LCFI146:
- 4066 .cfi_def_cfa_register 13
- 4067 @ sp needed
- 4068 000e 5DF8047B ldr r7, [sp], #4
- 4069 .LCFI147:
- 4070 .cfi_restore 7
- 4071 .cfi_def_cfa_offset 0
- 4072 0012 7047 bx lr
- 4073 .cfi_endproc
- 4074 .LFE156:
- 4076 .section .text.HAL_CAN_RxFifo0FullCallback,"ax",%progbits
- 4077 .align 1
- 4078 .weak HAL_CAN_RxFifo0FullCallback
- 4079 .syntax unified
- 4080 .thumb
- 4081 .thumb_func
- 4083 HAL_CAN_RxFifo0FullCallback:
- 4084 .LFB157:
- 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 full callback.
- 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 129
- 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan)
- 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4085 .loc 1 2212 1
- 4086 .cfi_startproc
- 4087 @ args = 0, pretend = 0, frame = 8
- 4088 @ frame_needed = 1, uses_anonymous_args = 0
- 4089 @ link register save eliminated.
- 4090 0000 80B4 push {r7}
- 4091 .LCFI148:
- 4092 .cfi_def_cfa_offset 4
- 4093 .cfi_offset 7, -4
- 4094 0002 83B0 sub sp, sp, #12
- 4095 .LCFI149:
- 4096 .cfi_def_cfa_offset 16
- 4097 0004 00AF add r7, sp, #0
- 4098 .LCFI150:
- 4099 .cfi_def_cfa_register 7
- 4100 0006 7860 str r0, [r7, #4]
- 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0FullCallback could be implemented in the user
- 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
- 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4101 .loc 1 2220 1
- 4102 0008 00BF nop
- 4103 000a 0C37 adds r7, r7, #12
- 4104 .LCFI151:
- 4105 .cfi_def_cfa_offset 4
- 4106 000c BD46 mov sp, r7
- 4107 .LCFI152:
- 4108 .cfi_def_cfa_register 13
- 4109 @ sp needed
- 4110 000e 5DF8047B ldr r7, [sp], #4
- 4111 .LCFI153:
- 4112 .cfi_restore 7
- 4113 .cfi_def_cfa_offset 0
- 4114 0012 7047 bx lr
- 4115 .cfi_endproc
- 4116 .LFE157:
- 4118 .section .text.HAL_CAN_RxFifo1MsgPendingCallback,"ax",%progbits
- 4119 .align 1
- 4120 .weak HAL_CAN_RxFifo1MsgPendingCallback
- 4121 .syntax unified
- 4122 .thumb
- 4123 .thumb_func
- 4125 HAL_CAN_RxFifo1MsgPendingCallback:
- 4126 .LFB158:
- 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 message pending callback.
- 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 130
- 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
- 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4127 .loc 1 2229 1
- 4128 .cfi_startproc
- 4129 @ args = 0, pretend = 0, frame = 8
- 4130 @ frame_needed = 1, uses_anonymous_args = 0
- 4131 @ link register save eliminated.
- 4132 0000 80B4 push {r7}
- 4133 .LCFI154:
- 4134 .cfi_def_cfa_offset 4
- 4135 .cfi_offset 7, -4
- 4136 0002 83B0 sub sp, sp, #12
- 4137 .LCFI155:
- 4138 .cfi_def_cfa_offset 16
- 4139 0004 00AF add r7, sp, #0
- 4140 .LCFI156:
- 4141 .cfi_def_cfa_register 7
- 4142 0006 7860 str r0, [r7, #4]
- 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1MsgPendingCallback could be implemented in the
- 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4143 .loc 1 2237 1
- 4144 0008 00BF nop
- 4145 000a 0C37 adds r7, r7, #12
- 4146 .LCFI157:
- 4147 .cfi_def_cfa_offset 4
- 4148 000c BD46 mov sp, r7
- 4149 .LCFI158:
- 4150 .cfi_def_cfa_register 13
- 4151 @ sp needed
- 4152 000e 5DF8047B ldr r7, [sp], #4
- 4153 .LCFI159:
- 4154 .cfi_restore 7
- 4155 .cfi_def_cfa_offset 0
- 4156 0012 7047 bx lr
- 4157 .cfi_endproc
- 4158 .LFE158:
- 4160 .section .text.HAL_CAN_RxFifo1FullCallback,"ax",%progbits
- 4161 .align 1
- 4162 .weak HAL_CAN_RxFifo1FullCallback
- 4163 .syntax unified
- 4164 .thumb
- 4165 .thumb_func
- 4167 HAL_CAN_RxFifo1FullCallback:
- 4168 .LFB159:
- 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 full callback.
- 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 131
- 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan)
- 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4169 .loc 1 2246 1
- 4170 .cfi_startproc
- 4171 @ args = 0, pretend = 0, frame = 8
- 4172 @ frame_needed = 1, uses_anonymous_args = 0
- 4173 @ link register save eliminated.
- 4174 0000 80B4 push {r7}
- 4175 .LCFI160:
- 4176 .cfi_def_cfa_offset 4
- 4177 .cfi_offset 7, -4
- 4178 0002 83B0 sub sp, sp, #12
- 4179 .LCFI161:
- 4180 .cfi_def_cfa_offset 16
- 4181 0004 00AF add r7, sp, #0
- 4182 .LCFI162:
- 4183 .cfi_def_cfa_register 7
- 4184 0006 7860 str r0, [r7, #4]
- 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1FullCallback could be implemented in the user
- 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
- 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4185 .loc 1 2254 1
- 4186 0008 00BF nop
- 4187 000a 0C37 adds r7, r7, #12
- 4188 .LCFI163:
- 4189 .cfi_def_cfa_offset 4
- 4190 000c BD46 mov sp, r7
- 4191 .LCFI164:
- 4192 .cfi_def_cfa_register 13
- 4193 @ sp needed
- 4194 000e 5DF8047B ldr r7, [sp], #4
- 4195 .LCFI165:
- 4196 .cfi_restore 7
- 4197 .cfi_def_cfa_offset 0
- 4198 0012 7047 bx lr
- 4199 .cfi_endproc
- 4200 .LFE159:
- 4202 .section .text.HAL_CAN_SleepCallback,"ax",%progbits
- 4203 .align 1
- 4204 .weak HAL_CAN_SleepCallback
- 4205 .syntax unified
- 4206 .thumb
- 4207 .thumb_func
- 4209 HAL_CAN_SleepCallback:
- 4210 .LFB160:
- 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Sleep callback.
- 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 132
- 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan)
- 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4211 .loc 1 2263 1
- 4212 .cfi_startproc
- 4213 @ args = 0, pretend = 0, frame = 8
- 4214 @ frame_needed = 1, uses_anonymous_args = 0
- 4215 @ link register save eliminated.
- 4216 0000 80B4 push {r7}
- 4217 .LCFI166:
- 4218 .cfi_def_cfa_offset 4
- 4219 .cfi_offset 7, -4
- 4220 0002 83B0 sub sp, sp, #12
- 4221 .LCFI167:
- 4222 .cfi_def_cfa_offset 16
- 4223 0004 00AF add r7, sp, #0
- 4224 .LCFI168:
- 4225 .cfi_def_cfa_register 7
- 4226 0006 7860 str r0, [r7, #4]
- 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_SleepCallback could be implemented in the user file
- 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4227 .loc 1 2270 1
- 4228 0008 00BF nop
- 4229 000a 0C37 adds r7, r7, #12
- 4230 .LCFI169:
- 4231 .cfi_def_cfa_offset 4
- 4232 000c BD46 mov sp, r7
- 4233 .LCFI170:
- 4234 .cfi_def_cfa_register 13
- 4235 @ sp needed
- 4236 000e 5DF8047B ldr r7, [sp], #4
- 4237 .LCFI171:
- 4238 .cfi_restore 7
- 4239 .cfi_def_cfa_offset 0
- 4240 0012 7047 bx lr
- 4241 .cfi_endproc
- 4242 .LFE160:
- 4244 .section .text.HAL_CAN_WakeUpFromRxMsgCallback,"ax",%progbits
- 4245 .align 1
- 4246 .weak HAL_CAN_WakeUpFromRxMsgCallback
- 4247 .syntax unified
- 4248 .thumb
- 4249 .thumb_func
- 4251 HAL_CAN_WakeUpFromRxMsgCallback:
- 4252 .LFB161:
- 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief WakeUp from Rx message callback.
- 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 133
- 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan)
- 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4253 .loc 1 2279 1
- 4254 .cfi_startproc
- 4255 @ args = 0, pretend = 0, frame = 8
- 4256 @ frame_needed = 1, uses_anonymous_args = 0
- 4257 @ link register save eliminated.
- 4258 0000 80B4 push {r7}
- 4259 .LCFI172:
- 4260 .cfi_def_cfa_offset 4
- 4261 .cfi_offset 7, -4
- 4262 0002 83B0 sub sp, sp, #12
- 4263 .LCFI173:
- 4264 .cfi_def_cfa_offset 16
- 4265 0004 00AF add r7, sp, #0
- 4266 .LCFI174:
- 4267 .cfi_def_cfa_register 7
- 4268 0006 7860 str r0, [r7, #4]
- 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_WakeUpFromRxMsgCallback could be implemented in the
- 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
- 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4269 .loc 1 2287 1
- 4270 0008 00BF nop
- 4271 000a 0C37 adds r7, r7, #12
- 4272 .LCFI175:
- 4273 .cfi_def_cfa_offset 4
- 4274 000c BD46 mov sp, r7
- 4275 .LCFI176:
- 4276 .cfi_def_cfa_register 13
- 4277 @ sp needed
- 4278 000e 5DF8047B ldr r7, [sp], #4
- 4279 .LCFI177:
- 4280 .cfi_restore 7
- 4281 .cfi_def_cfa_offset 0
- 4282 0012 7047 bx lr
- 4283 .cfi_endproc
- 4284 .LFE161:
- 4286 .section .text.HAL_CAN_ErrorCallback,"ax",%progbits
- 4287 .align 1
- 4288 .weak HAL_CAN_ErrorCallback
- 4289 .syntax unified
- 4290 .thumb
- 4291 .thumb_func
- 4293 HAL_CAN_ErrorCallback:
- 4294 .LFB162:
- 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Error CAN callback.
- 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 134
- 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
- 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4295 .loc 1 2296 1
- 4296 .cfi_startproc
- 4297 @ args = 0, pretend = 0, frame = 8
- 4298 @ frame_needed = 1, uses_anonymous_args = 0
- 4299 @ link register save eliminated.
- 4300 0000 80B4 push {r7}
- 4301 .LCFI178:
- 4302 .cfi_def_cfa_offset 4
- 4303 .cfi_offset 7, -4
- 4304 0002 83B0 sub sp, sp, #12
- 4305 .LCFI179:
- 4306 .cfi_def_cfa_offset 16
- 4307 0004 00AF add r7, sp, #0
- 4308 .LCFI180:
- 4309 .cfi_def_cfa_register 7
- 4310 0006 7860 str r0, [r7, #4]
- 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
- 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
- 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_ErrorCallback could be implemented in the user file
- 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4311 .loc 1 2303 1
- 4312 0008 00BF nop
- 4313 000a 0C37 adds r7, r7, #12
- 4314 .LCFI181:
- 4315 .cfi_def_cfa_offset 4
- 4316 000c BD46 mov sp, r7
- 4317 .LCFI182:
- 4318 .cfi_def_cfa_register 13
- 4319 @ sp needed
- 4320 000e 5DF8047B ldr r7, [sp], #4
- 4321 .LCFI183:
- 4322 .cfi_restore 7
- 4323 .cfi_def_cfa_offset 0
- 4324 0012 7047 bx lr
- 4325 .cfi_endproc
- 4326 .LFE162:
- 4328 .section .text.HAL_CAN_GetState,"ax",%progbits
- 4329 .align 1
- 4330 .global HAL_CAN_GetState
- 4331 .syntax unified
- 4332 .thumb
- 4333 .thumb_func
- 4335 HAL_CAN_GetState:
- 4336 .LFB163:
- 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
- 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group6 Peripheral State and Error functions
- 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Peripheral State functions
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 135
- 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
- 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
- 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Peripheral State and Error functions #####
- 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
- 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
- 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides functions allowing to :
- 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetState() : Return the CAN state.
- 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetError() : Return the CAN error codes if any.
- 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ResetError(): Reset the CAN error codes if any.
- 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
- 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
- 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN state.
- 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL state
- 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef HAL_CAN_GetState(const CAN_HandleTypeDef *hcan)
- 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4337 .loc 1 2333 1
- 4338 .cfi_startproc
- 4339 @ args = 0, pretend = 0, frame = 16
- 4340 @ frame_needed = 1, uses_anonymous_args = 0
- 4341 @ link register save eliminated.
- 4342 0000 80B4 push {r7}
- 4343 .LCFI184:
- 4344 .cfi_def_cfa_offset 4
- 4345 .cfi_offset 7, -4
- 4346 0002 85B0 sub sp, sp, #20
- 4347 .LCFI185:
- 4348 .cfi_def_cfa_offset 24
- 4349 0004 00AF add r7, sp, #0
- 4350 .LCFI186:
- 4351 .cfi_def_cfa_register 7
- 4352 0006 7860 str r0, [r7, #4]
- 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 4353 .loc 1 2334 24
- 4354 0008 7B68 ldr r3, [r7, #4]
- 4355 000a 93F82030 ldrb r3, [r3, #32]
- 4356 000e FB73 strb r3, [r7, #15]
- 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 4357 .loc 1 2336 6
- 4358 0010 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 4359 0012 012B cmp r3, #1
- 4360 0014 02D0 beq .L229
- 4361 .loc 1 2336 38 discriminator 1
- 4362 0016 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 4363 0018 022B cmp r3, #2
- 4364 001a 12D1 bne .L230
- 4365 .L229:
- 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 136
- 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode acknowledge flag */
- 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
- 4366 .loc 1 2340 14
- 4367 001c 7B68 ldr r3, [r7, #4]
- 4368 001e 1B68 ldr r3, [r3]
- 4369 .loc 1 2340 24
- 4370 0020 5B68 ldr r3, [r3, #4]
- 4371 .loc 1 2340 30
- 4372 0022 03F00203 and r3, r3, #2
- 4373 .loc 1 2340 8
- 4374 0026 002B cmp r3, #0
- 4375 0028 02D0 beq .L231
- 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode is active */
- 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_ACTIVE;
- 4376 .loc 1 2343 13
- 4377 002a 0423 movs r3, #4
- 4378 002c FB73 strb r3, [r7, #15]
- 4379 002e 08E0 b .L230
- 4380 .L231:
- 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode request flag */
- 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U)
- 4381 .loc 1 2346 19
- 4382 0030 7B68 ldr r3, [r7, #4]
- 4383 0032 1B68 ldr r3, [r3]
- 4384 .loc 1 2346 29
- 4385 0034 1B68 ldr r3, [r3]
- 4386 .loc 1 2346 35
- 4387 0036 03F00203 and r3, r3, #2
- 4388 .loc 1 2346 13
- 4389 003a 002B cmp r3, #0
- 4390 003c 01D0 beq .L230
- 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode request is pending */
- 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_PENDING;
- 4391 .loc 1 2349 13
- 4392 003e 0323 movs r3, #3
- 4393 0040 FB73 strb r3, [r7, #15]
- 4394 .L230:
- 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Neither sleep mode request nor sleep mode acknowledge */
- 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN state */
- 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return state;
- 4395 .loc 1 2358 10
- 4396 0042 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4397 .loc 1 2359 1
- 4398 0044 1846 mov r0, r3
- 4399 0046 1437 adds r7, r7, #20
- 4400 .LCFI187:
- 4401 .cfi_def_cfa_offset 4
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 137
- 4402 0048 BD46 mov sp, r7
- 4403 .LCFI188:
- 4404 .cfi_def_cfa_register 13
- 4405 @ sp needed
- 4406 004a 5DF8047B ldr r7, [sp], #4
- 4407 .LCFI189:
- 4408 .cfi_restore 7
- 4409 .cfi_def_cfa_offset 0
- 4410 004e 7047 bx lr
- 4411 .cfi_endproc
- 4412 .LFE163:
- 4414 .section .text.HAL_CAN_GetError,"ax",%progbits
- 4415 .align 1
- 4416 .global HAL_CAN_GetError
- 4417 .syntax unified
- 4418 .thumb
- 4419 .thumb_func
- 4421 HAL_CAN_GetError:
- 4422 .LFB164:
- 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN error code.
- 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval CAN Error Code
- 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetError(const CAN_HandleTypeDef *hcan)
- 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4423 .loc 1 2368 1
- 4424 .cfi_startproc
- 4425 @ args = 0, pretend = 0, frame = 8
- 4426 @ frame_needed = 1, uses_anonymous_args = 0
- 4427 @ link register save eliminated.
- 4428 0000 80B4 push {r7}
- 4429 .LCFI190:
- 4430 .cfi_def_cfa_offset 4
- 4431 .cfi_offset 7, -4
- 4432 0002 83B0 sub sp, sp, #12
- 4433 .LCFI191:
- 4434 .cfi_def_cfa_offset 16
- 4435 0004 00AF add r7, sp, #0
- 4436 .LCFI192:
- 4437 .cfi_def_cfa_register 7
- 4438 0006 7860 str r0, [r7, #4]
- 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN error code */
- 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return hcan->ErrorCode;
- 4439 .loc 1 2370 14
- 4440 0008 7B68 ldr r3, [r7, #4]
- 4441 000a 5B6A ldr r3, [r3, #36]
- 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4442 .loc 1 2371 1
- 4443 000c 1846 mov r0, r3
- 4444 000e 0C37 adds r7, r7, #12
- 4445 .LCFI193:
- 4446 .cfi_def_cfa_offset 4
- 4447 0010 BD46 mov sp, r7
- 4448 .LCFI194:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 138
- 4449 .cfi_def_cfa_register 13
- 4450 @ sp needed
- 4451 0012 5DF8047B ldr r7, [sp], #4
- 4452 .LCFI195:
- 4453 .cfi_restore 7
- 4454 .cfi_def_cfa_offset 0
- 4455 0016 7047 bx lr
- 4456 .cfi_endproc
- 4457 .LFE164:
- 4459 .section .text.HAL_CAN_ResetError,"ax",%progbits
- 4460 .align 1
- 4461 .global HAL_CAN_ResetError
- 4462 .syntax unified
- 4463 .thumb
- 4464 .thumb_func
- 4466 HAL_CAN_ResetError:
- 4467 .LFB165:
- 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
- 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Reset the CAN error code.
- 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
- 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
- 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
- 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
- 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan)
- 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 4468 .loc 1 2380 1
- 4469 .cfi_startproc
- 4470 @ args = 0, pretend = 0, frame = 16
- 4471 @ frame_needed = 1, uses_anonymous_args = 0
- 4472 @ link register save eliminated.
- 4473 0000 80B4 push {r7}
- 4474 .LCFI196:
- 4475 .cfi_def_cfa_offset 4
- 4476 .cfi_offset 7, -4
- 4477 0002 85B0 sub sp, sp, #20
- 4478 .LCFI197:
- 4479 .cfi_def_cfa_offset 24
- 4480 0004 00AF add r7, sp, #0
- 4481 .LCFI198:
- 4482 .cfi_def_cfa_register 7
- 4483 0006 7860 str r0, [r7, #4]
- 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
- 4484 .loc 1 2381 21
- 4485 0008 0023 movs r3, #0
- 4486 000a FB73 strb r3, [r7, #15]
- 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
- 4487 .loc 1 2382 24
- 4488 000c 7B68 ldr r3, [r7, #4]
- 4489 000e 93F82030 ldrb r3, [r3, #32]
- 4490 0012 BB73 strb r3, [r7, #14]
- 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
- 4491 .loc 1 2384 6
- 4492 0014 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
- 4493 0016 012B cmp r3, #1
- 4494 0018 02D0 beq .L236
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 139
- 4495 .loc 1 2384 38 discriminator 1
- 4496 001a BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
- 4497 001c 022B cmp r3, #2
- 4498 001e 03D1 bne .L237
- 4499 .L236:
- 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
- 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset CAN error code */
- 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = 0U;
- 4500 .loc 1 2388 21
- 4501 0020 7B68 ldr r3, [r7, #4]
- 4502 0022 0022 movs r2, #0
- 4503 0024 5A62 str r2, [r3, #36]
- 4504 0026 07E0 b .L238
- 4505 .L237:
- 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
- 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
- 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
- 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
- 4506 .loc 1 2393 21
- 4507 0028 7B68 ldr r3, [r7, #4]
- 4508 002a 5B6A ldr r3, [r3, #36]
- 4509 002c 43F48022 orr r2, r3, #262144
- 4510 0030 7B68 ldr r3, [r7, #4]
- 4511 0032 5A62 str r2, [r3, #36]
- 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
- 4512 .loc 1 2395 12
- 4513 0034 0123 movs r3, #1
- 4514 0036 FB73 strb r3, [r7, #15]
- 4515 .L238:
- 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
- 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the status */
- 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
- 4516 .loc 1 2399 10
- 4517 0038 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
- 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
- 4518 .loc 1 2400 1
- 4519 003a 1846 mov r0, r3
- 4520 003c 1437 adds r7, r7, #20
- 4521 .LCFI199:
- 4522 .cfi_def_cfa_offset 4
- 4523 003e BD46 mov sp, r7
- 4524 .LCFI200:
- 4525 .cfi_def_cfa_register 13
- 4526 @ sp needed
- 4527 0040 5DF8047B ldr r7, [sp], #4
- 4528 .LCFI201:
- 4529 .cfi_restore 7
- 4530 .cfi_def_cfa_offset 0
- 4531 0044 7047 bx lr
- 4532 .cfi_endproc
- 4533 .LFE165:
- 4535 .text
- 4536 .Letext0:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 140
- 4537 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
- 4538 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
- 4539 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
- 4540 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
- 4541 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
- 4542 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_can.h"
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 141
- DEFINED SYMBOLS
- *ABS*:00000000 stm32f3xx_hal_can.c
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:20 .rodata:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:25 .text.HAL_CAN_Init:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:31 .text.HAL_CAN_Init:00000000 HAL_CAN_Init
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:754 .text.HAL_CAN_MspInit:00000000 HAL_CAN_MspInit
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:369 .text.HAL_CAN_Init:00000254 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:374 .text.HAL_CAN_Init:0000025c $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:661 .text.HAL_CAN_DeInit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:667 .text.HAL_CAN_DeInit:00000000 HAL_CAN_DeInit
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1334 .text.HAL_CAN_Stop:00000000 HAL_CAN_Stop
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:796 .text.HAL_CAN_MspDeInit:00000000 HAL_CAN_MspDeInit
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:742 .text.HAL_CAN_DeInit:0000005c $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:748 .text.HAL_CAN_MspInit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:790 .text.HAL_CAN_MspDeInit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:832 .text.HAL_CAN_ConfigFilter:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:838 .text.HAL_CAN_ConfigFilter:00000000 HAL_CAN_ConfigFilter
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1210 .text.HAL_CAN_ConfigFilter:0000025c $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1215 .text.HAL_CAN_Start:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1221 .text.HAL_CAN_Start:00000000 HAL_CAN_Start
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1328 .text.HAL_CAN_Stop:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1445 .text.HAL_CAN_RequestSleep:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1451 .text.HAL_CAN_RequestSleep:00000000 HAL_CAN_RequestSleep
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1521 .text.HAL_CAN_WakeUp:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1527 .text.HAL_CAN_WakeUp:00000000 HAL_CAN_WakeUp
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1630 .text.HAL_CAN_WakeUp:0000007c $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1635 .text.HAL_CAN_IsSleepActive:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1641 .text.HAL_CAN_IsSleepActive:00000000 HAL_CAN_IsSleepActive
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1709 .text.HAL_CAN_AddTxMessage:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1715 .text.HAL_CAN_AddTxMessage:00000000 HAL_CAN_AddTxMessage
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2064 .text.HAL_CAN_AddTxMessage:00000230 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2069 .text.HAL_CAN_AbortTxRequest:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2075 .text.HAL_CAN_AbortTxRequest:00000000 HAL_CAN_AbortTxRequest
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2187 .text.HAL_CAN_AbortTxRequest:00000098 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2192 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2198 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 HAL_CAN_GetTxMailboxesFreeLevel
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2297 .text.HAL_CAN_IsTxMessagePending:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2303 .text.HAL_CAN_IsTxMessagePending:00000000 HAL_CAN_IsTxMessagePending
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2382 .text.HAL_CAN_IsTxMessagePending:00000054 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2387 .text.HAL_CAN_GetTxTimestamp:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2393 .text.HAL_CAN_GetTxTimestamp:00000000 HAL_CAN_GetTxTimestamp
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2499 .text.HAL_CAN_GetTxTimestamp:00000074 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2504 .text.HAL_CAN_GetRxMessage:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2510 .text.HAL_CAN_GetRxMessage:00000000 HAL_CAN_GetRxMessage
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2924 .text.HAL_CAN_GetRxMessage:00000258 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2929 .text.HAL_CAN_GetRxFifoFillLevel:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2935 .text.HAL_CAN_GetRxFifoFillLevel:00000000 HAL_CAN_GetRxFifoFillLevel
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3021 .text.HAL_CAN_GetRxFifoFillLevel:00000064 $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3026 .text.HAL_CAN_ActivateNotification:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3032 .text.HAL_CAN_ActivateNotification:00000000 HAL_CAN_ActivateNotification
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3109 .text.HAL_CAN_ActivateNotification:0000005c $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3115 .text.HAL_CAN_DeactivateNotification:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3121 .text.HAL_CAN_DeactivateNotification:00000000 HAL_CAN_DeactivateNotification
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3199 .text.HAL_CAN_DeactivateNotification:0000005c $d
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3205 .text.HAL_CAN_IRQHandler:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3211 .text.HAL_CAN_IRQHandler:00000000 HAL_CAN_IRQHandler
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3789 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 HAL_CAN_TxMailbox0CompleteCallback
- ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 142
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3915 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 HAL_CAN_TxMailbox0AbortCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3831 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 HAL_CAN_TxMailbox1CompleteCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3957 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 HAL_CAN_TxMailbox1AbortCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3873 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 HAL_CAN_TxMailbox2CompleteCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3999 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 HAL_CAN_TxMailbox2AbortCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4083 .text.HAL_CAN_RxFifo0FullCallback:00000000 HAL_CAN_RxFifo0FullCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4041 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4167 .text.HAL_CAN_RxFifo1FullCallback:00000000 HAL_CAN_RxFifo1FullCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4125 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 HAL_CAN_RxFifo1MsgPendingCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4209 .text.HAL_CAN_SleepCallback:00000000 HAL_CAN_SleepCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4251 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 HAL_CAN_WakeUpFromRxMsgCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4293 .text.HAL_CAN_ErrorCallback:00000000 HAL_CAN_ErrorCallback
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3783 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3825 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3867 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3909 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3951 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3993 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4035 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4077 .text.HAL_CAN_RxFifo0FullCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4119 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4161 .text.HAL_CAN_RxFifo1FullCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4203 .text.HAL_CAN_SleepCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4245 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4287 .text.HAL_CAN_ErrorCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4329 .text.HAL_CAN_GetState:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4335 .text.HAL_CAN_GetState:00000000 HAL_CAN_GetState
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4415 .text.HAL_CAN_GetError:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4421 .text.HAL_CAN_GetError:00000000 HAL_CAN_GetError
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4460 .text.HAL_CAN_ResetError:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4466 .text.HAL_CAN_ResetError:00000000 HAL_CAN_ResetError
- UNDEFINED SYMBOLS
- assert_failed
- HAL_GetTick
|