stm32f3xx_hal_uart.lst 960 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 6
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f3xx_hal_uart.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .rodata
  21. 20 .align 2
  22. 21 .LC0:
  23. 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart"
  24. 22 6572732F
  25. 22 53544D33
  26. 22 32463378
  27. 22 785F4841
  28. 23 0033 2E6300 .ascii ".c\000"
  29. 24 .section .text.HAL_UART_Init,"ax",%progbits
  30. 25 .align 1
  31. 26 .global HAL_UART_Init
  32. 27 .syntax unified
  33. 28 .thumb
  34. 29 .thumb_func
  35. 31 HAL_UART_Init:
  36. 32 .LFB130:
  37. 33 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c"
  38. 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  39. 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
  40. 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @file stm32f3xx_hal_uart.c
  41. 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @author MCD Application Team
  42. 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART HAL module driver.
  43. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This file provides firmware functions to manage the following
  44. 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
  45. 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + Initialization and de-initialization functions
  46. 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + IO operation functions
  47. 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + Peripheral Control functions
  48. 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  49. 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  50. 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
  51. 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @attention
  52. 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  53. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Copyright (c) 2016 STMicroelectronics.
  54. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * All rights reserved.
  55. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  56. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file
  57. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * in the root directory of this software component.
  58. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 2
  60. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  61. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
  62. 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
  63. 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  64. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### How to use this driver #####
  65. 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  66. 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  67. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The UART HAL driver can be used as follows:
  68. 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  69. 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
  70. 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
  71. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Enable the USARTx interface clock.
  72. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) UART pins configuration:
  73. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
  74. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up.
  75. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
  76. 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
  77. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
  78. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
  79. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) UART interrupts handling:
  80. 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt,
  81. 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts)
  82. 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT()
  83. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** inside the transmit and receive processes.
  84. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
  85. 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
  86. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel.
  87. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
  88. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters.
  89. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel.
  90. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
  91. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
  92. 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel.
  93. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  94. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
  95. 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure.
  96. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  97. 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...)
  98. 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the huart handle AdvancedInit structure.
  99. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  100. 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
  101. 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_Init() API.
  102. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  103. 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
  104. 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
  105. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  106. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers
  107. 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_LIN_Init() API.
  108. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  109. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers
  110. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API.
  111. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  112. 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers
  113. 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API.
  114. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  115. 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  116. 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 3
  118. 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by
  119. 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API.
  120. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  121. 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Callback registration #####
  122. 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ==================================
  123. 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  124. 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  125. 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
  126. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
  127. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  128. 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  129. 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback.
  130. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks:
  131. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
  132. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
  133. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
  134. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
  135. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
  136. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
  137. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
  138. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
  139. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
  140. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
  141. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
  142. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
  143. 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and a pointer to the user callback function.
  144. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  145. 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  146. 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default
  147. 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** weak function.
  148. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
  149. 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and the Callback ID.
  150. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This function allows to reset following callbacks:
  151. 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
  152. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
  153. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
  154. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
  155. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
  156. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
  157. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
  158. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
  159. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
  160. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
  161. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
  162. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  163. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  164. 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
  165. 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback().
  166. 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  167. 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  168. 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
  169. 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** all callbacks are set to the corresponding weak functions:
  170. 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback().
  171. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
  172. 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** reset to the legacy weak functions in the HAL_UART_Init()
  173. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
  174. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit()
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 4
  176. 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
  177. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  178. 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  179. 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
  180. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
  181. 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
  182. 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
  183. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
  184. 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit()
  185. 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** or HAL_UART_Init() function.
  186. 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  187. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  188. 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
  189. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** not defined, the callback registration feature is not available
  190. 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and weak callbacks are used.
  191. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  192. 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  193. 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
  194. 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
  195. 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  196. 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  197. 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
  198. 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #include "stm32f3xx_hal.h"
  199. 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  200. 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @addtogroup STM32F3xx_HAL_Driver
  201. 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  202. 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  203. 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  204. 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART UART
  205. 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief HAL UART module driver
  206. 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  207. 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  208. 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  209. 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
  210. 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  211. 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
  212. 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
  213. 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants
  214. 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  215. 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  216. 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U
  217. 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** USART_CR1_OVER8)) /*!< UART or USART CR1 fields of parameters
  218. 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  219. 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE |\
  220. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** USART_CR3_ONEBIT)) /*!< UART or USART CR3 fields of parameter
  221. 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  222. 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  223. 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */
  224. 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */
  225. 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  226. 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
  227. 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  228. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  229. 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/
  230. 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
  231. 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @addtogroup UART_Private_Functions
  232. 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 5
  234. 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  235. 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
  236. 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
  237. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
  238. 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
  239. 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
  240. 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
  241. 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
  242. 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
  243. 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
  244. 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
  245. 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
  246. 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
  247. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart);
  248. 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart);
  249. 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart);
  250. 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart);
  251. 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart);
  252. 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  253. 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
  254. 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  255. 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  256. 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
  257. 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/
  258. 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/
  259. 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  260. 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
  261. 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  262. 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  263. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  264. 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
  265. 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialization and Configuration functions
  266. 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  267. 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
  268. 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  269. 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Initialization and Configuration functions #####
  270. 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  271. 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  272. 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
  273. 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in asynchronous mode.
  274. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured:
  275. 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Baud Rate
  276. 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Word Length
  277. 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Stop Bit
  278. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
  279. 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
  280. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Hardware flow control
  281. 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Receiver/transmitter modes
  282. 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Over Sampling Method
  283. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) One-Bit Sampling Method
  284. 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well:
  285. 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) TX and/or RX pin level inversion
  286. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) data logical level inversion
  287. 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) RX and TX pins swap
  288. 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) RX overrun detection disabling
  289. 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) DMA disabling on RX error
  290. 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) MSB first on communication line
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 6
  292. 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) auto Baud rate detection
  293. 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  294. 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API
  295. 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode
  296. 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures
  297. 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** are available in reference manual).
  298. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  299. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
  300. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  301. 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit,
  302. 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the
  303. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** following table.
  304. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  305. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Table 1. UART frame format.
  306. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** +-----------------------------------------------------------------------+
  307. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame |
  308. 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
  309. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | |
  310. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
  311. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | |
  312. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
  313. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | |
  314. 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
  315. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | |
  316. 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
  317. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | |
  318. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
  319. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | |
  320. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** +-----------------------------------------------------------------------+
  321. 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  322. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  323. 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  324. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  325. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  326. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified
  327. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
  328. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  329. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  330. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  331. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
  332. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  333. 34 .loc 1 290 1
  334. 35 .cfi_startproc
  335. 36 @ args = 0, pretend = 0, frame = 8
  336. 37 @ frame_needed = 1, uses_anonymous_args = 0
  337. 38 0000 80B5 push {r7, lr}
  338. 39 .LCFI0:
  339. 40 .cfi_def_cfa_offset 8
  340. 41 .cfi_offset 7, -8
  341. 42 .cfi_offset 14, -4
  342. 43 0002 82B0 sub sp, sp, #8
  343. 44 .LCFI1:
  344. 45 .cfi_def_cfa_offset 16
  345. 46 0004 00AF add r7, sp, #0
  346. 47 .LCFI2:
  347. 48 .cfi_def_cfa_register 7
  348. 49 0006 7860 str r0, [r7, #4]
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 7
  350. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
  351. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
  352. 50 .loc 1 292 6
  353. 51 0008 7B68 ldr r3, [r7, #4]
  354. 52 000a 002B cmp r3, #0
  355. 53 000c 01D1 bne .L2
  356. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  357. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  358. 54 .loc 1 294 12
  359. 55 000e 0123 movs r3, #1
  360. 56 0010 77E0 b .L3
  361. 57 .L2:
  362. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  363. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  364. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
  365. 58 .loc 1 297 18
  366. 59 0012 7B68 ldr r3, [r7, #4]
  367. 60 0014 9B69 ldr r3, [r3, #24]
  368. 61 .loc 1 297 6
  369. 62 0016 002B cmp r3, #0
  370. 63 0018 14D0 beq .L4
  371. 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  372. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
  373. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
  374. 64 .loc 1 300 5
  375. 65 001a 7B68 ldr r3, [r7, #4]
  376. 66 001c 1B68 ldr r3, [r3]
  377. 67 001e 3B4A ldr r2, .L9
  378. 68 0020 9342 cmp r3, r2
  379. 69 0022 2DD0 beq .L5
  380. 70 .loc 1 300 5 is_stmt 0 discriminator 1
  381. 71 0024 7B68 ldr r3, [r7, #4]
  382. 72 0026 1B68 ldr r3, [r3]
  383. 73 0028 394A ldr r2, .L9+4
  384. 74 002a 9342 cmp r3, r2
  385. 75 002c 28D0 beq .L5
  386. 76 .loc 1 300 5 discriminator 2
  387. 77 002e 7B68 ldr r3, [r7, #4]
  388. 78 0030 1B68 ldr r3, [r3]
  389. 79 0032 384A ldr r2, .L9+8
  390. 80 0034 9342 cmp r3, r2
  391. 81 0036 23D0 beq .L5
  392. 82 .loc 1 300 5 discriminator 3
  393. 83 0038 4FF49671 mov r1, #300
  394. 84 003c 3648 ldr r0, .L9+12
  395. 85 003e FFF7FEFF bl assert_failed
  396. 86 0042 1DE0 b .L5
  397. 87 .L4:
  398. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  399. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  400. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  401. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
  402. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  403. 88 .loc 1 305 5 is_stmt 1
  404. 89 0044 7B68 ldr r3, [r7, #4]
  405. 90 0046 1B68 ldr r3, [r3]
  406. 91 0048 304A ldr r2, .L9
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 8
  408. 92 004a 9342 cmp r3, r2
  409. 93 004c 18D0 beq .L5
  410. 94 .loc 1 305 5 is_stmt 0 discriminator 1
  411. 95 004e 7B68 ldr r3, [r7, #4]
  412. 96 0050 1B68 ldr r3, [r3]
  413. 97 0052 2F4A ldr r2, .L9+4
  414. 98 0054 9342 cmp r3, r2
  415. 99 0056 13D0 beq .L5
  416. 100 .loc 1 305 5 discriminator 2
  417. 101 0058 7B68 ldr r3, [r7, #4]
  418. 102 005a 1B68 ldr r3, [r3]
  419. 103 005c 2D4A ldr r2, .L9+8
  420. 104 005e 9342 cmp r3, r2
  421. 105 0060 0ED0 beq .L5
  422. 106 .loc 1 305 5 discriminator 3
  423. 107 0062 7B68 ldr r3, [r7, #4]
  424. 108 0064 1B68 ldr r3, [r3]
  425. 109 0066 2D4A ldr r2, .L9+16
  426. 110 0068 9342 cmp r3, r2
  427. 111 006a 09D0 beq .L5
  428. 112 .loc 1 305 5 discriminator 4
  429. 113 006c 7B68 ldr r3, [r7, #4]
  430. 114 006e 1B68 ldr r3, [r3]
  431. 115 0070 2B4A ldr r2, .L9+20
  432. 116 0072 9342 cmp r3, r2
  433. 117 0074 04D0 beq .L5
  434. 118 .loc 1 305 5 discriminator 5
  435. 119 0076 40F23111 movw r1, #305
  436. 120 007a 2748 ldr r0, .L9+12
  437. 121 007c FFF7FEFF bl assert_failed
  438. 122 .L5:
  439. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  440. 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  441. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  442. 123 .loc 1 308 12 is_stmt 1
  443. 124 0080 7B68 ldr r3, [r7, #4]
  444. 125 0082 DB6F ldr r3, [r3, #124]
  445. 126 .loc 1 308 6
  446. 127 0084 002B cmp r3, #0
  447. 128 0086 06D1 bne .L6
  448. 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  449. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  450. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  451. 129 .loc 1 311 17
  452. 130 0088 7B68 ldr r3, [r7, #4]
  453. 131 008a 0022 movs r2, #0
  454. 132 008c 83F87820 strb r2, [r3, #120]
  455. 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  456. 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  457. 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  458. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  459. 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  460. 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  461. 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  462. 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  463. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  464. 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 9
  466. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
  467. 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  468. 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  469. 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
  470. 133 .loc 1 325 5
  471. 134 0090 7868 ldr r0, [r7, #4]
  472. 135 0092 FFF7FEFF bl HAL_UART_MspInit
  473. 136 .L6:
  474. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  475. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  476. 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  477. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  478. 137 .loc 1 329 17
  479. 138 0096 7B68 ldr r3, [r7, #4]
  480. 139 0098 2422 movs r2, #36
  481. 140 009a DA67 str r2, [r3, #124]
  482. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  483. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  484. 141 .loc 1 331 3
  485. 142 009c 7B68 ldr r3, [r7, #4]
  486. 143 009e 1B68 ldr r3, [r3]
  487. 144 00a0 1A68 ldr r2, [r3]
  488. 145 00a2 7B68 ldr r3, [r7, #4]
  489. 146 00a4 1B68 ldr r3, [r3]
  490. 147 00a6 22F00102 bic r2, r2, #1
  491. 148 00aa 1A60 str r2, [r3]
  492. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  493. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
  494. 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
  495. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
  496. 149 .loc 1 335 26
  497. 150 00ac 7B68 ldr r3, [r7, #4]
  498. 151 00ae 5B6A ldr r3, [r3, #36]
  499. 152 .loc 1 335 6
  500. 153 00b0 002B cmp r3, #0
  501. 154 00b2 02D0 beq .L7
  502. 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  503. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
  504. 155 .loc 1 337 5
  505. 156 00b4 7868 ldr r0, [r7, #4]
  506. 157 00b6 FFF7FEFF bl UART_AdvFeatureConfig
  507. 158 .L7:
  508. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  509. 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  510. 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
  511. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
  512. 159 .loc 1 341 7
  513. 160 00ba 7868 ldr r0, [r7, #4]
  514. 161 00bc FFF7FEFF bl UART_SetConfig
  515. 162 00c0 0346 mov r3, r0
  516. 163 .loc 1 341 6
  517. 164 00c2 012B cmp r3, #1
  518. 165 00c4 01D1 bne .L8
  519. 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  520. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  521. 166 .loc 1 343 12
  522. 167 00c6 0123 movs r3, #1
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 10
  524. 168 00c8 1BE0 b .L3
  525. 169 .L8:
  526. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  527. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  528. 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
  529. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
  530. 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
  531. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
  532. 170 .loc 1 349 3
  533. 171 00ca 7B68 ldr r3, [r7, #4]
  534. 172 00cc 1B68 ldr r3, [r3]
  535. 173 00ce 5A68 ldr r2, [r3, #4]
  536. 174 00d0 7B68 ldr r3, [r7, #4]
  537. 175 00d2 1B68 ldr r3, [r3]
  538. 176 00d4 22F49042 bic r2, r2, #18432
  539. 177 00d8 5A60 str r2, [r3, #4]
  540. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
  541. 178 .loc 1 350 3
  542. 179 00da 7B68 ldr r3, [r7, #4]
  543. 180 00dc 1B68 ldr r3, [r3]
  544. 181 00de 9A68 ldr r2, [r3, #8]
  545. 182 00e0 7B68 ldr r3, [r7, #4]
  546. 183 00e2 1B68 ldr r3, [r3]
  547. 184 00e4 22F02A02 bic r2, r2, #42
  548. 185 00e8 9A60 str r2, [r3, #8]
  549. 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  550. 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  551. 186 .loc 1 352 3
  552. 187 00ea 7B68 ldr r3, [r7, #4]
  553. 188 00ec 1B68 ldr r3, [r3]
  554. 189 00ee 1A68 ldr r2, [r3]
  555. 190 00f0 7B68 ldr r3, [r7, #4]
  556. 191 00f2 1B68 ldr r3, [r3]
  557. 192 00f4 42F00102 orr r2, r2, #1
  558. 193 00f8 1A60 str r2, [r3]
  559. 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  560. 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
  561. 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
  562. 194 .loc 1 355 11
  563. 195 00fa 7868 ldr r0, [r7, #4]
  564. 196 00fc FFF7FEFF bl UART_CheckIdleState
  565. 197 0100 0346 mov r3, r0
  566. 198 .L3:
  567. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  568. 199 .loc 1 356 1
  569. 200 0102 1846 mov r0, r3
  570. 201 0104 0837 adds r7, r7, #8
  571. 202 .LCFI3:
  572. 203 .cfi_def_cfa_offset 8
  573. 204 0106 BD46 mov sp, r7
  574. 205 .LCFI4:
  575. 206 .cfi_def_cfa_register 13
  576. 207 @ sp needed
  577. 208 0108 80BD pop {r7, pc}
  578. 209 .L10:
  579. 210 010a 00BF .align 2
  580. 211 .L9:
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 11
  582. 212 010c 00380140 .word 1073821696
  583. 213 0110 00440040 .word 1073759232
  584. 214 0114 00480040 .word 1073760256
  585. 215 0118 00000000 .word .LC0
  586. 216 011c 004C0040 .word 1073761280
  587. 217 0120 00500040 .word 1073762304
  588. 218 .cfi_endproc
  589. 219 .LFE130:
  590. 221 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
  591. 222 .align 1
  592. 223 .global HAL_HalfDuplex_Init
  593. 224 .syntax unified
  594. 225 .thumb
  595. 226 .thumb_func
  596. 228 HAL_HalfDuplex_Init:
  597. 229 .LFB131:
  598. 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  599. 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  600. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified
  601. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
  602. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  603. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  604. 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  605. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
  606. 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  607. 230 .loc 1 365 1
  608. 231 .cfi_startproc
  609. 232 @ args = 0, pretend = 0, frame = 8
  610. 233 @ frame_needed = 1, uses_anonymous_args = 0
  611. 234 0000 80B5 push {r7, lr}
  612. 235 .LCFI5:
  613. 236 .cfi_def_cfa_offset 8
  614. 237 .cfi_offset 7, -8
  615. 238 .cfi_offset 14, -4
  616. 239 0002 82B0 sub sp, sp, #8
  617. 240 .LCFI6:
  618. 241 .cfi_def_cfa_offset 16
  619. 242 0004 00AF add r7, sp, #0
  620. 243 .LCFI7:
  621. 244 .cfi_def_cfa_register 7
  622. 245 0006 7860 str r0, [r7, #4]
  623. 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
  624. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
  625. 246 .loc 1 367 6
  626. 247 0008 7B68 ldr r3, [r7, #4]
  627. 248 000a 002B cmp r3, #0
  628. 249 000c 01D1 bne .L12
  629. 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  630. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  631. 250 .loc 1 369 12
  632. 251 000e 0123 movs r3, #1
  633. 252 0010 66E0 b .L13
  634. 253 .L12:
  635. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  636. 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  637. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check UART instance */
  638. 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 12
  640. 254 .loc 1 373 3
  641. 255 0012 7B68 ldr r3, [r7, #4]
  642. 256 0014 1B68 ldr r3, [r3]
  643. 257 0016 344A ldr r2, .L18
  644. 258 0018 9342 cmp r3, r2
  645. 259 001a 18D0 beq .L14
  646. 260 .loc 1 373 3 is_stmt 0 discriminator 1
  647. 261 001c 7B68 ldr r3, [r7, #4]
  648. 262 001e 1B68 ldr r3, [r3]
  649. 263 0020 324A ldr r2, .L18+4
  650. 264 0022 9342 cmp r3, r2
  651. 265 0024 13D0 beq .L14
  652. 266 .loc 1 373 3 discriminator 2
  653. 267 0026 7B68 ldr r3, [r7, #4]
  654. 268 0028 1B68 ldr r3, [r3]
  655. 269 002a 314A ldr r2, .L18+8
  656. 270 002c 9342 cmp r3, r2
  657. 271 002e 0ED0 beq .L14
  658. 272 .loc 1 373 3 discriminator 3
  659. 273 0030 7B68 ldr r3, [r7, #4]
  660. 274 0032 1B68 ldr r3, [r3]
  661. 275 0034 2F4A ldr r2, .L18+12
  662. 276 0036 9342 cmp r3, r2
  663. 277 0038 09D0 beq .L14
  664. 278 .loc 1 373 3 discriminator 4
  665. 279 003a 7B68 ldr r3, [r7, #4]
  666. 280 003c 1B68 ldr r3, [r3]
  667. 281 003e 2E4A ldr r2, .L18+16
  668. 282 0040 9342 cmp r3, r2
  669. 283 0042 04D0 beq .L14
  670. 284 .loc 1 373 3 discriminator 5
  671. 285 0044 40F27511 movw r1, #373
  672. 286 0048 2C48 ldr r0, .L18+20
  673. 287 004a FFF7FEFF bl assert_failed
  674. 288 .L14:
  675. 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  676. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  677. 289 .loc 1 375 12 is_stmt 1
  678. 290 004e 7B68 ldr r3, [r7, #4]
  679. 291 0050 DB6F ldr r3, [r3, #124]
  680. 292 .loc 1 375 6
  681. 293 0052 002B cmp r3, #0
  682. 294 0054 06D1 bne .L15
  683. 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  684. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  685. 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  686. 295 .loc 1 378 17
  687. 296 0056 7B68 ldr r3, [r7, #4]
  688. 297 0058 0022 movs r2, #0
  689. 298 005a 83F87820 strb r2, [r3, #120]
  690. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  691. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  692. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  693. 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  694. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  695. 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  696. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 13
  698. 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  699. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  700. 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
  701. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
  702. 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  703. 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  704. 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
  705. 299 .loc 1 392 5
  706. 300 005e 7868 ldr r0, [r7, #4]
  707. 301 0060 FFF7FEFF bl HAL_UART_MspInit
  708. 302 .L15:
  709. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  710. 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  711. 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  712. 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  713. 303 .loc 1 396 17
  714. 304 0064 7B68 ldr r3, [r7, #4]
  715. 305 0066 2422 movs r2, #36
  716. 306 0068 DA67 str r2, [r3, #124]
  717. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  718. 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  719. 307 .loc 1 398 3
  720. 308 006a 7B68 ldr r3, [r7, #4]
  721. 309 006c 1B68 ldr r3, [r3]
  722. 310 006e 1A68 ldr r2, [r3]
  723. 311 0070 7B68 ldr r3, [r7, #4]
  724. 312 0072 1B68 ldr r3, [r3]
  725. 313 0074 22F00102 bic r2, r2, #1
  726. 314 0078 1A60 str r2, [r3]
  727. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  728. 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
  729. 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
  730. 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
  731. 315 .loc 1 402 26
  732. 316 007a 7B68 ldr r3, [r7, #4]
  733. 317 007c 5B6A ldr r3, [r3, #36]
  734. 318 .loc 1 402 6
  735. 319 007e 002B cmp r3, #0
  736. 320 0080 02D0 beq .L16
  737. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  738. 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
  739. 321 .loc 1 404 5
  740. 322 0082 7868 ldr r0, [r7, #4]
  741. 323 0084 FFF7FEFF bl UART_AdvFeatureConfig
  742. 324 .L16:
  743. 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  744. 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  745. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
  746. 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
  747. 325 .loc 1 408 7
  748. 326 0088 7868 ldr r0, [r7, #4]
  749. 327 008a FFF7FEFF bl UART_SetConfig
  750. 328 008e 0346 mov r3, r0
  751. 329 .loc 1 408 6
  752. 330 0090 012B cmp r3, #1
  753. 331 0092 01D1 bne .L17
  754. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 14
  756. 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  757. 332 .loc 1 410 12
  758. 333 0094 0123 movs r3, #1
  759. 334 0096 23E0 b .L13
  760. 335 .L17:
  761. 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  762. 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  763. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
  764. 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
  765. 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
  766. 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
  767. 336 .loc 1 416 3
  768. 337 0098 7B68 ldr r3, [r7, #4]
  769. 338 009a 1B68 ldr r3, [r3]
  770. 339 009c 5A68 ldr r2, [r3, #4]
  771. 340 009e 7B68 ldr r3, [r7, #4]
  772. 341 00a0 1B68 ldr r3, [r3]
  773. 342 00a2 22F49042 bic r2, r2, #18432
  774. 343 00a6 5A60 str r2, [r3, #4]
  775. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
  776. 344 .loc 1 417 3
  777. 345 00a8 7B68 ldr r3, [r7, #4]
  778. 346 00aa 1B68 ldr r3, [r3]
  779. 347 00ac 9A68 ldr r2, [r3, #8]
  780. 348 00ae 7B68 ldr r3, [r7, #4]
  781. 349 00b0 1B68 ldr r3, [r3]
  782. 350 00b2 22F02202 bic r2, r2, #34
  783. 351 00b6 9A60 str r2, [r3, #8]
  784. 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  785. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
  786. 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
  787. 352 .loc 1 420 3
  788. 353 00b8 7B68 ldr r3, [r7, #4]
  789. 354 00ba 1B68 ldr r3, [r3]
  790. 355 00bc 9A68 ldr r2, [r3, #8]
  791. 356 00be 7B68 ldr r3, [r7, #4]
  792. 357 00c0 1B68 ldr r3, [r3]
  793. 358 00c2 42F00802 orr r2, r2, #8
  794. 359 00c6 9A60 str r2, [r3, #8]
  795. 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  796. 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  797. 360 .loc 1 422 3
  798. 361 00c8 7B68 ldr r3, [r7, #4]
  799. 362 00ca 1B68 ldr r3, [r3]
  800. 363 00cc 1A68 ldr r2, [r3]
  801. 364 00ce 7B68 ldr r3, [r7, #4]
  802. 365 00d0 1B68 ldr r3, [r3]
  803. 366 00d2 42F00102 orr r2, r2, #1
  804. 367 00d6 1A60 str r2, [r3]
  805. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  806. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
  807. 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
  808. 368 .loc 1 425 11
  809. 369 00d8 7868 ldr r0, [r7, #4]
  810. 370 00da FFF7FEFF bl UART_CheckIdleState
  811. 371 00de 0346 mov r3, r0
  812. 372 .L13:
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 15
  814. 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  815. 373 .loc 1 426 1
  816. 374 00e0 1846 mov r0, r3
  817. 375 00e2 0837 adds r7, r7, #8
  818. 376 .LCFI8:
  819. 377 .cfi_def_cfa_offset 8
  820. 378 00e4 BD46 mov sp, r7
  821. 379 .LCFI9:
  822. 380 .cfi_def_cfa_register 13
  823. 381 @ sp needed
  824. 382 00e6 80BD pop {r7, pc}
  825. 383 .L19:
  826. 384 .align 2
  827. 385 .L18:
  828. 386 00e8 00380140 .word 1073821696
  829. 387 00ec 00440040 .word 1073759232
  830. 388 00f0 00480040 .word 1073760256
  831. 389 00f4 004C0040 .word 1073761280
  832. 390 00f8 00500040 .word 1073762304
  833. 391 00fc 00000000 .word .LC0
  834. 392 .cfi_endproc
  835. 393 .LFE131:
  836. 395 .section .text.HAL_LIN_Init,"ax",%progbits
  837. 396 .align 1
  838. 397 .global HAL_LIN_Init
  839. 398 .syntax unified
  840. 399 .thumb
  841. 400 .thumb_func
  842. 402 HAL_LIN_Init:
  843. 403 .LFB132:
  844. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  845. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  846. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  847. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified
  848. 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
  849. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  850. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
  851. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
  852. 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection
  853. 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection
  854. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  855. 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  856. 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
  857. 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  858. 404 .loc 1 440 1
  859. 405 .cfi_startproc
  860. 406 @ args = 0, pretend = 0, frame = 8
  861. 407 @ frame_needed = 1, uses_anonymous_args = 0
  862. 408 0000 80B5 push {r7, lr}
  863. 409 .LCFI10:
  864. 410 .cfi_def_cfa_offset 8
  865. 411 .cfi_offset 7, -8
  866. 412 .cfi_offset 14, -4
  867. 413 0002 82B0 sub sp, sp, #8
  868. 414 .LCFI11:
  869. 415 .cfi_def_cfa_offset 16
  870. 416 0004 00AF add r7, sp, #0
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 16
  872. 417 .LCFI12:
  873. 418 .cfi_def_cfa_register 7
  874. 419 0006 7860 str r0, [r7, #4]
  875. 420 0008 3960 str r1, [r7]
  876. 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
  877. 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
  878. 421 .loc 1 442 6
  879. 422 000a 7B68 ldr r3, [r7, #4]
  880. 423 000c 002B cmp r3, #0
  881. 424 000e 01D1 bne .L21
  882. 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  883. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  884. 425 .loc 1 444 12
  885. 426 0010 0123 movs r3, #1
  886. 427 0012 88E0 b .L22
  887. 428 .L21:
  888. 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  889. 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  890. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the LIN UART instance */
  891. 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
  892. 429 .loc 1 448 3
  893. 430 0014 7B68 ldr r3, [r7, #4]
  894. 431 0016 1B68 ldr r3, [r3]
  895. 432 0018 454A ldr r2, .L30
  896. 433 001a 9342 cmp r3, r2
  897. 434 001c 18D0 beq .L23
  898. 435 .loc 1 448 3 is_stmt 0 discriminator 1
  899. 436 001e 7B68 ldr r3, [r7, #4]
  900. 437 0020 1B68 ldr r3, [r3]
  901. 438 0022 444A ldr r2, .L30+4
  902. 439 0024 9342 cmp r3, r2
  903. 440 0026 13D0 beq .L23
  904. 441 .loc 1 448 3 discriminator 2
  905. 442 0028 7B68 ldr r3, [r7, #4]
  906. 443 002a 1B68 ldr r3, [r3]
  907. 444 002c 424A ldr r2, .L30+8
  908. 445 002e 9342 cmp r3, r2
  909. 446 0030 0ED0 beq .L23
  910. 447 .loc 1 448 3 discriminator 3
  911. 448 0032 7B68 ldr r3, [r7, #4]
  912. 449 0034 1B68 ldr r3, [r3]
  913. 450 0036 414A ldr r2, .L30+12
  914. 451 0038 9342 cmp r3, r2
  915. 452 003a 09D0 beq .L23
  916. 453 .loc 1 448 3 discriminator 4
  917. 454 003c 7B68 ldr r3, [r7, #4]
  918. 455 003e 1B68 ldr r3, [r3]
  919. 456 0040 3F4A ldr r2, .L30+16
  920. 457 0042 9342 cmp r3, r2
  921. 458 0044 04D0 beq .L23
  922. 459 .loc 1 448 3 discriminator 5
  923. 460 0046 4FF4E071 mov r1, #448
  924. 461 004a 3E48 ldr r0, .L30+20
  925. 462 004c FFF7FEFF bl assert_failed
  926. 463 .L23:
  927. 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */
  928. 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 17
  930. 464 .loc 1 450 3 is_stmt 1
  931. 465 0050 3B68 ldr r3, [r7]
  932. 466 0052 002B cmp r3, #0
  933. 467 0054 07D0 beq .L24
  934. 468 .loc 1 450 3 is_stmt 0 discriminator 1
  935. 469 0056 3B68 ldr r3, [r7]
  936. 470 0058 202B cmp r3, #32
  937. 471 005a 04D0 beq .L24
  938. 472 .loc 1 450 3 discriminator 2
  939. 473 005c 4FF4E171 mov r1, #450
  940. 474 0060 3848 ldr r0, .L30+20
  941. 475 0062 FFF7FEFF bl assert_failed
  942. 476 .L24:
  943. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  944. 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */
  945. 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
  946. 477 .loc 1 453 18 is_stmt 1
  947. 478 0066 7B68 ldr r3, [r7, #4]
  948. 479 0068 DB69 ldr r3, [r3, #28]
  949. 480 .loc 1 453 6
  950. 481 006a B3F5004F cmp r3, #32768
  951. 482 006e 01D1 bne .L25
  952. 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  953. 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  954. 483 .loc 1 455 12
  955. 484 0070 0123 movs r3, #1
  956. 485 0072 58E0 b .L22
  957. 486 .L25:
  958. 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  959. 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */
  960. 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B)
  961. 487 .loc 1 458 18
  962. 488 0074 7B68 ldr r3, [r7, #4]
  963. 489 0076 9B68 ldr r3, [r3, #8]
  964. 490 .loc 1 458 6
  965. 491 0078 002B cmp r3, #0
  966. 492 007a 01D0 beq .L26
  967. 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  968. 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  969. 493 .loc 1 460 12
  970. 494 007c 0123 movs r3, #1
  971. 495 007e 52E0 b .L22
  972. 496 .L26:
  973. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  974. 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  975. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  976. 497 .loc 1 463 12
  977. 498 0080 7B68 ldr r3, [r7, #4]
  978. 499 0082 DB6F ldr r3, [r3, #124]
  979. 500 .loc 1 463 6
  980. 501 0084 002B cmp r3, #0
  981. 502 0086 06D1 bne .L27
  982. 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  983. 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  984. 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  985. 503 .loc 1 466 17
  986. 504 0088 7B68 ldr r3, [r7, #4]
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 18
  988. 505 008a 0022 movs r2, #0
  989. 506 008c 83F87820 strb r2, [r3, #120]
  990. 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  991. 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  992. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  993. 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  994. 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  995. 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  996. 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  997. 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  998. 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  999. 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
  1000. 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
  1001. 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  1002. 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  1003. 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
  1004. 507 .loc 1 480 5
  1005. 508 0090 7868 ldr r0, [r7, #4]
  1006. 509 0092 FFF7FEFF bl HAL_UART_MspInit
  1007. 510 .L27:
  1008. 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  1009. 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1010. 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1011. 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  1012. 511 .loc 1 484 17
  1013. 512 0096 7B68 ldr r3, [r7, #4]
  1014. 513 0098 2422 movs r2, #36
  1015. 514 009a DA67 str r2, [r3, #124]
  1016. 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1017. 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  1018. 515 .loc 1 486 3
  1019. 516 009c 7B68 ldr r3, [r7, #4]
  1020. 517 009e 1B68 ldr r3, [r3]
  1021. 518 00a0 1A68 ldr r2, [r3]
  1022. 519 00a2 7B68 ldr r3, [r7, #4]
  1023. 520 00a4 1B68 ldr r3, [r3]
  1024. 521 00a6 22F00102 bic r2, r2, #1
  1025. 522 00aa 1A60 str r2, [r3]
  1026. 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1027. 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
  1028. 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
  1029. 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
  1030. 523 .loc 1 490 26
  1031. 524 00ac 7B68 ldr r3, [r7, #4]
  1032. 525 00ae 5B6A ldr r3, [r3, #36]
  1033. 526 .loc 1 490 6
  1034. 527 00b0 002B cmp r3, #0
  1035. 528 00b2 02D0 beq .L28
  1036. 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1037. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
  1038. 529 .loc 1 492 5
  1039. 530 00b4 7868 ldr r0, [r7, #4]
  1040. 531 00b6 FFF7FEFF bl UART_AdvFeatureConfig
  1041. 532 .L28:
  1042. 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1043. 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1044. 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 19
  1046. 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
  1047. 533 .loc 1 496 7
  1048. 534 00ba 7868 ldr r0, [r7, #4]
  1049. 535 00bc FFF7FEFF bl UART_SetConfig
  1050. 536 00c0 0346 mov r3, r0
  1051. 537 .loc 1 496 6
  1052. 538 00c2 012B cmp r3, #1
  1053. 539 00c4 01D1 bne .L29
  1054. 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1055. 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  1056. 540 .loc 1 498 12
  1057. 541 00c6 0123 movs r3, #1
  1058. 542 00c8 2DE0 b .L22
  1059. 543 .L29:
  1060. 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1061. 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1062. 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
  1063. 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
  1064. 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
  1065. 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
  1066. 544 .loc 1 504 3
  1067. 545 00ca 7B68 ldr r3, [r7, #4]
  1068. 546 00cc 1B68 ldr r3, [r3]
  1069. 547 00ce 5A68 ldr r2, [r3, #4]
  1070. 548 00d0 7B68 ldr r3, [r7, #4]
  1071. 549 00d2 1B68 ldr r3, [r3]
  1072. 550 00d4 22F40062 bic r2, r2, #2048
  1073. 551 00d8 5A60 str r2, [r3, #4]
  1074. 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
  1075. 552 .loc 1 505 3
  1076. 553 00da 7B68 ldr r3, [r7, #4]
  1077. 554 00dc 1B68 ldr r3, [r3]
  1078. 555 00de 9A68 ldr r2, [r3, #8]
  1079. 556 00e0 7B68 ldr r3, [r7, #4]
  1080. 557 00e2 1B68 ldr r3, [r3]
  1081. 558 00e4 22F02A02 bic r2, r2, #42
  1082. 559 00e8 9A60 str r2, [r3, #8]
  1083. 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1084. 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
  1085. 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
  1086. 560 .loc 1 508 3
  1087. 561 00ea 7B68 ldr r3, [r7, #4]
  1088. 562 00ec 1B68 ldr r3, [r3]
  1089. 563 00ee 5A68 ldr r2, [r3, #4]
  1090. 564 00f0 7B68 ldr r3, [r7, #4]
  1091. 565 00f2 1B68 ldr r3, [r3]
  1092. 566 00f4 42F48042 orr r2, r2, #16384
  1093. 567 00f8 5A60 str r2, [r3, #4]
  1094. 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1095. 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
  1096. 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength);
  1097. 568 .loc 1 511 3
  1098. 569 00fa 7B68 ldr r3, [r7, #4]
  1099. 570 00fc 1B68 ldr r3, [r3]
  1100. 571 00fe 5B68 ldr r3, [r3, #4]
  1101. 572 0100 23F02001 bic r1, r3, #32
  1102. 573 0104 7B68 ldr r3, [r7, #4]
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 20
  1104. 574 0106 1B68 ldr r3, [r3]
  1105. 575 0108 3A68 ldr r2, [r7]
  1106. 576 010a 0A43 orrs r2, r2, r1
  1107. 577 010c 5A60 str r2, [r3, #4]
  1108. 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1109. 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  1110. 578 .loc 1 513 3
  1111. 579 010e 7B68 ldr r3, [r7, #4]
  1112. 580 0110 1B68 ldr r3, [r3]
  1113. 581 0112 1A68 ldr r2, [r3]
  1114. 582 0114 7B68 ldr r3, [r7, #4]
  1115. 583 0116 1B68 ldr r3, [r3]
  1116. 584 0118 42F00102 orr r2, r2, #1
  1117. 585 011c 1A60 str r2, [r3]
  1118. 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1119. 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
  1120. 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
  1121. 586 .loc 1 516 11
  1122. 587 011e 7868 ldr r0, [r7, #4]
  1123. 588 0120 FFF7FEFF bl UART_CheckIdleState
  1124. 589 0124 0346 mov r3, r0
  1125. 590 .L22:
  1126. 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1127. 591 .loc 1 517 1
  1128. 592 0126 1846 mov r0, r3
  1129. 593 0128 0837 adds r7, r7, #8
  1130. 594 .LCFI13:
  1131. 595 .cfi_def_cfa_offset 8
  1132. 596 012a BD46 mov sp, r7
  1133. 597 .LCFI14:
  1134. 598 .cfi_def_cfa_register 13
  1135. 599 @ sp needed
  1136. 600 012c 80BD pop {r7, pc}
  1137. 601 .L31:
  1138. 602 012e 00BF .align 2
  1139. 603 .L30:
  1140. 604 0130 00380140 .word 1073821696
  1141. 605 0134 00440040 .word 1073759232
  1142. 606 0138 00480040 .word 1073760256
  1143. 607 013c 004C0040 .word 1073761280
  1144. 608 0140 00500040 .word 1073762304
  1145. 609 0144 00000000 .word .LC0
  1146. 610 .cfi_endproc
  1147. 611 .LFE132:
  1148. 613 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
  1149. 614 .align 1
  1150. 615 .global HAL_MultiProcessor_Init
  1151. 616 .syntax unified
  1152. 617 .thumb
  1153. 618 .thumb_func
  1154. 620 HAL_MultiProcessor_Init:
  1155. 621 .LFB133:
  1156. 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1157. 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1158. 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1159. 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified
  1160. 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 21
  1162. 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  1163. 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long).
  1164. 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method.
  1165. 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
  1166. 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection
  1167. 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark
  1168. 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter
  1169. 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is useless and ignored by the initialization function.
  1170. 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection
  1171. 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to
  1172. 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API
  1173. 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after
  1174. 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessor_Init().
  1175. 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  1176. 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1177. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
  1178. 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1179. 622 .loc 1 539 1
  1180. 623 .cfi_startproc
  1181. 624 @ args = 0, pretend = 0, frame = 16
  1182. 625 @ frame_needed = 1, uses_anonymous_args = 0
  1183. 626 0000 80B5 push {r7, lr}
  1184. 627 .LCFI15:
  1185. 628 .cfi_def_cfa_offset 8
  1186. 629 .cfi_offset 7, -8
  1187. 630 .cfi_offset 14, -4
  1188. 631 0002 84B0 sub sp, sp, #16
  1189. 632 .LCFI16:
  1190. 633 .cfi_def_cfa_offset 24
  1191. 634 0004 00AF add r7, sp, #0
  1192. 635 .LCFI17:
  1193. 636 .cfi_def_cfa_register 7
  1194. 637 0006 F860 str r0, [r7, #12]
  1195. 638 0008 0B46 mov r3, r1
  1196. 639 000a 7A60 str r2, [r7, #4]
  1197. 640 000c FB72 strb r3, [r7, #11]
  1198. 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
  1199. 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
  1200. 641 .loc 1 541 6
  1201. 642 000e FB68 ldr r3, [r7, #12]
  1202. 643 0010 002B cmp r3, #0
  1203. 644 0012 01D1 bne .L33
  1204. 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1205. 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  1206. 645 .loc 1 543 12
  1207. 646 0014 0123 movs r3, #1
  1208. 647 0016 65E0 b .L34
  1209. 648 .L33:
  1210. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1211. 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1212. 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the wake up method parameter */
  1213. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
  1214. 649 .loc 1 547 3
  1215. 650 0018 7B68 ldr r3, [r7, #4]
  1216. 651 001a 002B cmp r3, #0
  1217. 652 001c 08D0 beq .L35
  1218. 653 .loc 1 547 3 is_stmt 0 discriminator 1
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 22
  1220. 654 001e 7B68 ldr r3, [r7, #4]
  1221. 655 0020 B3F5006F cmp r3, #2048
  1222. 656 0024 04D0 beq .L35
  1223. 657 .loc 1 547 3 discriminator 2
  1224. 658 0026 40F22321 movw r1, #547
  1225. 659 002a 3048 ldr r0, .L40
  1226. 660 002c FFF7FEFF bl assert_failed
  1227. 661 .L35:
  1228. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1229. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  1230. 662 .loc 1 549 12 is_stmt 1
  1231. 663 0030 FB68 ldr r3, [r7, #12]
  1232. 664 0032 DB6F ldr r3, [r3, #124]
  1233. 665 .loc 1 549 6
  1234. 666 0034 002B cmp r3, #0
  1235. 667 0036 06D1 bne .L36
  1236. 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1237. 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  1238. 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  1239. 668 .loc 1 552 17
  1240. 669 0038 FB68 ldr r3, [r7, #12]
  1241. 670 003a 0022 movs r2, #0
  1242. 671 003c 83F87820 strb r2, [r3, #120]
  1243. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1244. 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  1245. 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  1246. 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1247. 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  1248. 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1249. 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  1250. 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1251. 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1252. 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
  1253. 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
  1254. 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  1255. 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  1256. 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
  1257. 672 .loc 1 566 5
  1258. 673 0040 F868 ldr r0, [r7, #12]
  1259. 674 0042 FFF7FEFF bl HAL_UART_MspInit
  1260. 675 .L36:
  1261. 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  1262. 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1263. 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1264. 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  1265. 676 .loc 1 570 17
  1266. 677 0046 FB68 ldr r3, [r7, #12]
  1267. 678 0048 2422 movs r2, #36
  1268. 679 004a DA67 str r2, [r3, #124]
  1269. 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1270. 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  1271. 680 .loc 1 572 3
  1272. 681 004c FB68 ldr r3, [r7, #12]
  1273. 682 004e 1B68 ldr r3, [r3]
  1274. 683 0050 1A68 ldr r2, [r3]
  1275. 684 0052 FB68 ldr r3, [r7, #12]
  1276. 685 0054 1B68 ldr r3, [r3]
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 23
  1278. 686 0056 22F00102 bic r2, r2, #1
  1279. 687 005a 1A60 str r2, [r3]
  1280. 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1281. 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
  1282. 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
  1283. 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
  1284. 688 .loc 1 576 26
  1285. 689 005c FB68 ldr r3, [r7, #12]
  1286. 690 005e 5B6A ldr r3, [r3, #36]
  1287. 691 .loc 1 576 6
  1288. 692 0060 002B cmp r3, #0
  1289. 693 0062 02D0 beq .L37
  1290. 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1291. 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
  1292. 694 .loc 1 578 5
  1293. 695 0064 F868 ldr r0, [r7, #12]
  1294. 696 0066 FFF7FEFF bl UART_AdvFeatureConfig
  1295. 697 .L37:
  1296. 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1297. 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1298. 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
  1299. 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
  1300. 698 .loc 1 582 7
  1301. 699 006a F868 ldr r0, [r7, #12]
  1302. 700 006c FFF7FEFF bl UART_SetConfig
  1303. 701 0070 0346 mov r3, r0
  1304. 702 .loc 1 582 6
  1305. 703 0072 012B cmp r3, #1
  1306. 704 0074 01D1 bne .L38
  1307. 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1308. 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  1309. 705 .loc 1 584 12
  1310. 706 0076 0123 movs r3, #1
  1311. 707 0078 34E0 b .L34
  1312. 708 .L38:
  1313. 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1314. 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1315. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared:
  1316. 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
  1317. 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */
  1318. 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
  1319. 709 .loc 1 590 3
  1320. 710 007a FB68 ldr r3, [r7, #12]
  1321. 711 007c 1B68 ldr r3, [r3]
  1322. 712 007e 5A68 ldr r2, [r3, #4]
  1323. 713 0080 FB68 ldr r3, [r7, #12]
  1324. 714 0082 1B68 ldr r3, [r3]
  1325. 715 0084 22F49042 bic r2, r2, #18432
  1326. 716 0088 5A60 str r2, [r3, #4]
  1327. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
  1328. 717 .loc 1 591 3
  1329. 718 008a FB68 ldr r3, [r7, #12]
  1330. 719 008c 1B68 ldr r3, [r3]
  1331. 720 008e 9A68 ldr r2, [r3, #8]
  1332. 721 0090 FB68 ldr r3, [r7, #12]
  1333. 722 0092 1B68 ldr r3, [r3]
  1334. 723 0094 22F02A02 bic r2, r2, #42
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 24
  1336. 724 0098 9A60 str r2, [r3, #8]
  1337. 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1338. 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK)
  1339. 725 .loc 1 593 6
  1340. 726 009a 7B68 ldr r3, [r7, #4]
  1341. 727 009c B3F5006F cmp r3, #2048
  1342. 728 00a0 0AD1 bne .L39
  1343. 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1344. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */
  1345. 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)
  1346. 729 .loc 1 596 5
  1347. 730 00a2 FB68 ldr r3, [r7, #12]
  1348. 731 00a4 1B68 ldr r3, [r3]
  1349. 732 00a6 5B68 ldr r3, [r3, #4]
  1350. 733 00a8 23F07F41 bic r1, r3, #-16777216
  1351. 734 00ac FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  1352. 735 00ae 1A06 lsls r2, r3, #24
  1353. 736 00b0 FB68 ldr r3, [r7, #12]
  1354. 737 00b2 1B68 ldr r3, [r3]
  1355. 738 00b4 0A43 orrs r2, r2, r1
  1356. 739 00b6 5A60 str r2, [r3, #4]
  1357. 740 .L39:
  1358. 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1359. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1360. 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
  1361. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod);
  1362. 741 .loc 1 600 3
  1363. 742 00b8 FB68 ldr r3, [r7, #12]
  1364. 743 00ba 1B68 ldr r3, [r3]
  1365. 744 00bc 1B68 ldr r3, [r3]
  1366. 745 00be 23F40061 bic r1, r3, #2048
  1367. 746 00c2 FB68 ldr r3, [r7, #12]
  1368. 747 00c4 1B68 ldr r3, [r3]
  1369. 748 00c6 7A68 ldr r2, [r7, #4]
  1370. 749 00c8 0A43 orrs r2, r2, r1
  1371. 750 00ca 1A60 str r2, [r3]
  1372. 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1373. 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  1374. 751 .loc 1 602 3
  1375. 752 00cc FB68 ldr r3, [r7, #12]
  1376. 753 00ce 1B68 ldr r3, [r3]
  1377. 754 00d0 1A68 ldr r2, [r3]
  1378. 755 00d2 FB68 ldr r3, [r7, #12]
  1379. 756 00d4 1B68 ldr r3, [r3]
  1380. 757 00d6 42F00102 orr r2, r2, #1
  1381. 758 00da 1A60 str r2, [r3]
  1382. 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1383. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
  1384. 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
  1385. 759 .loc 1 605 11
  1386. 760 00dc F868 ldr r0, [r7, #12]
  1387. 761 00de FFF7FEFF bl UART_CheckIdleState
  1388. 762 00e2 0346 mov r3, r0
  1389. 763 .L34:
  1390. 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1391. 764 .loc 1 606 1
  1392. 765 00e4 1846 mov r0, r3
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 25
  1394. 766 00e6 1037 adds r7, r7, #16
  1395. 767 .LCFI18:
  1396. 768 .cfi_def_cfa_offset 8
  1397. 769 00e8 BD46 mov sp, r7
  1398. 770 .LCFI19:
  1399. 771 .cfi_def_cfa_register 13
  1400. 772 @ sp needed
  1401. 773 00ea 80BD pop {r7, pc}
  1402. 774 .L41:
  1403. 775 .align 2
  1404. 776 .L40:
  1405. 777 00ec 00000000 .word .LC0
  1406. 778 .cfi_endproc
  1407. 779 .LFE133:
  1408. 781 .section .text.HAL_UART_DeInit,"ax",%progbits
  1409. 782 .align 1
  1410. 783 .global HAL_UART_DeInit
  1411. 784 .syntax unified
  1412. 785 .thumb
  1413. 786 .thumb_func
  1414. 788 HAL_UART_DeInit:
  1415. 789 .LFB134:
  1416. 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1417. 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1418. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1419. 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART peripheral.
  1420. 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  1421. 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  1422. 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1423. 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
  1424. 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1425. 790 .loc 1 615 1
  1426. 791 .cfi_startproc
  1427. 792 @ args = 0, pretend = 0, frame = 8
  1428. 793 @ frame_needed = 1, uses_anonymous_args = 0
  1429. 794 0000 80B5 push {r7, lr}
  1430. 795 .LCFI20:
  1431. 796 .cfi_def_cfa_offset 8
  1432. 797 .cfi_offset 7, -8
  1433. 798 .cfi_offset 14, -4
  1434. 799 0002 82B0 sub sp, sp, #8
  1435. 800 .LCFI21:
  1436. 801 .cfi_def_cfa_offset 16
  1437. 802 0004 00AF add r7, sp, #0
  1438. 803 .LCFI22:
  1439. 804 .cfi_def_cfa_register 7
  1440. 805 0006 7860 str r0, [r7, #4]
  1441. 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
  1442. 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
  1443. 806 .loc 1 617 6
  1444. 807 0008 7B68 ldr r3, [r7, #4]
  1445. 808 000a 002B cmp r3, #0
  1446. 809 000c 01D1 bne .L43
  1447. 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1448. 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  1449. 810 .loc 1 619 12
  1450. 811 000e 0123 movs r3, #1
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 26
  1452. 812 0010 4DE0 b .L44
  1453. 813 .L43:
  1454. 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1455. 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1456. 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
  1457. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  1458. 814 .loc 1 623 3
  1459. 815 0012 7B68 ldr r3, [r7, #4]
  1460. 816 0014 1B68 ldr r3, [r3]
  1461. 817 0016 284A ldr r2, .L46
  1462. 818 0018 9342 cmp r3, r2
  1463. 819 001a 18D0 beq .L45
  1464. 820 .loc 1 623 3 is_stmt 0 discriminator 1
  1465. 821 001c 7B68 ldr r3, [r7, #4]
  1466. 822 001e 1B68 ldr r3, [r3]
  1467. 823 0020 264A ldr r2, .L46+4
  1468. 824 0022 9342 cmp r3, r2
  1469. 825 0024 13D0 beq .L45
  1470. 826 .loc 1 623 3 discriminator 2
  1471. 827 0026 7B68 ldr r3, [r7, #4]
  1472. 828 0028 1B68 ldr r3, [r3]
  1473. 829 002a 254A ldr r2, .L46+8
  1474. 830 002c 9342 cmp r3, r2
  1475. 831 002e 0ED0 beq .L45
  1476. 832 .loc 1 623 3 discriminator 3
  1477. 833 0030 7B68 ldr r3, [r7, #4]
  1478. 834 0032 1B68 ldr r3, [r3]
  1479. 835 0034 234A ldr r2, .L46+12
  1480. 836 0036 9342 cmp r3, r2
  1481. 837 0038 09D0 beq .L45
  1482. 838 .loc 1 623 3 discriminator 4
  1483. 839 003a 7B68 ldr r3, [r7, #4]
  1484. 840 003c 1B68 ldr r3, [r3]
  1485. 841 003e 224A ldr r2, .L46+16
  1486. 842 0040 9342 cmp r3, r2
  1487. 843 0042 04D0 beq .L45
  1488. 844 .loc 1 623 3 discriminator 5
  1489. 845 0044 40F26F21 movw r1, #623
  1490. 846 0048 2048 ldr r0, .L46+20
  1491. 847 004a FFF7FEFF bl assert_failed
  1492. 848 .L45:
  1493. 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1494. 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  1495. 849 .loc 1 625 17 is_stmt 1
  1496. 850 004e 7B68 ldr r3, [r7, #4]
  1497. 851 0050 2422 movs r2, #36
  1498. 852 0052 DA67 str r2, [r3, #124]
  1499. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1500. 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  1501. 853 .loc 1 627 3
  1502. 854 0054 7B68 ldr r3, [r7, #4]
  1503. 855 0056 1B68 ldr r3, [r3]
  1504. 856 0058 1A68 ldr r2, [r3]
  1505. 857 005a 7B68 ldr r3, [r7, #4]
  1506. 858 005c 1B68 ldr r3, [r3]
  1507. 859 005e 22F00102 bic r2, r2, #1
  1508. 860 0062 1A60 str r2, [r3]
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 27
  1510. 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1511. 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR1 = 0x0U;
  1512. 861 .loc 1 629 8
  1513. 862 0064 7B68 ldr r3, [r7, #4]
  1514. 863 0066 1B68 ldr r3, [r3]
  1515. 864 .loc 1 629 24
  1516. 865 0068 0022 movs r2, #0
  1517. 866 006a 1A60 str r2, [r3]
  1518. 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
  1519. 867 .loc 1 630 8
  1520. 868 006c 7B68 ldr r3, [r7, #4]
  1521. 869 006e 1B68 ldr r3, [r3]
  1522. 870 .loc 1 630 24
  1523. 871 0070 0022 movs r2, #0
  1524. 872 0072 5A60 str r2, [r3, #4]
  1525. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
  1526. 873 .loc 1 631 8
  1527. 874 0074 7B68 ldr r3, [r7, #4]
  1528. 875 0076 1B68 ldr r3, [r3]
  1529. 876 .loc 1 631 24
  1530. 877 0078 0022 movs r2, #0
  1531. 878 007a 9A60 str r2, [r3, #8]
  1532. 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1533. 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  1534. 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
  1535. 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1536. 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
  1537. 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1538. 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */
  1539. 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback(huart);
  1540. 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  1541. 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */
  1542. 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
  1543. 879 .loc 1 642 3
  1544. 880 007c 7868 ldr r0, [r7, #4]
  1545. 881 007e FFF7FEFF bl HAL_UART_MspDeInit
  1546. 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  1547. 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1548. 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  1549. 882 .loc 1 645 20
  1550. 883 0082 7B68 ldr r3, [r7, #4]
  1551. 884 0084 0022 movs r2, #0
  1552. 885 0086 C3F88420 str r2, [r3, #132]
  1553. 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
  1554. 886 .loc 1 646 17
  1555. 887 008a 7B68 ldr r3, [r7, #4]
  1556. 888 008c 0022 movs r2, #0
  1557. 889 008e DA67 str r2, [r3, #124]
  1558. 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
  1559. 890 .loc 1 647 18
  1560. 891 0090 7B68 ldr r3, [r7, #4]
  1561. 892 0092 0022 movs r2, #0
  1562. 893 0094 C3F88020 str r2, [r3, #128]
  1563. 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  1564. 894 .loc 1 648 24
  1565. 895 0098 7B68 ldr r3, [r7, #4]
  1566. 896 009a 0022 movs r2, #0
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 28
  1568. 897 009c 1A66 str r2, [r3, #96]
  1569. 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
  1570. 898 .loc 1 649 22
  1571. 899 009e 7B68 ldr r3, [r7, #4]
  1572. 900 00a0 0022 movs r2, #0
  1573. 901 00a2 5A66 str r2, [r3, #100]
  1574. 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1575. 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  1576. 902 .loc 1 651 3
  1577. 903 00a4 7B68 ldr r3, [r7, #4]
  1578. 904 00a6 0022 movs r2, #0
  1579. 905 00a8 83F87820 strb r2, [r3, #120]
  1580. 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1581. 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  1582. 906 .loc 1 653 10
  1583. 907 00ac 0023 movs r3, #0
  1584. 908 .L44:
  1585. 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1586. 909 .loc 1 654 1
  1587. 910 00ae 1846 mov r0, r3
  1588. 911 00b0 0837 adds r7, r7, #8
  1589. 912 .LCFI23:
  1590. 913 .cfi_def_cfa_offset 8
  1591. 914 00b2 BD46 mov sp, r7
  1592. 915 .LCFI24:
  1593. 916 .cfi_def_cfa_register 13
  1594. 917 @ sp needed
  1595. 918 00b4 80BD pop {r7, pc}
  1596. 919 .L47:
  1597. 920 00b6 00BF .align 2
  1598. 921 .L46:
  1599. 922 00b8 00380140 .word 1073821696
  1600. 923 00bc 00440040 .word 1073759232
  1601. 924 00c0 00480040 .word 1073760256
  1602. 925 00c4 004C0040 .word 1073761280
  1603. 926 00c8 00500040 .word 1073762304
  1604. 927 00cc 00000000 .word .LC0
  1605. 928 .cfi_endproc
  1606. 929 .LFE134:
  1607. 931 .section .text.HAL_UART_MspInit,"ax",%progbits
  1608. 932 .align 1
  1609. 933 .weak HAL_UART_MspInit
  1610. 934 .syntax unified
  1611. 935 .thumb
  1612. 936 .thumb_func
  1613. 938 HAL_UART_MspInit:
  1614. 939 .LFB135:
  1615. 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1616. 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1617. 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the UART MSP.
  1618. 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  1619. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  1620. 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1621. 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
  1622. 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1623. 940 .loc 1 662 1
  1624. 941 .cfi_startproc
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 29
  1626. 942 @ args = 0, pretend = 0, frame = 8
  1627. 943 @ frame_needed = 1, uses_anonymous_args = 0
  1628. 944 @ link register save eliminated.
  1629. 945 0000 80B4 push {r7}
  1630. 946 .LCFI25:
  1631. 947 .cfi_def_cfa_offset 4
  1632. 948 .cfi_offset 7, -4
  1633. 949 0002 83B0 sub sp, sp, #12
  1634. 950 .LCFI26:
  1635. 951 .cfi_def_cfa_offset 16
  1636. 952 0004 00AF add r7, sp, #0
  1637. 953 .LCFI27:
  1638. 954 .cfi_def_cfa_register 7
  1639. 955 0006 7860 str r0, [r7, #4]
  1640. 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  1641. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  1642. 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1643. 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  1644. 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file
  1645. 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1646. 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1647. 956 .loc 1 669 1
  1648. 957 0008 00BF nop
  1649. 958 000a 0C37 adds r7, r7, #12
  1650. 959 .LCFI28:
  1651. 960 .cfi_def_cfa_offset 4
  1652. 961 000c BD46 mov sp, r7
  1653. 962 .LCFI29:
  1654. 963 .cfi_def_cfa_register 13
  1655. 964 @ sp needed
  1656. 965 000e 5DF8047B ldr r7, [sp], #4
  1657. 966 .LCFI30:
  1658. 967 .cfi_restore 7
  1659. 968 .cfi_def_cfa_offset 0
  1660. 969 0012 7047 bx lr
  1661. 970 .cfi_endproc
  1662. 971 .LFE135:
  1663. 973 .section .text.HAL_UART_MspDeInit,"ax",%progbits
  1664. 974 .align 1
  1665. 975 .weak HAL_UART_MspDeInit
  1666. 976 .syntax unified
  1667. 977 .thumb
  1668. 978 .thumb_func
  1669. 980 HAL_UART_MspDeInit:
  1670. 981 .LFB136:
  1671. 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1672. 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1673. 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART MSP.
  1674. 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  1675. 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  1676. 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1677. 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
  1678. 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1679. 982 .loc 1 677 1
  1680. 983 .cfi_startproc
  1681. 984 @ args = 0, pretend = 0, frame = 8
  1682. 985 @ frame_needed = 1, uses_anonymous_args = 0
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 30
  1684. 986 @ link register save eliminated.
  1685. 987 0000 80B4 push {r7}
  1686. 988 .LCFI31:
  1687. 989 .cfi_def_cfa_offset 4
  1688. 990 .cfi_offset 7, -4
  1689. 991 0002 83B0 sub sp, sp, #12
  1690. 992 .LCFI32:
  1691. 993 .cfi_def_cfa_offset 16
  1692. 994 0004 00AF add r7, sp, #0
  1693. 995 .LCFI33:
  1694. 996 .cfi_def_cfa_register 7
  1695. 997 0006 7860 str r0, [r7, #4]
  1696. 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  1697. 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  1698. 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1699. 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  1700. 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file
  1701. 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1702. 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1703. 998 .loc 1 684 1
  1704. 999 0008 00BF nop
  1705. 1000 000a 0C37 adds r7, r7, #12
  1706. 1001 .LCFI34:
  1707. 1002 .cfi_def_cfa_offset 4
  1708. 1003 000c BD46 mov sp, r7
  1709. 1004 .LCFI35:
  1710. 1005 .cfi_def_cfa_register 13
  1711. 1006 @ sp needed
  1712. 1007 000e 5DF8047B ldr r7, [sp], #4
  1713. 1008 .LCFI36:
  1714. 1009 .cfi_restore 7
  1715. 1010 .cfi_def_cfa_offset 0
  1716. 1011 0012 7047 bx lr
  1717. 1012 .cfi_endproc
  1718. 1013 .LFE136:
  1719. 1015 .section .text.HAL_UART_Transmit,"ax",%progbits
  1720. 1016 .align 1
  1721. 1017 .global HAL_UART_Transmit
  1722. 1018 .syntax unified
  1723. 1019 .thumb
  1724. 1020 .thumb_func
  1725. 1022 HAL_UART_Transmit:
  1726. 1023 .LFB137:
  1727. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1728. 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  1729. 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1730. 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Callback
  1731. 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used to override the weak predefined callback
  1732. 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In
  1733. 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET
  1734. 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID
  1735. 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle
  1736. 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
  1737. 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
  1738. 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
  1739. 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
  1740. 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 31
  1742. 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
  1743. 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
  1744. 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
  1745. 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
  1746. 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
  1747. 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
  1748. 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
  1749. 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
  1750. 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback pointer to the Callback function
  1751. 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  1752. 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1753. 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
  1754. 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
  1755. 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1756. 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  1757. 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1758. 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL)
  1759. 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1760. 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1761. 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1762. 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  1763. 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1764. 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1765. 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  1766. 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1767. 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
  1768. 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1769. 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
  1770. 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
  1771. 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1772. 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1773. 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
  1774. 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
  1775. 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1776. 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1777. 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
  1778. 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
  1779. 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1780. 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1781. 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
  1782. 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
  1783. 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1784. 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1785. 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
  1786. 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = pCallback;
  1787. 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1788. 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1789. 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
  1790. 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
  1791. 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1792. 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1793. 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
  1794. 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
  1795. 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1796. 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1797. 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
  1798. 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 32
  1800. 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1801. 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1802. 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
  1803. 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = pCallback;
  1804. 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1805. 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1806. 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1807. 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1808. 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback;
  1809. 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1810. 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1811. 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1812. 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
  1813. 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1814. 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1815. 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
  1816. 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1817. 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1818. 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  1819. 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1820. 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1821. 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1822. 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
  1823. 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1824. 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
  1825. 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1826. 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1827. 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback;
  1828. 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1829. 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1830. 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1831. 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
  1832. 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1833. 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1834. 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
  1835. 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1836. 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1837. 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  1838. 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1839. 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1840. 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1841. 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  1842. 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1843. 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1844. 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1845. 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  1846. 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1847. 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1848. 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
  1849. 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1850. 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1851. 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1852. 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Unregister an UART Callback
  1853. 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
  1854. 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_
  1855. 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET
  1856. 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 33
  1858. 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle
  1859. 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
  1860. 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
  1861. 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
  1862. 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
  1863. 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
  1864. 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
  1865. 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
  1866. 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
  1867. 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
  1868. 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
  1869. 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
  1870. 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
  1871. 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
  1872. 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  1873. 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1874. 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
  1875. 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1876. 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  1877. 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1878. 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
  1879. 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1880. 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
  1881. 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1882. 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
  1883. 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
  1884. 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1885. 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1886. 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
  1887. 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
  1888. 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1889. 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1890. 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
  1891. 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
  1892. 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1893. 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1894. 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
  1895. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
  1896. 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1897. 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1898. 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
  1899. 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
  1900. 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1901. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1902. 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
  1903. 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
  1904. 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1905. 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1906. 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
  1907. 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak
  1908. 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortTransmitCplt
  1909. 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1910. 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1911. 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
  1912. 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak
  1913. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortReceiveCpltC
  1914. 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 34
  1916. 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1917. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
  1918. 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu
  1919. 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1920. 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1921. 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1922. 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
  1923. 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1924. 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1925. 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1926. 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
  1927. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1928. 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1929. 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
  1930. 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1931. 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1932. 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  1933. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1934. 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1935. 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1936. 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
  1937. 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1938. 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
  1939. 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1940. 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1941. 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  1942. 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1943. 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1944. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1945. 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
  1946. 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1947. 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1948. 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
  1949. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1950. 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1951. 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  1952. 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  1953. 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1954. 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1955. 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  1956. 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1957. 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1958. 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1959. 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  1960. 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1961. 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1962. 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
  1963. 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1964. 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1965. 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1966. 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
  1967. 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used instead of the weak predefined callback
  1968. 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle
  1969. 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
  1970. 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  1971. 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  1972. 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 35
  1974. 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1975. 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  1976. 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1977. 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL)
  1978. 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1979. 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1980. 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1981. 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  1982. 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1983. 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1984. 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  1985. 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1986. 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = pCallback;
  1987. 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1988. 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  1989. 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  1990. 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1991. 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1992. 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  1993. 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1994. 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1995. 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
  1996. 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  1997. 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  1998. 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  1999. 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
  2000. 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
  2001. 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle
  2002. 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  2003. 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  2004. 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
  2005. 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2006. 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  2007. 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2008. 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  2009. 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2010. 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
  2011. 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2012. 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2013. 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2014. 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  2015. 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2016. 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
  2017. 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2018. 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2019. 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
  2020. 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2021. 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2022. 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  2023. 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2024. 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  2025. 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
  2026. 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  2027. 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2028. 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
  2029. 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Transmit/Receive functions
  2030. 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 36
  2032. 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
  2033. 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  2034. 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### IO operation functions #####
  2035. 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  2036. 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
  2037. 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and Half duplex data transfers.
  2038. 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2039. 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) There are two mode of transfer:
  2040. 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
  2041. 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
  2042. 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** after finishing transfer.
  2043. 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
  2044. 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** or DMA, These API's return the HAL status.
  2045. 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The end of the data processing will be indicated through the
  2046. 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
  2047. 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** using DMA mode.
  2048. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
  2049. 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process
  2050. 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
  2051. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2052. 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Blocking mode API's are :
  2053. 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit()
  2054. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive()
  2055. 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2056. 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
  2057. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
  2058. 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
  2059. 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
  2060. 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2061. 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
  2062. 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
  2063. 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
  2064. 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAPause()
  2065. 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAResume()
  2066. 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAStop()
  2067. 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2068. 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
  2069. 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
  2070. 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
  2071. 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
  2072. 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
  2073. 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
  2074. 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2075. 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
  2076. 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort()
  2077. 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
  2078. 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
  2079. 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
  2080. 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
  2081. 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
  2082. 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2083. 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
  2084. 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
  2085. 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
  2086. 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
  2087. 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2088. 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 37
  2090. 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** reception services:
  2091. 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
  2092. 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2093. 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
  2094. 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Errors are handled as follows :
  2095. 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
  2096. 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error
  2097. 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in Interrupt mode reception .
  2098. 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
  2099. 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed.
  2100. 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Transfer is kept ongoing on UART side.
  2101. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
  2102. 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
  2103. 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
  2104. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback()
  2105. 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** user callback is executed.
  2106. 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2107. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
  2108. 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
  2109. 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2110. 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
  2111. 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  2112. 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  2113. 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2114. 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  2115. 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in blocking mode.
  2116. 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  2117. 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
  2118. 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData.
  2119. 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  2120. 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  2121. 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
  2122. 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration.
  2123. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  2124. 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  2125. 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size,
  2126. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2127. 1024 .loc 1 1077 1
  2128. 1025 .cfi_startproc
  2129. 1026 @ args = 0, pretend = 0, frame = 32
  2130. 1027 @ frame_needed = 1, uses_anonymous_args = 0
  2131. 1028 0000 80B5 push {r7, lr}
  2132. 1029 .LCFI37:
  2133. 1030 .cfi_def_cfa_offset 8
  2134. 1031 .cfi_offset 7, -8
  2135. 1032 .cfi_offset 14, -4
  2136. 1033 0002 8AB0 sub sp, sp, #40
  2137. 1034 .LCFI38:
  2138. 1035 .cfi_def_cfa_offset 48
  2139. 1036 0004 02AF add r7, sp, #8
  2140. 1037 .LCFI39:
  2141. 1038 .cfi_def_cfa 7, 40
  2142. 1039 0006 F860 str r0, [r7, #12]
  2143. 1040 0008 B960 str r1, [r7, #8]
  2144. 1041 000a 3B60 str r3, [r7]
  2145. 1042 000c 1346 mov r3, r2 @ movhi
  2146. 1043 000e FB80 strh r3, [r7, #6] @ movhi
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 38
  2148. 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits;
  2149. 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *pdata16bits;
  2150. 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart;
  2151. 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2152. 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
  2153. 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  2154. 1044 .loc 1 1083 12
  2155. 1045 0010 FB68 ldr r3, [r7, #12]
  2156. 1046 0012 DB6F ldr r3, [r3, #124]
  2157. 1047 .loc 1 1083 6
  2158. 1048 0014 202B cmp r3, #32
  2159. 1049 0016 78D1 bne .L51
  2160. 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2161. 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  2162. 1050 .loc 1 1085 8
  2163. 1051 0018 BB68 ldr r3, [r7, #8]
  2164. 1052 001a 002B cmp r3, #0
  2165. 1053 001c 02D0 beq .L52
  2166. 1054 .loc 1 1085 25 discriminator 1
  2167. 1055 001e FB88 ldrh r3, [r7, #6]
  2168. 1056 0020 002B cmp r3, #0
  2169. 1057 0022 01D1 bne .L53
  2170. 1058 .L52:
  2171. 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2172. 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  2173. 1059 .loc 1 1087 15
  2174. 1060 0024 0123 movs r3, #1
  2175. 1061 0026 71E0 b .L54
  2176. 1062 .L53:
  2177. 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2178. 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2179. 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  2180. 1063 .loc 1 1090 22
  2181. 1064 0028 FB68 ldr r3, [r7, #12]
  2182. 1065 002a 0022 movs r2, #0
  2183. 1066 002c C3F88420 str r2, [r3, #132]
  2184. 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
  2185. 1067 .loc 1 1091 19
  2186. 1068 0030 FB68 ldr r3, [r7, #12]
  2187. 1069 0032 2122 movs r2, #33
  2188. 1070 0034 DA67 str r2, [r3, #124]
  2189. 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2190. 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */
  2191. 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick();
  2192. 1071 .loc 1 1094 17
  2193. 1072 0036 FFF7FEFF bl HAL_GetTick
  2194. 1073 003a 7861 str r0, [r7, #20]
  2195. 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2196. 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size;
  2197. 1074 .loc 1 1096 24
  2198. 1075 003c FB68 ldr r3, [r7, #12]
  2199. 1076 003e FA88 ldrh r2, [r7, #6] @ movhi
  2200. 1077 0040 A3F85020 strh r2, [r3, #80] @ movhi
  2201. 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size;
  2202. 1078 .loc 1 1097 24
  2203. 1079 0044 FB68 ldr r3, [r7, #12]
  2204. 1080 0046 FA88 ldrh r2, [r7, #6] @ movhi
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 39
  2206. 1081 0048 A3F85220 strh r2, [r3, #82] @ movhi
  2207. 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2208. 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
  2209. 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  2210. 1082 .loc 1 1100 21
  2211. 1083 004c FB68 ldr r3, [r7, #12]
  2212. 1084 004e 9B68 ldr r3, [r3, #8]
  2213. 1085 .loc 1 1100 8
  2214. 1086 0050 B3F5805F cmp r3, #4096
  2215. 1087 0054 08D1 bne .L55
  2216. 1088 .loc 1 1100 71 discriminator 1
  2217. 1089 0056 FB68 ldr r3, [r7, #12]
  2218. 1090 0058 1B69 ldr r3, [r3, #16]
  2219. 1091 .loc 1 1100 56 discriminator 1
  2220. 1092 005a 002B cmp r3, #0
  2221. 1093 005c 04D1 bne .L55
  2222. 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2223. 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL;
  2224. 1094 .loc 1 1102 19
  2225. 1095 005e 0023 movs r3, #0
  2226. 1096 0060 FB61 str r3, [r7, #28]
  2227. 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
  2228. 1097 .loc 1 1103 19
  2229. 1098 0062 BB68 ldr r3, [r7, #8]
  2230. 1099 0064 BB61 str r3, [r7, #24]
  2231. 1100 0066 03E0 b .L56
  2232. 1101 .L55:
  2233. 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2234. 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2235. 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2236. 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData;
  2237. 1102 .loc 1 1107 19
  2238. 1103 0068 BB68 ldr r3, [r7, #8]
  2239. 1104 006a FB61 str r3, [r7, #28]
  2240. 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL;
  2241. 1105 .loc 1 1108 19
  2242. 1106 006c 0023 movs r3, #0
  2243. 1107 006e BB61 str r3, [r7, #24]
  2244. 1108 .L56:
  2245. 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2246. 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2247. 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->TxXferCount > 0U)
  2248. 1109 .loc 1 1111 11
  2249. 1110 0070 30E0 b .L57
  2250. 1111 .L61:
  2251. 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2252. 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
  2253. 1112 .loc 1 1113 11
  2254. 1113 0072 3B68 ldr r3, [r7]
  2255. 1114 0074 0093 str r3, [sp]
  2256. 1115 0076 7B69 ldr r3, [r7, #20]
  2257. 1116 0078 0022 movs r2, #0
  2258. 1117 007a 8021 movs r1, #128
  2259. 1118 007c F868 ldr r0, [r7, #12]
  2260. 1119 007e FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  2261. 1120 0082 0346 mov r3, r0
  2262. 1121 .loc 1 1113 10
  2263. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 40
  2264. 1122 0084 002B cmp r3, #0
  2265. 1123 0086 04D0 beq .L58
  2266. 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2267. 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2268. 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  2269. 1124 .loc 1 1116 23
  2270. 1125 0088 FB68 ldr r3, [r7, #12]
  2271. 1126 008a 2022 movs r2, #32
  2272. 1127 008c DA67 str r2, [r3, #124]
  2273. 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2274. 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  2275. 1128 .loc 1 1118 16
  2276. 1129 008e 0323 movs r3, #3
  2277. 1130 0090 3CE0 b .L54
  2278. 1131 .L58:
  2279. 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2280. 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL)
  2281. 1132 .loc 1 1120 10
  2282. 1133 0092 FB69 ldr r3, [r7, #28]
  2283. 1134 0094 002B cmp r3, #0
  2284. 1135 0096 0BD1 bne .L59
  2285. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2286. 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
  2287. 1136 .loc 1 1122 43
  2288. 1137 0098 BB69 ldr r3, [r7, #24]
  2289. 1138 009a 1A88 ldrh r2, [r3]
  2290. 1139 .loc 1 1122 14
  2291. 1140 009c FB68 ldr r3, [r7, #12]
  2292. 1141 009e 1B68 ldr r3, [r3]
  2293. 1142 .loc 1 1122 32
  2294. 1143 00a0 C2F30802 ubfx r2, r2, #0, #9
  2295. 1144 00a4 92B2 uxth r2, r2
  2296. 1145 .loc 1 1122 30
  2297. 1146 00a6 1A85 strh r2, [r3, #40] @ movhi
  2298. 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++;
  2299. 1147 .loc 1 1123 20
  2300. 1148 00a8 BB69 ldr r3, [r7, #24]
  2301. 1149 00aa 0233 adds r3, r3, #2
  2302. 1150 00ac BB61 str r3, [r7, #24]
  2303. 1151 00ae 08E0 b .L60
  2304. 1152 .L59:
  2305. 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2306. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2307. 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2308. 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
  2309. 1153 .loc 1 1127 42
  2310. 1154 00b0 FB69 ldr r3, [r7, #28]
  2311. 1155 00b2 1A78 ldrb r2, [r3] @ zero_extendqisi2
  2312. 1156 .loc 1 1127 14
  2313. 1157 00b4 FB68 ldr r3, [r7, #12]
  2314. 1158 00b6 1B68 ldr r3, [r3]
  2315. 1159 .loc 1 1127 32
  2316. 1160 00b8 92B2 uxth r2, r2
  2317. 1161 .loc 1 1127 30
  2318. 1162 00ba 1A85 strh r2, [r3, #40] @ movhi
  2319. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++;
  2320. 1163 .loc 1 1128 19
  2321. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 41
  2322. 1164 00bc FB69 ldr r3, [r7, #28]
  2323. 1165 00be 0133 adds r3, r3, #1
  2324. 1166 00c0 FB61 str r3, [r7, #28]
  2325. 1167 .L60:
  2326. 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2327. 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
  2328. 1168 .loc 1 1130 12
  2329. 1169 00c2 FB68 ldr r3, [r7, #12]
  2330. 1170 00c4 B3F85230 ldrh r3, [r3, #82] @ movhi
  2331. 1171 00c8 9BB2 uxth r3, r3
  2332. 1172 .loc 1 1130 25
  2333. 1173 00ca 013B subs r3, r3, #1
  2334. 1174 00cc 9AB2 uxth r2, r3
  2335. 1175 00ce FB68 ldr r3, [r7, #12]
  2336. 1176 00d0 A3F85220 strh r2, [r3, #82] @ movhi
  2337. 1177 .L57:
  2338. 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2339. 1178 .loc 1 1111 17
  2340. 1179 00d4 FB68 ldr r3, [r7, #12]
  2341. 1180 00d6 B3F85230 ldrh r3, [r3, #82] @ movhi
  2342. 1181 00da 9BB2 uxth r3, r3
  2343. 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2344. 1182 .loc 1 1111 11
  2345. 1183 00dc 002B cmp r3, #0
  2346. 1184 00de C8D1 bne .L61
  2347. 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2348. 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2349. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
  2350. 1185 .loc 1 1133 9
  2351. 1186 00e0 3B68 ldr r3, [r7]
  2352. 1187 00e2 0093 str r3, [sp]
  2353. 1188 00e4 7B69 ldr r3, [r7, #20]
  2354. 1189 00e6 0022 movs r2, #0
  2355. 1190 00e8 4021 movs r1, #64
  2356. 1191 00ea F868 ldr r0, [r7, #12]
  2357. 1192 00ec FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  2358. 1193 00f0 0346 mov r3, r0
  2359. 1194 .loc 1 1133 8
  2360. 1195 00f2 002B cmp r3, #0
  2361. 1196 00f4 04D0 beq .L62
  2362. 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2363. 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  2364. 1197 .loc 1 1135 21
  2365. 1198 00f6 FB68 ldr r3, [r7, #12]
  2366. 1199 00f8 2022 movs r2, #32
  2367. 1200 00fa DA67 str r2, [r3, #124]
  2368. 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2369. 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  2370. 1201 .loc 1 1137 14
  2371. 1202 00fc 0323 movs r3, #3
  2372. 1203 00fe 05E0 b .L54
  2373. 1204 .L62:
  2374. 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2375. 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2376. 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
  2377. 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  2378. 1205 .loc 1 1141 19
  2379. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 42
  2380. 1206 0100 FB68 ldr r3, [r7, #12]
  2381. 1207 0102 2022 movs r2, #32
  2382. 1208 0104 DA67 str r2, [r3, #124]
  2383. 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2384. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  2385. 1209 .loc 1 1143 12
  2386. 1210 0106 0023 movs r3, #0
  2387. 1211 0108 00E0 b .L54
  2388. 1212 .L51:
  2389. 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2390. 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2391. 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2392. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  2393. 1213 .loc 1 1147 12
  2394. 1214 010a 0223 movs r3, #2
  2395. 1215 .L54:
  2396. 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2397. 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2398. 1216 .loc 1 1149 1
  2399. 1217 010c 1846 mov r0, r3
  2400. 1218 010e 2037 adds r7, r7, #32
  2401. 1219 .LCFI40:
  2402. 1220 .cfi_def_cfa_offset 8
  2403. 1221 0110 BD46 mov sp, r7
  2404. 1222 .LCFI41:
  2405. 1223 .cfi_def_cfa_register 13
  2406. 1224 @ sp needed
  2407. 1225 0112 80BD pop {r7, pc}
  2408. 1226 .cfi_endproc
  2409. 1227 .LFE137:
  2410. 1229 .section .text.HAL_UART_Receive,"ax",%progbits
  2411. 1230 .align 1
  2412. 1231 .global HAL_UART_Receive
  2413. 1232 .syntax unified
  2414. 1233 .thumb
  2415. 1234 .thumb_func
  2416. 1236 HAL_UART_Receive:
  2417. 1237 .LFB138:
  2418. 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2419. 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  2420. 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode.
  2421. 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  2422. 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
  2423. 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData.
  2424. 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  2425. 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  2426. 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  2427. 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration.
  2428. 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  2429. 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  2430. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
  2431. 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2432. 1238 .loc 1 1163 1
  2433. 1239 .cfi_startproc
  2434. 1240 @ args = 0, pretend = 0, frame = 32
  2435. 1241 @ frame_needed = 1, uses_anonymous_args = 0
  2436. 1242 0000 80B5 push {r7, lr}
  2437. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 43
  2438. 1243 .LCFI42:
  2439. 1244 .cfi_def_cfa_offset 8
  2440. 1245 .cfi_offset 7, -8
  2441. 1246 .cfi_offset 14, -4
  2442. 1247 0002 8AB0 sub sp, sp, #40
  2443. 1248 .LCFI43:
  2444. 1249 .cfi_def_cfa_offset 48
  2445. 1250 0004 02AF add r7, sp, #8
  2446. 1251 .LCFI44:
  2447. 1252 .cfi_def_cfa 7, 40
  2448. 1253 0006 F860 str r0, [r7, #12]
  2449. 1254 0008 B960 str r1, [r7, #8]
  2450. 1255 000a 3B60 str r3, [r7]
  2451. 1256 000c 1346 mov r3, r2 @ movhi
  2452. 1257 000e FB80 strh r3, [r7, #6] @ movhi
  2453. 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits;
  2454. 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *pdata16bits;
  2455. 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask;
  2456. 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart;
  2457. 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2458. 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  2459. 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  2460. 1258 .loc 1 1170 12
  2461. 1259 0010 FB68 ldr r3, [r7, #12]
  2462. 1260 0012 D3F88030 ldr r3, [r3, #128]
  2463. 1261 .loc 1 1170 6
  2464. 1262 0016 202B cmp r3, #32
  2465. 1263 0018 40F0A380 bne .L64
  2466. 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2467. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  2468. 1264 .loc 1 1172 8
  2469. 1265 001c BB68 ldr r3, [r7, #8]
  2470. 1266 001e 002B cmp r3, #0
  2471. 1267 0020 02D0 beq .L65
  2472. 1268 .loc 1 1172 25 discriminator 1
  2473. 1269 0022 FB88 ldrh r3, [r7, #6]
  2474. 1270 0024 002B cmp r3, #0
  2475. 1271 0026 01D1 bne .L66
  2476. 1272 .L65:
  2477. 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2478. 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  2479. 1273 .loc 1 1174 15
  2480. 1274 0028 0123 movs r3, #1
  2481. 1275 002a 9BE0 b .L67
  2482. 1276 .L66:
  2483. 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2484. 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2485. 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  2486. 1277 .loc 1 1177 22
  2487. 1278 002c FB68 ldr r3, [r7, #12]
  2488. 1279 002e 0022 movs r2, #0
  2489. 1280 0030 C3F88420 str r2, [r3, #132]
  2490. 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
  2491. 1281 .loc 1 1178 20
  2492. 1282 0034 FB68 ldr r3, [r7, #12]
  2493. 1283 0036 2222 movs r2, #34
  2494. 1284 0038 C3F88020 str r2, [r3, #128]
  2495. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 44
  2496. 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  2497. 1285 .loc 1 1179 26
  2498. 1286 003c FB68 ldr r3, [r7, #12]
  2499. 1287 003e 0022 movs r2, #0
  2500. 1288 0040 1A66 str r2, [r3, #96]
  2501. 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2502. 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */
  2503. 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick();
  2504. 1289 .loc 1 1182 17
  2505. 1290 0042 FFF7FEFF bl HAL_GetTick
  2506. 1291 0046 7861 str r0, [r7, #20]
  2507. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2508. 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size;
  2509. 1292 .loc 1 1184 24
  2510. 1293 0048 FB68 ldr r3, [r7, #12]
  2511. 1294 004a FA88 ldrh r2, [r7, #6] @ movhi
  2512. 1295 004c A3F85820 strh r2, [r3, #88] @ movhi
  2513. 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size;
  2514. 1296 .loc 1 1185 24
  2515. 1297 0050 FB68 ldr r3, [r7, #12]
  2516. 1298 0052 FA88 ldrh r2, [r7, #6] @ movhi
  2517. 1299 0054 A3F85A20 strh r2, [r3, #90] @ movhi
  2518. 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2519. 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
  2520. 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
  2521. 1300 .loc 1 1188 5
  2522. 1301 0058 FB68 ldr r3, [r7, #12]
  2523. 1302 005a 9B68 ldr r3, [r3, #8]
  2524. 1303 005c B3F5805F cmp r3, #4096
  2525. 1304 0060 0ED1 bne .L68
  2526. 1305 .loc 1 1188 5 is_stmt 0 discriminator 1
  2527. 1306 0062 FB68 ldr r3, [r7, #12]
  2528. 1307 0064 1B69 ldr r3, [r3, #16]
  2529. 1308 0066 002B cmp r3, #0
  2530. 1309 0068 05D1 bne .L69
  2531. 1310 .loc 1 1188 5 discriminator 3
  2532. 1311 006a FB68 ldr r3, [r7, #12]
  2533. 1312 006c 40F2FF12 movw r2, #511
  2534. 1313 0070 A3F85C20 strh r2, [r3, #92] @ movhi
  2535. 1314 0074 1AE0 b .L70
  2536. 1315 .L69:
  2537. 1316 .loc 1 1188 5 discriminator 4
  2538. 1317 0076 FB68 ldr r3, [r7, #12]
  2539. 1318 0078 FF22 movs r2, #255
  2540. 1319 007a A3F85C20 strh r2, [r3, #92] @ movhi
  2541. 1320 007e 15E0 b .L70
  2542. 1321 .L68:
  2543. 1322 .loc 1 1188 5 discriminator 2
  2544. 1323 0080 FB68 ldr r3, [r7, #12]
  2545. 1324 0082 9B68 ldr r3, [r3, #8]
  2546. 1325 0084 002B cmp r3, #0
  2547. 1326 0086 0DD1 bne .L71
  2548. 1327 .loc 1 1188 5 discriminator 5
  2549. 1328 0088 FB68 ldr r3, [r7, #12]
  2550. 1329 008a 1B69 ldr r3, [r3, #16]
  2551. 1330 008c 002B cmp r3, #0
  2552. 1331 008e 04D1 bne .L72
  2553. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 45
  2554. 1332 .loc 1 1188 5 discriminator 7
  2555. 1333 0090 FB68 ldr r3, [r7, #12]
  2556. 1334 0092 FF22 movs r2, #255
  2557. 1335 0094 A3F85C20 strh r2, [r3, #92] @ movhi
  2558. 1336 0098 08E0 b .L70
  2559. 1337 .L72:
  2560. 1338 .loc 1 1188 5 discriminator 8
  2561. 1339 009a FB68 ldr r3, [r7, #12]
  2562. 1340 009c 7F22 movs r2, #127
  2563. 1341 009e A3F85C20 strh r2, [r3, #92] @ movhi
  2564. 1342 00a2 03E0 b .L70
  2565. 1343 .L71:
  2566. 1344 .loc 1 1188 5 discriminator 6
  2567. 1345 00a4 FB68 ldr r3, [r7, #12]
  2568. 1346 00a6 0022 movs r2, #0
  2569. 1347 00a8 A3F85C20 strh r2, [r3, #92] @ movhi
  2570. 1348 .L70:
  2571. 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask;
  2572. 1349 .loc 1 1189 12 is_stmt 1
  2573. 1350 00ac FB68 ldr r3, [r7, #12]
  2574. 1351 00ae B3F85C30 ldrh r3, [r3, #92] @ movhi
  2575. 1352 00b2 7B82 strh r3, [r7, #18] @ movhi
  2576. 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2577. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
  2578. 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  2579. 1353 .loc 1 1192 21
  2580. 1354 00b4 FB68 ldr r3, [r7, #12]
  2581. 1355 00b6 9B68 ldr r3, [r3, #8]
  2582. 1356 .loc 1 1192 8
  2583. 1357 00b8 B3F5805F cmp r3, #4096
  2584. 1358 00bc 08D1 bne .L73
  2585. 1359 .loc 1 1192 71 discriminator 1
  2586. 1360 00be FB68 ldr r3, [r7, #12]
  2587. 1361 00c0 1B69 ldr r3, [r3, #16]
  2588. 1362 .loc 1 1192 56 discriminator 1
  2589. 1363 00c2 002B cmp r3, #0
  2590. 1364 00c4 04D1 bne .L73
  2591. 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2592. 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL;
  2593. 1365 .loc 1 1194 19
  2594. 1366 00c6 0023 movs r3, #0
  2595. 1367 00c8 FB61 str r3, [r7, #28]
  2596. 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
  2597. 1368 .loc 1 1195 19
  2598. 1369 00ca BB68 ldr r3, [r7, #8]
  2599. 1370 00cc BB61 str r3, [r7, #24]
  2600. 1371 00ce 03E0 b .L74
  2601. 1372 .L73:
  2602. 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2603. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2604. 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2605. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData;
  2606. 1373 .loc 1 1199 19
  2607. 1374 00d0 BB68 ldr r3, [r7, #8]
  2608. 1375 00d2 FB61 str r3, [r7, #28]
  2609. 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL;
  2610. 1376 .loc 1 1200 19
  2611. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 46
  2612. 1377 00d4 0023 movs r3, #0
  2613. 1378 00d6 BB61 str r3, [r7, #24]
  2614. 1379 .L74:
  2615. 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2616. 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2617. 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* as long as data have to be received */
  2618. 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->RxXferCount > 0U)
  2619. 1380 .loc 1 1204 11
  2620. 1381 00d8 37E0 b .L75
  2621. 1382 .L79:
  2622. 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2623. 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
  2624. 1383 .loc 1 1206 11
  2625. 1384 00da 3B68 ldr r3, [r7]
  2626. 1385 00dc 0093 str r3, [sp]
  2627. 1386 00de 7B69 ldr r3, [r7, #20]
  2628. 1387 00e0 0022 movs r2, #0
  2629. 1388 00e2 2021 movs r1, #32
  2630. 1389 00e4 F868 ldr r0, [r7, #12]
  2631. 1390 00e6 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  2632. 1391 00ea 0346 mov r3, r0
  2633. 1392 .loc 1 1206 10
  2634. 1393 00ec 002B cmp r3, #0
  2635. 1394 00ee 05D0 beq .L76
  2636. 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2637. 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  2638. 1395 .loc 1 1208 24
  2639. 1396 00f0 FB68 ldr r3, [r7, #12]
  2640. 1397 00f2 2022 movs r2, #32
  2641. 1398 00f4 C3F88020 str r2, [r3, #128]
  2642. 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2643. 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  2644. 1399 .loc 1 1210 16
  2645. 1400 00f8 0323 movs r3, #3
  2646. 1401 00fa 33E0 b .L67
  2647. 1402 .L76:
  2648. 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2649. 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL)
  2650. 1403 .loc 1 1212 10
  2651. 1404 00fc FB69 ldr r3, [r7, #28]
  2652. 1405 00fe 002B cmp r3, #0
  2653. 1406 0100 0CD1 bne .L77
  2654. 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2655. 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask);
  2656. 1407 .loc 1 1214 40
  2657. 1408 0102 FB68 ldr r3, [r7, #12]
  2658. 1409 0104 1B68 ldr r3, [r3]
  2659. 1410 .loc 1 1214 50
  2660. 1411 0106 9B8C ldrh r3, [r3, #36] @ movhi
  2661. 1412 0108 9AB2 uxth r2, r3
  2662. 1413 .loc 1 1214 24
  2663. 1414 010a 7B8A ldrh r3, [r7, #18] @ movhi
  2664. 1415 010c 1340 ands r3, r3, r2
  2665. 1416 010e 9AB2 uxth r2, r3
  2666. 1417 .loc 1 1214 22
  2667. 1418 0110 BB69 ldr r3, [r7, #24]
  2668. 1419 0112 1A80 strh r2, [r3] @ movhi
  2669. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 47
  2670. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++;
  2671. 1420 .loc 1 1215 20
  2672. 1421 0114 BB69 ldr r3, [r7, #24]
  2673. 1422 0116 0233 adds r3, r3, #2
  2674. 1423 0118 BB61 str r3, [r7, #24]
  2675. 1424 011a 0DE0 b .L78
  2676. 1425 .L77:
  2677. 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2678. 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2679. 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2680. 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
  2681. 1426 .loc 1 1219 38
  2682. 1427 011c FB68 ldr r3, [r7, #12]
  2683. 1428 011e 1B68 ldr r3, [r3]
  2684. 1429 .loc 1 1219 48
  2685. 1430 0120 9B8C ldrh r3, [r3, #36] @ movhi
  2686. 1431 0122 9BB2 uxth r3, r3
  2687. 1432 .loc 1 1219 23
  2688. 1433 0124 DAB2 uxtb r2, r3
  2689. 1434 .loc 1 1219 56
  2690. 1435 0126 7B8A ldrh r3, [r7, #18] @ movhi
  2691. 1436 0128 DBB2 uxtb r3, r3
  2692. 1437 .loc 1 1219 23
  2693. 1438 012a 1340 ands r3, r3, r2
  2694. 1439 012c DAB2 uxtb r2, r3
  2695. 1440 .loc 1 1219 21
  2696. 1441 012e FB69 ldr r3, [r7, #28]
  2697. 1442 0130 1A70 strb r2, [r3]
  2698. 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++;
  2699. 1443 .loc 1 1220 19
  2700. 1444 0132 FB69 ldr r3, [r7, #28]
  2701. 1445 0134 0133 adds r3, r3, #1
  2702. 1446 0136 FB61 str r3, [r7, #28]
  2703. 1447 .L78:
  2704. 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2705. 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--;
  2706. 1448 .loc 1 1222 12
  2707. 1449 0138 FB68 ldr r3, [r7, #12]
  2708. 1450 013a B3F85A30 ldrh r3, [r3, #90] @ movhi
  2709. 1451 013e 9BB2 uxth r3, r3
  2710. 1452 .loc 1 1222 25
  2711. 1453 0140 013B subs r3, r3, #1
  2712. 1454 0142 9AB2 uxth r2, r3
  2713. 1455 0144 FB68 ldr r3, [r7, #12]
  2714. 1456 0146 A3F85A20 strh r2, [r3, #90] @ movhi
  2715. 1457 .L75:
  2716. 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2717. 1458 .loc 1 1204 17
  2718. 1459 014a FB68 ldr r3, [r7, #12]
  2719. 1460 014c B3F85A30 ldrh r3, [r3, #90] @ movhi
  2720. 1461 0150 9BB2 uxth r3, r3
  2721. 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2722. 1462 .loc 1 1204 11
  2723. 1463 0152 002B cmp r3, #0
  2724. 1464 0154 C1D1 bne .L79
  2725. 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2726. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2727. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 48
  2728. 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  2729. 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  2730. 1465 .loc 1 1226 20
  2731. 1466 0156 FB68 ldr r3, [r7, #12]
  2732. 1467 0158 2022 movs r2, #32
  2733. 1468 015a C3F88020 str r2, [r3, #128]
  2734. 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2735. 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  2736. 1469 .loc 1 1228 12
  2737. 1470 015e 0023 movs r3, #0
  2738. 1471 0160 00E0 b .L67
  2739. 1472 .L64:
  2740. 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2741. 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2742. 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2743. 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  2744. 1473 .loc 1 1232 12
  2745. 1474 0162 0223 movs r3, #2
  2746. 1475 .L67:
  2747. 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2748. 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2749. 1476 .loc 1 1234 1
  2750. 1477 0164 1846 mov r0, r3
  2751. 1478 0166 2037 adds r7, r7, #32
  2752. 1479 .LCFI45:
  2753. 1480 .cfi_def_cfa_offset 8
  2754. 1481 0168 BD46 mov sp, r7
  2755. 1482 .LCFI46:
  2756. 1483 .cfi_def_cfa_register 13
  2757. 1484 @ sp needed
  2758. 1485 016a 80BD pop {r7, pc}
  2759. 1486 .cfi_endproc
  2760. 1487 .LFE138:
  2761. 1489 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
  2762. 1490 .align 1
  2763. 1491 .global HAL_UART_Transmit_IT
  2764. 1492 .syntax unified
  2765. 1493 .thumb
  2766. 1494 .thumb_func
  2767. 1496 HAL_UART_Transmit_IT:
  2768. 1497 .LFB139:
  2769. 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2770. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  2771. 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode.
  2772. 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  2773. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
  2774. 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData.
  2775. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  2776. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  2777. 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
  2778. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  2779. 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  2780. 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si
  2781. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2782. 1498 .loc 1 1247 1
  2783. 1499 .cfi_startproc
  2784. 1500 @ args = 0, pretend = 0, frame = 40
  2785. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 49
  2786. 1501 @ frame_needed = 1, uses_anonymous_args = 0
  2787. 1502 @ link register save eliminated.
  2788. 1503 0000 80B4 push {r7}
  2789. 1504 .LCFI47:
  2790. 1505 .cfi_def_cfa_offset 4
  2791. 1506 .cfi_offset 7, -4
  2792. 1507 0002 8BB0 sub sp, sp, #44
  2793. 1508 .LCFI48:
  2794. 1509 .cfi_def_cfa_offset 48
  2795. 1510 0004 00AF add r7, sp, #0
  2796. 1511 .LCFI49:
  2797. 1512 .cfi_def_cfa_register 7
  2798. 1513 0006 F860 str r0, [r7, #12]
  2799. 1514 0008 B960 str r1, [r7, #8]
  2800. 1515 000a 1346 mov r3, r2
  2801. 1516 000c FB80 strh r3, [r7, #6] @ movhi
  2802. 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
  2803. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  2804. 1517 .loc 1 1249 12
  2805. 1518 000e FB68 ldr r3, [r7, #12]
  2806. 1519 0010 DB6F ldr r3, [r3, #124]
  2807. 1520 .loc 1 1249 6
  2808. 1521 0012 202B cmp r3, #32
  2809. 1522 0014 47D1 bne .L81
  2810. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2811. 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  2812. 1523 .loc 1 1251 8
  2813. 1524 0016 BB68 ldr r3, [r7, #8]
  2814. 1525 0018 002B cmp r3, #0
  2815. 1526 001a 02D0 beq .L82
  2816. 1527 .loc 1 1251 25 discriminator 1
  2817. 1528 001c FB88 ldrh r3, [r7, #6]
  2818. 1529 001e 002B cmp r3, #0
  2819. 1530 0020 01D1 bne .L83
  2820. 1531 .L82:
  2821. 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2822. 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  2823. 1532 .loc 1 1253 14
  2824. 1533 0022 0123 movs r3, #1
  2825. 1534 0024 40E0 b .L84
  2826. 1535 .L83:
  2827. 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2828. 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2829. 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData;
  2830. 1536 .loc 1 1256 24
  2831. 1537 0026 FB68 ldr r3, [r7, #12]
  2832. 1538 0028 BA68 ldr r2, [r7, #8]
  2833. 1539 002a DA64 str r2, [r3, #76]
  2834. 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size;
  2835. 1540 .loc 1 1257 24
  2836. 1541 002c FB68 ldr r3, [r7, #12]
  2837. 1542 002e FA88 ldrh r2, [r7, #6] @ movhi
  2838. 1543 0030 A3F85020 strh r2, [r3, #80] @ movhi
  2839. 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size;
  2840. 1544 .loc 1 1258 24
  2841. 1545 0034 FB68 ldr r3, [r7, #12]
  2842. 1546 0036 FA88 ldrh r2, [r7, #6] @ movhi
  2843. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 50
  2844. 1547 0038 A3F85220 strh r2, [r3, #82] @ movhi
  2845. 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
  2846. 1548 .loc 1 1259 24
  2847. 1549 003c FB68 ldr r3, [r7, #12]
  2848. 1550 003e 0022 movs r2, #0
  2849. 1551 0040 DA66 str r2, [r3, #108]
  2850. 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2851. 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  2852. 1552 .loc 1 1261 22
  2853. 1553 0042 FB68 ldr r3, [r7, #12]
  2854. 1554 0044 0022 movs r2, #0
  2855. 1555 0046 C3F88420 str r2, [r3, #132]
  2856. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
  2857. 1556 .loc 1 1262 19
  2858. 1557 004a FB68 ldr r3, [r7, #12]
  2859. 1558 004c 2122 movs r2, #33
  2860. 1559 004e DA67 str r2, [r3, #124]
  2861. 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2862. 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */
  2863. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  2864. 1560 .loc 1 1265 21
  2865. 1561 0050 FB68 ldr r3, [r7, #12]
  2866. 1562 0052 9B68 ldr r3, [r3, #8]
  2867. 1563 .loc 1 1265 8
  2868. 1564 0054 B3F5805F cmp r3, #4096
  2869. 1565 0058 07D1 bne .L85
  2870. 1566 .loc 1 1265 71 discriminator 1
  2871. 1567 005a FB68 ldr r3, [r7, #12]
  2872. 1568 005c 1B69 ldr r3, [r3, #16]
  2873. 1569 .loc 1 1265 56 discriminator 1
  2874. 1570 005e 002B cmp r3, #0
  2875. 1571 0060 03D1 bne .L85
  2876. 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2877. 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT;
  2878. 1572 .loc 1 1267 20
  2879. 1573 0062 FB68 ldr r3, [r7, #12]
  2880. 1574 0064 134A ldr r2, .L90
  2881. 1575 0066 DA66 str r2, [r3, #108]
  2882. 1576 0068 02E0 b .L89
  2883. 1577 .L85:
  2884. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2885. 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  2886. 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  2887. 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT;
  2888. 1578 .loc 1 1271 20
  2889. 1579 006a FB68 ldr r3, [r7, #12]
  2890. 1580 006c 124A ldr r2, .L90+4
  2891. 1581 006e DA66 str r2, [r3, #108]
  2892. 1582 .L89:
  2893. 1583 .LBB414:
  2894. 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  2895. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  2896. 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */
  2897. 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
  2898. 1584 .loc 1 1275 5 discriminator 1
  2899. 1585 0070 FB68 ldr r3, [r7, #12]
  2900. 1586 0072 1B68 ldr r3, [r3]
  2901. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 51
  2902. 1587 0074 7B61 str r3, [r7, #20]
  2903. 1588 .LBB415:
  2904. 1589 .LBB416:
  2905. 1590 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  2906. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  2907. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  2908. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  2909. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  2910. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  2911. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  2912. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  2913. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  2914. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  2915. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  2916. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  2917. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  2918. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  2919. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  2920. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  2921. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  2922. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  2923. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  2924. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  2925. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  2926. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  2927. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  2928. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  2929. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  2930. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  2931. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  2932. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  2933. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  2934. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  2935. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  2936. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  2937. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  2938. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  2939. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  2940. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  2941. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  2942. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2943. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  2944. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  2945. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  2946. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  2947. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2948. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  2949. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  2950. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2951. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  2952. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  2953. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2954. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  2955. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  2956. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2957. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  2958. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  2959. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 52
  2960. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2961. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  2962. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  2963. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2964. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  2965. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  2966. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2967. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  2968. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  2969. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2970. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  2971. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  2972. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2973. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  2974. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  2975. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2976. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  2977. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  2978. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  2979. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  2980. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  2981. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  2982. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  2983. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2984. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  2985. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  2986. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  2987. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  2988. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  2989. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  2990. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  2991. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  2992. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  2993. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  2994. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  2995. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  2996. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  2997. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  2998. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  2999. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3000. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  3001. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3002. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3003. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3004. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  3005. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3006. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  3007. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3008. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  3009. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3010. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3011. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3012. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  3013. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3014. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  3015. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3016. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  3017. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 53
  3018. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  3019. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3020. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  3021. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  3022. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3023. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3024. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3025. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  3026. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  3027. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  3028. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  3029. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3030. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3031. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3032. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  3033. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  3034. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3035. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3036. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  3037. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3038. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  3039. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3040. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3041. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3042. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3043. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  3044. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  3045. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3046. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3047. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  3048. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3049. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  3050. 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3051. 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3052. 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3053. 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3054. 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
  3055. 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
  3056. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
  3057. 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3058. 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  3059. 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3060. 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3061. 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3062. 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
  3063. 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3064. 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3065. 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3066. 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3067. 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3068. 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3069. 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
  3070. 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
  3071. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
  3072. 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3073. 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  3074. 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3075. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 54
  3076. 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3077. 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3078. 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
  3079. 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3080. 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3081. 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3082. 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3083. 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3084. 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3085. 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
  3086. 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
  3087. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  3088. 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3089. 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  3090. 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3091. 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
  3092. 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3093. 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3094. 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3095. 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3096. 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3097. 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
  3098. 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
  3099. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  3100. 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3101. 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  3102. 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3103. 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
  3104. 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3105. 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3106. 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3107. 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3108. 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3109. 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
  3110. 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
  3111. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
  3112. 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3113. 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  3114. 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3115. 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3116. 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3117. 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
  3118. 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3119. 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3120. 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3121. 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3122. 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3123. 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
  3124. 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
  3125. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
  3126. 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3127. 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  3128. 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3129. 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3130. 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3131. 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
  3132. 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3133. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 55
  3134. 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3135. 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3136. 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3137. 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3138. 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
  3139. 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
  3140. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
  3141. 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3142. 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  3143. 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3144. 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3145. 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3146. 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
  3147. 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3148. 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3149. 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3150. 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3151. 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3152. 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
  3153. 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
  3154. 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  3155. 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3156. 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  3157. 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3158. 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3159. 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3160. 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
  3161. 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3162. 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3163. 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3164. 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3165. 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3166. 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3167. 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
  3168. 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
  3169. 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  3170. 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3171. 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  3172. 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3173. 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3174. 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3175. 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
  3176. 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3177. 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3178. 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3179. 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3180. 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3181. 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3182. 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
  3183. 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
  3184. 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  3185. 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3186. 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  3187. 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3188. 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
  3189. 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3190. 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3191. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 56
  3192. 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3193. 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3194. 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3195. 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  3196. 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
  3197. 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  3198. 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3199. 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  3200. 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3201. 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
  3202. 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3203. 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3204. 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3205. 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3206. 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3207. 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
  3208. 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
  3209. 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  3210. 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3211. 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  3212. 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3213. 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3214. 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3215. 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
  3216. 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3217. 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3218. 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3219. 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3220. 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3221. 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3222. 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
  3223. 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
  3224. 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  3225. 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3226. 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  3227. 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3228. 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3229. 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3230. 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
  3231. 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3232. 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3233. 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3234. 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3235. 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3236. 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3237. 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
  3238. 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
  3239. 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  3240. 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3241. 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  3242. 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3243. 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
  3244. 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3245. 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3246. 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3247. 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3248. 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3249. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 57
  3250. 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
  3251. 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
  3252. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  3253. 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3254. 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  3255. 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3256. 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
  3257. 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3258. 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3259. 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3260. 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3261. 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3262. 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3263. 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
  3264. 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
  3265. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
  3266. 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3267. 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  3268. 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3269. 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3270. 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3271. 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
  3272. 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3273. 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3274. 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3275. 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3276. 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3277. 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
  3278. 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
  3279. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
  3280. 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3281. 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  3282. 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3283. 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
  3284. 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3285. 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3286. 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3287. 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3288. 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3289. 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
  3290. 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
  3291. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  3292. 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3293. 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  3294. 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3295. 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3296. 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3297. 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
  3298. 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3299. 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3300. 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3301. 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3302. 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3303. 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3304. 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
  3305. 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
  3306. 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  3307. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 58
  3308. 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3309. 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  3310. 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3311. 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3312. 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3313. 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
  3314. 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3315. 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3316. 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3317. 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3318. 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3319. 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3320. 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
  3321. 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
  3322. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  3323. 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3324. 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  3325. 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3326. 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
  3327. 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3328. 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3329. 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3330. 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3331. 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3332. 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
  3333. 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
  3334. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  3335. 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3336. 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  3337. 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3338. 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
  3339. 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3340. 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3341. 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3342. 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3343. 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  3344. 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  3345. 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  3346. 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3347. 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
  3348. 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
  3349. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3350. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3351. 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
  3352. 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3353. 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
  3354. 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3355. 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3356. 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3357. 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3358. 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
  3359. 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
  3360. 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3361. 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3362. 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
  3363. 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3364. 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
  3365. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 59
  3366. 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3367. 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3368. 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3369. 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3370. 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
  3371. 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
  3372. 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  3373. 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3374. 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
  3375. 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3376. 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3377. 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3378. 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
  3379. 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3380. 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3381. 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3382. 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3383. 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3384. 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3385. 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
  3386. 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
  3387. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  3388. 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3389. 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  3390. 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3391. 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3392. 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3393. 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
  3394. 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3395. 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3396. 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3397. 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3398. 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3399. 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3400. 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
  3401. 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
  3402. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  3403. 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3404. 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  3405. 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3406. 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
  3407. 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3408. 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3409. 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3410. 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3411. 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3412. 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
  3413. 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
  3414. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  3415. 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3416. 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  3417. 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3418. 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
  3419. 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3420. 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3421. 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3422. 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3423. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 60
  3424. 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3425. 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
  3426. 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
  3427. 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
  3428. 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  3429. 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3430. 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  3431. 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3432. 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
  3433. 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3434. 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3435. 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3436. 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3437. 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
  3438. 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
  3439. 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  3440. 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3441. 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  3442. 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3443. 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3444. 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3445. 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
  3446. 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3447. 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3448. 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3449. 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3450. 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3451. 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3452. 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
  3453. 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
  3454. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  3455. 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3456. 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  3457. 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3458. 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3459. 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3460. 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
  3461. 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3462. 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3463. 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3464. 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3465. 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3466. 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3467. 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
  3468. 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
  3469. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  3470. 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3471. 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  3472. 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3473. 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
  3474. 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3475. 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3476. 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3477. 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3478. 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3479. 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
  3480. 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
  3481. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 61
  3482. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  3483. 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3484. 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  3485. 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3486. 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
  3487. 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3488. 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3489. 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3490. 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  3491. 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  3492. 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
  3493. 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3494. 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3495. 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  3496. 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  3497. 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3498. 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3499. 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
  3500. 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3501. 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  3502. 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3503. 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3504. 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
  3505. 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  3506. 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3507. 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  3508. 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3509. 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3510. 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3511. 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3512. 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3513. 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3514. 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3515. 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
  3516. 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3517. 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3518. 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3519. 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3520. 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
  3521. 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3522. 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
  3523. 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3524. 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  3525. 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3526. 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
  3527. 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  3528. 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3529. 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  3530. 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3531. 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3532. 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3533. 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3534. 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3535. 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3536. 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
  3537. 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3538. 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3539. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 62
  3540. 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3541. 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3542. 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3543. 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3544. 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3545. 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
  3546. 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3547. 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  3548. 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3549. 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3550. 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
  3551. 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  3552. 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3553. 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  3554. 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3555. 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3556. 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3557. 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3558. 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  3559. 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3560. 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
  3561. 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3562. 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3563. 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3564. 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3565. 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3566. 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3567. 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  3568. 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3569. 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  3570. 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3571. 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
  3572. 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  3573. 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3574. 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  3575. 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3576. 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3577. 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3578. 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  3579. 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3580. 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
  3581. 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3582. 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3583. 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3584. 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3585. 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3586. 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3587. 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
  3588. 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3589. 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  3590. 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3591. 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3592. 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
  3593. 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  3594. 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3595. 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  3596. 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3597. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 63
  3598. 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3599. 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3600. 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3601. 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3602. 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3603. 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3604. 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
  3605. 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3606. 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3607. 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3608. 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3609. 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3610. 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3611. 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3612. 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
  3613. 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3614. 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  3615. 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3616. 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
  3617. 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  3618. 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3619. 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  3620. 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3621. 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3622. 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3623. 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3624. 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3625. 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3626. 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
  3627. 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3628. 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3629. 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3630. 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3631. 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3632. 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3633. 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3634. 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
  3635. 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3636. 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  3637. 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3638. 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3639. 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
  3640. 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
  3641. 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3642. 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  3643. 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3644. 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3645. 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3646. 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3647. 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  3648. 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3649. 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
  3650. 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3651. 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3652. 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3653. 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3654. 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3655. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 64
  3656. 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3657. 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
  3658. 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3659. 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  3660. 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3661. 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
  3662. 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
  3663. 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3664. 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  3665. 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3666. 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3667. 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3668. 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  3669. 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3670. 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
  3671. 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3672. 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3673. 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3674. 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3675. 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  3676. 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
  3677. 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3678. 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3679. 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3680. 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
  3681. 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
  3682. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
  3683. 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3684. 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
  3685. 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3686. 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  3687. 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  3688. 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
  3689. 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  3690. 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  3691. 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  3692. 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
  3693. 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3694. 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3695. 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3696. 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
  3697. 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3698. 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3699. 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3700. 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
  3701. 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3702. 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3703. 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3704. 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3705. 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3706. 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
  3707. 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
  3708. 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
  3709. 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3710. 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
  3711. 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3712. 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  3713. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 65
  3714. 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  3715. 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
  3716. 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  3717. 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  3718. 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  3719. 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
  3720. 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3721. 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
  3722. 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3723. 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3724. 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
  3725. 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3726. 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3727. 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3728. 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3729. 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
  3730. 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3731. 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3732. 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
  3733. 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
  3734. 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
  3735. 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  3736. 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3737. 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3738. 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
  3739. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
  3740. 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
  3741. 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
  3742. 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
  3743. 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
  3744. 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
  3745. 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3746. 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
  3747. 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
  3748. 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
  3749. 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3750. 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3751. 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3752. 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
  3753. 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
  3754. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3755. 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
  3756. 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3757. 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3758. 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
  3759. 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
  3760. 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3761. 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
  3762. 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3763. 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3764. 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3765. 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
  3766. 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
  3767. 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
  3768. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3769. 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
  3770. 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3771. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 66
  3772. 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3773. 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3774. 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
  3775. 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
  3776. 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3777. 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
  3778. 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3779. 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3780. 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3781. 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
  3782. 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
  3783. 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
  3784. 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
  3785. 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3786. 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
  3787. 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3788. 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
  3789. 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3790. 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3791. 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3792. 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3793. 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
  3794. 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
  3795. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
  3796. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3797. 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
  3798. 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3799. 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
  3800. 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3801. 881:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3802. 882:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3803. 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3804. 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
  3805. 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
  3806. 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
  3807. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3808. 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
  3809. 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3810. 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
  3811. 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3812. 892:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3813. 893:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3814. 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3815. 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
  3816. 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
  3817. 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  3818. 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  3819. 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3820. 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
  3821. 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3822. 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
  3823. 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
  3824. 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3825. 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3826. 906:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3827. 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  3828. 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3829. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 67
  3830. 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3831. 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3832. 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3833. 912:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3834. 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3835. 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  3836. 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
  3837. 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  3838. 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  3839. 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3840. 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
  3841. 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3842. 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3843. 922:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3844. 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  3845. 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3846. 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3847. 926:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3848. 927:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3849. 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3850. 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  3851. 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
  3852. 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  3853. 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  3854. 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3855. 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
  3856. 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3857. 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  3858. 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
  3859. 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3860. 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
  3861. 940:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3862. 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  3863. 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3864. 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3865. 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3866. 945:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3867. 946:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3868. 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3869. 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
  3870. 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
  3871. 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
  3872. 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
  3873. 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
  3874. 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3875. 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  3876. 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3877. 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
  3878. 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
  3879. 958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3880. 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
  3881. 960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3882. 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
  3883. 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3884. 963:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3885. 964:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3886. 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3887. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 68
  3888. 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
  3889. 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
  3890. 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
  3891. 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
  3892. 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
  3893. 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3894. 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
  3895. 973:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3896. 974:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3897. 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3898. 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
  3899. 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
  3900. 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  3901. 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  3902. 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3903. 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
  3904. 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3905. 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3906. 984:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3907. 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  3908. 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  3909. 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  3910. 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
  3911. 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3912. 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
  3913. 991:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3914. 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
  3915. 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
  3916. 994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3917. 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
  3918. 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
  3919. 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
  3920. 998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3921. 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
  3922. 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3923. 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3924. 1002:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3925. 1003:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3926. 1004:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3927. 1005:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3928. 1006:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros
  3929. 1007:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value.
  3930. 1008:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros
  3931. 1009:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value
  3932. 1010:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3933. 1011:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CLZ (uint8_t)__builtin_clz
  3934. 1012:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3935. 1013:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3936. 1014:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  3937. 1015:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  3938. 1016:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  3939. 1017:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  3940. 1018:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3941. 1019:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit)
  3942. 1020:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value.
  3943. 1021:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
  3944. 1022:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr)
  3945. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 69
  3946. 1023:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3947. 1024:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
  3948. 1025:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3949. 1026:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3950. 1027:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3951. 1028:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  3952. 1029:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
  3953. 1030:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3954. 1031:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
  3955. 1032:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
  3956. 1033:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3957. 1034:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
  3958. 1035:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3959. 1036:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */
  3960. 1037:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3961. 1038:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3962. 1039:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3963. 1040:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3964. 1041:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit)
  3965. 1042:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values.
  3966. 1043:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
  3967. 1044:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr)
  3968. 1045:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3969. 1046:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
  3970. 1047:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3971. 1048:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3972. 1049:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3973. 1050:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  3974. 1051:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
  3975. 1052:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3976. 1053:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
  3977. 1054:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
  3978. 1055:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3979. 1056:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
  3980. 1057:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3981. 1058:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */
  3982. 1059:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3983. 1060:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3984. 1061:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3985. 1062:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3986. 1063:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit)
  3987. 1064:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values.
  3988. 1065:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
  3989. 1066:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr)
  3990. 1067:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3991. 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
  3992. 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3993. 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3994. 1071:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3995. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
  3996. 1591 .loc 2 1072 4 discriminator 1
  3997. 1592 0076 7B69 ldr r3, [r7, #20]
  3998. 1593 .syntax unified
  3999. 1594 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4000. 1595 0078 53E8003F ldrex r3, [r3]
  4001. 1596 @ 0 "" 2
  4002. 1597 .thumb
  4003. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 70
  4004. 1598 .syntax unified
  4005. 1599 007c 3B61 str r3, [r7, #16]
  4006. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4007. 1600 .loc 2 1073 10 discriminator 1
  4008. 1601 007e 3B69 ldr r3, [r7, #16]
  4009. 1602 .LBE416:
  4010. 1603 .LBE415:
  4011. 1604 .loc 1 1275 5 discriminator 1
  4012. 1605 0080 43F08003 orr r3, r3, #128
  4013. 1606 0084 7B62 str r3, [r7, #36]
  4014. 1607 0086 FB68 ldr r3, [r7, #12]
  4015. 1608 0088 1B68 ldr r3, [r3]
  4016. 1609 008a 1A46 mov r2, r3
  4017. 1610 008c 7B6A ldr r3, [r7, #36]
  4018. 1611 008e 3B62 str r3, [r7, #32]
  4019. 1612 0090 FA61 str r2, [r7, #28]
  4020. 1613 .LBB417:
  4021. 1614 .LBB418:
  4022. 1074:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4023. 1075:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4024. 1076:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4025. 1077:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4026. 1078:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit)
  4027. 1079:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values.
  4028. 1080:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
  4029. 1081:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
  4030. 1082:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
  4031. 1083:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
  4032. 1084:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4033. 1085:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
  4034. 1086:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4035. 1087:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4036. 1088:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4037. 1089:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
  4038. 1090:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4039. 1091:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4040. 1092:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4041. 1093:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4042. 1094:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4043. 1095:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit)
  4044. 1096:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values.
  4045. 1097:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
  4046. 1098:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
  4047. 1099:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
  4048. 1100:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
  4049. 1101:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4050. 1102:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
  4051. 1103:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4052. 1104:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4053. 1105:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4054. 1106:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
  4055. 1107:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4056. 1108:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4057. 1109:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4058. 1110:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4059. 1111:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4060. 1112:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit)
  4061. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 71
  4062. 1113:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values.
  4063. 1114:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
  4064. 1115:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
  4065. 1116:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
  4066. 1117:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
  4067. 1118:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4068. 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
  4069. 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4070. 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4071. 1122:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4072. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
  4073. 1615 .loc 2 1123 4 discriminator 1
  4074. 1616 0092 F969 ldr r1, [r7, #28]
  4075. 1617 0094 3A6A ldr r2, [r7, #32]
  4076. 1618 .syntax unified
  4077. 1619 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4078. 1620 0096 41E80023 strex r3, r2, [r1]
  4079. 1621 @ 0 "" 2
  4080. 1622 .thumb
  4081. 1623 .syntax unified
  4082. 1624 009a BB61 str r3, [r7, #24]
  4083. 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4084. 1625 .loc 2 1124 10 discriminator 1
  4085. 1626 009c BB69 ldr r3, [r7, #24]
  4086. 1627 .LBE418:
  4087. 1628 .LBE417:
  4088. 1629 .loc 1 1275 5 discriminator 1
  4089. 1630 009e 002B cmp r3, #0
  4090. 1631 00a0 E6D1 bne .L89
  4091. 1632 .LBE414:
  4092. 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4093. 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  4094. 1633 .loc 1 1277 12
  4095. 1634 00a2 0023 movs r3, #0
  4096. 1635 00a4 00E0 b .L84
  4097. 1636 .L81:
  4098. 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4099. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  4100. 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4101. 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  4102. 1637 .loc 1 1281 12
  4103. 1638 00a6 0223 movs r3, #2
  4104. 1639 .L84:
  4105. 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4106. 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4107. 1640 .loc 1 1283 1
  4108. 1641 00a8 1846 mov r0, r3
  4109. 1642 00aa 2C37 adds r7, r7, #44
  4110. 1643 .LCFI50:
  4111. 1644 .cfi_def_cfa_offset 4
  4112. 1645 00ac BD46 mov sp, r7
  4113. 1646 .LCFI51:
  4114. 1647 .cfi_def_cfa_register 13
  4115. 1648 @ sp needed
  4116. 1649 00ae 5DF8047B ldr r7, [sp], #4
  4117. 1650 .LCFI52:
  4118. 1651 .cfi_restore 7
  4119. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 72
  4120. 1652 .cfi_def_cfa_offset 0
  4121. 1653 00b2 7047 bx lr
  4122. 1654 .L91:
  4123. 1655 .align 2
  4124. 1656 .L90:
  4125. 1657 00b4 00000000 .word UART_TxISR_16BIT
  4126. 1658 00b8 00000000 .word UART_TxISR_8BIT
  4127. 1659 .cfi_endproc
  4128. 1660 .LFE139:
  4129. 1662 .section .text.HAL_UART_Receive_IT,"ax",%progbits
  4130. 1663 .align 1
  4131. 1664 .global HAL_UART_Receive_IT
  4132. 1665 .syntax unified
  4133. 1666 .thumb
  4134. 1667 .thumb_func
  4135. 1669 HAL_UART_Receive_IT:
  4136. 1670 .LFB140:
  4137. 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4138. 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  4139. 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode.
  4140. 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  4141. 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
  4142. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData.
  4143. 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  4144. 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  4145. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  4146. 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  4147. 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  4148. 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  4149. 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4150. 1671 .loc 1 1296 1
  4151. 1672 .cfi_startproc
  4152. 1673 @ args = 0, pretend = 0, frame = 40
  4153. 1674 @ frame_needed = 1, uses_anonymous_args = 0
  4154. 1675 0000 80B5 push {r7, lr}
  4155. 1676 .LCFI53:
  4156. 1677 .cfi_def_cfa_offset 8
  4157. 1678 .cfi_offset 7, -8
  4158. 1679 .cfi_offset 14, -4
  4159. 1680 0002 8AB0 sub sp, sp, #40
  4160. 1681 .LCFI54:
  4161. 1682 .cfi_def_cfa_offset 48
  4162. 1683 0004 00AF add r7, sp, #0
  4163. 1684 .LCFI55:
  4164. 1685 .cfi_def_cfa_register 7
  4165. 1686 0006 F860 str r0, [r7, #12]
  4166. 1687 0008 B960 str r1, [r7, #8]
  4167. 1688 000a 1346 mov r3, r2
  4168. 1689 000c FB80 strh r3, [r7, #6] @ movhi
  4169. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  4170. 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  4171. 1690 .loc 1 1298 12
  4172. 1691 000e FB68 ldr r3, [r7, #12]
  4173. 1692 0010 D3F88030 ldr r3, [r3, #128]
  4174. 1693 .loc 1 1298 6
  4175. 1694 0014 202B cmp r3, #32
  4176. 1695 0016 32D1 bne .L93
  4177. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 73
  4178. 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4179. 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  4180. 1696 .loc 1 1300 8
  4181. 1697 0018 BB68 ldr r3, [r7, #8]
  4182. 1698 001a 002B cmp r3, #0
  4183. 1699 001c 02D0 beq .L94
  4184. 1700 .loc 1 1300 25 discriminator 1
  4185. 1701 001e FB88 ldrh r3, [r7, #6]
  4186. 1702 0020 002B cmp r3, #0
  4187. 1703 0022 01D1 bne .L95
  4188. 1704 .L94:
  4189. 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4190. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  4191. 1705 .loc 1 1302 14
  4192. 1706 0024 0123 movs r3, #1
  4193. 1707 0026 2BE0 b .L96
  4194. 1708 .L95:
  4195. 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4196. 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4197. 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */
  4198. 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  4199. 1709 .loc 1 1306 26
  4200. 1710 0028 FB68 ldr r3, [r7, #12]
  4201. 1711 002a 0022 movs r2, #0
  4202. 1712 002c 1A66 str r2, [r3, #96]
  4203. 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4204. 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
  4205. 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
  4206. 1713 .loc 1 1309 9
  4207. 1714 002e FB68 ldr r3, [r7, #12]
  4208. 1715 0030 1B68 ldr r3, [r3]
  4209. 1716 0032 5B68 ldr r3, [r3, #4]
  4210. 1717 0034 03F40003 and r3, r3, #8388608
  4211. 1718 .loc 1 1309 8
  4212. 1719 0038 002B cmp r3, #0
  4213. 1720 003a 18D0 beq .L97
  4214. 1721 .L100:
  4215. 1722 .LBB419:
  4216. 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4217. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
  4218. 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
  4219. 1723 .loc 1 1312 7 discriminator 1
  4220. 1724 003c FB68 ldr r3, [r7, #12]
  4221. 1725 003e 1B68 ldr r3, [r3]
  4222. 1726 0040 7B61 str r3, [r7, #20]
  4223. 1727 .LBB420:
  4224. 1728 .LBB421:
  4225. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4226. 1729 .loc 2 1072 4 discriminator 1
  4227. 1730 0042 7B69 ldr r3, [r7, #20]
  4228. 1731 .syntax unified
  4229. 1732 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4230. 1733 0044 53E8003F ldrex r3, [r3]
  4231. 1734 @ 0 "" 2
  4232. 1735 .thumb
  4233. 1736 .syntax unified
  4234. 1737 0048 3B61 str r3, [r7, #16]
  4235. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 74
  4236. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4237. 1738 .loc 2 1073 10 discriminator 1
  4238. 1739 004a 3B69 ldr r3, [r7, #16]
  4239. 1740 .LBE421:
  4240. 1741 .LBE420:
  4241. 1742 .loc 1 1312 7 discriminator 1
  4242. 1743 004c 43F08063 orr r3, r3, #67108864
  4243. 1744 0050 7B62 str r3, [r7, #36]
  4244. 1745 0052 FB68 ldr r3, [r7, #12]
  4245. 1746 0054 1B68 ldr r3, [r3]
  4246. 1747 0056 1A46 mov r2, r3
  4247. 1748 0058 7B6A ldr r3, [r7, #36]
  4248. 1749 005a 3B62 str r3, [r7, #32]
  4249. 1750 005c FA61 str r2, [r7, #28]
  4250. 1751 .LBB422:
  4251. 1752 .LBB423:
  4252. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4253. 1753 .loc 2 1123 4 discriminator 1
  4254. 1754 005e F969 ldr r1, [r7, #28]
  4255. 1755 0060 3A6A ldr r2, [r7, #32]
  4256. 1756 .syntax unified
  4257. 1757 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4258. 1758 0062 41E80023 strex r3, r2, [r1]
  4259. 1759 @ 0 "" 2
  4260. 1760 .thumb
  4261. 1761 .syntax unified
  4262. 1762 0066 BB61 str r3, [r7, #24]
  4263. 1763 .loc 2 1124 10 discriminator 1
  4264. 1764 0068 BB69 ldr r3, [r7, #24]
  4265. 1765 .LBE423:
  4266. 1766 .LBE422:
  4267. 1767 .loc 1 1312 7 discriminator 1
  4268. 1768 006a 002B cmp r3, #0
  4269. 1769 006c E6D1 bne .L100
  4270. 1770 .L97:
  4271. 1771 .LBE419:
  4272. 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4273. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4274. 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
  4275. 1772 .loc 1 1315 13
  4276. 1773 006e FB88 ldrh r3, [r7, #6]
  4277. 1774 0070 1A46 mov r2, r3
  4278. 1775 0072 B968 ldr r1, [r7, #8]
  4279. 1776 0074 F868 ldr r0, [r7, #12]
  4280. 1777 0076 FFF7FEFF bl UART_Start_Receive_IT
  4281. 1778 007a 0346 mov r3, r0
  4282. 1779 007c 00E0 b .L96
  4283. 1780 .L93:
  4284. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4285. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  4286. 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4287. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  4288. 1781 .loc 1 1319 12
  4289. 1782 007e 0223 movs r3, #2
  4290. 1783 .L96:
  4291. 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4292. 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4293. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 75
  4294. 1784 .loc 1 1321 1
  4295. 1785 0080 1846 mov r0, r3
  4296. 1786 0082 2837 adds r7, r7, #40
  4297. 1787 .LCFI56:
  4298. 1788 .cfi_def_cfa_offset 8
  4299. 1789 0084 BD46 mov sp, r7
  4300. 1790 .LCFI57:
  4301. 1791 .cfi_def_cfa_register 13
  4302. 1792 @ sp needed
  4303. 1793 0086 80BD pop {r7, pc}
  4304. 1794 .cfi_endproc
  4305. 1795 .LFE140:
  4306. 1797 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
  4307. 1798 .align 1
  4308. 1799 .global HAL_UART_Transmit_DMA
  4309. 1800 .syntax unified
  4310. 1801 .thumb
  4311. 1802 .thumb_func
  4312. 1804 HAL_UART_Transmit_DMA:
  4313. 1805 .LFB141:
  4314. 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4315. 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  4316. 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in DMA mode.
  4317. 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  4318. 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
  4319. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData.
  4320. 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  4321. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  4322. 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
  4323. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  4324. 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  4325. 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S
  4326. 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4327. 1806 .loc 1 1334 1
  4328. 1807 .cfi_startproc
  4329. 1808 @ args = 0, pretend = 0, frame = 40
  4330. 1809 @ frame_needed = 1, uses_anonymous_args = 0
  4331. 1810 0000 80B5 push {r7, lr}
  4332. 1811 .LCFI58:
  4333. 1812 .cfi_def_cfa_offset 8
  4334. 1813 .cfi_offset 7, -8
  4335. 1814 .cfi_offset 14, -4
  4336. 1815 0002 8AB0 sub sp, sp, #40
  4337. 1816 .LCFI59:
  4338. 1817 .cfi_def_cfa_offset 48
  4339. 1818 0004 00AF add r7, sp, #0
  4340. 1819 .LCFI60:
  4341. 1820 .cfi_def_cfa_register 7
  4342. 1821 0006 F860 str r0, [r7, #12]
  4343. 1822 0008 B960 str r1, [r7, #8]
  4344. 1823 000a 1346 mov r3, r2
  4345. 1824 000c FB80 strh r3, [r7, #6] @ movhi
  4346. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
  4347. 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  4348. 1825 .loc 1 1336 12
  4349. 1826 000e FB68 ldr r3, [r7, #12]
  4350. 1827 0010 DB6F ldr r3, [r3, #124]
  4351. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 76
  4352. 1828 .loc 1 1336 6
  4353. 1829 0012 202B cmp r3, #32
  4354. 1830 0014 65D1 bne .L102
  4355. 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4356. 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  4357. 1831 .loc 1 1338 8
  4358. 1832 0016 BB68 ldr r3, [r7, #8]
  4359. 1833 0018 002B cmp r3, #0
  4360. 1834 001a 02D0 beq .L103
  4361. 1835 .loc 1 1338 25 discriminator 1
  4362. 1836 001c FB88 ldrh r3, [r7, #6]
  4363. 1837 001e 002B cmp r3, #0
  4364. 1838 0020 01D1 bne .L104
  4365. 1839 .L103:
  4366. 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4367. 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  4368. 1840 .loc 1 1340 14
  4369. 1841 0022 0123 movs r3, #1
  4370. 1842 0024 5EE0 b .L105
  4371. 1843 .L104:
  4372. 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4373. 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4374. 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData;
  4375. 1844 .loc 1 1343 24
  4376. 1845 0026 FB68 ldr r3, [r7, #12]
  4377. 1846 0028 BA68 ldr r2, [r7, #8]
  4378. 1847 002a DA64 str r2, [r3, #76]
  4379. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size;
  4380. 1848 .loc 1 1344 24
  4381. 1849 002c FB68 ldr r3, [r7, #12]
  4382. 1850 002e FA88 ldrh r2, [r7, #6] @ movhi
  4383. 1851 0030 A3F85020 strh r2, [r3, #80] @ movhi
  4384. 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size;
  4385. 1852 .loc 1 1345 24
  4386. 1853 0034 FB68 ldr r3, [r7, #12]
  4387. 1854 0036 FA88 ldrh r2, [r7, #6] @ movhi
  4388. 1855 0038 A3F85220 strh r2, [r3, #82] @ movhi
  4389. 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4390. 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  4391. 1856 .loc 1 1347 22
  4392. 1857 003c FB68 ldr r3, [r7, #12]
  4393. 1858 003e 0022 movs r2, #0
  4394. 1859 0040 C3F88420 str r2, [r3, #132]
  4395. 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
  4396. 1860 .loc 1 1348 19
  4397. 1861 0044 FB68 ldr r3, [r7, #12]
  4398. 1862 0046 2122 movs r2, #33
  4399. 1863 0048 DA67 str r2, [r3, #124]
  4400. 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4401. 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  4402. 1864 .loc 1 1350 14
  4403. 1865 004a FB68 ldr r3, [r7, #12]
  4404. 1866 004c 1B6F ldr r3, [r3, #112]
  4405. 1867 .loc 1 1350 8
  4406. 1868 004e 002B cmp r3, #0
  4407. 1869 0050 27D0 beq .L106
  4408. 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4409. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 77
  4410. 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
  4411. 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
  4412. 1870 .loc 1 1353 12
  4413. 1871 0052 FB68 ldr r3, [r7, #12]
  4414. 1872 0054 1B6F ldr r3, [r3, #112]
  4415. 1873 .loc 1 1353 39
  4416. 1874 0056 254A ldr r2, .L110
  4417. 1875 0058 9A62 str r2, [r3, #40]
  4418. 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4419. 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
  4420. 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
  4421. 1876 .loc 1 1356 12
  4422. 1877 005a FB68 ldr r3, [r7, #12]
  4423. 1878 005c 1B6F ldr r3, [r3, #112]
  4424. 1879 .loc 1 1356 43
  4425. 1880 005e 244A ldr r2, .L110+4
  4426. 1881 0060 DA62 str r2, [r3, #44]
  4427. 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4428. 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */
  4429. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
  4430. 1882 .loc 1 1359 12
  4431. 1883 0062 FB68 ldr r3, [r7, #12]
  4432. 1884 0064 1B6F ldr r3, [r3, #112]
  4433. 1885 .loc 1 1359 40
  4434. 1886 0066 234A ldr r2, .L110+8
  4435. 1887 0068 1A63 str r2, [r3, #48]
  4436. 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4437. 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */
  4438. 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  4439. 1888 .loc 1 1362 12
  4440. 1889 006a FB68 ldr r3, [r7, #12]
  4441. 1890 006c 1B6F ldr r3, [r3, #112]
  4442. 1891 .loc 1 1362 40
  4443. 1892 006e 0022 movs r2, #0
  4444. 1893 0070 5A63 str r2, [r3, #52]
  4445. 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4446. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART transmit DMA channel */
  4447. 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->
  4448. 1894 .loc 1 1365 11
  4449. 1895 0072 FB68 ldr r3, [r7, #12]
  4450. 1896 0074 186F ldr r0, [r3, #112]
  4451. 1897 .loc 1 1365 58
  4452. 1898 0076 FB68 ldr r3, [r7, #12]
  4453. 1899 0078 DB6C ldr r3, [r3, #76]
  4454. 1900 .loc 1 1365 11
  4455. 1901 007a 1946 mov r1, r3
  4456. 1902 .loc 1 1365 88
  4457. 1903 007c FB68 ldr r3, [r7, #12]
  4458. 1904 007e 1B68 ldr r3, [r3]
  4459. 1905 .loc 1 1365 82
  4460. 1906 0080 2833 adds r3, r3, #40
  4461. 1907 .loc 1 1365 11
  4462. 1908 0082 1A46 mov r2, r3
  4463. 1909 0084 FB88 ldrh r3, [r7, #6]
  4464. 1910 0086 FFF7FEFF bl HAL_DMA_Start_IT
  4465. 1911 008a 0346 mov r3, r0
  4466. 1912 .loc 1 1365 10
  4467. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 78
  4468. 1913 008c 002B cmp r3, #0
  4469. 1914 008e 08D0 beq .L106
  4470. 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4471. 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  4472. 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  4473. 1915 .loc 1 1368 26
  4474. 1916 0090 FB68 ldr r3, [r7, #12]
  4475. 1917 0092 1022 movs r2, #16
  4476. 1918 0094 C3F88420 str r2, [r3, #132]
  4477. 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4478. 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to ready */
  4479. 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  4480. 1919 .loc 1 1371 23
  4481. 1920 0098 FB68 ldr r3, [r7, #12]
  4482. 1921 009a 2022 movs r2, #32
  4483. 1922 009c DA67 str r2, [r3, #124]
  4484. 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4485. 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  4486. 1923 .loc 1 1373 16
  4487. 1924 009e 0123 movs r3, #1
  4488. 1925 00a0 20E0 b .L105
  4489. 1926 .L106:
  4490. 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4491. 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4492. 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the TC flag in the ICR register */
  4493. 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
  4494. 1927 .loc 1 1377 5
  4495. 1928 00a2 FB68 ldr r3, [r7, #12]
  4496. 1929 00a4 1B68 ldr r3, [r3]
  4497. 1930 00a6 4022 movs r2, #64
  4498. 1931 00a8 1A62 str r2, [r3, #32]
  4499. 1932 .L109:
  4500. 1933 .LBB424:
  4501. 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4502. 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
  4503. 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
  4504. 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  4505. 1934 .loc 1 1381 5 discriminator 1
  4506. 1935 00aa FB68 ldr r3, [r7, #12]
  4507. 1936 00ac 1B68 ldr r3, [r3]
  4508. 1937 00ae 0833 adds r3, r3, #8
  4509. 1938 00b0 7B61 str r3, [r7, #20]
  4510. 1939 .LBB425:
  4511. 1940 .LBB426:
  4512. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4513. 1941 .loc 2 1072 4 discriminator 1
  4514. 1942 00b2 7B69 ldr r3, [r7, #20]
  4515. 1943 .syntax unified
  4516. 1944 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4517. 1945 00b4 53E8003F ldrex r3, [r3]
  4518. 1946 @ 0 "" 2
  4519. 1947 .thumb
  4520. 1948 .syntax unified
  4521. 1949 00b8 3B61 str r3, [r7, #16]
  4522. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4523. 1950 .loc 2 1073 10 discriminator 1
  4524. 1951 00ba 3B69 ldr r3, [r7, #16]
  4525. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 79
  4526. 1952 .LBE426:
  4527. 1953 .LBE425:
  4528. 1954 .loc 1 1381 5 discriminator 1
  4529. 1955 00bc 43F08003 orr r3, r3, #128
  4530. 1956 00c0 7B62 str r3, [r7, #36]
  4531. 1957 00c2 FB68 ldr r3, [r7, #12]
  4532. 1958 00c4 1B68 ldr r3, [r3]
  4533. 1959 00c6 0833 adds r3, r3, #8
  4534. 1960 00c8 7A6A ldr r2, [r7, #36]
  4535. 1961 00ca 3A62 str r2, [r7, #32]
  4536. 1962 00cc FB61 str r3, [r7, #28]
  4537. 1963 .LBB427:
  4538. 1964 .LBB428:
  4539. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4540. 1965 .loc 2 1123 4 discriminator 1
  4541. 1966 00ce F969 ldr r1, [r7, #28]
  4542. 1967 00d0 3A6A ldr r2, [r7, #32]
  4543. 1968 .syntax unified
  4544. 1969 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4545. 1970 00d2 41E80023 strex r3, r2, [r1]
  4546. 1971 @ 0 "" 2
  4547. 1972 .thumb
  4548. 1973 .syntax unified
  4549. 1974 00d6 BB61 str r3, [r7, #24]
  4550. 1975 .loc 2 1124 10 discriminator 1
  4551. 1976 00d8 BB69 ldr r3, [r7, #24]
  4552. 1977 .LBE428:
  4553. 1978 .LBE427:
  4554. 1979 .loc 1 1381 5 discriminator 1
  4555. 1980 00da 002B cmp r3, #0
  4556. 1981 00dc E5D1 bne .L109
  4557. 1982 .LBE424:
  4558. 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4559. 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  4560. 1983 .loc 1 1383 12
  4561. 1984 00de 0023 movs r3, #0
  4562. 1985 00e0 00E0 b .L105
  4563. 1986 .L102:
  4564. 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4565. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  4566. 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4567. 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  4568. 1987 .loc 1 1387 12
  4569. 1988 00e2 0223 movs r3, #2
  4570. 1989 .L105:
  4571. 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4572. 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4573. 1990 .loc 1 1389 1
  4574. 1991 00e4 1846 mov r0, r3
  4575. 1992 00e6 2837 adds r7, r7, #40
  4576. 1993 .LCFI61:
  4577. 1994 .cfi_def_cfa_offset 8
  4578. 1995 00e8 BD46 mov sp, r7
  4579. 1996 .LCFI62:
  4580. 1997 .cfi_def_cfa_register 13
  4581. 1998 @ sp needed
  4582. 1999 00ea 80BD pop {r7, pc}
  4583. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 80
  4584. 2000 .L111:
  4585. 2001 .align 2
  4586. 2002 .L110:
  4587. 2003 00ec 00000000 .word UART_DMATransmitCplt
  4588. 2004 00f0 00000000 .word UART_DMATxHalfCplt
  4589. 2005 00f4 00000000 .word UART_DMAError
  4590. 2006 .cfi_endproc
  4591. 2007 .LFE141:
  4592. 2009 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
  4593. 2010 .align 1
  4594. 2011 .global HAL_UART_Receive_DMA
  4595. 2012 .syntax unified
  4596. 2013 .thumb
  4597. 2014 .thumb_func
  4598. 2016 HAL_UART_Receive_DMA:
  4599. 2017 .LFB142:
  4600. 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4601. 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  4602. 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode.
  4603. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
  4604. 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the parity bit (MSB position).
  4605. 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  4606. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
  4607. 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData.
  4608. 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  4609. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  4610. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  4611. 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  4612. 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  4613. 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  4614. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4615. 2018 .loc 1 1404 1
  4616. 2019 .cfi_startproc
  4617. 2020 @ args = 0, pretend = 0, frame = 40
  4618. 2021 @ frame_needed = 1, uses_anonymous_args = 0
  4619. 2022 0000 80B5 push {r7, lr}
  4620. 2023 .LCFI63:
  4621. 2024 .cfi_def_cfa_offset 8
  4622. 2025 .cfi_offset 7, -8
  4623. 2026 .cfi_offset 14, -4
  4624. 2027 0002 8AB0 sub sp, sp, #40
  4625. 2028 .LCFI64:
  4626. 2029 .cfi_def_cfa_offset 48
  4627. 2030 0004 00AF add r7, sp, #0
  4628. 2031 .LCFI65:
  4629. 2032 .cfi_def_cfa_register 7
  4630. 2033 0006 F860 str r0, [r7, #12]
  4631. 2034 0008 B960 str r1, [r7, #8]
  4632. 2035 000a 1346 mov r3, r2
  4633. 2036 000c FB80 strh r3, [r7, #6] @ movhi
  4634. 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  4635. 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  4636. 2037 .loc 1 1406 12
  4637. 2038 000e FB68 ldr r3, [r7, #12]
  4638. 2039 0010 D3F88030 ldr r3, [r3, #128]
  4639. 2040 .loc 1 1406 6
  4640. 2041 0014 202B cmp r3, #32
  4641. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 81
  4642. 2042 0016 32D1 bne .L113
  4643. 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4644. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  4645. 2043 .loc 1 1408 8
  4646. 2044 0018 BB68 ldr r3, [r7, #8]
  4647. 2045 001a 002B cmp r3, #0
  4648. 2046 001c 02D0 beq .L114
  4649. 2047 .loc 1 1408 25 discriminator 1
  4650. 2048 001e FB88 ldrh r3, [r7, #6]
  4651. 2049 0020 002B cmp r3, #0
  4652. 2050 0022 01D1 bne .L115
  4653. 2051 .L114:
  4654. 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4655. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  4656. 2052 .loc 1 1410 14
  4657. 2053 0024 0123 movs r3, #1
  4658. 2054 0026 2BE0 b .L116
  4659. 2055 .L115:
  4660. 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4661. 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4662. 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */
  4663. 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  4664. 2056 .loc 1 1414 26
  4665. 2057 0028 FB68 ldr r3, [r7, #12]
  4666. 2058 002a 0022 movs r2, #0
  4667. 2059 002c 1A66 str r2, [r3, #96]
  4668. 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4669. 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
  4670. 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
  4671. 2060 .loc 1 1417 9
  4672. 2061 002e FB68 ldr r3, [r7, #12]
  4673. 2062 0030 1B68 ldr r3, [r3]
  4674. 2063 0032 5B68 ldr r3, [r3, #4]
  4675. 2064 0034 03F40003 and r3, r3, #8388608
  4676. 2065 .loc 1 1417 8
  4677. 2066 0038 002B cmp r3, #0
  4678. 2067 003a 18D0 beq .L117
  4679. 2068 .L120:
  4680. 2069 .LBB429:
  4681. 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4682. 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
  4683. 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
  4684. 2070 .loc 1 1420 7 discriminator 1
  4685. 2071 003c FB68 ldr r3, [r7, #12]
  4686. 2072 003e 1B68 ldr r3, [r3]
  4687. 2073 0040 7B61 str r3, [r7, #20]
  4688. 2074 .LBB430:
  4689. 2075 .LBB431:
  4690. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4691. 2076 .loc 2 1072 4 discriminator 1
  4692. 2077 0042 7B69 ldr r3, [r7, #20]
  4693. 2078 .syntax unified
  4694. 2079 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4695. 2080 0044 53E8003F ldrex r3, [r3]
  4696. 2081 @ 0 "" 2
  4697. 2082 .thumb
  4698. 2083 .syntax unified
  4699. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 82
  4700. 2084 0048 3B61 str r3, [r7, #16]
  4701. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4702. 2085 .loc 2 1073 10 discriminator 1
  4703. 2086 004a 3B69 ldr r3, [r7, #16]
  4704. 2087 .LBE431:
  4705. 2088 .LBE430:
  4706. 2089 .loc 1 1420 7 discriminator 1
  4707. 2090 004c 43F08063 orr r3, r3, #67108864
  4708. 2091 0050 7B62 str r3, [r7, #36]
  4709. 2092 0052 FB68 ldr r3, [r7, #12]
  4710. 2093 0054 1B68 ldr r3, [r3]
  4711. 2094 0056 1A46 mov r2, r3
  4712. 2095 0058 7B6A ldr r3, [r7, #36]
  4713. 2096 005a 3B62 str r3, [r7, #32]
  4714. 2097 005c FA61 str r2, [r7, #28]
  4715. 2098 .LBB432:
  4716. 2099 .LBB433:
  4717. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4718. 2100 .loc 2 1123 4 discriminator 1
  4719. 2101 005e F969 ldr r1, [r7, #28]
  4720. 2102 0060 3A6A ldr r2, [r7, #32]
  4721. 2103 .syntax unified
  4722. 2104 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4723. 2105 0062 41E80023 strex r3, r2, [r1]
  4724. 2106 @ 0 "" 2
  4725. 2107 .thumb
  4726. 2108 .syntax unified
  4727. 2109 0066 BB61 str r3, [r7, #24]
  4728. 2110 .loc 2 1124 10 discriminator 1
  4729. 2111 0068 BB69 ldr r3, [r7, #24]
  4730. 2112 .LBE433:
  4731. 2113 .LBE432:
  4732. 2114 .loc 1 1420 7 discriminator 1
  4733. 2115 006a 002B cmp r3, #0
  4734. 2116 006c E6D1 bne .L120
  4735. 2117 .L117:
  4736. 2118 .LBE429:
  4737. 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4738. 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4739. 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
  4740. 2119 .loc 1 1423 13
  4741. 2120 006e FB88 ldrh r3, [r7, #6]
  4742. 2121 0070 1A46 mov r2, r3
  4743. 2122 0072 B968 ldr r1, [r7, #8]
  4744. 2123 0074 F868 ldr r0, [r7, #12]
  4745. 2124 0076 FFF7FEFF bl UART_Start_Receive_DMA
  4746. 2125 007a 0346 mov r3, r0
  4747. 2126 007c 00E0 b .L116
  4748. 2127 .L113:
  4749. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4750. 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  4751. 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4752. 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  4753. 2128 .loc 1 1427 12
  4754. 2129 007e 0223 movs r3, #2
  4755. 2130 .L116:
  4756. 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4757. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 83
  4758. 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4759. 2131 .loc 1 1429 1
  4760. 2132 0080 1846 mov r0, r3
  4761. 2133 0082 2837 adds r7, r7, #40
  4762. 2134 .LCFI66:
  4763. 2135 .cfi_def_cfa_offset 8
  4764. 2136 0084 BD46 mov sp, r7
  4765. 2137 .LCFI67:
  4766. 2138 .cfi_def_cfa_register 13
  4767. 2139 @ sp needed
  4768. 2140 0086 80BD pop {r7, pc}
  4769. 2141 .cfi_endproc
  4770. 2142 .LFE142:
  4771. 2144 .section .text.HAL_UART_DMAPause,"ax",%progbits
  4772. 2145 .align 1
  4773. 2146 .global HAL_UART_DMAPause
  4774. 2147 .syntax unified
  4775. 2148 .thumb
  4776. 2149 .thumb_func
  4777. 2151 HAL_UART_DMAPause:
  4778. 2152 .LFB143:
  4779. 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4780. 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  4781. 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Pause the DMA Transfer.
  4782. 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  4783. 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  4784. 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  4785. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
  4786. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4787. 2153 .loc 1 1437 1
  4788. 2154 .cfi_startproc
  4789. 2155 @ args = 0, pretend = 0, frame = 112
  4790. 2156 @ frame_needed = 1, uses_anonymous_args = 0
  4791. 2157 @ link register save eliminated.
  4792. 2158 0000 80B4 push {r7}
  4793. 2159 .LCFI68:
  4794. 2160 .cfi_def_cfa_offset 4
  4795. 2161 .cfi_offset 7, -4
  4796. 2162 0002 9DB0 sub sp, sp, #116
  4797. 2163 .LCFI69:
  4798. 2164 .cfi_def_cfa_offset 120
  4799. 2165 0004 00AF add r7, sp, #0
  4800. 2166 .LCFI70:
  4801. 2167 .cfi_def_cfa_register 7
  4802. 2168 0006 7860 str r0, [r7, #4]
  4803. 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
  4804. 2169 .loc 1 1438 31
  4805. 2170 0008 7B68 ldr r3, [r7, #4]
  4806. 2171 000a DB6F ldr r3, [r3, #124]
  4807. 2172 000c FB66 str r3, [r7, #108]
  4808. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
  4809. 2173 .loc 1 1439 31
  4810. 2174 000e 7B68 ldr r3, [r7, #4]
  4811. 2175 0010 D3F88030 ldr r3, [r3, #128]
  4812. 2176 0014 BB66 str r3, [r7, #104]
  4813. 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  4814. 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
  4815. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 84
  4816. 2177 .loc 1 1441 8
  4817. 2178 0016 7B68 ldr r3, [r7, #4]
  4818. 2179 0018 1B68 ldr r3, [r3]
  4819. 2180 001a 9B68 ldr r3, [r3, #8]
  4820. 2181 001c 03F08003 and r3, r3, #128
  4821. 2182 .loc 1 1441 6
  4822. 2183 0020 802B cmp r3, #128
  4823. 2184 0022 1CD1 bne .L122
  4824. 2185 .loc 1 1441 62 discriminator 1
  4825. 2186 0024 FB6E ldr r3, [r7, #108]
  4826. 2187 0026 212B cmp r3, #33
  4827. 2188 0028 19D1 bne .L122
  4828. 2189 .L125:
  4829. 2190 .LBB434:
  4830. 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
  4831. 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4832. 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request */
  4833. 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  4834. 2191 .loc 1 1445 5 discriminator 1
  4835. 2192 002a 7B68 ldr r3, [r7, #4]
  4836. 2193 002c 1B68 ldr r3, [r3]
  4837. 2194 002e 0833 adds r3, r3, #8
  4838. 2195 0030 BB64 str r3, [r7, #72]
  4839. 2196 .LBB435:
  4840. 2197 .LBB436:
  4841. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4842. 2198 .loc 2 1072 4 discriminator 1
  4843. 2199 0032 BB6C ldr r3, [r7, #72]
  4844. 2200 .syntax unified
  4845. 2201 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4846. 2202 0034 53E8003F ldrex r3, [r3]
  4847. 2203 @ 0 "" 2
  4848. 2204 .thumb
  4849. 2205 .syntax unified
  4850. 2206 0038 7B64 str r3, [r7, #68]
  4851. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4852. 2207 .loc 2 1073 10 discriminator 1
  4853. 2208 003a 7B6C ldr r3, [r7, #68]
  4854. 2209 .LBE436:
  4855. 2210 .LBE435:
  4856. 2211 .loc 1 1445 5 discriminator 1
  4857. 2212 003c 23F08003 bic r3, r3, #128
  4858. 2213 0040 7B66 str r3, [r7, #100]
  4859. 2214 0042 7B68 ldr r3, [r7, #4]
  4860. 2215 0044 1B68 ldr r3, [r3]
  4861. 2216 0046 0833 adds r3, r3, #8
  4862. 2217 0048 7A6E ldr r2, [r7, #100]
  4863. 2218 004a 7A65 str r2, [r7, #84]
  4864. 2219 004c 3B65 str r3, [r7, #80]
  4865. 2220 .LBB437:
  4866. 2221 .LBB438:
  4867. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4868. 2222 .loc 2 1123 4 discriminator 1
  4869. 2223 004e 396D ldr r1, [r7, #80]
  4870. 2224 0050 7A6D ldr r2, [r7, #84]
  4871. 2225 .syntax unified
  4872. 2226 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4873. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 85
  4874. 2227 0052 41E80023 strex r3, r2, [r1]
  4875. 2228 @ 0 "" 2
  4876. 2229 .thumb
  4877. 2230 .syntax unified
  4878. 2231 0056 FB64 str r3, [r7, #76]
  4879. 2232 .loc 2 1124 10 discriminator 1
  4880. 2233 0058 FB6C ldr r3, [r7, #76]
  4881. 2234 .LBE438:
  4882. 2235 .LBE437:
  4883. 2236 .loc 1 1445 5 discriminator 1
  4884. 2237 005a 002B cmp r3, #0
  4885. 2238 005c E5D1 bne .L125
  4886. 2239 .L122:
  4887. 2240 .LBE434:
  4888. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  4889. 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
  4890. 2241 .loc 1 1447 8
  4891. 2242 005e 7B68 ldr r3, [r7, #4]
  4892. 2243 0060 1B68 ldr r3, [r3]
  4893. 2244 0062 9B68 ldr r3, [r3, #8]
  4894. 2245 0064 03F04003 and r3, r3, #64
  4895. 2246 .loc 1 1447 6
  4896. 2247 0068 402B cmp r3, #64
  4897. 2248 006a 4FD1 bne .L126
  4898. 2249 .loc 1 1447 62 discriminator 1
  4899. 2250 006c BB6E ldr r3, [r7, #104]
  4900. 2251 006e 222B cmp r3, #34
  4901. 2252 0070 4CD1 bne .L126
  4902. 2253 .L129:
  4903. 2254 .LBB439:
  4904. 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
  4905. 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  4906. 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
  4907. 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  4908. 2255 .loc 1 1451 5 discriminator 1
  4909. 2256 0072 7B68 ldr r3, [r7, #4]
  4910. 2257 0074 1B68 ldr r3, [r3]
  4911. 2258 0076 7B63 str r3, [r7, #52]
  4912. 2259 .LBB440:
  4913. 2260 .LBB441:
  4914. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4915. 2261 .loc 2 1072 4 discriminator 1
  4916. 2262 0078 7B6B ldr r3, [r7, #52]
  4917. 2263 .syntax unified
  4918. 2264 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4919. 2265 007a 53E8003F ldrex r3, [r3]
  4920. 2266 @ 0 "" 2
  4921. 2267 .thumb
  4922. 2268 .syntax unified
  4923. 2269 007e 3B63 str r3, [r7, #48]
  4924. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4925. 2270 .loc 2 1073 10 discriminator 1
  4926. 2271 0080 3B6B ldr r3, [r7, #48]
  4927. 2272 .LBE441:
  4928. 2273 .LBE440:
  4929. 2274 .loc 1 1451 5 discriminator 1
  4930. 2275 0082 23F48073 bic r3, r3, #256
  4931. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 86
  4932. 2276 0086 3B66 str r3, [r7, #96]
  4933. 2277 0088 7B68 ldr r3, [r7, #4]
  4934. 2278 008a 1B68 ldr r3, [r3]
  4935. 2279 008c 1A46 mov r2, r3
  4936. 2280 008e 3B6E ldr r3, [r7, #96]
  4937. 2281 0090 3B64 str r3, [r7, #64]
  4938. 2282 0092 FA63 str r2, [r7, #60]
  4939. 2283 .LBB442:
  4940. 2284 .LBB443:
  4941. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4942. 2285 .loc 2 1123 4 discriminator 1
  4943. 2286 0094 F96B ldr r1, [r7, #60]
  4944. 2287 0096 3A6C ldr r2, [r7, #64]
  4945. 2288 .syntax unified
  4946. 2289 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4947. 2290 0098 41E80023 strex r3, r2, [r1]
  4948. 2291 @ 0 "" 2
  4949. 2292 .thumb
  4950. 2293 .syntax unified
  4951. 2294 009c BB63 str r3, [r7, #56]
  4952. 2295 .loc 2 1124 10 discriminator 1
  4953. 2296 009e BB6B ldr r3, [r7, #56]
  4954. 2297 .LBE443:
  4955. 2298 .LBE442:
  4956. 2299 .loc 1 1451 5 discriminator 1
  4957. 2300 00a0 002B cmp r3, #0
  4958. 2301 00a2 E6D1 bne .L129
  4959. 2302 .L132:
  4960. 2303 .LBE439:
  4961. 2304 .LBB444:
  4962. 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  4963. 2305 .loc 1 1452 5 discriminator 1
  4964. 2306 00a4 7B68 ldr r3, [r7, #4]
  4965. 2307 00a6 1B68 ldr r3, [r3]
  4966. 2308 00a8 0833 adds r3, r3, #8
  4967. 2309 00aa 3B62 str r3, [r7, #32]
  4968. 2310 .LBB445:
  4969. 2311 .LBB446:
  4970. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4971. 2312 .loc 2 1072 4 discriminator 1
  4972. 2313 00ac 3B6A ldr r3, [r7, #32]
  4973. 2314 .syntax unified
  4974. 2315 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4975. 2316 00ae 53E8003F ldrex r3, [r3]
  4976. 2317 @ 0 "" 2
  4977. 2318 .thumb
  4978. 2319 .syntax unified
  4979. 2320 00b2 FB61 str r3, [r7, #28]
  4980. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4981. 2321 .loc 2 1073 10 discriminator 1
  4982. 2322 00b4 FB69 ldr r3, [r7, #28]
  4983. 2323 .LBE446:
  4984. 2324 .LBE445:
  4985. 2325 .loc 1 1452 5 discriminator 1
  4986. 2326 00b6 23F00103 bic r3, r3, #1
  4987. 2327 00ba FB65 str r3, [r7, #92]
  4988. 2328 00bc 7B68 ldr r3, [r7, #4]
  4989. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 87
  4990. 2329 00be 1B68 ldr r3, [r3]
  4991. 2330 00c0 0833 adds r3, r3, #8
  4992. 2331 00c2 FA6D ldr r2, [r7, #92]
  4993. 2332 00c4 FA62 str r2, [r7, #44]
  4994. 2333 00c6 BB62 str r3, [r7, #40]
  4995. 2334 .LBB447:
  4996. 2335 .LBB448:
  4997. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4998. 2336 .loc 2 1123 4 discriminator 1
  4999. 2337 00c8 B96A ldr r1, [r7, #40]
  5000. 2338 00ca FA6A ldr r2, [r7, #44]
  5001. 2339 .syntax unified
  5002. 2340 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5003. 2341 00cc 41E80023 strex r3, r2, [r1]
  5004. 2342 @ 0 "" 2
  5005. 2343 .thumb
  5006. 2344 .syntax unified
  5007. 2345 00d0 7B62 str r3, [r7, #36]
  5008. 2346 .loc 2 1124 10 discriminator 1
  5009. 2347 00d2 7B6A ldr r3, [r7, #36]
  5010. 2348 .LBE448:
  5011. 2349 .LBE447:
  5012. 2350 .loc 1 1452 5 discriminator 1
  5013. 2351 00d4 002B cmp r3, #0
  5014. 2352 00d6 E5D1 bne .L132
  5015. 2353 .L135:
  5016. 2354 .LBE444:
  5017. 2355 .LBB449:
  5018. 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5019. 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request */
  5020. 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  5021. 2356 .loc 1 1455 5 discriminator 1
  5022. 2357 00d8 7B68 ldr r3, [r7, #4]
  5023. 2358 00da 1B68 ldr r3, [r3]
  5024. 2359 00dc 0833 adds r3, r3, #8
  5025. 2360 00de FB60 str r3, [r7, #12]
  5026. 2361 .LBB450:
  5027. 2362 .LBB451:
  5028. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5029. 2363 .loc 2 1072 4 discriminator 1
  5030. 2364 00e0 FB68 ldr r3, [r7, #12]
  5031. 2365 .syntax unified
  5032. 2366 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5033. 2367 00e2 53E8003F ldrex r3, [r3]
  5034. 2368 @ 0 "" 2
  5035. 2369 .thumb
  5036. 2370 .syntax unified
  5037. 2371 00e6 BB60 str r3, [r7, #8]
  5038. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5039. 2372 .loc 2 1073 10 discriminator 1
  5040. 2373 00e8 BB68 ldr r3, [r7, #8]
  5041. 2374 .LBE451:
  5042. 2375 .LBE450:
  5043. 2376 .loc 1 1455 5 discriminator 1
  5044. 2377 00ea 23F04003 bic r3, r3, #64
  5045. 2378 00ee BB65 str r3, [r7, #88]
  5046. 2379 00f0 7B68 ldr r3, [r7, #4]
  5047. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 88
  5048. 2380 00f2 1B68 ldr r3, [r3]
  5049. 2381 00f4 0833 adds r3, r3, #8
  5050. 2382 00f6 BA6D ldr r2, [r7, #88]
  5051. 2383 00f8 BA61 str r2, [r7, #24]
  5052. 2384 00fa 7B61 str r3, [r7, #20]
  5053. 2385 .LBB452:
  5054. 2386 .LBB453:
  5055. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5056. 2387 .loc 2 1123 4 discriminator 1
  5057. 2388 00fc 7969 ldr r1, [r7, #20]
  5058. 2389 00fe BA69 ldr r2, [r7, #24]
  5059. 2390 .syntax unified
  5060. 2391 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5061. 2392 0100 41E80023 strex r3, r2, [r1]
  5062. 2393 @ 0 "" 2
  5063. 2394 .thumb
  5064. 2395 .syntax unified
  5065. 2396 0104 3B61 str r3, [r7, #16]
  5066. 2397 .loc 2 1124 10 discriminator 1
  5067. 2398 0106 3B69 ldr r3, [r7, #16]
  5068. 2399 .LBE453:
  5069. 2400 .LBE452:
  5070. 2401 .loc 1 1455 5 discriminator 1
  5071. 2402 0108 002B cmp r3, #0
  5072. 2403 010a E5D1 bne .L135
  5073. 2404 .L126:
  5074. 2405 .LBE449:
  5075. 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5076. 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5077. 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  5078. 2406 .loc 1 1458 10
  5079. 2407 010c 0023 movs r3, #0
  5080. 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5081. 2408 .loc 1 1459 1
  5082. 2409 010e 1846 mov r0, r3
  5083. 2410 0110 7437 adds r7, r7, #116
  5084. 2411 .LCFI71:
  5085. 2412 .cfi_def_cfa_offset 4
  5086. 2413 0112 BD46 mov sp, r7
  5087. 2414 .LCFI72:
  5088. 2415 .cfi_def_cfa_register 13
  5089. 2416 @ sp needed
  5090. 2417 0114 5DF8047B ldr r7, [sp], #4
  5091. 2418 .LCFI73:
  5092. 2419 .cfi_restore 7
  5093. 2420 .cfi_def_cfa_offset 0
  5094. 2421 0118 7047 bx lr
  5095. 2422 .cfi_endproc
  5096. 2423 .LFE143:
  5097. 2425 .section .text.HAL_UART_DMAResume,"ax",%progbits
  5098. 2426 .align 1
  5099. 2427 .global HAL_UART_DMAResume
  5100. 2428 .syntax unified
  5101. 2429 .thumb
  5102. 2430 .thumb_func
  5103. 2432 HAL_UART_DMAResume:
  5104. 2433 .LFB144:
  5105. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 89
  5106. 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5107. 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  5108. 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Resume the DMA Transfer.
  5109. 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  5110. 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  5111. 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  5112. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
  5113. 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5114. 2434 .loc 1 1467 1
  5115. 2435 .cfi_startproc
  5116. 2436 @ args = 0, pretend = 0, frame = 104
  5117. 2437 @ frame_needed = 1, uses_anonymous_args = 0
  5118. 2438 @ link register save eliminated.
  5119. 2439 0000 80B4 push {r7}
  5120. 2440 .LCFI74:
  5121. 2441 .cfi_def_cfa_offset 4
  5122. 2442 .cfi_offset 7, -4
  5123. 2443 0002 9BB0 sub sp, sp, #108
  5124. 2444 .LCFI75:
  5125. 2445 .cfi_def_cfa_offset 112
  5126. 2446 0004 00AF add r7, sp, #0
  5127. 2447 .LCFI76:
  5128. 2448 .cfi_def_cfa_register 7
  5129. 2449 0006 7860 str r0, [r7, #4]
  5130. 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
  5131. 2450 .loc 1 1468 12
  5132. 2451 0008 7B68 ldr r3, [r7, #4]
  5133. 2452 000a DB6F ldr r3, [r3, #124]
  5134. 2453 .loc 1 1468 6
  5135. 2454 000c 212B cmp r3, #33
  5136. 2455 000e 19D1 bne .L138
  5137. 2456 .L141:
  5138. 2457 .LBB454:
  5139. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5140. 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Tx request */
  5141. 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  5142. 2458 .loc 1 1471 5 discriminator 1
  5143. 2459 0010 7B68 ldr r3, [r7, #4]
  5144. 2460 0012 1B68 ldr r3, [r3]
  5145. 2461 0014 0833 adds r3, r3, #8
  5146. 2462 0016 BB64 str r3, [r7, #72]
  5147. 2463 .LBB455:
  5148. 2464 .LBB456:
  5149. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5150. 2465 .loc 2 1072 4 discriminator 1
  5151. 2466 0018 BB6C ldr r3, [r7, #72]
  5152. 2467 .syntax unified
  5153. 2468 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5154. 2469 001a 53E8003F ldrex r3, [r3]
  5155. 2470 @ 0 "" 2
  5156. 2471 .thumb
  5157. 2472 .syntax unified
  5158. 2473 001e 7B64 str r3, [r7, #68]
  5159. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5160. 2474 .loc 2 1073 10 discriminator 1
  5161. 2475 0020 7B6C ldr r3, [r7, #68]
  5162. 2476 .LBE456:
  5163. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 90
  5164. 2477 .LBE455:
  5165. 2478 .loc 1 1471 5 discriminator 1
  5166. 2479 0022 43F08003 orr r3, r3, #128
  5167. 2480 0026 7B66 str r3, [r7, #100]
  5168. 2481 0028 7B68 ldr r3, [r7, #4]
  5169. 2482 002a 1B68 ldr r3, [r3]
  5170. 2483 002c 0833 adds r3, r3, #8
  5171. 2484 002e 7A6E ldr r2, [r7, #100]
  5172. 2485 0030 7A65 str r2, [r7, #84]
  5173. 2486 0032 3B65 str r3, [r7, #80]
  5174. 2487 .LBB457:
  5175. 2488 .LBB458:
  5176. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5177. 2489 .loc 2 1123 4 discriminator 1
  5178. 2490 0034 396D ldr r1, [r7, #80]
  5179. 2491 0036 7A6D ldr r2, [r7, #84]
  5180. 2492 .syntax unified
  5181. 2493 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5182. 2494 0038 41E80023 strex r3, r2, [r1]
  5183. 2495 @ 0 "" 2
  5184. 2496 .thumb
  5185. 2497 .syntax unified
  5186. 2498 003c FB64 str r3, [r7, #76]
  5187. 2499 .loc 2 1124 10 discriminator 1
  5188. 2500 003e FB6C ldr r3, [r7, #76]
  5189. 2501 .LBE458:
  5190. 2502 .LBE457:
  5191. 2503 .loc 1 1471 5 discriminator 1
  5192. 2504 0040 002B cmp r3, #0
  5193. 2505 0042 E5D1 bne .L141
  5194. 2506 .L138:
  5195. 2507 .LBE454:
  5196. 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5197. 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
  5198. 2508 .loc 1 1473 12
  5199. 2509 0044 7B68 ldr r3, [r7, #4]
  5200. 2510 0046 D3F88030 ldr r3, [r3, #128]
  5201. 2511 .loc 1 1473 6
  5202. 2512 004a 222B cmp r3, #34
  5203. 2513 004c 54D1 bne .L142
  5204. 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5205. 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */
  5206. 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
  5207. 2514 .loc 1 1476 5
  5208. 2515 004e 7B68 ldr r3, [r7, #4]
  5209. 2516 0050 1B68 ldr r3, [r3]
  5210. 2517 0052 0822 movs r2, #8
  5211. 2518 0054 1A62 str r2, [r3, #32]
  5212. 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5213. 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
  5214. 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
  5215. 2519 .loc 1 1479 20
  5216. 2520 0056 7B68 ldr r3, [r7, #4]
  5217. 2521 0058 1B69 ldr r3, [r3, #16]
  5218. 2522 .loc 1 1479 8
  5219. 2523 005a 002B cmp r3, #0
  5220. 2524 005c 18D0 beq .L149
  5221. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 91
  5222. 2525 .L146:
  5223. 2526 .LBB459:
  5224. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5225. 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  5226. 2527 .loc 1 1481 7 discriminator 1
  5227. 2528 005e 7B68 ldr r3, [r7, #4]
  5228. 2529 0060 1B68 ldr r3, [r3]
  5229. 2530 0062 7B63 str r3, [r7, #52]
  5230. 2531 .LBB460:
  5231. 2532 .LBB461:
  5232. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5233. 2533 .loc 2 1072 4 discriminator 1
  5234. 2534 0064 7B6B ldr r3, [r7, #52]
  5235. 2535 .syntax unified
  5236. 2536 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5237. 2537 0066 53E8003F ldrex r3, [r3]
  5238. 2538 @ 0 "" 2
  5239. 2539 .thumb
  5240. 2540 .syntax unified
  5241. 2541 006a 3B63 str r3, [r7, #48]
  5242. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5243. 2542 .loc 2 1073 10 discriminator 1
  5244. 2543 006c 3B6B ldr r3, [r7, #48]
  5245. 2544 .LBE461:
  5246. 2545 .LBE460:
  5247. 2546 .loc 1 1481 7 discriminator 1
  5248. 2547 006e 43F48073 orr r3, r3, #256
  5249. 2548 0072 3B66 str r3, [r7, #96]
  5250. 2549 0074 7B68 ldr r3, [r7, #4]
  5251. 2550 0076 1B68 ldr r3, [r3]
  5252. 2551 0078 1A46 mov r2, r3
  5253. 2552 007a 3B6E ldr r3, [r7, #96]
  5254. 2553 007c 3B64 str r3, [r7, #64]
  5255. 2554 007e FA63 str r2, [r7, #60]
  5256. 2555 .LBB462:
  5257. 2556 .LBB463:
  5258. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5259. 2557 .loc 2 1123 4 discriminator 1
  5260. 2558 0080 F96B ldr r1, [r7, #60]
  5261. 2559 0082 3A6C ldr r2, [r7, #64]
  5262. 2560 .syntax unified
  5263. 2561 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5264. 2562 0084 41E80023 strex r3, r2, [r1]
  5265. 2563 @ 0 "" 2
  5266. 2564 .thumb
  5267. 2565 .syntax unified
  5268. 2566 0088 BB63 str r3, [r7, #56]
  5269. 2567 .loc 2 1124 10 discriminator 1
  5270. 2568 008a BB6B ldr r3, [r7, #56]
  5271. 2569 .LBE463:
  5272. 2570 .LBE462:
  5273. 2571 .loc 1 1481 7 discriminator 1
  5274. 2572 008c 002B cmp r3, #0
  5275. 2573 008e E6D1 bne .L146
  5276. 2574 .L149:
  5277. 2575 .LBE459:
  5278. 2576 .LBB464:
  5279. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 92
  5280. 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5281. 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
  5282. 2577 .loc 1 1483 5 discriminator 1
  5283. 2578 0090 7B68 ldr r3, [r7, #4]
  5284. 2579 0092 1B68 ldr r3, [r3]
  5285. 2580 0094 0833 adds r3, r3, #8
  5286. 2581 0096 3B62 str r3, [r7, #32]
  5287. 2582 .LBB465:
  5288. 2583 .LBB466:
  5289. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5290. 2584 .loc 2 1072 4 discriminator 1
  5291. 2585 0098 3B6A ldr r3, [r7, #32]
  5292. 2586 .syntax unified
  5293. 2587 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5294. 2588 009a 53E8003F ldrex r3, [r3]
  5295. 2589 @ 0 "" 2
  5296. 2590 .thumb
  5297. 2591 .syntax unified
  5298. 2592 009e FB61 str r3, [r7, #28]
  5299. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5300. 2593 .loc 2 1073 10 discriminator 1
  5301. 2594 00a0 FB69 ldr r3, [r7, #28]
  5302. 2595 .LBE466:
  5303. 2596 .LBE465:
  5304. 2597 .loc 1 1483 5 discriminator 1
  5305. 2598 00a2 43F00103 orr r3, r3, #1
  5306. 2599 00a6 FB65 str r3, [r7, #92]
  5307. 2600 00a8 7B68 ldr r3, [r7, #4]
  5308. 2601 00aa 1B68 ldr r3, [r3]
  5309. 2602 00ac 0833 adds r3, r3, #8
  5310. 2603 00ae FA6D ldr r2, [r7, #92]
  5311. 2604 00b0 FA62 str r2, [r7, #44]
  5312. 2605 00b2 BB62 str r3, [r7, #40]
  5313. 2606 .LBB467:
  5314. 2607 .LBB468:
  5315. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5316. 2608 .loc 2 1123 4 discriminator 1
  5317. 2609 00b4 B96A ldr r1, [r7, #40]
  5318. 2610 00b6 FA6A ldr r2, [r7, #44]
  5319. 2611 .syntax unified
  5320. 2612 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5321. 2613 00b8 41E80023 strex r3, r2, [r1]
  5322. 2614 @ 0 "" 2
  5323. 2615 .thumb
  5324. 2616 .syntax unified
  5325. 2617 00bc 7B62 str r3, [r7, #36]
  5326. 2618 .loc 2 1124 10 discriminator 1
  5327. 2619 00be 7B6A ldr r3, [r7, #36]
  5328. 2620 .LBE468:
  5329. 2621 .LBE467:
  5330. 2622 .loc 1 1483 5 discriminator 1
  5331. 2623 00c0 002B cmp r3, #0
  5332. 2624 00c2 E5D1 bne .L149
  5333. 2625 .L152:
  5334. 2626 .LBE464:
  5335. 2627 .LBB469:
  5336. 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5337. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 93
  5338. 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Rx request */
  5339. 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  5340. 2628 .loc 1 1486 5 discriminator 1
  5341. 2629 00c4 7B68 ldr r3, [r7, #4]
  5342. 2630 00c6 1B68 ldr r3, [r3]
  5343. 2631 00c8 0833 adds r3, r3, #8
  5344. 2632 00ca FB60 str r3, [r7, #12]
  5345. 2633 .LBB470:
  5346. 2634 .LBB471:
  5347. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5348. 2635 .loc 2 1072 4 discriminator 1
  5349. 2636 00cc FB68 ldr r3, [r7, #12]
  5350. 2637 .syntax unified
  5351. 2638 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5352. 2639 00ce 53E8003F ldrex r3, [r3]
  5353. 2640 @ 0 "" 2
  5354. 2641 .thumb
  5355. 2642 .syntax unified
  5356. 2643 00d2 BB60 str r3, [r7, #8]
  5357. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5358. 2644 .loc 2 1073 10 discriminator 1
  5359. 2645 00d4 BB68 ldr r3, [r7, #8]
  5360. 2646 .LBE471:
  5361. 2647 .LBE470:
  5362. 2648 .loc 1 1486 5 discriminator 1
  5363. 2649 00d6 43F04003 orr r3, r3, #64
  5364. 2650 00da BB65 str r3, [r7, #88]
  5365. 2651 00dc 7B68 ldr r3, [r7, #4]
  5366. 2652 00de 1B68 ldr r3, [r3]
  5367. 2653 00e0 0833 adds r3, r3, #8
  5368. 2654 00e2 BA6D ldr r2, [r7, #88]
  5369. 2655 00e4 BA61 str r2, [r7, #24]
  5370. 2656 00e6 7B61 str r3, [r7, #20]
  5371. 2657 .LBB472:
  5372. 2658 .LBB473:
  5373. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5374. 2659 .loc 2 1123 4 discriminator 1
  5375. 2660 00e8 7969 ldr r1, [r7, #20]
  5376. 2661 00ea BA69 ldr r2, [r7, #24]
  5377. 2662 .syntax unified
  5378. 2663 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5379. 2664 00ec 41E80023 strex r3, r2, [r1]
  5380. 2665 @ 0 "" 2
  5381. 2666 .thumb
  5382. 2667 .syntax unified
  5383. 2668 00f0 3B61 str r3, [r7, #16]
  5384. 2669 .loc 2 1124 10 discriminator 1
  5385. 2670 00f2 3B69 ldr r3, [r7, #16]
  5386. 2671 .LBE473:
  5387. 2672 .LBE472:
  5388. 2673 .loc 1 1486 5 discriminator 1
  5389. 2674 00f4 002B cmp r3, #0
  5390. 2675 00f6 E5D1 bne .L152
  5391. 2676 .L142:
  5392. 2677 .LBE469:
  5393. 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5394. 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5395. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 94
  5396. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  5397. 2678 .loc 1 1489 10
  5398. 2679 00f8 0023 movs r3, #0
  5399. 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5400. 2680 .loc 1 1490 1
  5401. 2681 00fa 1846 mov r0, r3
  5402. 2682 00fc 6C37 adds r7, r7, #108
  5403. 2683 .LCFI77:
  5404. 2684 .cfi_def_cfa_offset 4
  5405. 2685 00fe BD46 mov sp, r7
  5406. 2686 .LCFI78:
  5407. 2687 .cfi_def_cfa_register 13
  5408. 2688 @ sp needed
  5409. 2689 0100 5DF8047B ldr r7, [sp], #4
  5410. 2690 .LCFI79:
  5411. 2691 .cfi_restore 7
  5412. 2692 .cfi_def_cfa_offset 0
  5413. 2693 0104 7047 bx lr
  5414. 2694 .cfi_endproc
  5415. 2695 .LFE144:
  5416. 2697 .section .text.HAL_UART_DMAStop,"ax",%progbits
  5417. 2698 .align 1
  5418. 2699 .global HAL_UART_DMAStop
  5419. 2700 .syntax unified
  5420. 2701 .thumb
  5421. 2702 .thumb_func
  5422. 2704 HAL_UART_DMAStop:
  5423. 2705 .LFB145:
  5424. 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5425. 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  5426. 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Stop the DMA Transfer.
  5427. 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  5428. 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  5429. 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  5430. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
  5431. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5432. 2706 .loc 1 1498 1
  5433. 2707 .cfi_startproc
  5434. 2708 @ args = 0, pretend = 0, frame = 64
  5435. 2709 @ frame_needed = 1, uses_anonymous_args = 0
  5436. 2710 0000 80B5 push {r7, lr}
  5437. 2711 .LCFI80:
  5438. 2712 .cfi_def_cfa_offset 8
  5439. 2713 .cfi_offset 7, -8
  5440. 2714 .cfi_offset 14, -4
  5441. 2715 0002 90B0 sub sp, sp, #64
  5442. 2716 .LCFI81:
  5443. 2717 .cfi_def_cfa_offset 72
  5444. 2718 0004 00AF add r7, sp, #0
  5445. 2719 .LCFI82:
  5446. 2720 .cfi_def_cfa_register 7
  5447. 2721 0006 7860 str r0, [r7, #4]
  5448. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
  5449. 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
  5450. 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback:
  5451. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete
  5452. 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of
  5453. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 95
  5454. 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the stream and the corresponding call back is executed. */
  5455. 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5456. 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
  5457. 2722 .loc 1 1506 31
  5458. 2723 0008 7B68 ldr r3, [r7, #4]
  5459. 2724 000a DB6F ldr r3, [r3, #124]
  5460. 2725 000c FB63 str r3, [r7, #60]
  5461. 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
  5462. 2726 .loc 1 1507 31
  5463. 2727 000e 7B68 ldr r3, [r7, #4]
  5464. 2728 0010 D3F88030 ldr r3, [r3, #128]
  5465. 2729 0014 BB63 str r3, [r7, #56]
  5466. 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5467. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
  5468. 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
  5469. 2730 .loc 1 1510 8
  5470. 2731 0016 7B68 ldr r3, [r7, #4]
  5471. 2732 0018 1B68 ldr r3, [r3]
  5472. 2733 001a 9B68 ldr r3, [r3, #8]
  5473. 2734 001c 03F08003 and r3, r3, #128
  5474. 2735 .loc 1 1510 6
  5475. 2736 0020 802B cmp r3, #128
  5476. 2737 0022 39D1 bne .L155
  5477. 2738 .loc 1 1510 62 discriminator 1
  5478. 2739 0024 FB6B ldr r3, [r7, #60]
  5479. 2740 0026 212B cmp r3, #33
  5480. 2741 0028 36D1 bne .L155
  5481. 2742 .L158:
  5482. 2743 .LBB474:
  5483. 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
  5484. 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5485. 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  5486. 2744 .loc 1 1513 5 discriminator 1
  5487. 2745 002a 7B68 ldr r3, [r7, #4]
  5488. 2746 002c 1B68 ldr r3, [r3]
  5489. 2747 002e 0833 adds r3, r3, #8
  5490. 2748 0030 3B62 str r3, [r7, #32]
  5491. 2749 .LBB475:
  5492. 2750 .LBB476:
  5493. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5494. 2751 .loc 2 1072 4 discriminator 1
  5495. 2752 0032 3B6A ldr r3, [r7, #32]
  5496. 2753 .syntax unified
  5497. 2754 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5498. 2755 0034 53E8003F ldrex r3, [r3]
  5499. 2756 @ 0 "" 2
  5500. 2757 .thumb
  5501. 2758 .syntax unified
  5502. 2759 0038 FB61 str r3, [r7, #28]
  5503. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5504. 2760 .loc 2 1073 10 discriminator 1
  5505. 2761 003a FB69 ldr r3, [r7, #28]
  5506. 2762 .LBE476:
  5507. 2763 .LBE475:
  5508. 2764 .loc 1 1513 5 discriminator 1
  5509. 2765 003c 23F08003 bic r3, r3, #128
  5510. 2766 0040 7B63 str r3, [r7, #52]
  5511. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 96
  5512. 2767 0042 7B68 ldr r3, [r7, #4]
  5513. 2768 0044 1B68 ldr r3, [r3]
  5514. 2769 0046 0833 adds r3, r3, #8
  5515. 2770 0048 7A6B ldr r2, [r7, #52]
  5516. 2771 004a FA62 str r2, [r7, #44]
  5517. 2772 004c BB62 str r3, [r7, #40]
  5518. 2773 .LBB477:
  5519. 2774 .LBB478:
  5520. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5521. 2775 .loc 2 1123 4 discriminator 1
  5522. 2776 004e B96A ldr r1, [r7, #40]
  5523. 2777 0050 FA6A ldr r2, [r7, #44]
  5524. 2778 .syntax unified
  5525. 2779 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5526. 2780 0052 41E80023 strex r3, r2, [r1]
  5527. 2781 @ 0 "" 2
  5528. 2782 .thumb
  5529. 2783 .syntax unified
  5530. 2784 0056 7B62 str r3, [r7, #36]
  5531. 2785 .loc 2 1124 10 discriminator 1
  5532. 2786 0058 7B6A ldr r3, [r7, #36]
  5533. 2787 .LBE478:
  5534. 2788 .LBE477:
  5535. 2789 .loc 1 1513 5 discriminator 1
  5536. 2790 005a 002B cmp r3, #0
  5537. 2791 005c E5D1 bne .L158
  5538. 2792 .LBE474:
  5539. 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5540. 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel */
  5541. 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  5542. 2793 .loc 1 1516 14
  5543. 2794 005e 7B68 ldr r3, [r7, #4]
  5544. 2795 0060 1B6F ldr r3, [r3, #112]
  5545. 2796 .loc 1 1516 8
  5546. 2797 0062 002B cmp r3, #0
  5547. 2798 0064 15D0 beq .L159
  5548. 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5549. 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
  5550. 2799 .loc 1 1518 11
  5551. 2800 0066 7B68 ldr r3, [r7, #4]
  5552. 2801 0068 1B6F ldr r3, [r3, #112]
  5553. 2802 006a 1846 mov r0, r3
  5554. 2803 006c FFF7FEFF bl HAL_DMA_Abort
  5555. 2804 0070 0346 mov r3, r0
  5556. 2805 .loc 1 1518 10
  5557. 2806 0072 002B cmp r3, #0
  5558. 2807 0074 0DD0 beq .L159
  5559. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5560. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
  5561. 2808 .loc 1 1520 13
  5562. 2809 0076 7B68 ldr r3, [r7, #4]
  5563. 2810 0078 1B6F ldr r3, [r3, #112]
  5564. 2811 007a 1846 mov r0, r3
  5565. 2812 007c FFF7FEFF bl HAL_DMA_GetError
  5566. 2813 0080 0346 mov r3, r0
  5567. 2814 .loc 1 1520 12
  5568. 2815 0082 202B cmp r3, #32
  5569. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 97
  5570. 2816 0084 05D1 bne .L159
  5571. 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5572. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  5573. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  5574. 2817 .loc 1 1523 28
  5575. 2818 0086 7B68 ldr r3, [r7, #4]
  5576. 2819 0088 1022 movs r2, #16
  5577. 2820 008a C3F88420 str r2, [r3, #132]
  5578. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5579. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  5580. 2821 .loc 1 1525 18
  5581. 2822 008e 0323 movs r3, #3
  5582. 2823 0090 44E0 b .L160
  5583. 2824 .L159:
  5584. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5585. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5586. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5587. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5588. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart);
  5589. 2825 .loc 1 1530 5
  5590. 2826 0092 7868 ldr r0, [r7, #4]
  5591. 2827 0094 FFF7FEFF bl UART_EndTxTransfer
  5592. 2828 .L155:
  5593. 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5594. 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5595. 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
  5596. 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
  5597. 2829 .loc 1 1534 8
  5598. 2830 0098 7B68 ldr r3, [r7, #4]
  5599. 2831 009a 1B68 ldr r3, [r3]
  5600. 2832 009c 9B68 ldr r3, [r3, #8]
  5601. 2833 009e 03F04003 and r3, r3, #64
  5602. 2834 .loc 1 1534 6
  5603. 2835 00a2 402B cmp r3, #64
  5604. 2836 00a4 39D1 bne .L161
  5605. 2837 .loc 1 1534 62 discriminator 1
  5606. 2838 00a6 BB6B ldr r3, [r7, #56]
  5607. 2839 00a8 222B cmp r3, #34
  5608. 2840 00aa 36D1 bne .L161
  5609. 2841 .L164:
  5610. 2842 .LBB479:
  5611. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
  5612. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5613. 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  5614. 2843 .loc 1 1537 5 discriminator 1
  5615. 2844 00ac 7B68 ldr r3, [r7, #4]
  5616. 2845 00ae 1B68 ldr r3, [r3]
  5617. 2846 00b0 0833 adds r3, r3, #8
  5618. 2847 00b2 FB60 str r3, [r7, #12]
  5619. 2848 .LBB480:
  5620. 2849 .LBB481:
  5621. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5622. 2850 .loc 2 1072 4 discriminator 1
  5623. 2851 00b4 FB68 ldr r3, [r7, #12]
  5624. 2852 .syntax unified
  5625. 2853 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5626. 2854 00b6 53E8003F ldrex r3, [r3]
  5627. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 98
  5628. 2855 @ 0 "" 2
  5629. 2856 .thumb
  5630. 2857 .syntax unified
  5631. 2858 00ba BB60 str r3, [r7, #8]
  5632. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5633. 2859 .loc 2 1073 10 discriminator 1
  5634. 2860 00bc BB68 ldr r3, [r7, #8]
  5635. 2861 .LBE481:
  5636. 2862 .LBE480:
  5637. 2863 .loc 1 1537 5 discriminator 1
  5638. 2864 00be 23F04003 bic r3, r3, #64
  5639. 2865 00c2 3B63 str r3, [r7, #48]
  5640. 2866 00c4 7B68 ldr r3, [r7, #4]
  5641. 2867 00c6 1B68 ldr r3, [r3]
  5642. 2868 00c8 0833 adds r3, r3, #8
  5643. 2869 00ca 3A6B ldr r2, [r7, #48]
  5644. 2870 00cc BA61 str r2, [r7, #24]
  5645. 2871 00ce 7B61 str r3, [r7, #20]
  5646. 2872 .LBB482:
  5647. 2873 .LBB483:
  5648. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5649. 2874 .loc 2 1123 4 discriminator 1
  5650. 2875 00d0 7969 ldr r1, [r7, #20]
  5651. 2876 00d2 BA69 ldr r2, [r7, #24]
  5652. 2877 .syntax unified
  5653. 2878 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5654. 2879 00d4 41E80023 strex r3, r2, [r1]
  5655. 2880 @ 0 "" 2
  5656. 2881 .thumb
  5657. 2882 .syntax unified
  5658. 2883 00d8 3B61 str r3, [r7, #16]
  5659. 2884 .loc 2 1124 10 discriminator 1
  5660. 2885 00da 3B69 ldr r3, [r7, #16]
  5661. 2886 .LBE483:
  5662. 2887 .LBE482:
  5663. 2888 .loc 1 1537 5 discriminator 1
  5664. 2889 00dc 002B cmp r3, #0
  5665. 2890 00de E5D1 bne .L164
  5666. 2891 .LBE479:
  5667. 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5668. 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
  5669. 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  5670. 2892 .loc 1 1540 14
  5671. 2893 00e0 7B68 ldr r3, [r7, #4]
  5672. 2894 00e2 5B6F ldr r3, [r3, #116]
  5673. 2895 .loc 1 1540 8
  5674. 2896 00e4 002B cmp r3, #0
  5675. 2897 00e6 15D0 beq .L165
  5676. 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5677. 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
  5678. 2898 .loc 1 1542 11
  5679. 2899 00e8 7B68 ldr r3, [r7, #4]
  5680. 2900 00ea 5B6F ldr r3, [r3, #116]
  5681. 2901 00ec 1846 mov r0, r3
  5682. 2902 00ee FFF7FEFF bl HAL_DMA_Abort
  5683. 2903 00f2 0346 mov r3, r0
  5684. 2904 .loc 1 1542 10
  5685. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 99
  5686. 2905 00f4 002B cmp r3, #0
  5687. 2906 00f6 0DD0 beq .L165
  5688. 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5689. 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
  5690. 2907 .loc 1 1544 13
  5691. 2908 00f8 7B68 ldr r3, [r7, #4]
  5692. 2909 00fa 5B6F ldr r3, [r3, #116]
  5693. 2910 00fc 1846 mov r0, r3
  5694. 2911 00fe FFF7FEFF bl HAL_DMA_GetError
  5695. 2912 0102 0346 mov r3, r0
  5696. 2913 .loc 1 1544 12
  5697. 2914 0104 202B cmp r3, #32
  5698. 2915 0106 05D1 bne .L165
  5699. 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5700. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  5701. 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  5702. 2916 .loc 1 1547 28
  5703. 2917 0108 7B68 ldr r3, [r7, #4]
  5704. 2918 010a 1022 movs r2, #16
  5705. 2919 010c C3F88420 str r2, [r3, #132]
  5706. 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5707. 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  5708. 2920 .loc 1 1549 18
  5709. 2921 0110 0323 movs r3, #3
  5710. 2922 0112 03E0 b .L160
  5711. 2923 .L165:
  5712. 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5713. 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5714. 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5715. 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5716. 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
  5717. 2924 .loc 1 1554 5
  5718. 2925 0114 7868 ldr r0, [r7, #4]
  5719. 2926 0116 FFF7FEFF bl UART_EndRxTransfer
  5720. 2927 .L161:
  5721. 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5722. 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5723. 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  5724. 2928 .loc 1 1557 10
  5725. 2929 011a 0023 movs r3, #0
  5726. 2930 .L160:
  5727. 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5728. 2931 .loc 1 1558 1
  5729. 2932 011c 1846 mov r0, r3
  5730. 2933 011e 4037 adds r7, r7, #64
  5731. 2934 .LCFI83:
  5732. 2935 .cfi_def_cfa_offset 8
  5733. 2936 0120 BD46 mov sp, r7
  5734. 2937 .LCFI84:
  5735. 2938 .cfi_def_cfa_register 13
  5736. 2939 @ sp needed
  5737. 2940 0122 80BD pop {r7, pc}
  5738. 2941 .cfi_endproc
  5739. 2942 .LFE145:
  5740. 2944 .section .text.HAL_UART_Abort,"ax",%progbits
  5741. 2945 .align 1
  5742. 2946 .global HAL_UART_Abort
  5743. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 100
  5744. 2947 .syntax unified
  5745. 2948 .thumb
  5746. 2949 .thumb_func
  5747. 2951 HAL_UART_Abort:
  5748. 2952 .LFB146:
  5749. 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5750. 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  5751. 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
  5752. 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  5753. 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
  5754. 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
  5755. 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
  5756. 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  5757. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
  5758. 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
  5759. 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
  5760. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  5761. 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  5762. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
  5763. 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5764. 2953 .loc 1 1573 1
  5765. 2954 .cfi_startproc
  5766. 2955 @ args = 0, pretend = 0, frame = 128
  5767. 2956 @ frame_needed = 1, uses_anonymous_args = 0
  5768. 2957 0000 80B5 push {r7, lr}
  5769. 2958 .LCFI85:
  5770. 2959 .cfi_def_cfa_offset 8
  5771. 2960 .cfi_offset 7, -8
  5772. 2961 .cfi_offset 14, -4
  5773. 2962 0002 A0B0 sub sp, sp, #128
  5774. 2963 .LCFI86:
  5775. 2964 .cfi_def_cfa_offset 136
  5776. 2965 0004 00AF add r7, sp, #0
  5777. 2966 .LCFI87:
  5778. 2967 .cfi_def_cfa_register 7
  5779. 2968 0006 7860 str r0, [r7, #4]
  5780. 2969 .L169:
  5781. 2970 .LBB484:
  5782. 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  5783. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
  5784. 2971 .loc 1 1575 3 discriminator 1
  5785. 2972 0008 7B68 ldr r3, [r7, #4]
  5786. 2973 000a 1B68 ldr r3, [r3]
  5787. 2974 000c FB65 str r3, [r7, #92]
  5788. 2975 .LBB485:
  5789. 2976 .LBB486:
  5790. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5791. 2977 .loc 2 1072 4 discriminator 1
  5792. 2978 000e FB6D ldr r3, [r7, #92]
  5793. 2979 .syntax unified
  5794. 2980 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5795. 2981 0010 53E8003F ldrex r3, [r3]
  5796. 2982 @ 0 "" 2
  5797. 2983 .thumb
  5798. 2984 .syntax unified
  5799. 2985 0014 BB65 str r3, [r7, #88]
  5800. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5801. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 101
  5802. 2986 .loc 2 1073 10 discriminator 1
  5803. 2987 0016 BB6D ldr r3, [r7, #88]
  5804. 2988 .LBE486:
  5805. 2989 .LBE485:
  5806. 2990 .loc 1 1575 3 discriminator 1
  5807. 2991 0018 23F4F073 bic r3, r3, #480
  5808. 2992 001c FB67 str r3, [r7, #124]
  5809. 2993 001e 7B68 ldr r3, [r7, #4]
  5810. 2994 0020 1B68 ldr r3, [r3]
  5811. 2995 0022 1A46 mov r2, r3
  5812. 2996 0024 FB6F ldr r3, [r7, #124]
  5813. 2997 0026 BB66 str r3, [r7, #104]
  5814. 2998 0028 7A66 str r2, [r7, #100]
  5815. 2999 .LBB487:
  5816. 3000 .LBB488:
  5817. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5818. 3001 .loc 2 1123 4 discriminator 1
  5819. 3002 002a 796E ldr r1, [r7, #100]
  5820. 3003 002c BA6E ldr r2, [r7, #104]
  5821. 3004 .syntax unified
  5822. 3005 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5823. 3006 002e 41E80023 strex r3, r2, [r1]
  5824. 3007 @ 0 "" 2
  5825. 3008 .thumb
  5826. 3009 .syntax unified
  5827. 3010 0032 3B66 str r3, [r7, #96]
  5828. 3011 .loc 2 1124 10 discriminator 1
  5829. 3012 0034 3B6E ldr r3, [r7, #96]
  5830. 3013 .LBE488:
  5831. 3014 .LBE487:
  5832. 3015 .loc 1 1575 3 discriminator 1
  5833. 3016 0036 002B cmp r3, #0
  5834. 3017 0038 E6D1 bne .L169
  5835. 3018 .L172:
  5836. 3019 .LBE484:
  5837. 3020 .LBB489:
  5838. 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  5839. 3021 .loc 1 1576 3 discriminator 1
  5840. 3022 003a 7B68 ldr r3, [r7, #4]
  5841. 3023 003c 1B68 ldr r3, [r3]
  5842. 3024 003e 0833 adds r3, r3, #8
  5843. 3025 0040 BB64 str r3, [r7, #72]
  5844. 3026 .LBB490:
  5845. 3027 .LBB491:
  5846. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5847. 3028 .loc 2 1072 4 discriminator 1
  5848. 3029 0042 BB6C ldr r3, [r7, #72]
  5849. 3030 .syntax unified
  5850. 3031 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5851. 3032 0044 53E8003F ldrex r3, [r3]
  5852. 3033 @ 0 "" 2
  5853. 3034 .thumb
  5854. 3035 .syntax unified
  5855. 3036 0048 7B64 str r3, [r7, #68]
  5856. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5857. 3037 .loc 2 1073 10 discriminator 1
  5858. 3038 004a 7B6C ldr r3, [r7, #68]
  5859. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 102
  5860. 3039 .LBE491:
  5861. 3040 .LBE490:
  5862. 3041 .loc 1 1576 3 discriminator 1
  5863. 3042 004c 23F00103 bic r3, r3, #1
  5864. 3043 0050 BB67 str r3, [r7, #120]
  5865. 3044 0052 7B68 ldr r3, [r7, #4]
  5866. 3045 0054 1B68 ldr r3, [r3]
  5867. 3046 0056 0833 adds r3, r3, #8
  5868. 3047 0058 BA6F ldr r2, [r7, #120]
  5869. 3048 005a 7A65 str r2, [r7, #84]
  5870. 3049 005c 3B65 str r3, [r7, #80]
  5871. 3050 .LBB492:
  5872. 3051 .LBB493:
  5873. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5874. 3052 .loc 2 1123 4 discriminator 1
  5875. 3053 005e 396D ldr r1, [r7, #80]
  5876. 3054 0060 7A6D ldr r2, [r7, #84]
  5877. 3055 .syntax unified
  5878. 3056 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5879. 3057 0062 41E80023 strex r3, r2, [r1]
  5880. 3058 @ 0 "" 2
  5881. 3059 .thumb
  5882. 3060 .syntax unified
  5883. 3061 0066 FB64 str r3, [r7, #76]
  5884. 3062 .loc 2 1124 10 discriminator 1
  5885. 3063 0068 FB6C ldr r3, [r7, #76]
  5886. 3064 .LBE493:
  5887. 3065 .LBE492:
  5888. 3066 .loc 1 1576 3 discriminator 1
  5889. 3067 006a 002B cmp r3, #0
  5890. 3068 006c E5D1 bne .L172
  5891. 3069 .LBE489:
  5892. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5893. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  5894. 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  5895. 3070 .loc 1 1579 12
  5896. 3071 006e 7B68 ldr r3, [r7, #4]
  5897. 3072 0070 1B6E ldr r3, [r3, #96]
  5898. 3073 .loc 1 1579 6
  5899. 3074 0072 012B cmp r3, #1
  5900. 3075 0074 18D1 bne .L173
  5901. 3076 .L176:
  5902. 3077 .LBB494:
  5903. 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5904. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  5905. 3078 .loc 1 1581 5 discriminator 1
  5906. 3079 0076 7B68 ldr r3, [r7, #4]
  5907. 3080 0078 1B68 ldr r3, [r3]
  5908. 3081 007a 7B63 str r3, [r7, #52]
  5909. 3082 .LBB495:
  5910. 3083 .LBB496:
  5911. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5912. 3084 .loc 2 1072 4 discriminator 1
  5913. 3085 007c 7B6B ldr r3, [r7, #52]
  5914. 3086 .syntax unified
  5915. 3087 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5916. 3088 007e 53E8003F ldrex r3, [r3]
  5917. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 103
  5918. 3089 @ 0 "" 2
  5919. 3090 .thumb
  5920. 3091 .syntax unified
  5921. 3092 0082 3B63 str r3, [r7, #48]
  5922. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5923. 3093 .loc 2 1073 10 discriminator 1
  5924. 3094 0084 3B6B ldr r3, [r7, #48]
  5925. 3095 .LBE496:
  5926. 3096 .LBE495:
  5927. 3097 .loc 1 1581 5 discriminator 1
  5928. 3098 0086 23F01003 bic r3, r3, #16
  5929. 3099 008a 7B67 str r3, [r7, #116]
  5930. 3100 008c 7B68 ldr r3, [r7, #4]
  5931. 3101 008e 1B68 ldr r3, [r3]
  5932. 3102 0090 1A46 mov r2, r3
  5933. 3103 0092 7B6F ldr r3, [r7, #116]
  5934. 3104 0094 3B64 str r3, [r7, #64]
  5935. 3105 0096 FA63 str r2, [r7, #60]
  5936. 3106 .LBB497:
  5937. 3107 .LBB498:
  5938. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5939. 3108 .loc 2 1123 4 discriminator 1
  5940. 3109 0098 F96B ldr r1, [r7, #60]
  5941. 3110 009a 3A6C ldr r2, [r7, #64]
  5942. 3111 .syntax unified
  5943. 3112 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5944. 3113 009c 41E80023 strex r3, r2, [r1]
  5945. 3114 @ 0 "" 2
  5946. 3115 .thumb
  5947. 3116 .syntax unified
  5948. 3117 00a0 BB63 str r3, [r7, #56]
  5949. 3118 .loc 2 1124 10 discriminator 1
  5950. 3119 00a2 BB6B ldr r3, [r7, #56]
  5951. 3120 .LBE498:
  5952. 3121 .LBE497:
  5953. 3122 .loc 1 1581 5 discriminator 1
  5954. 3123 00a4 002B cmp r3, #0
  5955. 3124 00a6 E6D1 bne .L176
  5956. 3125 .L173:
  5957. 3126 .LBE494:
  5958. 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  5959. 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  5960. 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
  5961. 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  5962. 3127 .loc 1 1585 7
  5963. 3128 00a8 7B68 ldr r3, [r7, #4]
  5964. 3129 00aa 1B68 ldr r3, [r3]
  5965. 3130 00ac 9B68 ldr r3, [r3, #8]
  5966. 3131 00ae 03F08003 and r3, r3, #128
  5967. 3132 .loc 1 1585 6
  5968. 3133 00b2 802B cmp r3, #128
  5969. 3134 00b4 37D1 bne .L177
  5970. 3135 .L180:
  5971. 3136 .LBB499:
  5972. 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  5973. 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
  5974. 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  5975. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 104
  5976. 3137 .loc 1 1588 5 discriminator 1
  5977. 3138 00b6 7B68 ldr r3, [r7, #4]
  5978. 3139 00b8 1B68 ldr r3, [r3]
  5979. 3140 00ba 0833 adds r3, r3, #8
  5980. 3141 00bc 3B62 str r3, [r7, #32]
  5981. 3142 .LBB500:
  5982. 3143 .LBB501:
  5983. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5984. 3144 .loc 2 1072 4 discriminator 1
  5985. 3145 00be 3B6A ldr r3, [r7, #32]
  5986. 3146 .syntax unified
  5987. 3147 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5988. 3148 00c0 53E8003F ldrex r3, [r3]
  5989. 3149 @ 0 "" 2
  5990. 3150 .thumb
  5991. 3151 .syntax unified
  5992. 3152 00c4 FB61 str r3, [r7, #28]
  5993. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5994. 3153 .loc 2 1073 10 discriminator 1
  5995. 3154 00c6 FB69 ldr r3, [r7, #28]
  5996. 3155 .LBE501:
  5997. 3156 .LBE500:
  5998. 3157 .loc 1 1588 5 discriminator 1
  5999. 3158 00c8 23F08003 bic r3, r3, #128
  6000. 3159 00cc 3B67 str r3, [r7, #112]
  6001. 3160 00ce 7B68 ldr r3, [r7, #4]
  6002. 3161 00d0 1B68 ldr r3, [r3]
  6003. 3162 00d2 0833 adds r3, r3, #8
  6004. 3163 00d4 3A6F ldr r2, [r7, #112]
  6005. 3164 00d6 FA62 str r2, [r7, #44]
  6006. 3165 00d8 BB62 str r3, [r7, #40]
  6007. 3166 .LBB502:
  6008. 3167 .LBB503:
  6009. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6010. 3168 .loc 2 1123 4 discriminator 1
  6011. 3169 00da B96A ldr r1, [r7, #40]
  6012. 3170 00dc FA6A ldr r2, [r7, #44]
  6013. 3171 .syntax unified
  6014. 3172 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6015. 3173 00de 41E80023 strex r3, r2, [r1]
  6016. 3174 @ 0 "" 2
  6017. 3175 .thumb
  6018. 3176 .syntax unified
  6019. 3177 00e2 7B62 str r3, [r7, #36]
  6020. 3178 .loc 2 1124 10 discriminator 1
  6021. 3179 00e4 7B6A ldr r3, [r7, #36]
  6022. 3180 .LBE503:
  6023. 3181 .LBE502:
  6024. 3182 .loc 1 1588 5 discriminator 1
  6025. 3183 00e6 002B cmp r3, #0
  6026. 3184 00e8 E5D1 bne .L180
  6027. 3185 .LBE499:
  6028. 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6029. 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
  6030. 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  6031. 3186 .loc 1 1591 14
  6032. 3187 00ea 7B68 ldr r3, [r7, #4]
  6033. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 105
  6034. 3188 00ec 1B6F ldr r3, [r3, #112]
  6035. 3189 .loc 1 1591 8
  6036. 3190 00ee 002B cmp r3, #0
  6037. 3191 00f0 19D0 beq .L177
  6038. 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6039. 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  6040. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  6041. 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  6042. 3192 .loc 1 1595 12
  6043. 3193 00f2 7B68 ldr r3, [r7, #4]
  6044. 3194 00f4 1B6F ldr r3, [r3, #112]
  6045. 3195 .loc 1 1595 40
  6046. 3196 00f6 0022 movs r2, #0
  6047. 3197 00f8 5A63 str r2, [r3, #52]
  6048. 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6049. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
  6050. 3198 .loc 1 1597 11
  6051. 3199 00fa 7B68 ldr r3, [r7, #4]
  6052. 3200 00fc 1B6F ldr r3, [r3, #112]
  6053. 3201 00fe 1846 mov r0, r3
  6054. 3202 0100 FFF7FEFF bl HAL_DMA_Abort
  6055. 3203 0104 0346 mov r3, r0
  6056. 3204 .loc 1 1597 10
  6057. 3205 0106 002B cmp r3, #0
  6058. 3206 0108 0DD0 beq .L177
  6059. 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6060. 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
  6061. 3207 .loc 1 1599 13
  6062. 3208 010a 7B68 ldr r3, [r7, #4]
  6063. 3209 010c 1B6F ldr r3, [r3, #112]
  6064. 3210 010e 1846 mov r0, r3
  6065. 3211 0110 FFF7FEFF bl HAL_DMA_GetError
  6066. 3212 0114 0346 mov r3, r0
  6067. 3213 .loc 1 1599 12
  6068. 3214 0116 202B cmp r3, #32
  6069. 3215 0118 05D1 bne .L177
  6070. 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6071. 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  6072. 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  6073. 3216 .loc 1 1602 28
  6074. 3217 011a 7B68 ldr r3, [r7, #4]
  6075. 3218 011c 1022 movs r2, #16
  6076. 3219 011e C3F88420 str r2, [r3, #132]
  6077. 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6078. 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  6079. 3220 .loc 1 1604 18
  6080. 3221 0122 0323 movs r3, #3
  6081. 3222 0124 61E0 b .L181
  6082. 3223 .L177:
  6083. 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6084. 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6085. 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6086. 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6087. 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6088. 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
  6089. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  6090. 3224 .loc 1 1611 7
  6091. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 106
  6092. 3225 0126 7B68 ldr r3, [r7, #4]
  6093. 3226 0128 1B68 ldr r3, [r3]
  6094. 3227 012a 9B68 ldr r3, [r3, #8]
  6095. 3228 012c 03F04003 and r3, r3, #64
  6096. 3229 .loc 1 1611 6
  6097. 3230 0130 402B cmp r3, #64
  6098. 3231 0132 37D1 bne .L182
  6099. 3232 .L185:
  6100. 3233 .LBB504:
  6101. 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6102. 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  6103. 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  6104. 3234 .loc 1 1614 5 discriminator 1
  6105. 3235 0134 7B68 ldr r3, [r7, #4]
  6106. 3236 0136 1B68 ldr r3, [r3]
  6107. 3237 0138 0833 adds r3, r3, #8
  6108. 3238 013a FB60 str r3, [r7, #12]
  6109. 3239 .LBB505:
  6110. 3240 .LBB506:
  6111. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6112. 3241 .loc 2 1072 4 discriminator 1
  6113. 3242 013c FB68 ldr r3, [r7, #12]
  6114. 3243 .syntax unified
  6115. 3244 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6116. 3245 013e 53E8003F ldrex r3, [r3]
  6117. 3246 @ 0 "" 2
  6118. 3247 .thumb
  6119. 3248 .syntax unified
  6120. 3249 0142 BB60 str r3, [r7, #8]
  6121. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6122. 3250 .loc 2 1073 10 discriminator 1
  6123. 3251 0144 BB68 ldr r3, [r7, #8]
  6124. 3252 .LBE506:
  6125. 3253 .LBE505:
  6126. 3254 .loc 1 1614 5 discriminator 1
  6127. 3255 0146 23F04003 bic r3, r3, #64
  6128. 3256 014a FB66 str r3, [r7, #108]
  6129. 3257 014c 7B68 ldr r3, [r7, #4]
  6130. 3258 014e 1B68 ldr r3, [r3]
  6131. 3259 0150 0833 adds r3, r3, #8
  6132. 3260 0152 FA6E ldr r2, [r7, #108]
  6133. 3261 0154 BA61 str r2, [r7, #24]
  6134. 3262 0156 7B61 str r3, [r7, #20]
  6135. 3263 .LBB507:
  6136. 3264 .LBB508:
  6137. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6138. 3265 .loc 2 1123 4 discriminator 1
  6139. 3266 0158 7969 ldr r1, [r7, #20]
  6140. 3267 015a BA69 ldr r2, [r7, #24]
  6141. 3268 .syntax unified
  6142. 3269 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6143. 3270 015c 41E80023 strex r3, r2, [r1]
  6144. 3271 @ 0 "" 2
  6145. 3272 .thumb
  6146. 3273 .syntax unified
  6147. 3274 0160 3B61 str r3, [r7, #16]
  6148. 3275 .loc 2 1124 10 discriminator 1
  6149. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 107
  6150. 3276 0162 3B69 ldr r3, [r7, #16]
  6151. 3277 .LBE508:
  6152. 3278 .LBE507:
  6153. 3279 .loc 1 1614 5 discriminator 1
  6154. 3280 0164 002B cmp r3, #0
  6155. 3281 0166 E5D1 bne .L185
  6156. 3282 .LBE504:
  6157. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6158. 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
  6159. 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  6160. 3283 .loc 1 1617 14
  6161. 3284 0168 7B68 ldr r3, [r7, #4]
  6162. 3285 016a 5B6F ldr r3, [r3, #116]
  6163. 3286 .loc 1 1617 8
  6164. 3287 016c 002B cmp r3, #0
  6165. 3288 016e 19D0 beq .L182
  6166. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6167. 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  6168. 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  6169. 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  6170. 3289 .loc 1 1621 12
  6171. 3290 0170 7B68 ldr r3, [r7, #4]
  6172. 3291 0172 5B6F ldr r3, [r3, #116]
  6173. 3292 .loc 1 1621 40
  6174. 3293 0174 0022 movs r2, #0
  6175. 3294 0176 5A63 str r2, [r3, #52]
  6176. 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6177. 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
  6178. 3295 .loc 1 1623 11
  6179. 3296 0178 7B68 ldr r3, [r7, #4]
  6180. 3297 017a 5B6F ldr r3, [r3, #116]
  6181. 3298 017c 1846 mov r0, r3
  6182. 3299 017e FFF7FEFF bl HAL_DMA_Abort
  6183. 3300 0182 0346 mov r3, r0
  6184. 3301 .loc 1 1623 10
  6185. 3302 0184 002B cmp r3, #0
  6186. 3303 0186 0DD0 beq .L182
  6187. 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6188. 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
  6189. 3304 .loc 1 1625 13
  6190. 3305 0188 7B68 ldr r3, [r7, #4]
  6191. 3306 018a 5B6F ldr r3, [r3, #116]
  6192. 3307 018c 1846 mov r0, r3
  6193. 3308 018e FFF7FEFF bl HAL_DMA_GetError
  6194. 3309 0192 0346 mov r3, r0
  6195. 3310 .loc 1 1625 12
  6196. 3311 0194 202B cmp r3, #32
  6197. 3312 0196 05D1 bne .L182
  6198. 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6199. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  6200. 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  6201. 3313 .loc 1 1628 28
  6202. 3314 0198 7B68 ldr r3, [r7, #4]
  6203. 3315 019a 1022 movs r2, #16
  6204. 3316 019c C3F88420 str r2, [r3, #132]
  6205. 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6206. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  6207. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 108
  6208. 3317 .loc 1 1630 18
  6209. 3318 01a0 0323 movs r3, #3
  6210. 3319 01a2 22E0 b .L181
  6211. 3320 .L182:
  6212. 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6213. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6214. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6215. 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6216. 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6217. 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
  6218. 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  6219. 3321 .loc 1 1637 22
  6220. 3322 01a4 7B68 ldr r3, [r7, #4]
  6221. 3323 01a6 0022 movs r2, #0
  6222. 3324 01a8 A3F85220 strh r2, [r3, #82] @ movhi
  6223. 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  6224. 3325 .loc 1 1638 22
  6225. 3326 01ac 7B68 ldr r3, [r7, #4]
  6226. 3327 01ae 0022 movs r2, #0
  6227. 3328 01b0 A3F85A20 strh r2, [r3, #90] @ movhi
  6228. 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6229. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  6230. 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
  6231. 3329 .loc 1 1641 3
  6232. 3330 01b4 7B68 ldr r3, [r7, #4]
  6233. 3331 01b6 1B68 ldr r3, [r3]
  6234. 3332 01b8 0F22 movs r2, #15
  6235. 3333 01ba 1A62 str r2, [r3, #32]
  6236. 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6237. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6238. 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
  6239. 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  6240. 3334 .loc 1 1645 3
  6241. 3335 01bc 7B68 ldr r3, [r7, #4]
  6242. 3336 01be 1B68 ldr r3, [r3]
  6243. 3337 01c0 9A69 ldr r2, [r3, #24]
  6244. 3338 01c2 7B68 ldr r3, [r7, #4]
  6245. 3339 01c4 1B68 ldr r3, [r3]
  6246. 3340 01c6 42F00802 orr r2, r2, #8
  6247. 3341 01ca 9A61 str r2, [r3, #24]
  6248. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6249. 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
  6250. 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  6251. 3342 .loc 1 1648 18
  6252. 3343 01cc 7B68 ldr r3, [r7, #4]
  6253. 3344 01ce 2022 movs r2, #32
  6254. 3345 01d0 DA67 str r2, [r3, #124]
  6255. 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  6256. 3346 .loc 1 1649 18
  6257. 3347 01d2 7B68 ldr r3, [r7, #4]
  6258. 3348 01d4 2022 movs r2, #32
  6259. 3349 01d6 C3F88020 str r2, [r3, #128]
  6260. 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  6261. 3350 .loc 1 1650 24
  6262. 3351 01da 7B68 ldr r3, [r7, #4]
  6263. 3352 01dc 0022 movs r2, #0
  6264. 3353 01de 1A66 str r2, [r3, #96]
  6265. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 109
  6266. 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6267. 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  6268. 3354 .loc 1 1652 20
  6269. 3355 01e0 7B68 ldr r3, [r7, #4]
  6270. 3356 01e2 0022 movs r2, #0
  6271. 3357 01e4 C3F88420 str r2, [r3, #132]
  6272. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6273. 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  6274. 3358 .loc 1 1654 10
  6275. 3359 01e8 0023 movs r3, #0
  6276. 3360 .L181:
  6277. 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6278. 3361 .loc 1 1655 1
  6279. 3362 01ea 1846 mov r0, r3
  6280. 3363 01ec 8037 adds r7, r7, #128
  6281. 3364 .LCFI88:
  6282. 3365 .cfi_def_cfa_offset 8
  6283. 3366 01ee BD46 mov sp, r7
  6284. 3367 .LCFI89:
  6285. 3368 .cfi_def_cfa_register 13
  6286. 3369 @ sp needed
  6287. 3370 01f0 80BD pop {r7, pc}
  6288. 3371 .cfi_endproc
  6289. 3372 .LFE146:
  6290. 3374 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
  6291. 3375 .align 1
  6292. 3376 .global HAL_UART_AbortTransmit
  6293. 3377 .syntax unified
  6294. 3378 .thumb
  6295. 3379 .thumb_func
  6296. 3381 HAL_UART_AbortTransmit:
  6297. 3382 .LFB147:
  6298. 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6299. 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  6300. 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
  6301. 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  6302. 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
  6303. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
  6304. 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
  6305. 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  6306. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
  6307. 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
  6308. 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
  6309. 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  6310. 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  6311. 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
  6312. 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6313. 3383 .loc 1 1670 1
  6314. 3384 .cfi_startproc
  6315. 3385 @ args = 0, pretend = 0, frame = 56
  6316. 3386 @ frame_needed = 1, uses_anonymous_args = 0
  6317. 3387 0000 80B5 push {r7, lr}
  6318. 3388 .LCFI90:
  6319. 3389 .cfi_def_cfa_offset 8
  6320. 3390 .cfi_offset 7, -8
  6321. 3391 .cfi_offset 14, -4
  6322. 3392 0002 8EB0 sub sp, sp, #56
  6323. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 110
  6324. 3393 .LCFI91:
  6325. 3394 .cfi_def_cfa_offset 64
  6326. 3395 0004 00AF add r7, sp, #0
  6327. 3396 .LCFI92:
  6328. 3397 .cfi_def_cfa_register 7
  6329. 3398 0006 7860 str r0, [r7, #4]
  6330. 3399 .L189:
  6331. 3400 .LBB509:
  6332. 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
  6333. 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
  6334. 3401 .loc 1 1672 3 discriminator 1
  6335. 3402 0008 7B68 ldr r3, [r7, #4]
  6336. 3403 000a 1B68 ldr r3, [r3]
  6337. 3404 000c 3B62 str r3, [r7, #32]
  6338. 3405 .LBB510:
  6339. 3406 .LBB511:
  6340. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6341. 3407 .loc 2 1072 4 discriminator 1
  6342. 3408 000e 3B6A ldr r3, [r7, #32]
  6343. 3409 .syntax unified
  6344. 3410 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6345. 3411 0010 53E8003F ldrex r3, [r3]
  6346. 3412 @ 0 "" 2
  6347. 3413 .thumb
  6348. 3414 .syntax unified
  6349. 3415 0014 FB61 str r3, [r7, #28]
  6350. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6351. 3416 .loc 2 1073 10 discriminator 1
  6352. 3417 0016 FB69 ldr r3, [r7, #28]
  6353. 3418 .LBE511:
  6354. 3419 .LBE510:
  6355. 3420 .loc 1 1672 3 discriminator 1
  6356. 3421 0018 23F0C003 bic r3, r3, #192
  6357. 3422 001c 7B63 str r3, [r7, #52]
  6358. 3423 001e 7B68 ldr r3, [r7, #4]
  6359. 3424 0020 1B68 ldr r3, [r3]
  6360. 3425 0022 1A46 mov r2, r3
  6361. 3426 0024 7B6B ldr r3, [r7, #52]
  6362. 3427 0026 FB62 str r3, [r7, #44]
  6363. 3428 0028 BA62 str r2, [r7, #40]
  6364. 3429 .LBB512:
  6365. 3430 .LBB513:
  6366. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6367. 3431 .loc 2 1123 4 discriminator 1
  6368. 3432 002a B96A ldr r1, [r7, #40]
  6369. 3433 002c FA6A ldr r2, [r7, #44]
  6370. 3434 .syntax unified
  6371. 3435 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6372. 3436 002e 41E80023 strex r3, r2, [r1]
  6373. 3437 @ 0 "" 2
  6374. 3438 .thumb
  6375. 3439 .syntax unified
  6376. 3440 0032 7B62 str r3, [r7, #36]
  6377. 3441 .loc 2 1124 10 discriminator 1
  6378. 3442 0034 7B6A ldr r3, [r7, #36]
  6379. 3443 .LBE513:
  6380. 3444 .LBE512:
  6381. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 111
  6382. 3445 .loc 1 1672 3 discriminator 1
  6383. 3446 0036 002B cmp r3, #0
  6384. 3447 0038 E6D1 bne .L189
  6385. 3448 .LBE509:
  6386. 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6387. 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
  6388. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  6389. 3449 .loc 1 1675 7
  6390. 3450 003a 7B68 ldr r3, [r7, #4]
  6391. 3451 003c 1B68 ldr r3, [r3]
  6392. 3452 003e 9B68 ldr r3, [r3, #8]
  6393. 3453 0040 03F08003 and r3, r3, #128
  6394. 3454 .loc 1 1675 6
  6395. 3455 0044 802B cmp r3, #128
  6396. 3456 0046 37D1 bne .L190
  6397. 3457 .L193:
  6398. 3458 .LBB514:
  6399. 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6400. 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
  6401. 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  6402. 3459 .loc 1 1678 5 discriminator 1
  6403. 3460 0048 7B68 ldr r3, [r7, #4]
  6404. 3461 004a 1B68 ldr r3, [r3]
  6405. 3462 004c 0833 adds r3, r3, #8
  6406. 3463 004e FB60 str r3, [r7, #12]
  6407. 3464 .LBB515:
  6408. 3465 .LBB516:
  6409. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6410. 3466 .loc 2 1072 4 discriminator 1
  6411. 3467 0050 FB68 ldr r3, [r7, #12]
  6412. 3468 .syntax unified
  6413. 3469 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6414. 3470 0052 53E8003F ldrex r3, [r3]
  6415. 3471 @ 0 "" 2
  6416. 3472 .thumb
  6417. 3473 .syntax unified
  6418. 3474 0056 BB60 str r3, [r7, #8]
  6419. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6420. 3475 .loc 2 1073 10 discriminator 1
  6421. 3476 0058 BB68 ldr r3, [r7, #8]
  6422. 3477 .LBE516:
  6423. 3478 .LBE515:
  6424. 3479 .loc 1 1678 5 discriminator 1
  6425. 3480 005a 23F08003 bic r3, r3, #128
  6426. 3481 005e 3B63 str r3, [r7, #48]
  6427. 3482 0060 7B68 ldr r3, [r7, #4]
  6428. 3483 0062 1B68 ldr r3, [r3]
  6429. 3484 0064 0833 adds r3, r3, #8
  6430. 3485 0066 3A6B ldr r2, [r7, #48]
  6431. 3486 0068 BA61 str r2, [r7, #24]
  6432. 3487 006a 7B61 str r3, [r7, #20]
  6433. 3488 .LBB517:
  6434. 3489 .LBB518:
  6435. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6436. 3490 .loc 2 1123 4 discriminator 1
  6437. 3491 006c 7969 ldr r1, [r7, #20]
  6438. 3492 006e BA69 ldr r2, [r7, #24]
  6439. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 112
  6440. 3493 .syntax unified
  6441. 3494 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6442. 3495 0070 41E80023 strex r3, r2, [r1]
  6443. 3496 @ 0 "" 2
  6444. 3497 .thumb
  6445. 3498 .syntax unified
  6446. 3499 0074 3B61 str r3, [r7, #16]
  6447. 3500 .loc 2 1124 10 discriminator 1
  6448. 3501 0076 3B69 ldr r3, [r7, #16]
  6449. 3502 .LBE518:
  6450. 3503 .LBE517:
  6451. 3504 .loc 1 1678 5 discriminator 1
  6452. 3505 0078 002B cmp r3, #0
  6453. 3506 007a E5D1 bne .L193
  6454. 3507 .LBE514:
  6455. 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6456. 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
  6457. 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  6458. 3508 .loc 1 1681 14
  6459. 3509 007c 7B68 ldr r3, [r7, #4]
  6460. 3510 007e 1B6F ldr r3, [r3, #112]
  6461. 3511 .loc 1 1681 8
  6462. 3512 0080 002B cmp r3, #0
  6463. 3513 0082 19D0 beq .L190
  6464. 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6465. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  6466. 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  6467. 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  6468. 3514 .loc 1 1685 12
  6469. 3515 0084 7B68 ldr r3, [r7, #4]
  6470. 3516 0086 1B6F ldr r3, [r3, #112]
  6471. 3517 .loc 1 1685 40
  6472. 3518 0088 0022 movs r2, #0
  6473. 3519 008a 5A63 str r2, [r3, #52]
  6474. 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6475. 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
  6476. 3520 .loc 1 1687 11
  6477. 3521 008c 7B68 ldr r3, [r7, #4]
  6478. 3522 008e 1B6F ldr r3, [r3, #112]
  6479. 3523 0090 1846 mov r0, r3
  6480. 3524 0092 FFF7FEFF bl HAL_DMA_Abort
  6481. 3525 0096 0346 mov r3, r0
  6482. 3526 .loc 1 1687 10
  6483. 3527 0098 002B cmp r3, #0
  6484. 3528 009a 0DD0 beq .L190
  6485. 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6486. 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
  6487. 3529 .loc 1 1689 13
  6488. 3530 009c 7B68 ldr r3, [r7, #4]
  6489. 3531 009e 1B6F ldr r3, [r3, #112]
  6490. 3532 00a0 1846 mov r0, r3
  6491. 3533 00a2 FFF7FEFF bl HAL_DMA_GetError
  6492. 3534 00a6 0346 mov r3, r0
  6493. 3535 .loc 1 1689 12
  6494. 3536 00a8 202B cmp r3, #32
  6495. 3537 00aa 05D1 bne .L190
  6496. 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6497. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 113
  6498. 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  6499. 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  6500. 3538 .loc 1 1692 28
  6501. 3539 00ac 7B68 ldr r3, [r7, #4]
  6502. 3540 00ae 1022 movs r2, #16
  6503. 3541 00b0 C3F88420 str r2, [r3, #132]
  6504. 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6505. 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  6506. 3542 .loc 1 1694 18
  6507. 3543 00b4 0323 movs r3, #3
  6508. 3544 00b6 07E0 b .L194
  6509. 3545 .L190:
  6510. 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6511. 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6512. 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6513. 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6514. 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6515. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */
  6516. 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  6517. 3546 .loc 1 1701 22
  6518. 3547 00b8 7B68 ldr r3, [r7, #4]
  6519. 3548 00ba 0022 movs r2, #0
  6520. 3549 00bc A3F85220 strh r2, [r3, #82] @ movhi
  6521. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6522. 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6523. 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
  6524. 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  6525. 3550 .loc 1 1705 17
  6526. 3551 00c0 7B68 ldr r3, [r7, #4]
  6527. 3552 00c2 2022 movs r2, #32
  6528. 3553 00c4 DA67 str r2, [r3, #124]
  6529. 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6530. 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  6531. 3554 .loc 1 1707 10
  6532. 3555 00c6 0023 movs r3, #0
  6533. 3556 .L194:
  6534. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6535. 3557 .loc 1 1708 1
  6536. 3558 00c8 1846 mov r0, r3
  6537. 3559 00ca 3837 adds r7, r7, #56
  6538. 3560 .LCFI93:
  6539. 3561 .cfi_def_cfa_offset 8
  6540. 3562 00cc BD46 mov sp, r7
  6541. 3563 .LCFI94:
  6542. 3564 .cfi_def_cfa_register 13
  6543. 3565 @ sp needed
  6544. 3566 00ce 80BD pop {r7, pc}
  6545. 3567 .cfi_endproc
  6546. 3568 .LFE147:
  6547. 3570 .section .text.HAL_UART_AbortReceive,"ax",%progbits
  6548. 3571 .align 1
  6549. 3572 .global HAL_UART_AbortReceive
  6550. 3573 .syntax unified
  6551. 3574 .thumb
  6552. 3575 .thumb_func
  6553. 3577 HAL_UART_AbortReceive:
  6554. 3578 .LFB148:
  6555. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 114
  6556. 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6557. 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  6558. 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
  6559. 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  6560. 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
  6561. 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
  6562. 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
  6563. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  6564. 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
  6565. 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
  6566. 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
  6567. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  6568. 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  6569. 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
  6570. 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6571. 3579 .loc 1 1723 1
  6572. 3580 .cfi_startproc
  6573. 3581 @ args = 0, pretend = 0, frame = 104
  6574. 3582 @ frame_needed = 1, uses_anonymous_args = 0
  6575. 3583 0000 80B5 push {r7, lr}
  6576. 3584 .LCFI95:
  6577. 3585 .cfi_def_cfa_offset 8
  6578. 3586 .cfi_offset 7, -8
  6579. 3587 .cfi_offset 14, -4
  6580. 3588 0002 9AB0 sub sp, sp, #104
  6581. 3589 .LCFI96:
  6582. 3590 .cfi_def_cfa_offset 112
  6583. 3591 0004 00AF add r7, sp, #0
  6584. 3592 .LCFI97:
  6585. 3593 .cfi_def_cfa_register 7
  6586. 3594 0006 7860 str r0, [r7, #4]
  6587. 3595 .L198:
  6588. 3596 .LBB519:
  6589. 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  6590. 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  6591. 3597 .loc 1 1725 3 discriminator 1
  6592. 3598 0008 7B68 ldr r3, [r7, #4]
  6593. 3599 000a 1B68 ldr r3, [r3]
  6594. 3600 000c BB64 str r3, [r7, #72]
  6595. 3601 .LBB520:
  6596. 3602 .LBB521:
  6597. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6598. 3603 .loc 2 1072 4 discriminator 1
  6599. 3604 000e BB6C ldr r3, [r7, #72]
  6600. 3605 .syntax unified
  6601. 3606 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6602. 3607 0010 53E8003F ldrex r3, [r3]
  6603. 3608 @ 0 "" 2
  6604. 3609 .thumb
  6605. 3610 .syntax unified
  6606. 3611 0014 7B64 str r3, [r7, #68]
  6607. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6608. 3612 .loc 2 1073 10 discriminator 1
  6609. 3613 0016 7B6C ldr r3, [r7, #68]
  6610. 3614 .LBE521:
  6611. 3615 .LBE520:
  6612. 3616 .loc 1 1725 3 discriminator 1
  6613. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 115
  6614. 3617 0018 23F49073 bic r3, r3, #288
  6615. 3618 001c 7B66 str r3, [r7, #100]
  6616. 3619 001e 7B68 ldr r3, [r7, #4]
  6617. 3620 0020 1B68 ldr r3, [r3]
  6618. 3621 0022 1A46 mov r2, r3
  6619. 3622 0024 7B6E ldr r3, [r7, #100]
  6620. 3623 0026 7B65 str r3, [r7, #84]
  6621. 3624 0028 3A65 str r2, [r7, #80]
  6622. 3625 .LBB522:
  6623. 3626 .LBB523:
  6624. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6625. 3627 .loc 2 1123 4 discriminator 1
  6626. 3628 002a 396D ldr r1, [r7, #80]
  6627. 3629 002c 7A6D ldr r2, [r7, #84]
  6628. 3630 .syntax unified
  6629. 3631 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6630. 3632 002e 41E80023 strex r3, r2, [r1]
  6631. 3633 @ 0 "" 2
  6632. 3634 .thumb
  6633. 3635 .syntax unified
  6634. 3636 0032 FB64 str r3, [r7, #76]
  6635. 3637 .loc 2 1124 10 discriminator 1
  6636. 3638 0034 FB6C ldr r3, [r7, #76]
  6637. 3639 .LBE523:
  6638. 3640 .LBE522:
  6639. 3641 .loc 1 1725 3 discriminator 1
  6640. 3642 0036 002B cmp r3, #0
  6641. 3643 0038 E6D1 bne .L198
  6642. 3644 .L201:
  6643. 3645 .LBE519:
  6644. 3646 .LBB524:
  6645. 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  6646. 3647 .loc 1 1726 3 discriminator 1
  6647. 3648 003a 7B68 ldr r3, [r7, #4]
  6648. 3649 003c 1B68 ldr r3, [r3]
  6649. 3650 003e 0833 adds r3, r3, #8
  6650. 3651 0040 7B63 str r3, [r7, #52]
  6651. 3652 .LBB525:
  6652. 3653 .LBB526:
  6653. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6654. 3654 .loc 2 1072 4 discriminator 1
  6655. 3655 0042 7B6B ldr r3, [r7, #52]
  6656. 3656 .syntax unified
  6657. 3657 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6658. 3658 0044 53E8003F ldrex r3, [r3]
  6659. 3659 @ 0 "" 2
  6660. 3660 .thumb
  6661. 3661 .syntax unified
  6662. 3662 0048 3B63 str r3, [r7, #48]
  6663. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6664. 3663 .loc 2 1073 10 discriminator 1
  6665. 3664 004a 3B6B ldr r3, [r7, #48]
  6666. 3665 .LBE526:
  6667. 3666 .LBE525:
  6668. 3667 .loc 1 1726 3 discriminator 1
  6669. 3668 004c 23F00103 bic r3, r3, #1
  6670. 3669 0050 3B66 str r3, [r7, #96]
  6671. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 116
  6672. 3670 0052 7B68 ldr r3, [r7, #4]
  6673. 3671 0054 1B68 ldr r3, [r3]
  6674. 3672 0056 0833 adds r3, r3, #8
  6675. 3673 0058 3A6E ldr r2, [r7, #96]
  6676. 3674 005a 3A64 str r2, [r7, #64]
  6677. 3675 005c FB63 str r3, [r7, #60]
  6678. 3676 .LBB527:
  6679. 3677 .LBB528:
  6680. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6681. 3678 .loc 2 1123 4 discriminator 1
  6682. 3679 005e F96B ldr r1, [r7, #60]
  6683. 3680 0060 3A6C ldr r2, [r7, #64]
  6684. 3681 .syntax unified
  6685. 3682 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6686. 3683 0062 41E80023 strex r3, r2, [r1]
  6687. 3684 @ 0 "" 2
  6688. 3685 .thumb
  6689. 3686 .syntax unified
  6690. 3687 0066 BB63 str r3, [r7, #56]
  6691. 3688 .loc 2 1124 10 discriminator 1
  6692. 3689 0068 BB6B ldr r3, [r7, #56]
  6693. 3690 .LBE528:
  6694. 3691 .LBE527:
  6695. 3692 .loc 1 1726 3 discriminator 1
  6696. 3693 006a 002B cmp r3, #0
  6697. 3694 006c E5D1 bne .L201
  6698. 3695 .LBE524:
  6699. 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6700. 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  6701. 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  6702. 3696 .loc 1 1729 12
  6703. 3697 006e 7B68 ldr r3, [r7, #4]
  6704. 3698 0070 1B6E ldr r3, [r3, #96]
  6705. 3699 .loc 1 1729 6
  6706. 3700 0072 012B cmp r3, #1
  6707. 3701 0074 18D1 bne .L202
  6708. 3702 .L205:
  6709. 3703 .LBB529:
  6710. 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6711. 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  6712. 3704 .loc 1 1731 5 discriminator 1
  6713. 3705 0076 7B68 ldr r3, [r7, #4]
  6714. 3706 0078 1B68 ldr r3, [r3]
  6715. 3707 007a 3B62 str r3, [r7, #32]
  6716. 3708 .LBB530:
  6717. 3709 .LBB531:
  6718. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6719. 3710 .loc 2 1072 4 discriminator 1
  6720. 3711 007c 3B6A ldr r3, [r7, #32]
  6721. 3712 .syntax unified
  6722. 3713 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6723. 3714 007e 53E8003F ldrex r3, [r3]
  6724. 3715 @ 0 "" 2
  6725. 3716 .thumb
  6726. 3717 .syntax unified
  6727. 3718 0082 FB61 str r3, [r7, #28]
  6728. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6729. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 117
  6730. 3719 .loc 2 1073 10 discriminator 1
  6731. 3720 0084 FB69 ldr r3, [r7, #28]
  6732. 3721 .LBE531:
  6733. 3722 .LBE530:
  6734. 3723 .loc 1 1731 5 discriminator 1
  6735. 3724 0086 23F01003 bic r3, r3, #16
  6736. 3725 008a FB65 str r3, [r7, #92]
  6737. 3726 008c 7B68 ldr r3, [r7, #4]
  6738. 3727 008e 1B68 ldr r3, [r3]
  6739. 3728 0090 1A46 mov r2, r3
  6740. 3729 0092 FB6D ldr r3, [r7, #92]
  6741. 3730 0094 FB62 str r3, [r7, #44]
  6742. 3731 0096 BA62 str r2, [r7, #40]
  6743. 3732 .LBB532:
  6744. 3733 .LBB533:
  6745. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6746. 3734 .loc 2 1123 4 discriminator 1
  6747. 3735 0098 B96A ldr r1, [r7, #40]
  6748. 3736 009a FA6A ldr r2, [r7, #44]
  6749. 3737 .syntax unified
  6750. 3738 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6751. 3739 009c 41E80023 strex r3, r2, [r1]
  6752. 3740 @ 0 "" 2
  6753. 3741 .thumb
  6754. 3742 .syntax unified
  6755. 3743 00a0 7B62 str r3, [r7, #36]
  6756. 3744 .loc 2 1124 10 discriminator 1
  6757. 3745 00a2 7B6A ldr r3, [r7, #36]
  6758. 3746 .LBE533:
  6759. 3747 .LBE532:
  6760. 3748 .loc 1 1731 5 discriminator 1
  6761. 3749 00a4 002B cmp r3, #0
  6762. 3750 00a6 E6D1 bne .L205
  6763. 3751 .L202:
  6764. 3752 .LBE529:
  6765. 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6766. 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6767. 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
  6768. 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  6769. 3753 .loc 1 1735 7
  6770. 3754 00a8 7B68 ldr r3, [r7, #4]
  6771. 3755 00aa 1B68 ldr r3, [r3]
  6772. 3756 00ac 9B68 ldr r3, [r3, #8]
  6773. 3757 00ae 03F04003 and r3, r3, #64
  6774. 3758 .loc 1 1735 6
  6775. 3759 00b2 402B cmp r3, #64
  6776. 3760 00b4 37D1 bne .L206
  6777. 3761 .L209:
  6778. 3762 .LBB534:
  6779. 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6780. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  6781. 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  6782. 3763 .loc 1 1738 5 discriminator 1
  6783. 3764 00b6 7B68 ldr r3, [r7, #4]
  6784. 3765 00b8 1B68 ldr r3, [r3]
  6785. 3766 00ba 0833 adds r3, r3, #8
  6786. 3767 00bc FB60 str r3, [r7, #12]
  6787. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 118
  6788. 3768 .LBB535:
  6789. 3769 .LBB536:
  6790. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6791. 3770 .loc 2 1072 4 discriminator 1
  6792. 3771 00be FB68 ldr r3, [r7, #12]
  6793. 3772 .syntax unified
  6794. 3773 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6795. 3774 00c0 53E8003F ldrex r3, [r3]
  6796. 3775 @ 0 "" 2
  6797. 3776 .thumb
  6798. 3777 .syntax unified
  6799. 3778 00c4 BB60 str r3, [r7, #8]
  6800. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6801. 3779 .loc 2 1073 10 discriminator 1
  6802. 3780 00c6 BB68 ldr r3, [r7, #8]
  6803. 3781 .LBE536:
  6804. 3782 .LBE535:
  6805. 3783 .loc 1 1738 5 discriminator 1
  6806. 3784 00c8 23F04003 bic r3, r3, #64
  6807. 3785 00cc BB65 str r3, [r7, #88]
  6808. 3786 00ce 7B68 ldr r3, [r7, #4]
  6809. 3787 00d0 1B68 ldr r3, [r3]
  6810. 3788 00d2 0833 adds r3, r3, #8
  6811. 3789 00d4 BA6D ldr r2, [r7, #88]
  6812. 3790 00d6 BA61 str r2, [r7, #24]
  6813. 3791 00d8 7B61 str r3, [r7, #20]
  6814. 3792 .LBB537:
  6815. 3793 .LBB538:
  6816. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6817. 3794 .loc 2 1123 4 discriminator 1
  6818. 3795 00da 7969 ldr r1, [r7, #20]
  6819. 3796 00dc BA69 ldr r2, [r7, #24]
  6820. 3797 .syntax unified
  6821. 3798 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6822. 3799 00de 41E80023 strex r3, r2, [r1]
  6823. 3800 @ 0 "" 2
  6824. 3801 .thumb
  6825. 3802 .syntax unified
  6826. 3803 00e2 3B61 str r3, [r7, #16]
  6827. 3804 .loc 2 1124 10 discriminator 1
  6828. 3805 00e4 3B69 ldr r3, [r7, #16]
  6829. 3806 .LBE538:
  6830. 3807 .LBE537:
  6831. 3808 .loc 1 1738 5 discriminator 1
  6832. 3809 00e6 002B cmp r3, #0
  6833. 3810 00e8 E5D1 bne .L209
  6834. 3811 .LBE534:
  6835. 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6836. 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
  6837. 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  6838. 3812 .loc 1 1741 14
  6839. 3813 00ea 7B68 ldr r3, [r7, #4]
  6840. 3814 00ec 5B6F ldr r3, [r3, #116]
  6841. 3815 .loc 1 1741 8
  6842. 3816 00ee 002B cmp r3, #0
  6843. 3817 00f0 19D0 beq .L206
  6844. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6845. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 119
  6846. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  6847. 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  6848. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  6849. 3818 .loc 1 1745 12
  6850. 3819 00f2 7B68 ldr r3, [r7, #4]
  6851. 3820 00f4 5B6F ldr r3, [r3, #116]
  6852. 3821 .loc 1 1745 40
  6853. 3822 00f6 0022 movs r2, #0
  6854. 3823 00f8 5A63 str r2, [r3, #52]
  6855. 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6856. 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
  6857. 3824 .loc 1 1747 11
  6858. 3825 00fa 7B68 ldr r3, [r7, #4]
  6859. 3826 00fc 5B6F ldr r3, [r3, #116]
  6860. 3827 00fe 1846 mov r0, r3
  6861. 3828 0100 FFF7FEFF bl HAL_DMA_Abort
  6862. 3829 0104 0346 mov r3, r0
  6863. 3830 .loc 1 1747 10
  6864. 3831 0106 002B cmp r3, #0
  6865. 3832 0108 0DD0 beq .L206
  6866. 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6867. 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
  6868. 3833 .loc 1 1749 13
  6869. 3834 010a 7B68 ldr r3, [r7, #4]
  6870. 3835 010c 5B6F ldr r3, [r3, #116]
  6871. 3836 010e 1846 mov r0, r3
  6872. 3837 0110 FFF7FEFF bl HAL_DMA_GetError
  6873. 3838 0114 0346 mov r3, r0
  6874. 3839 .loc 1 1749 12
  6875. 3840 0116 202B cmp r3, #32
  6876. 3841 0118 05D1 bne .L206
  6877. 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6878. 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  6879. 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  6880. 3842 .loc 1 1752 28
  6881. 3843 011a 7B68 ldr r3, [r7, #4]
  6882. 3844 011c 1022 movs r2, #16
  6883. 3845 011e C3F88420 str r2, [r3, #132]
  6884. 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6885. 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  6886. 3846 .loc 1 1754 18
  6887. 3847 0122 0323 movs r3, #3
  6888. 3848 0124 17E0 b .L210
  6889. 3849 .L206:
  6890. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6891. 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6892. 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6893. 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6894. 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6895. 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */
  6896. 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  6897. 3850 .loc 1 1761 22
  6898. 3851 0126 7B68 ldr r3, [r7, #4]
  6899. 3852 0128 0022 movs r2, #0
  6900. 3853 012a A3F85A20 strh r2, [r3, #90] @ movhi
  6901. 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6902. 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  6903. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 120
  6904. 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
  6905. 3854 .loc 1 1764 3
  6906. 3855 012e 7B68 ldr r3, [r7, #4]
  6907. 3856 0130 1B68 ldr r3, [r3]
  6908. 3857 0132 0F22 movs r2, #15
  6909. 3858 0134 1A62 str r2, [r3, #32]
  6910. 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6911. 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
  6912. 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  6913. 3859 .loc 1 1767 3
  6914. 3860 0136 7B68 ldr r3, [r7, #4]
  6915. 3861 0138 1B68 ldr r3, [r3]
  6916. 3862 013a 9A69 ldr r2, [r3, #24]
  6917. 3863 013c 7B68 ldr r3, [r7, #4]
  6918. 3864 013e 1B68 ldr r3, [r3]
  6919. 3865 0140 42F00802 orr r2, r2, #8
  6920. 3866 0144 9A61 str r2, [r3, #24]
  6921. 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6922. 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  6923. 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  6924. 3867 .loc 1 1770 18
  6925. 3868 0146 7B68 ldr r3, [r7, #4]
  6926. 3869 0148 2022 movs r2, #32
  6927. 3870 014a C3F88020 str r2, [r3, #128]
  6928. 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  6929. 3871 .loc 1 1771 24
  6930. 3872 014e 7B68 ldr r3, [r7, #4]
  6931. 3873 0150 0022 movs r2, #0
  6932. 3874 0152 1A66 str r2, [r3, #96]
  6933. 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6934. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  6935. 3875 .loc 1 1773 10
  6936. 3876 0154 0023 movs r3, #0
  6937. 3877 .L210:
  6938. 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  6939. 3878 .loc 1 1774 1
  6940. 3879 0156 1846 mov r0, r3
  6941. 3880 0158 6837 adds r7, r7, #104
  6942. 3881 .LCFI98:
  6943. 3882 .cfi_def_cfa_offset 8
  6944. 3883 015a BD46 mov sp, r7
  6945. 3884 .LCFI99:
  6946. 3885 .cfi_def_cfa_register 13
  6947. 3886 @ sp needed
  6948. 3887 015c 80BD pop {r7, pc}
  6949. 3888 .cfi_endproc
  6950. 3889 .LFE148:
  6951. 3891 .section .text.HAL_UART_Abort_IT,"ax",%progbits
  6952. 3892 .align 1
  6953. 3893 .global HAL_UART_Abort_IT
  6954. 3894 .syntax unified
  6955. 3895 .thumb
  6956. 3896 .thumb_func
  6957. 3898 HAL_UART_Abort_IT:
  6958. 3899 .LFB149:
  6959. 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  6960. 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  6961. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 121
  6962. 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
  6963. 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  6964. 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
  6965. 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
  6966. 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
  6967. 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  6968. 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
  6969. 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
  6970. 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback
  6971. 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
  6972. 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
  6973. 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  6974. 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  6975. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
  6976. 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  6977. 3900 .loc 1 1791 1
  6978. 3901 .cfi_startproc
  6979. 3902 @ args = 0, pretend = 0, frame = 136
  6980. 3903 @ frame_needed = 1, uses_anonymous_args = 0
  6981. 3904 0000 80B5 push {r7, lr}
  6982. 3905 .LCFI100:
  6983. 3906 .cfi_def_cfa_offset 8
  6984. 3907 .cfi_offset 7, -8
  6985. 3908 .cfi_offset 14, -4
  6986. 3909 0002 A2B0 sub sp, sp, #136
  6987. 3910 .LCFI101:
  6988. 3911 .cfi_def_cfa_offset 144
  6989. 3912 0004 00AF add r7, sp, #0
  6990. 3913 .LCFI102:
  6991. 3914 .cfi_def_cfa_register 7
  6992. 3915 0006 7860 str r0, [r7, #4]
  6993. 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U;
  6994. 3916 .loc 1 1792 12
  6995. 3917 0008 0123 movs r3, #1
  6996. 3918 000a C7F88430 str r3, [r7, #132]
  6997. 3919 .L214:
  6998. 3920 .LBB539:
  6999. 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7000. 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */
  7001. 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
  7002. 3921 .loc 1 1795 3 discriminator 1
  7003. 3922 000e 7B68 ldr r3, [r7, #4]
  7004. 3923 0010 1B68 ldr r3, [r3]
  7005. 3924 0012 3B66 str r3, [r7, #96]
  7006. 3925 .LBB540:
  7007. 3926 .LBB541:
  7008. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7009. 3927 .loc 2 1072 4 discriminator 1
  7010. 3928 0014 3B6E ldr r3, [r7, #96]
  7011. 3929 .syntax unified
  7012. 3930 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7013. 3931 0016 53E8003F ldrex r3, [r3]
  7014. 3932 @ 0 "" 2
  7015. 3933 .thumb
  7016. 3934 .syntax unified
  7017. 3935 001a FB65 str r3, [r7, #92]
  7018. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7019. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 122
  7020. 3936 .loc 2 1073 10 discriminator 1
  7021. 3937 001c FB6D ldr r3, [r7, #92]
  7022. 3938 .LBE541:
  7023. 3939 .LBE540:
  7024. 3940 .loc 1 1795 3 discriminator 1
  7025. 3941 001e 23F4F073 bic r3, r3, #480
  7026. 3942 0022 C7F88030 str r3, [r7, #128]
  7027. 3943 0026 7B68 ldr r3, [r7, #4]
  7028. 3944 0028 1B68 ldr r3, [r3]
  7029. 3945 002a 1A46 mov r2, r3
  7030. 3946 002c D7F88030 ldr r3, [r7, #128]
  7031. 3947 0030 FB66 str r3, [r7, #108]
  7032. 3948 0032 BA66 str r2, [r7, #104]
  7033. 3949 .LBB542:
  7034. 3950 .LBB543:
  7035. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7036. 3951 .loc 2 1123 4 discriminator 1
  7037. 3952 0034 B96E ldr r1, [r7, #104]
  7038. 3953 0036 FA6E ldr r2, [r7, #108]
  7039. 3954 .syntax unified
  7040. 3955 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7041. 3956 0038 41E80023 strex r3, r2, [r1]
  7042. 3957 @ 0 "" 2
  7043. 3958 .thumb
  7044. 3959 .syntax unified
  7045. 3960 003c 7B66 str r3, [r7, #100]
  7046. 3961 .loc 2 1124 10 discriminator 1
  7047. 3962 003e 7B6E ldr r3, [r7, #100]
  7048. 3963 .LBE543:
  7049. 3964 .LBE542:
  7050. 3965 .loc 1 1795 3 discriminator 1
  7051. 3966 0040 002B cmp r3, #0
  7052. 3967 0042 E4D1 bne .L214
  7053. 3968 .L217:
  7054. 3969 .LBE539:
  7055. 3970 .LBB544:
  7056. 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  7057. 3971 .loc 1 1796 3 discriminator 1
  7058. 3972 0044 7B68 ldr r3, [r7, #4]
  7059. 3973 0046 1B68 ldr r3, [r3]
  7060. 3974 0048 0833 adds r3, r3, #8
  7061. 3975 004a FB64 str r3, [r7, #76]
  7062. 3976 .LBB545:
  7063. 3977 .LBB546:
  7064. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7065. 3978 .loc 2 1072 4 discriminator 1
  7066. 3979 004c FB6C ldr r3, [r7, #76]
  7067. 3980 .syntax unified
  7068. 3981 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7069. 3982 004e 53E8003F ldrex r3, [r3]
  7070. 3983 @ 0 "" 2
  7071. 3984 .thumb
  7072. 3985 .syntax unified
  7073. 3986 0052 BB64 str r3, [r7, #72]
  7074. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7075. 3987 .loc 2 1073 10 discriminator 1
  7076. 3988 0054 BB6C ldr r3, [r7, #72]
  7077. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 123
  7078. 3989 .LBE546:
  7079. 3990 .LBE545:
  7080. 3991 .loc 1 1796 3 discriminator 1
  7081. 3992 0056 23F00103 bic r3, r3, #1
  7082. 3993 005a FB67 str r3, [r7, #124]
  7083. 3994 005c 7B68 ldr r3, [r7, #4]
  7084. 3995 005e 1B68 ldr r3, [r3]
  7085. 3996 0060 0833 adds r3, r3, #8
  7086. 3997 0062 FA6F ldr r2, [r7, #124]
  7087. 3998 0064 BA65 str r2, [r7, #88]
  7088. 3999 0066 7B65 str r3, [r7, #84]
  7089. 4000 .LBB547:
  7090. 4001 .LBB548:
  7091. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7092. 4002 .loc 2 1123 4 discriminator 1
  7093. 4003 0068 796D ldr r1, [r7, #84]
  7094. 4004 006a BA6D ldr r2, [r7, #88]
  7095. 4005 .syntax unified
  7096. 4006 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7097. 4007 006c 41E80023 strex r3, r2, [r1]
  7098. 4008 @ 0 "" 2
  7099. 4009 .thumb
  7100. 4010 .syntax unified
  7101. 4011 0070 3B65 str r3, [r7, #80]
  7102. 4012 .loc 2 1124 10 discriminator 1
  7103. 4013 0072 3B6D ldr r3, [r7, #80]
  7104. 4014 .LBE548:
  7105. 4015 .LBE547:
  7106. 4016 .loc 1 1796 3 discriminator 1
  7107. 4017 0074 002B cmp r3, #0
  7108. 4018 0076 E5D1 bne .L217
  7109. 4019 .LBE544:
  7110. 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7111. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  7112. 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  7113. 4020 .loc 1 1799 12
  7114. 4021 0078 7B68 ldr r3, [r7, #4]
  7115. 4022 007a 1B6E ldr r3, [r3, #96]
  7116. 4023 .loc 1 1799 6
  7117. 4024 007c 012B cmp r3, #1
  7118. 4025 007e 18D1 bne .L218
  7119. 4026 .L221:
  7120. 4027 .LBB549:
  7121. 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7122. 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  7123. 4028 .loc 1 1801 5 discriminator 1
  7124. 4029 0080 7B68 ldr r3, [r7, #4]
  7125. 4030 0082 1B68 ldr r3, [r3]
  7126. 4031 0084 BB63 str r3, [r7, #56]
  7127. 4032 .LBB550:
  7128. 4033 .LBB551:
  7129. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7130. 4034 .loc 2 1072 4 discriminator 1
  7131. 4035 0086 BB6B ldr r3, [r7, #56]
  7132. 4036 .syntax unified
  7133. 4037 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7134. 4038 0088 53E8003F ldrex r3, [r3]
  7135. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 124
  7136. 4039 @ 0 "" 2
  7137. 4040 .thumb
  7138. 4041 .syntax unified
  7139. 4042 008c 7B63 str r3, [r7, #52]
  7140. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7141. 4043 .loc 2 1073 10 discriminator 1
  7142. 4044 008e 7B6B ldr r3, [r7, #52]
  7143. 4045 .LBE551:
  7144. 4046 .LBE550:
  7145. 4047 .loc 1 1801 5 discriminator 1
  7146. 4048 0090 23F01003 bic r3, r3, #16
  7147. 4049 0094 BB67 str r3, [r7, #120]
  7148. 4050 0096 7B68 ldr r3, [r7, #4]
  7149. 4051 0098 1B68 ldr r3, [r3]
  7150. 4052 009a 1A46 mov r2, r3
  7151. 4053 009c BB6F ldr r3, [r7, #120]
  7152. 4054 009e 7B64 str r3, [r7, #68]
  7153. 4055 00a0 3A64 str r2, [r7, #64]
  7154. 4056 .LBB552:
  7155. 4057 .LBB553:
  7156. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7157. 4058 .loc 2 1123 4 discriminator 1
  7158. 4059 00a2 396C ldr r1, [r7, #64]
  7159. 4060 00a4 7A6C ldr r2, [r7, #68]
  7160. 4061 .syntax unified
  7161. 4062 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7162. 4063 00a6 41E80023 strex r3, r2, [r1]
  7163. 4064 @ 0 "" 2
  7164. 4065 .thumb
  7165. 4066 .syntax unified
  7166. 4067 00aa FB63 str r3, [r7, #60]
  7167. 4068 .loc 2 1124 10 discriminator 1
  7168. 4069 00ac FB6B ldr r3, [r7, #60]
  7169. 4070 .LBE553:
  7170. 4071 .LBE552:
  7171. 4072 .loc 1 1801 5 discriminator 1
  7172. 4073 00ae 002B cmp r3, #0
  7173. 4074 00b0 E6D1 bne .L221
  7174. 4075 .L218:
  7175. 4076 .LBE549:
  7176. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7177. 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7178. 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
  7179. 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** before any call to DMA Abort functions */
  7180. 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Tx Handle is valid */
  7181. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  7182. 4077 .loc 1 1807 12
  7183. 4078 00b2 7B68 ldr r3, [r7, #4]
  7184. 4079 00b4 1B6F ldr r3, [r3, #112]
  7185. 4080 .loc 1 1807 6
  7186. 4081 00b6 002B cmp r3, #0
  7187. 4082 00b8 0FD0 beq .L222
  7188. 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7189. 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
  7190. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */
  7191. 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  7192. 4083 .loc 1 1811 9
  7193. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 125
  7194. 4084 00ba 7B68 ldr r3, [r7, #4]
  7195. 4085 00bc 1B68 ldr r3, [r3]
  7196. 4086 00be 9B68 ldr r3, [r3, #8]
  7197. 4087 00c0 03F08003 and r3, r3, #128
  7198. 4088 .loc 1 1811 8
  7199. 4089 00c4 802B cmp r3, #128
  7200. 4090 00c6 04D1 bne .L223
  7201. 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7202. 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
  7203. 4091 .loc 1 1813 12
  7204. 4092 00c8 7B68 ldr r3, [r7, #4]
  7205. 4093 00ca 1B6F ldr r3, [r3, #112]
  7206. 4094 .loc 1 1813 40
  7207. 4095 00cc 5D4A ldr r2, .L238
  7208. 4096 00ce 5A63 str r2, [r3, #52]
  7209. 4097 00d0 03E0 b .L222
  7210. 4098 .L223:
  7211. 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7212. 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  7213. 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7214. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  7215. 4099 .loc 1 1817 12
  7216. 4100 00d2 7B68 ldr r3, [r7, #4]
  7217. 4101 00d4 1B6F ldr r3, [r3, #112]
  7218. 4102 .loc 1 1817 40
  7219. 4103 00d6 0022 movs r2, #0
  7220. 4104 00d8 5A63 str r2, [r3, #52]
  7221. 4105 .L222:
  7222. 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7223. 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7224. 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Rx Handle is valid */
  7225. 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  7226. 4106 .loc 1 1821 12
  7227. 4107 00da 7B68 ldr r3, [r7, #4]
  7228. 4108 00dc 5B6F ldr r3, [r3, #116]
  7229. 4109 .loc 1 1821 6
  7230. 4110 00de 002B cmp r3, #0
  7231. 4111 00e0 0FD0 beq .L224
  7232. 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7233. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
  7234. 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */
  7235. 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  7236. 4112 .loc 1 1825 9
  7237. 4113 00e2 7B68 ldr r3, [r7, #4]
  7238. 4114 00e4 1B68 ldr r3, [r3]
  7239. 4115 00e6 9B68 ldr r3, [r3, #8]
  7240. 4116 00e8 03F04003 and r3, r3, #64
  7241. 4117 .loc 1 1825 8
  7242. 4118 00ec 402B cmp r3, #64
  7243. 4119 00ee 04D1 bne .L225
  7244. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7245. 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
  7246. 4120 .loc 1 1827 12
  7247. 4121 00f0 7B68 ldr r3, [r7, #4]
  7248. 4122 00f2 5B6F ldr r3, [r3, #116]
  7249. 4123 .loc 1 1827 40
  7250. 4124 00f4 544A ldr r2, .L238+4
  7251. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 126
  7252. 4125 00f6 5A63 str r2, [r3, #52]
  7253. 4126 00f8 03E0 b .L224
  7254. 4127 .L225:
  7255. 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7256. 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  7257. 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7258. 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  7259. 4128 .loc 1 1831 12
  7260. 4129 00fa 7B68 ldr r3, [r7, #4]
  7261. 4130 00fc 5B6F ldr r3, [r3, #116]
  7262. 4131 .loc 1 1831 40
  7263. 4132 00fe 0022 movs r2, #0
  7264. 4133 0100 5A63 str r2, [r3, #52]
  7265. 4134 .L224:
  7266. 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7267. 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7268. 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7269. 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
  7270. 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  7271. 4135 .loc 1 1836 7
  7272. 4136 0102 7B68 ldr r3, [r7, #4]
  7273. 4137 0104 1B68 ldr r3, [r3]
  7274. 4138 0106 9B68 ldr r3, [r3, #8]
  7275. 4139 0108 03F08003 and r3, r3, #128
  7276. 4140 .loc 1 1836 6
  7277. 4141 010c 802B cmp r3, #128
  7278. 4142 010e 2DD1 bne .L226
  7279. 4143 .L229:
  7280. 4144 .LBB554:
  7281. 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7282. 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable DMA Tx at UART level */
  7283. 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  7284. 4145 .loc 1 1839 5 discriminator 1
  7285. 4146 0110 7B68 ldr r3, [r7, #4]
  7286. 4147 0112 1B68 ldr r3, [r3]
  7287. 4148 0114 0833 adds r3, r3, #8
  7288. 4149 0116 7B62 str r3, [r7, #36]
  7289. 4150 .LBB555:
  7290. 4151 .LBB556:
  7291. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7292. 4152 .loc 2 1072 4 discriminator 1
  7293. 4153 0118 7B6A ldr r3, [r7, #36]
  7294. 4154 .syntax unified
  7295. 4155 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7296. 4156 011a 53E8003F ldrex r3, [r3]
  7297. 4157 @ 0 "" 2
  7298. 4158 .thumb
  7299. 4159 .syntax unified
  7300. 4160 011e 3B62 str r3, [r7, #32]
  7301. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7302. 4161 .loc 2 1073 10 discriminator 1
  7303. 4162 0120 3B6A ldr r3, [r7, #32]
  7304. 4163 .LBE556:
  7305. 4164 .LBE555:
  7306. 4165 .loc 1 1839 5 discriminator 1
  7307. 4166 0122 23F08003 bic r3, r3, #128
  7308. 4167 0126 7B67 str r3, [r7, #116]
  7309. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 127
  7310. 4168 0128 7B68 ldr r3, [r7, #4]
  7311. 4169 012a 1B68 ldr r3, [r3]
  7312. 4170 012c 0833 adds r3, r3, #8
  7313. 4171 012e 7A6F ldr r2, [r7, #116]
  7314. 4172 0130 3A63 str r2, [r7, #48]
  7315. 4173 0132 FB62 str r3, [r7, #44]
  7316. 4174 .LBB557:
  7317. 4175 .LBB558:
  7318. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7319. 4176 .loc 2 1123 4 discriminator 1
  7320. 4177 0134 F96A ldr r1, [r7, #44]
  7321. 4178 0136 3A6B ldr r2, [r7, #48]
  7322. 4179 .syntax unified
  7323. 4180 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7324. 4181 0138 41E80023 strex r3, r2, [r1]
  7325. 4182 @ 0 "" 2
  7326. 4183 .thumb
  7327. 4184 .syntax unified
  7328. 4185 013c BB62 str r3, [r7, #40]
  7329. 4186 .loc 2 1124 10 discriminator 1
  7330. 4187 013e BB6A ldr r3, [r7, #40]
  7331. 4188 .LBE558:
  7332. 4189 .LBE557:
  7333. 4190 .loc 1 1839 5 discriminator 1
  7334. 4191 0140 002B cmp r3, #0
  7335. 4192 0142 E5D1 bne .L229
  7336. 4193 .LBE554:
  7337. 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7338. 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
  7339. 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  7340. 4194 .loc 1 1842 14
  7341. 4195 0144 7B68 ldr r3, [r7, #4]
  7342. 4196 0146 1B6F ldr r3, [r3, #112]
  7343. 4197 .loc 1 1842 8
  7344. 4198 0148 002B cmp r3, #0
  7345. 4199 014a 0FD0 beq .L226
  7346. 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7347. 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
  7348. 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  7349. 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7350. 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */
  7351. 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
  7352. 4200 .loc 1 1848 11
  7353. 4201 014c 7B68 ldr r3, [r7, #4]
  7354. 4202 014e 1B6F ldr r3, [r3, #112]
  7355. 4203 0150 1846 mov r0, r3
  7356. 4204 0152 FFF7FEFF bl HAL_DMA_Abort_IT
  7357. 4205 0156 0346 mov r3, r0
  7358. 4206 .loc 1 1848 10
  7359. 4207 0158 002B cmp r3, #0
  7360. 4208 015a 04D0 beq .L230
  7361. 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7362. 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  7363. 4209 .loc 1 1850 14
  7364. 4210 015c 7B68 ldr r3, [r7, #4]
  7365. 4211 015e 1B6F ldr r3, [r3, #112]
  7366. 4212 .loc 1 1850 42
  7367. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 128
  7368. 4213 0160 0022 movs r2, #0
  7369. 4214 0162 5A63 str r2, [r3, #52]
  7370. 4215 0164 02E0 b .L226
  7371. 4216 .L230:
  7372. 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7373. 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  7374. 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7375. 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U;
  7376. 4217 .loc 1 1854 19
  7377. 4218 0166 0023 movs r3, #0
  7378. 4219 0168 C7F88430 str r3, [r7, #132]
  7379. 4220 .L226:
  7380. 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7381. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7382. 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7383. 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7384. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
  7385. 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  7386. 4221 .loc 1 1860 7
  7387. 4222 016c 7B68 ldr r3, [r7, #4]
  7388. 4223 016e 1B68 ldr r3, [r3]
  7389. 4224 0170 9B68 ldr r3, [r3, #8]
  7390. 4225 0172 03F04003 and r3, r3, #64
  7391. 4226 .loc 1 1860 6
  7392. 4227 0176 402B cmp r3, #64
  7393. 4228 0178 30D1 bne .L231
  7394. 4229 .L234:
  7395. 4230 .LBB559:
  7396. 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7397. 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  7398. 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  7399. 4231 .loc 1 1863 5 discriminator 1
  7400. 4232 017a 7B68 ldr r3, [r7, #4]
  7401. 4233 017c 1B68 ldr r3, [r3]
  7402. 4234 017e 0833 adds r3, r3, #8
  7403. 4235 0180 3B61 str r3, [r7, #16]
  7404. 4236 .LBB560:
  7405. 4237 .LBB561:
  7406. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7407. 4238 .loc 2 1072 4 discriminator 1
  7408. 4239 0182 3B69 ldr r3, [r7, #16]
  7409. 4240 .syntax unified
  7410. 4241 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7411. 4242 0184 53E8003F ldrex r3, [r3]
  7412. 4243 @ 0 "" 2
  7413. 4244 .thumb
  7414. 4245 .syntax unified
  7415. 4246 0188 FB60 str r3, [r7, #12]
  7416. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7417. 4247 .loc 2 1073 10 discriminator 1
  7418. 4248 018a FB68 ldr r3, [r7, #12]
  7419. 4249 .LBE561:
  7420. 4250 .LBE560:
  7421. 4251 .loc 1 1863 5 discriminator 1
  7422. 4252 018c 23F04003 bic r3, r3, #64
  7423. 4253 0190 3B67 str r3, [r7, #112]
  7424. 4254 0192 7B68 ldr r3, [r7, #4]
  7425. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 129
  7426. 4255 0194 1B68 ldr r3, [r3]
  7427. 4256 0196 0833 adds r3, r3, #8
  7428. 4257 0198 3A6F ldr r2, [r7, #112]
  7429. 4258 019a FA61 str r2, [r7, #28]
  7430. 4259 019c BB61 str r3, [r7, #24]
  7431. 4260 .LBB562:
  7432. 4261 .LBB563:
  7433. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7434. 4262 .loc 2 1123 4 discriminator 1
  7435. 4263 019e B969 ldr r1, [r7, #24]
  7436. 4264 01a0 FA69 ldr r2, [r7, #28]
  7437. 4265 .syntax unified
  7438. 4266 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7439. 4267 01a2 41E80023 strex r3, r2, [r1]
  7440. 4268 @ 0 "" 2
  7441. 4269 .thumb
  7442. 4270 .syntax unified
  7443. 4271 01a6 7B61 str r3, [r7, #20]
  7444. 4272 .loc 2 1124 10 discriminator 1
  7445. 4273 01a8 7B69 ldr r3, [r7, #20]
  7446. 4274 .LBE563:
  7447. 4275 .LBE562:
  7448. 4276 .loc 1 1863 5 discriminator 1
  7449. 4277 01aa 002B cmp r3, #0
  7450. 4278 01ac E5D1 bne .L234
  7451. 4279 .LBE559:
  7452. 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7453. 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
  7454. 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  7455. 4280 .loc 1 1866 14
  7456. 4281 01ae 7B68 ldr r3, [r7, #4]
  7457. 4282 01b0 5B6F ldr r3, [r3, #116]
  7458. 4283 .loc 1 1866 8
  7459. 4284 01b2 002B cmp r3, #0
  7460. 4285 01b4 12D0 beq .L231
  7461. 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7462. 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
  7463. 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  7464. 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7465. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */
  7466. 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
  7467. 4286 .loc 1 1872 11
  7468. 4287 01b6 7B68 ldr r3, [r7, #4]
  7469. 4288 01b8 5B6F ldr r3, [r3, #116]
  7470. 4289 01ba 1846 mov r0, r3
  7471. 4290 01bc FFF7FEFF bl HAL_DMA_Abort_IT
  7472. 4291 01c0 0346 mov r3, r0
  7473. 4292 .loc 1 1872 10
  7474. 4293 01c2 002B cmp r3, #0
  7475. 4294 01c4 07D0 beq .L235
  7476. 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7477. 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  7478. 4295 .loc 1 1874 14
  7479. 4296 01c6 7B68 ldr r3, [r7, #4]
  7480. 4297 01c8 5B6F ldr r3, [r3, #116]
  7481. 4298 .loc 1 1874 42
  7482. 4299 01ca 0022 movs r2, #0
  7483. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 130
  7484. 4300 01cc 5A63 str r2, [r3, #52]
  7485. 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U;
  7486. 4301 .loc 1 1875 19
  7487. 4302 01ce 0123 movs r3, #1
  7488. 4303 01d0 C7F88430 str r3, [r7, #132]
  7489. 4304 01d4 02E0 b .L231
  7490. 4305 .L235:
  7491. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7492. 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  7493. 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7494. 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U;
  7495. 4306 .loc 1 1879 19
  7496. 4307 01d6 0023 movs r3, #0
  7497. 4308 01d8 C7F88430 str r3, [r7, #132]
  7498. 4309 .L231:
  7499. 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7500. 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7501. 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7502. 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7503. 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
  7504. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (abortcplt == 1U)
  7505. 4310 .loc 1 1885 6
  7506. 4311 01dc D7F88430 ldr r3, [r7, #132]
  7507. 4312 01e0 012B cmp r3, #1
  7508. 4313 01e2 2AD1 bne .L236
  7509. 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7510. 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
  7511. 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  7512. 4314 .loc 1 1888 24
  7513. 4315 01e4 7B68 ldr r3, [r7, #4]
  7514. 4316 01e6 0022 movs r2, #0
  7515. 4317 01e8 A3F85220 strh r2, [r3, #82] @ movhi
  7516. 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  7517. 4318 .loc 1 1889 24
  7518. 4319 01ec 7B68 ldr r3, [r7, #4]
  7519. 4320 01ee 0022 movs r2, #0
  7520. 4321 01f0 A3F85A20 strh r2, [r3, #90] @ movhi
  7521. 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7522. 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */
  7523. 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
  7524. 4322 .loc 1 1892 18
  7525. 4323 01f4 7B68 ldr r3, [r7, #4]
  7526. 4324 01f6 0022 movs r2, #0
  7527. 4325 01f8 9A66 str r2, [r3, #104]
  7528. 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
  7529. 4326 .loc 1 1893 18
  7530. 4327 01fa 7B68 ldr r3, [r7, #4]
  7531. 4328 01fc 0022 movs r2, #0
  7532. 4329 01fe DA66 str r2, [r3, #108]
  7533. 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7534. 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */
  7535. 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  7536. 4330 .loc 1 1896 22
  7537. 4331 0200 7B68 ldr r3, [r7, #4]
  7538. 4332 0202 0022 movs r2, #0
  7539. 4333 0204 C3F88420 str r2, [r3, #132]
  7540. 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7541. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 131
  7542. 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  7543. 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
  7544. 4334 .loc 1 1899 5
  7545. 4335 0208 7B68 ldr r3, [r7, #4]
  7546. 4336 020a 1B68 ldr r3, [r3]
  7547. 4337 020c 0F22 movs r2, #15
  7548. 4338 020e 1A62 str r2, [r3, #32]
  7549. 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7550. 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7551. 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
  7552. 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  7553. 4339 .loc 1 1903 5
  7554. 4340 0210 7B68 ldr r3, [r7, #4]
  7555. 4341 0212 1B68 ldr r3, [r3]
  7556. 4342 0214 9A69 ldr r2, [r3, #24]
  7557. 4343 0216 7B68 ldr r3, [r7, #4]
  7558. 4344 0218 1B68 ldr r3, [r3]
  7559. 4345 021a 42F00802 orr r2, r2, #8
  7560. 4346 021e 9A61 str r2, [r3, #24]
  7561. 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7562. 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
  7563. 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  7564. 4347 .loc 1 1906 20
  7565. 4348 0220 7B68 ldr r3, [r7, #4]
  7566. 4349 0222 2022 movs r2, #32
  7567. 4350 0224 DA67 str r2, [r3, #124]
  7568. 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  7569. 4351 .loc 1 1907 20
  7570. 4352 0226 7B68 ldr r3, [r7, #4]
  7571. 4353 0228 2022 movs r2, #32
  7572. 4354 022a C3F88020 str r2, [r3, #128]
  7573. 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  7574. 4355 .loc 1 1908 26
  7575. 4356 022e 7B68 ldr r3, [r7, #4]
  7576. 4357 0230 0022 movs r2, #0
  7577. 4358 0232 1A66 str r2, [r3, #96]
  7578. 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7579. 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  7580. 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  7581. 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */
  7582. 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart);
  7583. 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  7584. 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
  7585. 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
  7586. 4359 .loc 1 1916 5
  7587. 4360 0234 7868 ldr r0, [r7, #4]
  7588. 4361 0236 FFF7FEFF bl HAL_UART_AbortCpltCallback
  7589. 4362 .L236:
  7590. 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  7591. 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7592. 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7593. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  7594. 4363 .loc 1 1920 10
  7595. 4364 023a 0023 movs r3, #0
  7596. 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7597. 4365 .loc 1 1921 1
  7598. 4366 023c 1846 mov r0, r3
  7599. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 132
  7600. 4367 023e 8837 adds r7, r7, #136
  7601. 4368 .LCFI103:
  7602. 4369 .cfi_def_cfa_offset 8
  7603. 4370 0240 BD46 mov sp, r7
  7604. 4371 .LCFI104:
  7605. 4372 .cfi_def_cfa_register 13
  7606. 4373 @ sp needed
  7607. 4374 0242 80BD pop {r7, pc}
  7608. 4375 .L239:
  7609. 4376 .align 2
  7610. 4377 .L238:
  7611. 4378 0244 00000000 .word UART_DMATxAbortCallback
  7612. 4379 0248 00000000 .word UART_DMARxAbortCallback
  7613. 4380 .cfi_endproc
  7614. 4381 .LFE149:
  7615. 4383 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
  7616. 4384 .align 1
  7617. 4385 .global HAL_UART_AbortTransmit_IT
  7618. 4386 .syntax unified
  7619. 4387 .thumb
  7620. 4388 .thumb_func
  7621. 4390 HAL_UART_AbortTransmit_IT:
  7622. 4391 .LFB150:
  7623. 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7624. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  7625. 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
  7626. 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  7627. 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
  7628. 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
  7629. 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
  7630. 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  7631. 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
  7632. 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
  7633. 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback
  7634. 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
  7635. 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
  7636. 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  7637. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  7638. 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
  7639. 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7640. 4392 .loc 1 1938 1
  7641. 4393 .cfi_startproc
  7642. 4394 @ args = 0, pretend = 0, frame = 56
  7643. 4395 @ frame_needed = 1, uses_anonymous_args = 0
  7644. 4396 0000 80B5 push {r7, lr}
  7645. 4397 .LCFI105:
  7646. 4398 .cfi_def_cfa_offset 8
  7647. 4399 .cfi_offset 7, -8
  7648. 4400 .cfi_offset 14, -4
  7649. 4401 0002 8EB0 sub sp, sp, #56
  7650. 4402 .LCFI106:
  7651. 4403 .cfi_def_cfa_offset 64
  7652. 4404 0004 00AF add r7, sp, #0
  7653. 4405 .LCFI107:
  7654. 4406 .cfi_def_cfa_register 7
  7655. 4407 0006 7860 str r0, [r7, #4]
  7656. 4408 .L243:
  7657. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 133
  7658. 4409 .LBB564:
  7659. 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */
  7660. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
  7661. 4410 .loc 1 1940 3 discriminator 1
  7662. 4411 0008 7B68 ldr r3, [r7, #4]
  7663. 4412 000a 1B68 ldr r3, [r3]
  7664. 4413 000c 3B62 str r3, [r7, #32]
  7665. 4414 .LBB565:
  7666. 4415 .LBB566:
  7667. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7668. 4416 .loc 2 1072 4 discriminator 1
  7669. 4417 000e 3B6A ldr r3, [r7, #32]
  7670. 4418 .syntax unified
  7671. 4419 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7672. 4420 0010 53E8003F ldrex r3, [r3]
  7673. 4421 @ 0 "" 2
  7674. 4422 .thumb
  7675. 4423 .syntax unified
  7676. 4424 0014 FB61 str r3, [r7, #28]
  7677. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7678. 4425 .loc 2 1073 10 discriminator 1
  7679. 4426 0016 FB69 ldr r3, [r7, #28]
  7680. 4427 .LBE566:
  7681. 4428 .LBE565:
  7682. 4429 .loc 1 1940 3 discriminator 1
  7683. 4430 0018 23F0C003 bic r3, r3, #192
  7684. 4431 001c 7B63 str r3, [r7, #52]
  7685. 4432 001e 7B68 ldr r3, [r7, #4]
  7686. 4433 0020 1B68 ldr r3, [r3]
  7687. 4434 0022 1A46 mov r2, r3
  7688. 4435 0024 7B6B ldr r3, [r7, #52]
  7689. 4436 0026 FB62 str r3, [r7, #44]
  7690. 4437 0028 BA62 str r2, [r7, #40]
  7691. 4438 .LBB567:
  7692. 4439 .LBB568:
  7693. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7694. 4440 .loc 2 1123 4 discriminator 1
  7695. 4441 002a B96A ldr r1, [r7, #40]
  7696. 4442 002c FA6A ldr r2, [r7, #44]
  7697. 4443 .syntax unified
  7698. 4444 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7699. 4445 002e 41E80023 strex r3, r2, [r1]
  7700. 4446 @ 0 "" 2
  7701. 4447 .thumb
  7702. 4448 .syntax unified
  7703. 4449 0032 7B62 str r3, [r7, #36]
  7704. 4450 .loc 2 1124 10 discriminator 1
  7705. 4451 0034 7B6A ldr r3, [r7, #36]
  7706. 4452 .LBE568:
  7707. 4453 .LBE567:
  7708. 4454 .loc 1 1940 3 discriminator 1
  7709. 4455 0036 002B cmp r3, #0
  7710. 4456 0038 E6D1 bne .L243
  7711. 4457 .LBE564:
  7712. 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7713. 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
  7714. 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  7715. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 134
  7716. 4458 .loc 1 1943 7
  7717. 4459 003a 7B68 ldr r3, [r7, #4]
  7718. 4460 003c 1B68 ldr r3, [r3]
  7719. 4461 003e 9B68 ldr r3, [r3, #8]
  7720. 4462 0040 03F08003 and r3, r3, #128
  7721. 4463 .loc 1 1943 6
  7722. 4464 0044 802B cmp r3, #128
  7723. 4465 0046 3FD1 bne .L244
  7724. 4466 .L247:
  7725. 4467 .LBB569:
  7726. 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7727. 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
  7728. 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  7729. 4468 .loc 1 1946 5 discriminator 1
  7730. 4469 0048 7B68 ldr r3, [r7, #4]
  7731. 4470 004a 1B68 ldr r3, [r3]
  7732. 4471 004c 0833 adds r3, r3, #8
  7733. 4472 004e FB60 str r3, [r7, #12]
  7734. 4473 .LBB570:
  7735. 4474 .LBB571:
  7736. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7737. 4475 .loc 2 1072 4 discriminator 1
  7738. 4476 0050 FB68 ldr r3, [r7, #12]
  7739. 4477 .syntax unified
  7740. 4478 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7741. 4479 0052 53E8003F ldrex r3, [r3]
  7742. 4480 @ 0 "" 2
  7743. 4481 .thumb
  7744. 4482 .syntax unified
  7745. 4483 0056 BB60 str r3, [r7, #8]
  7746. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7747. 4484 .loc 2 1073 10 discriminator 1
  7748. 4485 0058 BB68 ldr r3, [r7, #8]
  7749. 4486 .LBE571:
  7750. 4487 .LBE570:
  7751. 4488 .loc 1 1946 5 discriminator 1
  7752. 4489 005a 23F08003 bic r3, r3, #128
  7753. 4490 005e 3B63 str r3, [r7, #48]
  7754. 4491 0060 7B68 ldr r3, [r7, #4]
  7755. 4492 0062 1B68 ldr r3, [r3]
  7756. 4493 0064 0833 adds r3, r3, #8
  7757. 4494 0066 3A6B ldr r2, [r7, #48]
  7758. 4495 0068 BA61 str r2, [r7, #24]
  7759. 4496 006a 7B61 str r3, [r7, #20]
  7760. 4497 .LBB572:
  7761. 4498 .LBB573:
  7762. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7763. 4499 .loc 2 1123 4 discriminator 1
  7764. 4500 006c 7969 ldr r1, [r7, #20]
  7765. 4501 006e BA69 ldr r2, [r7, #24]
  7766. 4502 .syntax unified
  7767. 4503 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7768. 4504 0070 41E80023 strex r3, r2, [r1]
  7769. 4505 @ 0 "" 2
  7770. 4506 .thumb
  7771. 4507 .syntax unified
  7772. 4508 0074 3B61 str r3, [r7, #16]
  7773. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 135
  7774. 4509 .loc 2 1124 10 discriminator 1
  7775. 4510 0076 3B69 ldr r3, [r7, #16]
  7776. 4511 .LBE573:
  7777. 4512 .LBE572:
  7778. 4513 .loc 1 1946 5 discriminator 1
  7779. 4514 0078 002B cmp r3, #0
  7780. 4515 007a E5D1 bne .L247
  7781. 4516 .LBE569:
  7782. 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7783. 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
  7784. 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  7785. 4517 .loc 1 1949 14
  7786. 4518 007c 7B68 ldr r3, [r7, #4]
  7787. 4519 007e 1B6F ldr r3, [r3, #112]
  7788. 4520 .loc 1 1949 8
  7789. 4521 0080 002B cmp r3, #0
  7790. 4522 0082 13D0 beq .L248
  7791. 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7792. 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback :
  7793. 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  7794. 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
  7795. 4523 .loc 1 1953 12
  7796. 4524 0084 7B68 ldr r3, [r7, #4]
  7797. 4525 0086 1B6F ldr r3, [r3, #112]
  7798. 4526 .loc 1 1953 40
  7799. 4527 0088 184A ldr r2, .L251
  7800. 4528 008a 5A63 str r2, [r3, #52]
  7801. 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7802. 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */
  7803. 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
  7804. 4529 .loc 1 1956 11
  7805. 4530 008c 7B68 ldr r3, [r7, #4]
  7806. 4531 008e 1B6F ldr r3, [r3, #112]
  7807. 4532 0090 1846 mov r0, r3
  7808. 4533 0092 FFF7FEFF bl HAL_DMA_Abort_IT
  7809. 4534 0096 0346 mov r3, r0
  7810. 4535 .loc 1 1956 10
  7811. 4536 0098 002B cmp r3, #0
  7812. 4537 009a 22D0 beq .L249
  7813. 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7814. 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
  7815. 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
  7816. 4538 .loc 1 1959 14
  7817. 4539 009c 7B68 ldr r3, [r7, #4]
  7818. 4540 009e 1B6F ldr r3, [r3, #112]
  7819. 4541 .loc 1 1959 22
  7820. 4542 00a0 5B6B ldr r3, [r3, #52]
  7821. 4543 .loc 1 1959 47
  7822. 4544 00a2 7A68 ldr r2, [r7, #4]
  7823. 4545 00a4 126F ldr r2, [r2, #112]
  7824. 4546 .loc 1 1959 9
  7825. 4547 00a6 1046 mov r0, r2
  7826. 4548 00a8 9847 blx r3
  7827. 4549 .LVL0:
  7828. 4550 00aa 1AE0 b .L249
  7829. 4551 .L248:
  7830. 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7831. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 136
  7832. 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7833. 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  7834. 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7835. 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */
  7836. 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  7837. 4552 .loc 1 1965 26
  7838. 4553 00ac 7B68 ldr r3, [r7, #4]
  7839. 4554 00ae 0022 movs r2, #0
  7840. 4555 00b0 A3F85220 strh r2, [r3, #82] @ movhi
  7841. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7842. 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */
  7843. 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
  7844. 4556 .loc 1 1968 20
  7845. 4557 00b4 7B68 ldr r3, [r7, #4]
  7846. 4558 00b6 0022 movs r2, #0
  7847. 4559 00b8 DA66 str r2, [r3, #108]
  7848. 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7849. 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
  7850. 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  7851. 4560 .loc 1 1971 21
  7852. 4561 00ba 7B68 ldr r3, [r7, #4]
  7853. 4562 00bc 2022 movs r2, #32
  7854. 4563 00be DA67 str r2, [r3, #124]
  7855. 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7856. 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  7857. 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  7858. 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
  7859. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
  7860. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  7861. 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
  7862. 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
  7863. 4564 .loc 1 1979 7
  7864. 4565 00c0 7868 ldr r0, [r7, #4]
  7865. 4566 00c2 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
  7866. 4567 00c6 0CE0 b .L249
  7867. 4568 .L244:
  7868. 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  7869. 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7870. 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7871. 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  7872. 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7873. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */
  7874. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  7875. 4569 .loc 1 1986 24
  7876. 4570 00c8 7B68 ldr r3, [r7, #4]
  7877. 4571 00ca 0022 movs r2, #0
  7878. 4572 00cc A3F85220 strh r2, [r3, #82] @ movhi
  7879. 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7880. 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */
  7881. 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
  7882. 4573 .loc 1 1989 18
  7883. 4574 00d0 7B68 ldr r3, [r7, #4]
  7884. 4575 00d2 0022 movs r2, #0
  7885. 4576 00d4 DA66 str r2, [r3, #108]
  7886. 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7887. 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7888. 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
  7889. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 137
  7890. 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  7891. 4577 .loc 1 1993 19
  7892. 4578 00d6 7B68 ldr r3, [r7, #4]
  7893. 4579 00d8 2022 movs r2, #32
  7894. 4580 00da DA67 str r2, [r3, #124]
  7895. 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7896. 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  7897. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  7898. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
  7899. 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
  7900. 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  7901. 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
  7902. 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
  7903. 4581 .loc 1 2001 5
  7904. 4582 00dc 7868 ldr r0, [r7, #4]
  7905. 4583 00de FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
  7906. 4584 .L249:
  7907. 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  7908. 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7909. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7910. 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  7911. 4585 .loc 1 2005 10
  7912. 4586 00e2 0023 movs r3, #0
  7913. 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  7914. 4587 .loc 1 2006 1
  7915. 4588 00e4 1846 mov r0, r3
  7916. 4589 00e6 3837 adds r7, r7, #56
  7917. 4590 .LCFI108:
  7918. 4591 .cfi_def_cfa_offset 8
  7919. 4592 00e8 BD46 mov sp, r7
  7920. 4593 .LCFI109:
  7921. 4594 .cfi_def_cfa_register 13
  7922. 4595 @ sp needed
  7923. 4596 00ea 80BD pop {r7, pc}
  7924. 4597 .L252:
  7925. 4598 .align 2
  7926. 4599 .L251:
  7927. 4600 00ec 00000000 .word UART_DMATxOnlyAbortCallback
  7928. 4601 .cfi_endproc
  7929. 4602 .LFE150:
  7930. 4604 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
  7931. 4605 .align 1
  7932. 4606 .global HAL_UART_AbortReceive_IT
  7933. 4607 .syntax unified
  7934. 4608 .thumb
  7935. 4609 .thumb_func
  7936. 4611 HAL_UART_AbortReceive_IT:
  7937. 4612 .LFB151:
  7938. 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  7939. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  7940. 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
  7941. 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  7942. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
  7943. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
  7944. 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
  7945. 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  7946. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
  7947. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 138
  7948. 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
  7949. 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback
  7950. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
  7951. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
  7952. 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  7953. 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  7954. 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
  7955. 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  7956. 4613 .loc 1 2023 1
  7957. 4614 .cfi_startproc
  7958. 4615 @ args = 0, pretend = 0, frame = 104
  7959. 4616 @ frame_needed = 1, uses_anonymous_args = 0
  7960. 4617 0000 80B5 push {r7, lr}
  7961. 4618 .LCFI110:
  7962. 4619 .cfi_def_cfa_offset 8
  7963. 4620 .cfi_offset 7, -8
  7964. 4621 .cfi_offset 14, -4
  7965. 4622 0002 9AB0 sub sp, sp, #104
  7966. 4623 .LCFI111:
  7967. 4624 .cfi_def_cfa_offset 112
  7968. 4625 0004 00AF add r7, sp, #0
  7969. 4626 .LCFI112:
  7970. 4627 .cfi_def_cfa_register 7
  7971. 4628 0006 7860 str r0, [r7, #4]
  7972. 4629 .L256:
  7973. 4630 .LBB574:
  7974. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  7975. 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  7976. 4631 .loc 1 2025 3 discriminator 1
  7977. 4632 0008 7B68 ldr r3, [r7, #4]
  7978. 4633 000a 1B68 ldr r3, [r3]
  7979. 4634 000c BB64 str r3, [r7, #72]
  7980. 4635 .LBB575:
  7981. 4636 .LBB576:
  7982. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7983. 4637 .loc 2 1072 4 discriminator 1
  7984. 4638 000e BB6C ldr r3, [r7, #72]
  7985. 4639 .syntax unified
  7986. 4640 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7987. 4641 0010 53E8003F ldrex r3, [r3]
  7988. 4642 @ 0 "" 2
  7989. 4643 .thumb
  7990. 4644 .syntax unified
  7991. 4645 0014 7B64 str r3, [r7, #68]
  7992. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7993. 4646 .loc 2 1073 10 discriminator 1
  7994. 4647 0016 7B6C ldr r3, [r7, #68]
  7995. 4648 .LBE576:
  7996. 4649 .LBE575:
  7997. 4650 .loc 1 2025 3 discriminator 1
  7998. 4651 0018 23F49073 bic r3, r3, #288
  7999. 4652 001c 7B66 str r3, [r7, #100]
  8000. 4653 001e 7B68 ldr r3, [r7, #4]
  8001. 4654 0020 1B68 ldr r3, [r3]
  8002. 4655 0022 1A46 mov r2, r3
  8003. 4656 0024 7B6E ldr r3, [r7, #100]
  8004. 4657 0026 7B65 str r3, [r7, #84]
  8005. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 139
  8006. 4658 0028 3A65 str r2, [r7, #80]
  8007. 4659 .LBB577:
  8008. 4660 .LBB578:
  8009. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8010. 4661 .loc 2 1123 4 discriminator 1
  8011. 4662 002a 396D ldr r1, [r7, #80]
  8012. 4663 002c 7A6D ldr r2, [r7, #84]
  8013. 4664 .syntax unified
  8014. 4665 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8015. 4666 002e 41E80023 strex r3, r2, [r1]
  8016. 4667 @ 0 "" 2
  8017. 4668 .thumb
  8018. 4669 .syntax unified
  8019. 4670 0032 FB64 str r3, [r7, #76]
  8020. 4671 .loc 2 1124 10 discriminator 1
  8021. 4672 0034 FB6C ldr r3, [r7, #76]
  8022. 4673 .LBE578:
  8023. 4674 .LBE577:
  8024. 4675 .loc 1 2025 3 discriminator 1
  8025. 4676 0036 002B cmp r3, #0
  8026. 4677 0038 E6D1 bne .L256
  8027. 4678 .L259:
  8028. 4679 .LBE574:
  8029. 4680 .LBB579:
  8030. 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  8031. 4681 .loc 1 2026 3 discriminator 1
  8032. 4682 003a 7B68 ldr r3, [r7, #4]
  8033. 4683 003c 1B68 ldr r3, [r3]
  8034. 4684 003e 0833 adds r3, r3, #8
  8035. 4685 0040 7B63 str r3, [r7, #52]
  8036. 4686 .LBB580:
  8037. 4687 .LBB581:
  8038. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8039. 4688 .loc 2 1072 4 discriminator 1
  8040. 4689 0042 7B6B ldr r3, [r7, #52]
  8041. 4690 .syntax unified
  8042. 4691 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8043. 4692 0044 53E8003F ldrex r3, [r3]
  8044. 4693 @ 0 "" 2
  8045. 4694 .thumb
  8046. 4695 .syntax unified
  8047. 4696 0048 3B63 str r3, [r7, #48]
  8048. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8049. 4697 .loc 2 1073 10 discriminator 1
  8050. 4698 004a 3B6B ldr r3, [r7, #48]
  8051. 4699 .LBE581:
  8052. 4700 .LBE580:
  8053. 4701 .loc 1 2026 3 discriminator 1
  8054. 4702 004c 23F00103 bic r3, r3, #1
  8055. 4703 0050 3B66 str r3, [r7, #96]
  8056. 4704 0052 7B68 ldr r3, [r7, #4]
  8057. 4705 0054 1B68 ldr r3, [r3]
  8058. 4706 0056 0833 adds r3, r3, #8
  8059. 4707 0058 3A6E ldr r2, [r7, #96]
  8060. 4708 005a 3A64 str r2, [r7, #64]
  8061. 4709 005c FB63 str r3, [r7, #60]
  8062. 4710 .LBB582:
  8063. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 140
  8064. 4711 .LBB583:
  8065. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8066. 4712 .loc 2 1123 4 discriminator 1
  8067. 4713 005e F96B ldr r1, [r7, #60]
  8068. 4714 0060 3A6C ldr r2, [r7, #64]
  8069. 4715 .syntax unified
  8070. 4716 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8071. 4717 0062 41E80023 strex r3, r2, [r1]
  8072. 4718 @ 0 "" 2
  8073. 4719 .thumb
  8074. 4720 .syntax unified
  8075. 4721 0066 BB63 str r3, [r7, #56]
  8076. 4722 .loc 2 1124 10 discriminator 1
  8077. 4723 0068 BB6B ldr r3, [r7, #56]
  8078. 4724 .LBE583:
  8079. 4725 .LBE582:
  8080. 4726 .loc 1 2026 3 discriminator 1
  8081. 4727 006a 002B cmp r3, #0
  8082. 4728 006c E5D1 bne .L259
  8083. 4729 .LBE579:
  8084. 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8085. 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  8086. 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  8087. 4730 .loc 1 2029 12
  8088. 4731 006e 7B68 ldr r3, [r7, #4]
  8089. 4732 0070 1B6E ldr r3, [r3, #96]
  8090. 4733 .loc 1 2029 6
  8091. 4734 0072 012B cmp r3, #1
  8092. 4735 0074 18D1 bne .L260
  8093. 4736 .L263:
  8094. 4737 .LBB584:
  8095. 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8096. 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  8097. 4738 .loc 1 2031 5 discriminator 1
  8098. 4739 0076 7B68 ldr r3, [r7, #4]
  8099. 4740 0078 1B68 ldr r3, [r3]
  8100. 4741 007a 3B62 str r3, [r7, #32]
  8101. 4742 .LBB585:
  8102. 4743 .LBB586:
  8103. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8104. 4744 .loc 2 1072 4 discriminator 1
  8105. 4745 007c 3B6A ldr r3, [r7, #32]
  8106. 4746 .syntax unified
  8107. 4747 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8108. 4748 007e 53E8003F ldrex r3, [r3]
  8109. 4749 @ 0 "" 2
  8110. 4750 .thumb
  8111. 4751 .syntax unified
  8112. 4752 0082 FB61 str r3, [r7, #28]
  8113. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8114. 4753 .loc 2 1073 10 discriminator 1
  8115. 4754 0084 FB69 ldr r3, [r7, #28]
  8116. 4755 .LBE586:
  8117. 4756 .LBE585:
  8118. 4757 .loc 1 2031 5 discriminator 1
  8119. 4758 0086 23F01003 bic r3, r3, #16
  8120. 4759 008a FB65 str r3, [r7, #92]
  8121. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 141
  8122. 4760 008c 7B68 ldr r3, [r7, #4]
  8123. 4761 008e 1B68 ldr r3, [r3]
  8124. 4762 0090 1A46 mov r2, r3
  8125. 4763 0092 FB6D ldr r3, [r7, #92]
  8126. 4764 0094 FB62 str r3, [r7, #44]
  8127. 4765 0096 BA62 str r2, [r7, #40]
  8128. 4766 .LBB587:
  8129. 4767 .LBB588:
  8130. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8131. 4768 .loc 2 1123 4 discriminator 1
  8132. 4769 0098 B96A ldr r1, [r7, #40]
  8133. 4770 009a FA6A ldr r2, [r7, #44]
  8134. 4771 .syntax unified
  8135. 4772 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8136. 4773 009c 41E80023 strex r3, r2, [r1]
  8137. 4774 @ 0 "" 2
  8138. 4775 .thumb
  8139. 4776 .syntax unified
  8140. 4777 00a0 7B62 str r3, [r7, #36]
  8141. 4778 .loc 2 1124 10 discriminator 1
  8142. 4779 00a2 7B6A ldr r3, [r7, #36]
  8143. 4780 .LBE588:
  8144. 4781 .LBE587:
  8145. 4782 .loc 1 2031 5 discriminator 1
  8146. 4783 00a4 002B cmp r3, #0
  8147. 4784 00a6 E6D1 bne .L263
  8148. 4785 .L260:
  8149. 4786 .LBE584:
  8150. 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8151. 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8152. 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
  8153. 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  8154. 4787 .loc 1 2035 7
  8155. 4788 00a8 7B68 ldr r3, [r7, #4]
  8156. 4789 00aa 1B68 ldr r3, [r3]
  8157. 4790 00ac 9B68 ldr r3, [r3, #8]
  8158. 4791 00ae 03F04003 and r3, r3, #64
  8159. 4792 .loc 1 2035 6
  8160. 4793 00b2 402B cmp r3, #64
  8161. 4794 00b4 4FD1 bne .L264
  8162. 4795 .L267:
  8163. 4796 .LBB589:
  8164. 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8165. 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  8166. 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  8167. 4797 .loc 1 2038 5 discriminator 1
  8168. 4798 00b6 7B68 ldr r3, [r7, #4]
  8169. 4799 00b8 1B68 ldr r3, [r3]
  8170. 4800 00ba 0833 adds r3, r3, #8
  8171. 4801 00bc FB60 str r3, [r7, #12]
  8172. 4802 .LBB590:
  8173. 4803 .LBB591:
  8174. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8175. 4804 .loc 2 1072 4 discriminator 1
  8176. 4805 00be FB68 ldr r3, [r7, #12]
  8177. 4806 .syntax unified
  8178. 4807 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8179. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 142
  8180. 4808 00c0 53E8003F ldrex r3, [r3]
  8181. 4809 @ 0 "" 2
  8182. 4810 .thumb
  8183. 4811 .syntax unified
  8184. 4812 00c4 BB60 str r3, [r7, #8]
  8185. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8186. 4813 .loc 2 1073 10 discriminator 1
  8187. 4814 00c6 BB68 ldr r3, [r7, #8]
  8188. 4815 .LBE591:
  8189. 4816 .LBE590:
  8190. 4817 .loc 1 2038 5 discriminator 1
  8191. 4818 00c8 23F04003 bic r3, r3, #64
  8192. 4819 00cc BB65 str r3, [r7, #88]
  8193. 4820 00ce 7B68 ldr r3, [r7, #4]
  8194. 4821 00d0 1B68 ldr r3, [r3]
  8195. 4822 00d2 0833 adds r3, r3, #8
  8196. 4823 00d4 BA6D ldr r2, [r7, #88]
  8197. 4824 00d6 BA61 str r2, [r7, #24]
  8198. 4825 00d8 7B61 str r3, [r7, #20]
  8199. 4826 .LBB592:
  8200. 4827 .LBB593:
  8201. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8202. 4828 .loc 2 1123 4 discriminator 1
  8203. 4829 00da 7969 ldr r1, [r7, #20]
  8204. 4830 00dc BA69 ldr r2, [r7, #24]
  8205. 4831 .syntax unified
  8206. 4832 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8207. 4833 00de 41E80023 strex r3, r2, [r1]
  8208. 4834 @ 0 "" 2
  8209. 4835 .thumb
  8210. 4836 .syntax unified
  8211. 4837 00e2 3B61 str r3, [r7, #16]
  8212. 4838 .loc 2 1124 10 discriminator 1
  8213. 4839 00e4 3B69 ldr r3, [r7, #16]
  8214. 4840 .LBE593:
  8215. 4841 .LBE592:
  8216. 4842 .loc 1 2038 5 discriminator 1
  8217. 4843 00e6 002B cmp r3, #0
  8218. 4844 00e8 E5D1 bne .L267
  8219. 4845 .LBE589:
  8220. 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8221. 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
  8222. 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  8223. 4846 .loc 1 2041 14
  8224. 4847 00ea 7B68 ldr r3, [r7, #4]
  8225. 4848 00ec 5B6F ldr r3, [r3, #116]
  8226. 4849 .loc 1 2041 8
  8227. 4850 00ee 002B cmp r3, #0
  8228. 4851 00f0 13D0 beq .L268
  8229. 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8230. 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback :
  8231. 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  8232. 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
  8233. 4852 .loc 1 2045 12
  8234. 4853 00f2 7B68 ldr r3, [r7, #4]
  8235. 4854 00f4 5B6F ldr r3, [r3, #116]
  8236. 4855 .loc 1 2045 40
  8237. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 143
  8238. 4856 00f6 254A ldr r2, .L271
  8239. 4857 00f8 5A63 str r2, [r3, #52]
  8240. 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8241. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */
  8242. 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
  8243. 4858 .loc 1 2048 11
  8244. 4859 00fa 7B68 ldr r3, [r7, #4]
  8245. 4860 00fc 5B6F ldr r3, [r3, #116]
  8246. 4861 00fe 1846 mov r0, r3
  8247. 4862 0100 FFF7FEFF bl HAL_DMA_Abort_IT
  8248. 4863 0104 0346 mov r3, r0
  8249. 4864 .loc 1 2048 10
  8250. 4865 0106 002B cmp r3, #0
  8251. 4866 0108 3AD0 beq .L269
  8252. 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8253. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
  8254. 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
  8255. 4867 .loc 1 2051 14
  8256. 4868 010a 7B68 ldr r3, [r7, #4]
  8257. 4869 010c 5B6F ldr r3, [r3, #116]
  8258. 4870 .loc 1 2051 22
  8259. 4871 010e 5B6B ldr r3, [r3, #52]
  8260. 4872 .loc 1 2051 47
  8261. 4873 0110 7A68 ldr r2, [r7, #4]
  8262. 4874 0112 526F ldr r2, [r2, #116]
  8263. 4875 .loc 1 2051 9
  8264. 4876 0114 1046 mov r0, r2
  8265. 4877 0116 9847 blx r3
  8266. 4878 .LVL1:
  8267. 4879 0118 32E0 b .L269
  8268. 4880 .L268:
  8269. 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8270. 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8271. 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  8272. 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8273. 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */
  8274. 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  8275. 4881 .loc 1 2057 26
  8276. 4882 011a 7B68 ldr r3, [r7, #4]
  8277. 4883 011c 0022 movs r2, #0
  8278. 4884 011e A3F85A20 strh r2, [r3, #90] @ movhi
  8279. 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8280. 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
  8281. 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
  8282. 4885 .loc 1 2060 25
  8283. 4886 0122 7B68 ldr r3, [r7, #4]
  8284. 4887 0124 0022 movs r2, #0
  8285. 4888 0126 5A65 str r2, [r3, #84]
  8286. 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8287. 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  8288. 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F
  8289. 4889 .loc 1 2063 7
  8290. 4890 0128 7B68 ldr r3, [r7, #4]
  8291. 4891 012a 1B68 ldr r3, [r3]
  8292. 4892 012c 0F22 movs r2, #15
  8293. 4893 012e 1A62 str r2, [r3, #32]
  8294. 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8295. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 144
  8296. 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
  8297. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  8298. 4894 .loc 1 2066 7
  8299. 4895 0130 7B68 ldr r3, [r7, #4]
  8300. 4896 0132 1B68 ldr r3, [r3]
  8301. 4897 0134 9A69 ldr r2, [r3, #24]
  8302. 4898 0136 7B68 ldr r3, [r7, #4]
  8303. 4899 0138 1B68 ldr r3, [r3]
  8304. 4900 013a 42F00802 orr r2, r2, #8
  8305. 4901 013e 9A61 str r2, [r3, #24]
  8306. 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8307. 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  8308. 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  8309. 4902 .loc 1 2069 22
  8310. 4903 0140 7B68 ldr r3, [r7, #4]
  8311. 4904 0142 2022 movs r2, #32
  8312. 4905 0144 C3F88020 str r2, [r3, #128]
  8313. 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  8314. 4906 .loc 1 2070 28
  8315. 4907 0148 7B68 ldr r3, [r7, #4]
  8316. 4908 014a 0022 movs r2, #0
  8317. 4909 014c 1A66 str r2, [r3, #96]
  8318. 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8319. 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  8320. 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8321. 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
  8322. 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
  8323. 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  8324. 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
  8325. 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
  8326. 4910 .loc 1 2078 7
  8327. 4911 014e 7868 ldr r0, [r7, #4]
  8328. 4912 0150 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
  8329. 4913 0154 14E0 b .L269
  8330. 4914 .L264:
  8331. 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8332. 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8333. 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8334. 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  8335. 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8336. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */
  8337. 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  8338. 4915 .loc 1 2085 24
  8339. 4916 0156 7B68 ldr r3, [r7, #4]
  8340. 4917 0158 0022 movs r2, #0
  8341. 4918 015a A3F85A20 strh r2, [r3, #90] @ movhi
  8342. 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8343. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
  8344. 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
  8345. 4919 .loc 1 2088 23
  8346. 4920 015e 7B68 ldr r3, [r7, #4]
  8347. 4921 0160 0022 movs r2, #0
  8348. 4922 0162 5A65 str r2, [r3, #84]
  8349. 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8350. 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  8351. 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
  8352. 4923 .loc 1 2091 5
  8353. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 145
  8354. 4924 0164 7B68 ldr r3, [r7, #4]
  8355. 4925 0166 1B68 ldr r3, [r3]
  8356. 4926 0168 0F22 movs r2, #15
  8357. 4927 016a 1A62 str r2, [r3, #32]
  8358. 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8359. 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  8360. 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  8361. 4928 .loc 1 2094 20
  8362. 4929 016c 7B68 ldr r3, [r7, #4]
  8363. 4930 016e 2022 movs r2, #32
  8364. 4931 0170 C3F88020 str r2, [r3, #128]
  8365. 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  8366. 4932 .loc 1 2095 26
  8367. 4933 0174 7B68 ldr r3, [r7, #4]
  8368. 4934 0176 0022 movs r2, #0
  8369. 4935 0178 1A66 str r2, [r3, #96]
  8370. 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8371. 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  8372. 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8373. 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
  8374. 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
  8375. 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  8376. 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
  8377. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
  8378. 4936 .loc 1 2103 5
  8379. 4937 017a 7868 ldr r0, [r7, #4]
  8380. 4938 017c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
  8381. 4939 .L269:
  8382. 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8383. 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8384. 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8385. 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  8386. 4940 .loc 1 2107 10
  8387. 4941 0180 0023 movs r3, #0
  8388. 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8389. 4942 .loc 1 2108 1
  8390. 4943 0182 1846 mov r0, r3
  8391. 4944 0184 6837 adds r7, r7, #104
  8392. 4945 .LCFI113:
  8393. 4946 .cfi_def_cfa_offset 8
  8394. 4947 0186 BD46 mov sp, r7
  8395. 4948 .LCFI114:
  8396. 4949 .cfi_def_cfa_register 13
  8397. 4950 @ sp needed
  8398. 4951 0188 80BD pop {r7, pc}
  8399. 4952 .L272:
  8400. 4953 018a 00BF .align 2
  8401. 4954 .L271:
  8402. 4955 018c 00000000 .word UART_DMARxOnlyAbortCallback
  8403. 4956 .cfi_endproc
  8404. 4957 .LFE151:
  8405. 4959 .section .text.HAL_UART_IRQHandler,"ax",%progbits
  8406. 4960 .align 1
  8407. 4961 .global HAL_UART_IRQHandler
  8408. 4962 .syntax unified
  8409. 4963 .thumb
  8410. 4964 .thumb_func
  8411. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 146
  8412. 4966 HAL_UART_IRQHandler:
  8413. 4967 .LFB152:
  8414. 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8415. 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  8416. 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Handle UART interrupt request.
  8417. 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  8418. 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  8419. 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  8420. 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
  8421. 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8422. 4968 .loc 1 2116 1
  8423. 4969 .cfi_startproc
  8424. 4970 @ args = 0, pretend = 0, frame = 232
  8425. 4971 @ frame_needed = 1, uses_anonymous_args = 0
  8426. 4972 0000 80B5 push {r7, lr}
  8427. 4973 .LCFI115:
  8428. 4974 .cfi_def_cfa_offset 8
  8429. 4975 .cfi_offset 7, -8
  8430. 4976 .cfi_offset 14, -4
  8431. 4977 0002 BAB0 sub sp, sp, #232
  8432. 4978 .LCFI116:
  8433. 4979 .cfi_def_cfa_offset 240
  8434. 4980 0004 00AF add r7, sp, #0
  8435. 4981 .LCFI117:
  8436. 4982 .cfi_def_cfa_register 7
  8437. 4983 0006 7860 str r0, [r7, #4]
  8438. 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
  8439. 4984 .loc 1 2117 25
  8440. 4985 0008 7B68 ldr r3, [r7, #4]
  8441. 4986 000a 1B68 ldr r3, [r3]
  8442. 4987 .loc 1 2117 12
  8443. 4988 000c DB69 ldr r3, [r3, #28]
  8444. 4989 000e C7F8E430 str r3, [r7, #228]
  8445. 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
  8446. 4990 .loc 1 2118 25
  8447. 4991 0012 7B68 ldr r3, [r7, #4]
  8448. 4992 0014 1B68 ldr r3, [r3]
  8449. 4993 .loc 1 2118 12
  8450. 4994 0016 1B68 ldr r3, [r3]
  8451. 4995 0018 C7F8E030 str r3, [r7, #224]
  8452. 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
  8453. 4996 .loc 1 2119 25
  8454. 4997 001c 7B68 ldr r3, [r7, #4]
  8455. 4998 001e 1B68 ldr r3, [r3]
  8456. 4999 .loc 1 2119 12
  8457. 5000 0020 9B68 ldr r3, [r3, #8]
  8458. 5001 0022 C7F8DC30 str r3, [r7, #220]
  8459. 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8460. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorflags;
  8461. 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorcode;
  8462. 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8463. 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If no error occurs */
  8464. 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE |
  8465. 5002 .loc 1 2125 14
  8466. 5003 0026 D7F8E420 ldr r2, [r7, #228]
  8467. 5004 002a 40F60F03 movw r3, #2063
  8468. 5005 002e 1340 ands r3, r3, r2
  8469. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 147
  8470. 5006 0030 C7F8D830 str r3, [r7, #216]
  8471. 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (errorflags == 0U)
  8472. 5007 .loc 1 2126 6
  8473. 5008 0034 D7F8D830 ldr r3, [r7, #216]
  8474. 5009 0038 002B cmp r3, #0
  8475. 5010 003a 15D1 bne .L274
  8476. 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8477. 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/
  8478. 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
  8479. 5011 .loc 1 2129 20
  8480. 5012 003c D7F8E430 ldr r3, [r7, #228]
  8481. 5013 0040 03F02003 and r3, r3, #32
  8482. 5014 .loc 1 2129 8
  8483. 5015 0044 002B cmp r3, #0
  8484. 5016 0046 0FD0 beq .L274
  8485. 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
  8486. 5017 .loc 1 2130 21
  8487. 5018 0048 D7F8E030 ldr r3, [r7, #224]
  8488. 5019 004c 03F02003 and r3, r3, #32
  8489. 5020 .loc 1 2130 9
  8490. 5021 0050 002B cmp r3, #0
  8491. 5022 0052 09D0 beq .L274
  8492. 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8493. 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL)
  8494. 5023 .loc 1 2132 16
  8495. 5024 0054 7B68 ldr r3, [r7, #4]
  8496. 5025 0056 9B6E ldr r3, [r3, #104]
  8497. 5026 .loc 1 2132 10
  8498. 5027 0058 002B cmp r3, #0
  8499. 5028 005a 00F0AB82 beq .L324
  8500. 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8501. 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart);
  8502. 5029 .loc 1 2134 14
  8503. 5030 005e 7B68 ldr r3, [r7, #4]
  8504. 5031 0060 9B6E ldr r3, [r3, #104]
  8505. 5032 .loc 1 2134 9
  8506. 5033 0062 7868 ldr r0, [r7, #4]
  8507. 5034 0064 9847 blx r3
  8508. 5035 .LVL2:
  8509. 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8510. 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  8511. 5036 .loc 1 2136 7
  8512. 5037 0066 A5E2 b .L324
  8513. 5038 .L274:
  8514. 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8515. 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8516. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8517. 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If some errors occur */
  8518. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((errorflags != 0U)
  8519. 5039 .loc 1 2141 6
  8520. 5040 0068 D7F8D830 ldr r3, [r7, #216]
  8521. 5041 006c 002B cmp r3, #0
  8522. 5042 006e 00F01781 beq .L277
  8523. 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U)
  8524. 5043 .loc 1 2142 20
  8525. 5044 0072 D7F8DC30 ldr r3, [r7, #220]
  8526. 5045 0076 03F00103 and r3, r3, #1
  8527. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 148
  8528. 5046 .loc 1 2142 7
  8529. 5047 007a 002B cmp r3, #0
  8530. 5048 007c 06D1 bne .L278
  8531. 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
  8532. 5049 .loc 1 2143 23
  8533. 5050 007e D7F8E020 ldr r2, [r7, #224]
  8534. 5051 0082 854B ldr r3, .L330
  8535. 5052 0084 1340 ands r3, r3, r2
  8536. 5053 .loc 1 2143 11
  8537. 5054 0086 002B cmp r3, #0
  8538. 5055 0088 00F00A81 beq .L277
  8539. 5056 .L278:
  8540. 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8541. 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
  8542. 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
  8543. 5057 .loc 1 2146 20
  8544. 5058 008c D7F8E430 ldr r3, [r7, #228]
  8545. 5059 0090 03F00103 and r3, r3, #1
  8546. 5060 .loc 1 2146 8
  8547. 5061 0094 002B cmp r3, #0
  8548. 5062 0096 11D0 beq .L279
  8549. 5063 .loc 1 2146 55 discriminator 1
  8550. 5064 0098 D7F8E030 ldr r3, [r7, #224]
  8551. 5065 009c 03F48073 and r3, r3, #256
  8552. 5066 .loc 1 2146 43 discriminator 1
  8553. 5067 00a0 002B cmp r3, #0
  8554. 5068 00a2 0BD0 beq .L279
  8555. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8556. 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
  8557. 5069 .loc 1 2148 7
  8558. 5070 00a4 7B68 ldr r3, [r7, #4]
  8559. 5071 00a6 1B68 ldr r3, [r3]
  8560. 5072 00a8 0122 movs r2, #1
  8561. 5073 00aa 1A62 str r2, [r3, #32]
  8562. 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8563. 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
  8564. 5074 .loc 1 2150 24
  8565. 5075 00ac 7B68 ldr r3, [r7, #4]
  8566. 5076 00ae D3F88430 ldr r3, [r3, #132]
  8567. 5077 00b2 43F00102 orr r2, r3, #1
  8568. 5078 00b6 7B68 ldr r3, [r7, #4]
  8569. 5079 00b8 C3F88420 str r2, [r3, #132]
  8570. 5080 .L279:
  8571. 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8572. 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8573. 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
  8574. 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
  8575. 5081 .loc 1 2154 20
  8576. 5082 00bc D7F8E430 ldr r3, [r7, #228]
  8577. 5083 00c0 03F00203 and r3, r3, #2
  8578. 5084 .loc 1 2154 8
  8579. 5085 00c4 002B cmp r3, #0
  8580. 5086 00c6 11D0 beq .L280
  8581. 5087 .loc 1 2154 55 discriminator 1
  8582. 5088 00c8 D7F8DC30 ldr r3, [r7, #220]
  8583. 5089 00cc 03F00103 and r3, r3, #1
  8584. 5090 .loc 1 2154 43 discriminator 1
  8585. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 149
  8586. 5091 00d0 002B cmp r3, #0
  8587. 5092 00d2 0BD0 beq .L280
  8588. 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8589. 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
  8590. 5093 .loc 1 2156 7
  8591. 5094 00d4 7B68 ldr r3, [r7, #4]
  8592. 5095 00d6 1B68 ldr r3, [r3]
  8593. 5096 00d8 0222 movs r2, #2
  8594. 5097 00da 1A62 str r2, [r3, #32]
  8595. 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8596. 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
  8597. 5098 .loc 1 2158 24
  8598. 5099 00dc 7B68 ldr r3, [r7, #4]
  8599. 5100 00de D3F88430 ldr r3, [r3, #132]
  8600. 5101 00e2 43F00402 orr r2, r3, #4
  8601. 5102 00e6 7B68 ldr r3, [r7, #4]
  8602. 5103 00e8 C3F88420 str r2, [r3, #132]
  8603. 5104 .L280:
  8604. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8605. 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8606. 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
  8607. 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
  8608. 5105 .loc 1 2162 20
  8609. 5106 00ec D7F8E430 ldr r3, [r7, #228]
  8610. 5107 00f0 03F00403 and r3, r3, #4
  8611. 5108 .loc 1 2162 8
  8612. 5109 00f4 002B cmp r3, #0
  8613. 5110 00f6 11D0 beq .L281
  8614. 5111 .loc 1 2162 55 discriminator 1
  8615. 5112 00f8 D7F8DC30 ldr r3, [r7, #220]
  8616. 5113 00fc 03F00103 and r3, r3, #1
  8617. 5114 .loc 1 2162 43 discriminator 1
  8618. 5115 0100 002B cmp r3, #0
  8619. 5116 0102 0BD0 beq .L281
  8620. 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8621. 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
  8622. 5117 .loc 1 2164 7
  8623. 5118 0104 7B68 ldr r3, [r7, #4]
  8624. 5119 0106 1B68 ldr r3, [r3]
  8625. 5120 0108 0422 movs r2, #4
  8626. 5121 010a 1A62 str r2, [r3, #32]
  8627. 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8628. 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
  8629. 5122 .loc 1 2166 24
  8630. 5123 010c 7B68 ldr r3, [r7, #4]
  8631. 5124 010e D3F88430 ldr r3, [r3, #132]
  8632. 5125 0112 43F00202 orr r2, r3, #2
  8633. 5126 0116 7B68 ldr r3, [r7, #4]
  8634. 5127 0118 C3F88420 str r2, [r3, #132]
  8635. 5128 .L281:
  8636. 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8637. 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8638. 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/
  8639. 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U)
  8640. 5129 .loc 1 2170 20
  8641. 5130 011c D7F8E430 ldr r3, [r7, #228]
  8642. 5131 0120 03F00803 and r3, r3, #8
  8643. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 150
  8644. 5132 .loc 1 2170 8
  8645. 5133 0124 002B cmp r3, #0
  8646. 5134 0126 17D0 beq .L282
  8647. 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
  8648. 5135 .loc 1 2171 22
  8649. 5136 0128 D7F8E030 ldr r3, [r7, #224]
  8650. 5137 012c 03F02003 and r3, r3, #32
  8651. 5138 .loc 1 2171 9
  8652. 5139 0130 002B cmp r3, #0
  8653. 5140 0132 05D1 bne .L283
  8654. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
  8655. 5141 .loc 1 2172 22 discriminator 1
  8656. 5142 0134 D7F8DC30 ldr r3, [r7, #220]
  8657. 5143 0138 03F00103 and r3, r3, #1
  8658. 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
  8659. 5144 .loc 1 2171 49 discriminator 1
  8660. 5145 013c 002B cmp r3, #0
  8661. 5146 013e 0BD0 beq .L282
  8662. 5147 .L283:
  8663. 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8664. 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
  8665. 5148 .loc 1 2174 7
  8666. 5149 0140 7B68 ldr r3, [r7, #4]
  8667. 5150 0142 1B68 ldr r3, [r3]
  8668. 5151 0144 0822 movs r2, #8
  8669. 5152 0146 1A62 str r2, [r3, #32]
  8670. 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8671. 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
  8672. 5153 .loc 1 2176 24
  8673. 5154 0148 7B68 ldr r3, [r7, #4]
  8674. 5155 014a D3F88430 ldr r3, [r3, #132]
  8675. 5156 014e 43F00802 orr r2, r3, #8
  8676. 5157 0152 7B68 ldr r3, [r7, #4]
  8677. 5158 0154 C3F88420 str r2, [r3, #132]
  8678. 5159 .L282:
  8679. 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8680. 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8681. 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/
  8682. 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U))
  8683. 5160 .loc 1 2180 20
  8684. 5161 0158 D7F8E430 ldr r3, [r7, #228]
  8685. 5162 015c 03F40063 and r3, r3, #2048
  8686. 5163 .loc 1 2180 8
  8687. 5164 0160 002B cmp r3, #0
  8688. 5165 0162 12D0 beq .L284
  8689. 5166 .loc 1 2180 57 discriminator 1
  8690. 5167 0164 D7F8E030 ldr r3, [r7, #224]
  8691. 5168 0168 03F08063 and r3, r3, #67108864
  8692. 5169 .loc 1 2180 45 discriminator 1
  8693. 5170 016c 002B cmp r3, #0
  8694. 5171 016e 0CD0 beq .L284
  8695. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8696. 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
  8697. 5172 .loc 1 2182 7
  8698. 5173 0170 7B68 ldr r3, [r7, #4]
  8699. 5174 0172 1B68 ldr r3, [r3]
  8700. 5175 0174 4FF40062 mov r2, #2048
  8701. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 151
  8702. 5176 0178 1A62 str r2, [r3, #32]
  8703. 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8704. 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO;
  8705. 5177 .loc 1 2184 24
  8706. 5178 017a 7B68 ldr r3, [r7, #4]
  8707. 5179 017c D3F88430 ldr r3, [r3, #132]
  8708. 5180 0180 43F02002 orr r2, r3, #32
  8709. 5181 0184 7B68 ldr r3, [r7, #4]
  8710. 5182 0186 C3F88420 str r2, [r3, #132]
  8711. 5183 .L284:
  8712. 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8713. 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8714. 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/
  8715. 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
  8716. 5184 .loc 1 2188 14
  8717. 5185 018a 7B68 ldr r3, [r7, #4]
  8718. 5186 018c D3F88430 ldr r3, [r3, #132]
  8719. 5187 .loc 1 2188 8
  8720. 5188 0190 002B cmp r3, #0
  8721. 5189 0192 00F01182 beq .L325
  8722. 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8723. 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/
  8724. 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
  8725. 5190 .loc 1 2191 22
  8726. 5191 0196 D7F8E430 ldr r3, [r7, #228]
  8727. 5192 019a 03F02003 and r3, r3, #32
  8728. 5193 .loc 1 2191 10
  8729. 5194 019e 002B cmp r3, #0
  8730. 5195 01a0 0DD0 beq .L286
  8731. 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
  8732. 5196 .loc 1 2192 23
  8733. 5197 01a2 D7F8E030 ldr r3, [r7, #224]
  8734. 5198 01a6 03F02003 and r3, r3, #32
  8735. 5199 .loc 1 2192 11
  8736. 5200 01aa 002B cmp r3, #0
  8737. 5201 01ac 07D0 beq .L286
  8738. 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8739. 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL)
  8740. 5202 .loc 1 2194 18
  8741. 5203 01ae 7B68 ldr r3, [r7, #4]
  8742. 5204 01b0 9B6E ldr r3, [r3, #104]
  8743. 5205 .loc 1 2194 12
  8744. 5206 01b2 002B cmp r3, #0
  8745. 5207 01b4 03D0 beq .L286
  8746. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8747. 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart);
  8748. 5208 .loc 1 2196 16
  8749. 5209 01b6 7B68 ldr r3, [r7, #4]
  8750. 5210 01b8 9B6E ldr r3, [r3, #104]
  8751. 5211 .loc 1 2196 11
  8752. 5212 01ba 7868 ldr r0, [r7, #4]
  8753. 5213 01bc 9847 blx r3
  8754. 5214 .LVL3:
  8755. 5215 .L286:
  8756. 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8757. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8758. 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8759. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 152
  8760. 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Error is to be considered as blocking :
  8761. 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Receiver Timeout error in Reception
  8762. 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Overrun error in Reception
  8763. 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - any error occurs in DMA mode reception
  8764. 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  8765. 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** errorcode = huart->ErrorCode;
  8766. 5216 .loc 1 2205 17
  8767. 5217 01be 7B68 ldr r3, [r7, #4]
  8768. 5218 01c0 D3F88430 ldr r3, [r3, #132]
  8769. 5219 01c4 C7F8D430 str r3, [r7, #212]
  8770. 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
  8771. 5220 .loc 1 2206 12
  8772. 5221 01c8 7B68 ldr r3, [r7, #4]
  8773. 5222 01ca 1B68 ldr r3, [r3]
  8774. 5223 01cc 9B68 ldr r3, [r3, #8]
  8775. 5224 01ce 03F04003 and r3, r3, #64
  8776. 5225 .loc 1 2206 10
  8777. 5226 01d2 402B cmp r3, #64
  8778. 5227 01d4 05D0 beq .L287
  8779. 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
  8780. 5228 .loc 1 2207 23 discriminator 1
  8781. 5229 01d6 D7F8D430 ldr r3, [r7, #212]
  8782. 5230 01da 03F02803 and r3, r3, #40
  8783. 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
  8784. 5231 .loc 1 2206 66 discriminator 1
  8785. 5232 01de 002B cmp r3, #0
  8786. 5233 01e0 4FD0 beq .L288
  8787. 5234 .L287:
  8788. 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8789. 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted
  8790. 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
  8791. 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
  8792. 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
  8793. 5235 .loc 1 2212 9
  8794. 5236 01e2 7868 ldr r0, [r7, #4]
  8795. 5237 01e4 FFF7FEFF bl UART_EndRxTransfer
  8796. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8797. 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
  8798. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  8799. 5238 .loc 1 2215 13
  8800. 5239 01e8 7B68 ldr r3, [r7, #4]
  8801. 5240 01ea 1B68 ldr r3, [r3]
  8802. 5241 01ec 9B68 ldr r3, [r3, #8]
  8803. 5242 01ee 03F04003 and r3, r3, #64
  8804. 5243 .loc 1 2215 12
  8805. 5244 01f2 402B cmp r3, #64
  8806. 5245 01f4 41D1 bne .L289
  8807. 5246 .L292:
  8808. 5247 .LBB594:
  8809. 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8810. 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  8811. 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  8812. 5248 .loc 1 2218 11 discriminator 1
  8813. 5249 01f6 7B68 ldr r3, [r7, #4]
  8814. 5250 01f8 1B68 ldr r3, [r3]
  8815. 5251 01fa 0833 adds r3, r3, #8
  8816. 5252 01fc C7F89C30 str r3, [r7, #156]
  8817. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 153
  8818. 5253 .LBB595:
  8819. 5254 .LBB596:
  8820. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8821. 5255 .loc 2 1072 4 discriminator 1
  8822. 5256 0200 D7F89C30 ldr r3, [r7, #156]
  8823. 5257 .syntax unified
  8824. 5258 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8825. 5259 0204 53E8003F ldrex r3, [r3]
  8826. 5260 @ 0 "" 2
  8827. 5261 .thumb
  8828. 5262 .syntax unified
  8829. 5263 0208 C7F89830 str r3, [r7, #152]
  8830. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8831. 5264 .loc 2 1073 10 discriminator 1
  8832. 5265 020c D7F89830 ldr r3, [r7, #152]
  8833. 5266 .LBE596:
  8834. 5267 .LBE595:
  8835. 5268 .loc 1 2218 11 discriminator 1
  8836. 5269 0210 23F04003 bic r3, r3, #64
  8837. 5270 0214 C7F8D030 str r3, [r7, #208]
  8838. 5271 0218 7B68 ldr r3, [r7, #4]
  8839. 5272 021a 1B68 ldr r3, [r3]
  8840. 5273 021c 0833 adds r3, r3, #8
  8841. 5274 021e D7F8D020 ldr r2, [r7, #208]
  8842. 5275 0222 C7F8A820 str r2, [r7, #168]
  8843. 5276 0226 C7F8A430 str r3, [r7, #164]
  8844. 5277 .LBB597:
  8845. 5278 .LBB598:
  8846. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8847. 5279 .loc 2 1123 4 discriminator 1
  8848. 5280 022a D7F8A410 ldr r1, [r7, #164]
  8849. 5281 022e D7F8A820 ldr r2, [r7, #168]
  8850. 5282 .syntax unified
  8851. 5283 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8852. 5284 0232 41E80023 strex r3, r2, [r1]
  8853. 5285 @ 0 "" 2
  8854. 5286 .thumb
  8855. 5287 .syntax unified
  8856. 5288 0236 C7F8A030 str r3, [r7, #160]
  8857. 5289 .loc 2 1124 10 discriminator 1
  8858. 5290 023a D7F8A030 ldr r3, [r7, #160]
  8859. 5291 .LBE598:
  8860. 5292 .LBE597:
  8861. 5293 .loc 1 2218 11 discriminator 1
  8862. 5294 023e 002B cmp r3, #0
  8863. 5295 0240 D9D1 bne .L292
  8864. 5296 .LBE594:
  8865. 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8866. 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
  8867. 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  8868. 5297 .loc 1 2221 20
  8869. 5298 0242 7B68 ldr r3, [r7, #4]
  8870. 5299 0244 5B6F ldr r3, [r3, #116]
  8871. 5300 .loc 1 2221 14
  8872. 5301 0246 002B cmp r3, #0
  8873. 5302 0248 13D0 beq .L293
  8874. 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8875. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 154
  8876. 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback :
  8877. 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
  8878. 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
  8879. 5303 .loc 1 2225 18
  8880. 5304 024a 7B68 ldr r3, [r7, #4]
  8881. 5305 024c 5B6F ldr r3, [r3, #116]
  8882. 5306 .loc 1 2225 46
  8883. 5307 024e 134A ldr r2, .L330+4
  8884. 5308 0250 5A63 str r2, [r3, #52]
  8885. 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8886. 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */
  8887. 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
  8888. 5309 .loc 1 2228 17
  8889. 5310 0252 7B68 ldr r3, [r7, #4]
  8890. 5311 0254 5B6F ldr r3, [r3, #116]
  8891. 5312 0256 1846 mov r0, r3
  8892. 5313 0258 FFF7FEFF bl HAL_DMA_Abort_IT
  8893. 5314 025c 0346 mov r3, r0
  8894. 5315 .loc 1 2228 16
  8895. 5316 025e 002B cmp r3, #0
  8896. 5317 0260 17D0 beq .L326
  8897. 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8898. 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
  8899. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
  8900. 5318 .loc 1 2231 20
  8901. 5319 0262 7B68 ldr r3, [r7, #4]
  8902. 5320 0264 5B6F ldr r3, [r3, #116]
  8903. 5321 .loc 1 2231 28
  8904. 5322 0266 5B6B ldr r3, [r3, #52]
  8905. 5323 .loc 1 2231 53
  8906. 5324 0268 7A68 ldr r2, [r7, #4]
  8907. 5325 026a 526F ldr r2, [r2, #116]
  8908. 5326 .loc 1 2231 15
  8909. 5327 026c 1046 mov r0, r2
  8910. 5328 026e 9847 blx r3
  8911. 5329 .LVL4:
  8912. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8913. 5330 .loc 1 2215 12
  8914. 5331 0270 0FE0 b .L326
  8915. 5332 .L293:
  8916. 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8917. 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8918. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  8919. 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8920. 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */
  8921. 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8922. 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
  8923. 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
  8924. 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  8925. 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
  8926. 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  8927. 5333 .loc 1 2242 13
  8928. 5334 0272 7868 ldr r0, [r7, #4]
  8929. 5335 0274 FFF7FEFF bl HAL_UART_ErrorCallback
  8930. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8931. 5336 .loc 1 2215 12
  8932. 5337 0278 0BE0 b .L326
  8933. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 155
  8934. 5338 .L289:
  8935. 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8936. 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8937. 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8938. 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8939. 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  8940. 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8941. 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */
  8942. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8943. 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
  8944. 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
  8945. 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  8946. 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
  8947. 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  8948. 5339 .loc 1 2255 11
  8949. 5340 027a 7868 ldr r0, [r7, #4]
  8950. 5341 027c FFF7FEFF bl HAL_UART_ErrorCallback
  8951. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8952. 5342 .loc 1 2215 12
  8953. 5343 0280 07E0 b .L326
  8954. 5344 .L288:
  8955. 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8956. 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8957. 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8958. 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  8959. 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8960. 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
  8961. 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error is notified to user through user error callback */
  8962. 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8963. 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
  8964. 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
  8965. 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  8966. 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
  8967. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  8968. 5345 .loc 1 2268 9
  8969. 5346 0282 7868 ldr r0, [r7, #4]
  8970. 5347 0284 FFF7FEFF bl HAL_UART_ErrorCallback
  8971. 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8972. 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  8973. 5348 .loc 1 2270 26
  8974. 5349 0288 7B68 ldr r3, [r7, #4]
  8975. 5350 028a 0022 movs r2, #0
  8976. 5351 028c C3F88420 str r2, [r3, #132]
  8977. 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8978. 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  8979. 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  8980. 5352 .loc 1 2273 5
  8981. 5353 0290 92E1 b .L325
  8982. 5354 .L326:
  8983. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  8984. 5355 .loc 1 2215 12
  8985. 5356 0292 00BF nop
  8986. 5357 .loc 1 2273 5
  8987. 5358 0294 90E1 b .L325
  8988. 5359 .L331:
  8989. 5360 0296 00BF .align 2
  8990. 5361 .L330:
  8991. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 156
  8992. 5362 0298 20010004 .word 67109152
  8993. 5363 029c 00000000 .word UART_DMAAbortOnError
  8994. 5364 .L277:
  8995. 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8996. 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } /* End if some error occurs */
  8997. 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  8998. 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
  8999. 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */
  9000. 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  9001. 5365 .loc 1 2279 13
  9002. 5366 02a0 7B68 ldr r3, [r7, #4]
  9003. 5367 02a2 1B6E ldr r3, [r3, #96]
  9004. 5368 .loc 1 2279 6
  9005. 5369 02a4 012B cmp r3, #1
  9006. 5370 02a6 40F04B81 bne .L295
  9007. 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
  9008. 5371 .loc 1 2280 21
  9009. 5372 02aa D7F8E430 ldr r3, [r7, #228]
  9010. 5373 02ae 03F01003 and r3, r3, #16
  9011. 5374 .loc 1 2280 7
  9012. 5375 02b2 002B cmp r3, #0
  9013. 5376 02b4 00F04481 beq .L295
  9014. 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
  9015. 5377 .loc 1 2281 19
  9016. 5378 02b8 D7F8E030 ldr r3, [r7, #224]
  9017. 5379 02bc 03F01003 and r3, r3, #16
  9018. 5380 .loc 1 2281 7
  9019. 5381 02c0 002B cmp r3, #0
  9020. 5382 02c2 00F03D81 beq .L295
  9021. 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9022. 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
  9023. 5383 .loc 1 2283 5
  9024. 5384 02c6 7B68 ldr r3, [r7, #4]
  9025. 5385 02c8 1B68 ldr r3, [r3]
  9026. 5386 02ca 1022 movs r2, #16
  9027. 5387 02cc 1A62 str r2, [r3, #32]
  9028. 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9029. 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
  9030. 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  9031. 5388 .loc 1 2286 9
  9032. 5389 02ce 7B68 ldr r3, [r7, #4]
  9033. 5390 02d0 1B68 ldr r3, [r3]
  9034. 5391 02d2 9B68 ldr r3, [r3, #8]
  9035. 5392 02d4 03F04003 and r3, r3, #64
  9036. 5393 .loc 1 2286 8
  9037. 5394 02d8 402B cmp r3, #64
  9038. 5395 02da 40F0B580 bne .L296
  9039. 5396 .LBB599:
  9040. 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9041. 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode enabled */
  9042. 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
  9043. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (DMA cplt callback will be called).
  9044. 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
  9045. 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
  9046. 5397 .loc 1 2292 50
  9047. 5398 02de 7B68 ldr r3, [r7, #4]
  9048. 5399 02e0 5B6F ldr r3, [r3, #116]
  9049. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 157
  9050. 5400 02e2 1B68 ldr r3, [r3]
  9051. 5401 02e4 5B68 ldr r3, [r3, #4]
  9052. 5402 .loc 1 2292 16
  9053. 5403 02e6 A7F8BE30 strh r3, [r7, #190] @ movhi
  9054. 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
  9055. 5404 .loc 1 2293 10
  9056. 5405 02ea B7F8BE30 ldrh r3, [r7, #190]
  9057. 5406 02ee 002B cmp r3, #0
  9058. 5407 02f0 00F06481 beq .L327
  9059. 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
  9060. 5408 .loc 1 2294 43
  9061. 5409 02f4 7B68 ldr r3, [r7, #4]
  9062. 5410 02f6 B3F85830 ldrh r3, [r3, #88]
  9063. 5411 .loc 1 2294 11
  9064. 5412 02fa B7F8BE20 ldrh r2, [r7, #190]
  9065. 5413 02fe 9A42 cmp r2, r3
  9066. 5414 0300 80F05C81 bcs .L327
  9067. 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9068. 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reception is not complete */
  9069. 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
  9070. 5415 .loc 1 2297 28
  9071. 5416 0304 7B68 ldr r3, [r7, #4]
  9072. 5417 0306 B7F8BE20 ldrh r2, [r7, #190] @ movhi
  9073. 5418 030a A3F85A20 strh r2, [r3, #90] @ movhi
  9074. 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9075. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
  9076. 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR)
  9077. 5419 .loc 1 2300 18
  9078. 5420 030e 7B68 ldr r3, [r7, #4]
  9079. 5421 0310 5B6F ldr r3, [r3, #116]
  9080. 5422 .loc 1 2300 32
  9081. 5423 0312 9B69 ldr r3, [r3, #24]
  9082. 5424 .loc 1 2300 12
  9083. 5425 0314 202B cmp r3, #32
  9084. 5426 0316 00F08680 beq .L298
  9085. 5427 .L301:
  9086. 5428 .LBB600:
  9087. 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9088. 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
  9089. 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  9090. 5429 .loc 1 2303 11 discriminator 1
  9091. 5430 031a 7B68 ldr r3, [r7, #4]
  9092. 5431 031c 1B68 ldr r3, [r3]
  9093. 5432 031e C7F88830 str r3, [r7, #136]
  9094. 5433 .LBB601:
  9095. 5434 .LBB602:
  9096. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9097. 5435 .loc 2 1072 4 discriminator 1
  9098. 5436 0322 D7F88830 ldr r3, [r7, #136]
  9099. 5437 .syntax unified
  9100. 5438 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9101. 5439 0326 53E8003F ldrex r3, [r3]
  9102. 5440 @ 0 "" 2
  9103. 5441 .thumb
  9104. 5442 .syntax unified
  9105. 5443 032a C7F88430 str r3, [r7, #132]
  9106. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9107. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 158
  9108. 5444 .loc 2 1073 10 discriminator 1
  9109. 5445 032e D7F88430 ldr r3, [r7, #132]
  9110. 5446 .LBE602:
  9111. 5447 .LBE601:
  9112. 5448 .loc 1 2303 11 discriminator 1
  9113. 5449 0332 23F48073 bic r3, r3, #256
  9114. 5450 0336 C7F8B830 str r3, [r7, #184]
  9115. 5451 033a 7B68 ldr r3, [r7, #4]
  9116. 5452 033c 1B68 ldr r3, [r3]
  9117. 5453 033e 1A46 mov r2, r3
  9118. 5454 0340 D7F8B830 ldr r3, [r7, #184]
  9119. 5455 0344 C7F89430 str r3, [r7, #148]
  9120. 5456 0348 C7F89020 str r2, [r7, #144]
  9121. 5457 .LBB603:
  9122. 5458 .LBB604:
  9123. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9124. 5459 .loc 2 1123 4 discriminator 1
  9125. 5460 034c D7F89010 ldr r1, [r7, #144]
  9126. 5461 0350 D7F89420 ldr r2, [r7, #148]
  9127. 5462 .syntax unified
  9128. 5463 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9129. 5464 0354 41E80023 strex r3, r2, [r1]
  9130. 5465 @ 0 "" 2
  9131. 5466 .thumb
  9132. 5467 .syntax unified
  9133. 5468 0358 C7F88C30 str r3, [r7, #140]
  9134. 5469 .loc 2 1124 10 discriminator 1
  9135. 5470 035c D7F88C30 ldr r3, [r7, #140]
  9136. 5471 .LBE604:
  9137. 5472 .LBE603:
  9138. 5473 .loc 1 2303 11 discriminator 1
  9139. 5474 0360 002B cmp r3, #0
  9140. 5475 0362 DAD1 bne .L301
  9141. 5476 .L304:
  9142. 5477 .LBE600:
  9143. 5478 .LBB605:
  9144. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  9145. 5479 .loc 1 2304 11 discriminator 1
  9146. 5480 0364 7B68 ldr r3, [r7, #4]
  9147. 5481 0366 1B68 ldr r3, [r3]
  9148. 5482 0368 0833 adds r3, r3, #8
  9149. 5483 036a 7B67 str r3, [r7, #116]
  9150. 5484 .LBB606:
  9151. 5485 .LBB607:
  9152. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9153. 5486 .loc 2 1072 4 discriminator 1
  9154. 5487 036c 7B6F ldr r3, [r7, #116]
  9155. 5488 .syntax unified
  9156. 5489 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9157. 5490 036e 53E8003F ldrex r3, [r3]
  9158. 5491 @ 0 "" 2
  9159. 5492 .thumb
  9160. 5493 .syntax unified
  9161. 5494 0372 3B67 str r3, [r7, #112]
  9162. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9163. 5495 .loc 2 1073 10 discriminator 1
  9164. 5496 0374 3B6F ldr r3, [r7, #112]
  9165. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 159
  9166. 5497 .LBE607:
  9167. 5498 .LBE606:
  9168. 5499 .loc 1 2304 11 discriminator 1
  9169. 5500 0376 23F00103 bic r3, r3, #1
  9170. 5501 037a C7F8B430 str r3, [r7, #180]
  9171. 5502 037e 7B68 ldr r3, [r7, #4]
  9172. 5503 0380 1B68 ldr r3, [r3]
  9173. 5504 0382 0833 adds r3, r3, #8
  9174. 5505 0384 D7F8B420 ldr r2, [r7, #180]
  9175. 5506 0388 C7F88020 str r2, [r7, #128]
  9176. 5507 038c FB67 str r3, [r7, #124]
  9177. 5508 .LBB608:
  9178. 5509 .LBB609:
  9179. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9180. 5510 .loc 2 1123 4 discriminator 1
  9181. 5511 038e F96F ldr r1, [r7, #124]
  9182. 5512 0390 D7F88020 ldr r2, [r7, #128]
  9183. 5513 .syntax unified
  9184. 5514 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9185. 5515 0394 41E80023 strex r3, r2, [r1]
  9186. 5516 @ 0 "" 2
  9187. 5517 .thumb
  9188. 5518 .syntax unified
  9189. 5519 0398 BB67 str r3, [r7, #120]
  9190. 5520 .loc 2 1124 10 discriminator 1
  9191. 5521 039a BB6F ldr r3, [r7, #120]
  9192. 5522 .LBE609:
  9193. 5523 .LBE608:
  9194. 5524 .loc 1 2304 11 discriminator 1
  9195. 5525 039c 002B cmp r3, #0
  9196. 5526 039e E1D1 bne .L304
  9197. 5527 .L307:
  9198. 5528 .LBE605:
  9199. 5529 .LBB610:
  9200. 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9201. 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
  9202. 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
  9203. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  9204. 5530 .loc 1 2308 11 discriminator 1
  9205. 5531 03a0 7B68 ldr r3, [r7, #4]
  9206. 5532 03a2 1B68 ldr r3, [r3]
  9207. 5533 03a4 0833 adds r3, r3, #8
  9208. 5534 03a6 3B66 str r3, [r7, #96]
  9209. 5535 .LBB611:
  9210. 5536 .LBB612:
  9211. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9212. 5537 .loc 2 1072 4 discriminator 1
  9213. 5538 03a8 3B6E ldr r3, [r7, #96]
  9214. 5539 .syntax unified
  9215. 5540 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9216. 5541 03aa 53E8003F ldrex r3, [r3]
  9217. 5542 @ 0 "" 2
  9218. 5543 .thumb
  9219. 5544 .syntax unified
  9220. 5545 03ae FB65 str r3, [r7, #92]
  9221. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9222. 5546 .loc 2 1073 10 discriminator 1
  9223. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 160
  9224. 5547 03b0 FB6D ldr r3, [r7, #92]
  9225. 5548 .LBE612:
  9226. 5549 .LBE611:
  9227. 5550 .loc 1 2308 11 discriminator 1
  9228. 5551 03b2 23F04003 bic r3, r3, #64
  9229. 5552 03b6 C7F8B030 str r3, [r7, #176]
  9230. 5553 03ba 7B68 ldr r3, [r7, #4]
  9231. 5554 03bc 1B68 ldr r3, [r3]
  9232. 5555 03be 0833 adds r3, r3, #8
  9233. 5556 03c0 D7F8B020 ldr r2, [r7, #176]
  9234. 5557 03c4 FA66 str r2, [r7, #108]
  9235. 5558 03c6 BB66 str r3, [r7, #104]
  9236. 5559 .LBB613:
  9237. 5560 .LBB614:
  9238. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9239. 5561 .loc 2 1123 4 discriminator 1
  9240. 5562 03c8 B96E ldr r1, [r7, #104]
  9241. 5563 03ca FA6E ldr r2, [r7, #108]
  9242. 5564 .syntax unified
  9243. 5565 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9244. 5566 03cc 41E80023 strex r3, r2, [r1]
  9245. 5567 @ 0 "" 2
  9246. 5568 .thumb
  9247. 5569 .syntax unified
  9248. 5570 03d0 7B66 str r3, [r7, #100]
  9249. 5571 .loc 2 1124 10 discriminator 1
  9250. 5572 03d2 7B6E ldr r3, [r7, #100]
  9251. 5573 .LBE614:
  9252. 5574 .LBE613:
  9253. 5575 .loc 1 2308 11 discriminator 1
  9254. 5576 03d4 002B cmp r3, #0
  9255. 5577 03d6 E3D1 bne .L307
  9256. 5578 .LBE610:
  9257. 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9258. 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  9259. 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  9260. 5579 .loc 1 2311 26
  9261. 5580 03d8 7B68 ldr r3, [r7, #4]
  9262. 5581 03da 2022 movs r2, #32
  9263. 5582 03dc C3F88020 str r2, [r3, #128]
  9264. 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  9265. 5583 .loc 1 2312 32
  9266. 5584 03e0 7B68 ldr r3, [r7, #4]
  9267. 5585 03e2 0022 movs r2, #0
  9268. 5586 03e4 1A66 str r2, [r3, #96]
  9269. 5587 .L310:
  9270. 5588 .LBB615:
  9271. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9272. 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  9273. 5589 .loc 1 2314 11 discriminator 1
  9274. 5590 03e6 7B68 ldr r3, [r7, #4]
  9275. 5591 03e8 1B68 ldr r3, [r3]
  9276. 5592 03ea FB64 str r3, [r7, #76]
  9277. 5593 .LBB616:
  9278. 5594 .LBB617:
  9279. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9280. 5595 .loc 2 1072 4 discriminator 1
  9281. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 161
  9282. 5596 03ec FB6C ldr r3, [r7, #76]
  9283. 5597 .syntax unified
  9284. 5598 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9285. 5599 03ee 53E8003F ldrex r3, [r3]
  9286. 5600 @ 0 "" 2
  9287. 5601 .thumb
  9288. 5602 .syntax unified
  9289. 5603 03f2 BB64 str r3, [r7, #72]
  9290. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9291. 5604 .loc 2 1073 10 discriminator 1
  9292. 5605 03f4 BB6C ldr r3, [r7, #72]
  9293. 5606 .LBE617:
  9294. 5607 .LBE616:
  9295. 5608 .loc 1 2314 11 discriminator 1
  9296. 5609 03f6 23F01003 bic r3, r3, #16
  9297. 5610 03fa C7F8AC30 str r3, [r7, #172]
  9298. 5611 03fe 7B68 ldr r3, [r7, #4]
  9299. 5612 0400 1B68 ldr r3, [r3]
  9300. 5613 0402 1A46 mov r2, r3
  9301. 5614 0404 D7F8AC30 ldr r3, [r7, #172]
  9302. 5615 0408 BB65 str r3, [r7, #88]
  9303. 5616 040a 7A65 str r2, [r7, #84]
  9304. 5617 .LBB618:
  9305. 5618 .LBB619:
  9306. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9307. 5619 .loc 2 1123 4 discriminator 1
  9308. 5620 040c 796D ldr r1, [r7, #84]
  9309. 5621 040e BA6D ldr r2, [r7, #88]
  9310. 5622 .syntax unified
  9311. 5623 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9312. 5624 0410 41E80023 strex r3, r2, [r1]
  9313. 5625 @ 0 "" 2
  9314. 5626 .thumb
  9315. 5627 .syntax unified
  9316. 5628 0414 3B65 str r3, [r7, #80]
  9317. 5629 .loc 2 1124 10 discriminator 1
  9318. 5630 0416 3B6D ldr r3, [r7, #80]
  9319. 5631 .LBE619:
  9320. 5632 .LBE618:
  9321. 5633 .loc 1 2314 11 discriminator 1
  9322. 5634 0418 002B cmp r3, #0
  9323. 5635 041a E4D1 bne .L310
  9324. 5636 .LBE615:
  9325. 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9326. 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
  9327. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
  9328. 5637 .loc 1 2317 17
  9329. 5638 041c 7B68 ldr r3, [r7, #4]
  9330. 5639 041e 5B6F ldr r3, [r3, #116]
  9331. 5640 0420 1846 mov r0, r3
  9332. 5641 0422 FFF7FEFF bl HAL_DMA_Abort
  9333. 5642 .L298:
  9334. 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9335. 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9336. 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
  9337. 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
  9338. 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
  9339. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 162
  9340. 5643 .loc 1 2322 28
  9341. 5644 0426 7B68 ldr r3, [r7, #4]
  9342. 5645 0428 0222 movs r2, #2
  9343. 5646 042a 5A66 str r2, [r3, #100]
  9344. 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9345. 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9346. 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
  9347. 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
  9348. 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  9349. 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  9350. 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
  9351. 5647 .loc 1 2329 49
  9352. 5648 042c 7B68 ldr r3, [r7, #4]
  9353. 5649 042e B3F85820 ldrh r2, [r3, #88]
  9354. 5650 .loc 1 2329 69
  9355. 5651 0432 7B68 ldr r3, [r7, #4]
  9356. 5652 0434 B3F85A30 ldrh r3, [r3, #90] @ movhi
  9357. 5653 0438 9BB2 uxth r3, r3
  9358. 5654 .loc 1 2329 9
  9359. 5655 043a D31A subs r3, r2, r3
  9360. 5656 043c 9BB2 uxth r3, r3
  9361. 5657 043e 1946 mov r1, r3
  9362. 5658 0440 7868 ldr r0, [r7, #4]
  9363. 5659 0442 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  9364. 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  9365. 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9366. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  9367. 5660 .loc 1 2332 7
  9368. 5661 0446 B9E0 b .L327
  9369. 5662 .L296:
  9370. 5663 .LBE599:
  9371. 5664 .LBB620:
  9372. 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9373. 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  9374. 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9375. 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode not enabled */
  9376. 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
  9377. 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
  9378. 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
  9379. 5665 .loc 1 2339 34
  9380. 5666 0448 7B68 ldr r3, [r7, #4]
  9381. 5667 044a B3F85820 ldrh r2, [r3, #88]
  9382. 5668 .loc 1 2339 54
  9383. 5669 044e 7B68 ldr r3, [r7, #4]
  9384. 5670 0450 B3F85A30 ldrh r3, [r3, #90] @ movhi
  9385. 5671 0454 9BB2 uxth r3, r3
  9386. 5672 .loc 1 2339 16
  9387. 5673 0456 D31A subs r3, r2, r3
  9388. 5674 0458 A7F8CE30 strh r3, [r7, #206] @ movhi
  9389. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
  9390. 5675 .loc 1 2340 17
  9391. 5676 045c 7B68 ldr r3, [r7, #4]
  9392. 5677 045e B3F85A30 ldrh r3, [r3, #90] @ movhi
  9393. 5678 0462 9BB2 uxth r3, r3
  9394. 5679 .loc 1 2340 10
  9395. 5680 0464 002B cmp r3, #0
  9396. 5681 0466 00F0AB80 beq .L328
  9397. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 163
  9398. 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U))
  9399. 5682 .loc 1 2341 11
  9400. 5683 046a B7F8CE30 ldrh r3, [r7, #206]
  9401. 5684 046e 002B cmp r3, #0
  9402. 5685 0470 00F0A680 beq .L328
  9403. 5686 .L314:
  9404. 5687 .LBB621:
  9405. 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9406. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
  9407. 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  9408. 5688 .loc 1 2344 9 discriminator 1
  9409. 5689 0474 7B68 ldr r3, [r7, #4]
  9410. 5690 0476 1B68 ldr r3, [r3]
  9411. 5691 0478 BB63 str r3, [r7, #56]
  9412. 5692 .LBB622:
  9413. 5693 .LBB623:
  9414. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9415. 5694 .loc 2 1072 4 discriminator 1
  9416. 5695 047a BB6B ldr r3, [r7, #56]
  9417. 5696 .syntax unified
  9418. 5697 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9419. 5698 047c 53E8003F ldrex r3, [r3]
  9420. 5699 @ 0 "" 2
  9421. 5700 .thumb
  9422. 5701 .syntax unified
  9423. 5702 0480 7B63 str r3, [r7, #52]
  9424. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9425. 5703 .loc 2 1073 10 discriminator 1
  9426. 5704 0482 7B6B ldr r3, [r7, #52]
  9427. 5705 .LBE623:
  9428. 5706 .LBE622:
  9429. 5707 .loc 1 2344 9 discriminator 1
  9430. 5708 0484 23F49073 bic r3, r3, #288
  9431. 5709 0488 C7F8C830 str r3, [r7, #200]
  9432. 5710 048c 7B68 ldr r3, [r7, #4]
  9433. 5711 048e 1B68 ldr r3, [r3]
  9434. 5712 0490 1A46 mov r2, r3
  9435. 5713 0492 D7F8C830 ldr r3, [r7, #200]
  9436. 5714 0496 7B64 str r3, [r7, #68]
  9437. 5715 0498 3A64 str r2, [r7, #64]
  9438. 5716 .LBB624:
  9439. 5717 .LBB625:
  9440. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9441. 5718 .loc 2 1123 4 discriminator 1
  9442. 5719 049a 396C ldr r1, [r7, #64]
  9443. 5720 049c 7A6C ldr r2, [r7, #68]
  9444. 5721 .syntax unified
  9445. 5722 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9446. 5723 049e 41E80023 strex r3, r2, [r1]
  9447. 5724 @ 0 "" 2
  9448. 5725 .thumb
  9449. 5726 .syntax unified
  9450. 5727 04a2 FB63 str r3, [r7, #60]
  9451. 5728 .loc 2 1124 10 discriminator 1
  9452. 5729 04a4 FB6B ldr r3, [r7, #60]
  9453. 5730 .LBE625:
  9454. 5731 .LBE624:
  9455. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 164
  9456. 5732 .loc 1 2344 9 discriminator 1
  9457. 5733 04a6 002B cmp r3, #0
  9458. 5734 04a8 E4D1 bne .L314
  9459. 5735 .L317:
  9460. 5736 .LBE621:
  9461. 5737 .LBB626:
  9462. 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9463. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  9464. 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  9465. 5738 .loc 1 2347 9 discriminator 1
  9466. 5739 04aa 7B68 ldr r3, [r7, #4]
  9467. 5740 04ac 1B68 ldr r3, [r3]
  9468. 5741 04ae 0833 adds r3, r3, #8
  9469. 5742 04b0 7B62 str r3, [r7, #36]
  9470. 5743 .LBB627:
  9471. 5744 .LBB628:
  9472. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9473. 5745 .loc 2 1072 4 discriminator 1
  9474. 5746 04b2 7B6A ldr r3, [r7, #36]
  9475. 5747 .syntax unified
  9476. 5748 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9477. 5749 04b4 53E8003F ldrex r3, [r3]
  9478. 5750 @ 0 "" 2
  9479. 5751 .thumb
  9480. 5752 .syntax unified
  9481. 5753 04b8 3B62 str r3, [r7, #32]
  9482. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9483. 5754 .loc 2 1073 10 discriminator 1
  9484. 5755 04ba 3B6A ldr r3, [r7, #32]
  9485. 5756 .LBE628:
  9486. 5757 .LBE627:
  9487. 5758 .loc 1 2347 9 discriminator 1
  9488. 5759 04bc 23F00103 bic r3, r3, #1
  9489. 5760 04c0 C7F8C430 str r3, [r7, #196]
  9490. 5761 04c4 7B68 ldr r3, [r7, #4]
  9491. 5762 04c6 1B68 ldr r3, [r3]
  9492. 5763 04c8 0833 adds r3, r3, #8
  9493. 5764 04ca D7F8C420 ldr r2, [r7, #196]
  9494. 5765 04ce 3A63 str r2, [r7, #48]
  9495. 5766 04d0 FB62 str r3, [r7, #44]
  9496. 5767 .LBB629:
  9497. 5768 .LBB630:
  9498. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9499. 5769 .loc 2 1123 4 discriminator 1
  9500. 5770 04d2 F96A ldr r1, [r7, #44]
  9501. 5771 04d4 3A6B ldr r2, [r7, #48]
  9502. 5772 .syntax unified
  9503. 5773 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9504. 5774 04d6 41E80023 strex r3, r2, [r1]
  9505. 5775 @ 0 "" 2
  9506. 5776 .thumb
  9507. 5777 .syntax unified
  9508. 5778 04da BB62 str r3, [r7, #40]
  9509. 5779 .loc 2 1124 10 discriminator 1
  9510. 5780 04dc BB6A ldr r3, [r7, #40]
  9511. 5781 .LBE630:
  9512. 5782 .LBE629:
  9513. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 165
  9514. 5783 .loc 1 2347 9 discriminator 1
  9515. 5784 04de 002B cmp r3, #0
  9516. 5785 04e0 E3D1 bne .L317
  9517. 5786 .LBE626:
  9518. 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9519. 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
  9520. 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  9521. 5787 .loc 1 2350 24
  9522. 5788 04e2 7B68 ldr r3, [r7, #4]
  9523. 5789 04e4 2022 movs r2, #32
  9524. 5790 04e6 C3F88020 str r2, [r3, #128]
  9525. 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  9526. 5791 .loc 1 2351 30
  9527. 5792 04ea 7B68 ldr r3, [r7, #4]
  9528. 5793 04ec 0022 movs r2, #0
  9529. 5794 04ee 1A66 str r2, [r3, #96]
  9530. 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9531. 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
  9532. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
  9533. 5795 .loc 1 2354 22
  9534. 5796 04f0 7B68 ldr r3, [r7, #4]
  9535. 5797 04f2 0022 movs r2, #0
  9536. 5798 04f4 9A66 str r2, [r3, #104]
  9537. 5799 .L320:
  9538. 5800 .LBB631:
  9539. 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9540. 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  9541. 5801 .loc 1 2356 9 discriminator 1
  9542. 5802 04f6 7B68 ldr r3, [r7, #4]
  9543. 5803 04f8 1B68 ldr r3, [r3]
  9544. 5804 04fa 3B61 str r3, [r7, #16]
  9545. 5805 .LBB632:
  9546. 5806 .LBB633:
  9547. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9548. 5807 .loc 2 1072 4 discriminator 1
  9549. 5808 04fc 3B69 ldr r3, [r7, #16]
  9550. 5809 .syntax unified
  9551. 5810 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9552. 5811 04fe 53E8003F ldrex r3, [r3]
  9553. 5812 @ 0 "" 2
  9554. 5813 .thumb
  9555. 5814 .syntax unified
  9556. 5815 0502 FB60 str r3, [r7, #12]
  9557. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9558. 5816 .loc 2 1073 10 discriminator 1
  9559. 5817 0504 FB68 ldr r3, [r7, #12]
  9560. 5818 .LBE633:
  9561. 5819 .LBE632:
  9562. 5820 .loc 1 2356 9 discriminator 1
  9563. 5821 0506 23F01003 bic r3, r3, #16
  9564. 5822 050a C7F8C030 str r3, [r7, #192]
  9565. 5823 050e 7B68 ldr r3, [r7, #4]
  9566. 5824 0510 1B68 ldr r3, [r3]
  9567. 5825 0512 1A46 mov r2, r3
  9568. 5826 0514 D7F8C030 ldr r3, [r7, #192]
  9569. 5827 0518 FB61 str r3, [r7, #28]
  9570. 5828 051a BA61 str r2, [r7, #24]
  9571. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 166
  9572. 5829 .LBB634:
  9573. 5830 .LBB635:
  9574. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9575. 5831 .loc 2 1123 4 discriminator 1
  9576. 5832 051c B969 ldr r1, [r7, #24]
  9577. 5833 051e FA69 ldr r2, [r7, #28]
  9578. 5834 .syntax unified
  9579. 5835 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9580. 5836 0520 41E80023 strex r3, r2, [r1]
  9581. 5837 @ 0 "" 2
  9582. 5838 .thumb
  9583. 5839 .syntax unified
  9584. 5840 0524 7B61 str r3, [r7, #20]
  9585. 5841 .loc 2 1124 10 discriminator 1
  9586. 5842 0526 7B69 ldr r3, [r7, #20]
  9587. 5843 .LBE635:
  9588. 5844 .LBE634:
  9589. 5845 .loc 1 2356 9 discriminator 1
  9590. 5846 0528 002B cmp r3, #0
  9591. 5847 052a E4D1 bne .L320
  9592. 5848 .LBE631:
  9593. 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9594. 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
  9595. 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
  9596. 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
  9597. 5849 .loc 1 2360 28
  9598. 5850 052c 7B68 ldr r3, [r7, #4]
  9599. 5851 052e 0222 movs r2, #2
  9600. 5852 0530 5A66 str r2, [r3, #100]
  9601. 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9602. 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9603. 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
  9604. 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
  9605. 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  9606. 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  9607. 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
  9608. 5853 .loc 1 2367 9
  9609. 5854 0532 B7F8CE30 ldrh r3, [r7, #206]
  9610. 5855 0536 1946 mov r1, r3
  9611. 5856 0538 7868 ldr r0, [r7, #4]
  9612. 5857 053a FFF7FEFF bl HAL_UARTEx_RxEventCallback
  9613. 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  9614. 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9615. 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  9616. 5858 .loc 1 2370 7
  9617. 5859 053e 3FE0 b .L328
  9618. 5860 .L295:
  9619. 5861 .LBE620:
  9620. 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9621. 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9622. 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9623. 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/
  9624. 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U))
  9625. 5862 .loc 1 2375 18
  9626. 5863 0540 D7F8E430 ldr r3, [r7, #228]
  9627. 5864 0544 03F48013 and r3, r3, #1048576
  9628. 5865 .loc 1 2375 6
  9629. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 167
  9630. 5866 0548 002B cmp r3, #0
  9631. 5867 054a 0ED0 beq .L321
  9632. 5868 .loc 1 2375 54 discriminator 1
  9633. 5869 054c D7F8DC30 ldr r3, [r7, #220]
  9634. 5870 0550 03F48003 and r3, r3, #4194304
  9635. 5871 .loc 1 2375 42 discriminator 1
  9636. 5872 0554 002B cmp r3, #0
  9637. 5873 0556 08D0 beq .L321
  9638. 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9639. 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF);
  9640. 5874 .loc 1 2377 5
  9641. 5875 0558 7B68 ldr r3, [r7, #4]
  9642. 5876 055a 1B68 ldr r3, [r3]
  9643. 5877 055c 4FF48012 mov r2, #1048576
  9644. 5878 0560 1A62 str r2, [r3, #32]
  9645. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9646. 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing.
  9647. 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback
  9648. 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9649. 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9650. 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Wakeup Callback */
  9651. 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback(huart);
  9652. 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  9653. 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */
  9654. 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart);
  9655. 5879 .loc 1 2387 5
  9656. 5880 0562 7868 ldr r0, [r7, #4]
  9657. 5881 0564 FFF7FEFF bl HAL_UARTEx_WakeupCallback
  9658. 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  9659. 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  9660. 5882 .loc 1 2389 5
  9661. 5883 0568 2DE0 b .L273
  9662. 5884 .L321:
  9663. 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9664. 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9665. 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
  9666. 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U)
  9667. 5885 .loc 1 2393 18
  9668. 5886 056a D7F8E430 ldr r3, [r7, #228]
  9669. 5887 056e 03F08003 and r3, r3, #128
  9670. 5888 .loc 1 2393 6
  9671. 5889 0572 002B cmp r3, #0
  9672. 5890 0574 0ED0 beq .L322
  9673. 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
  9674. 5891 .loc 1 2394 19
  9675. 5892 0576 D7F8E030 ldr r3, [r7, #224]
  9676. 5893 057a 03F08003 and r3, r3, #128
  9677. 5894 .loc 1 2394 7
  9678. 5895 057e 002B cmp r3, #0
  9679. 5896 0580 08D0 beq .L322
  9680. 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9681. 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxISR != NULL)
  9682. 5897 .loc 1 2396 14
  9683. 5898 0582 7B68 ldr r3, [r7, #4]
  9684. 5899 0584 DB6E ldr r3, [r3, #108]
  9685. 5900 .loc 1 2396 8
  9686. 5901 0586 002B cmp r3, #0
  9687. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 168
  9688. 5902 0588 1CD0 beq .L329
  9689. 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9690. 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR(huart);
  9691. 5903 .loc 1 2398 12
  9692. 5904 058a 7B68 ldr r3, [r7, #4]
  9693. 5905 058c DB6E ldr r3, [r3, #108]
  9694. 5906 .loc 1 2398 7
  9695. 5907 058e 7868 ldr r0, [r7, #4]
  9696. 5908 0590 9847 blx r3
  9697. 5909 .LVL5:
  9698. 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9699. 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  9700. 5910 .loc 1 2400 5
  9701. 5911 0592 17E0 b .L329
  9702. 5912 .L322:
  9703. 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9704. 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9705. 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/
  9706. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
  9707. 5913 .loc 1 2404 18
  9708. 5914 0594 D7F8E430 ldr r3, [r7, #228]
  9709. 5915 0598 03F04003 and r3, r3, #64
  9710. 5916 .loc 1 2404 6
  9711. 5917 059c 002B cmp r3, #0
  9712. 5918 059e 12D0 beq .L273
  9713. 5919 .loc 1 2404 53 discriminator 1
  9714. 5920 05a0 D7F8E030 ldr r3, [r7, #224]
  9715. 5921 05a4 03F04003 and r3, r3, #64
  9716. 5922 .loc 1 2404 41 discriminator 1
  9717. 5923 05a8 002B cmp r3, #0
  9718. 5924 05aa 0CD0 beq .L273
  9719. 2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9720. 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTransmit_IT(huart);
  9721. 5925 .loc 1 2406 5
  9722. 5926 05ac 7868 ldr r0, [r7, #4]
  9723. 5927 05ae FFF7FEFF bl UART_EndTransmit_IT
  9724. 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  9725. 5928 .loc 1 2407 5
  9726. 5929 05b2 08E0 b .L273
  9727. 5930 .L324:
  9728. 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9729. 5931 .loc 1 2136 7
  9730. 5932 05b4 00BF nop
  9731. 5933 05b6 06E0 b .L273
  9732. 5934 .L325:
  9733. 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9734. 5935 .loc 1 2273 5
  9735. 5936 05b8 00BF nop
  9736. 5937 05ba 04E0 b .L273
  9737. 5938 .L327:
  9738. 5939 .LBB636:
  9739. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9740. 5940 .loc 1 2332 7
  9741. 5941 05bc 00BF nop
  9742. 5942 05be 02E0 b .L273
  9743. 5943 .L328:
  9744. 5944 .LBE636:
  9745. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 169
  9746. 5945 .LBB637:
  9747. 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9748. 5946 .loc 1 2370 7
  9749. 5947 05c0 00BF nop
  9750. 5948 05c2 00E0 b .L273
  9751. 5949 .L329:
  9752. 5950 .LBE637:
  9753. 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9754. 5951 .loc 1 2400 5
  9755. 5952 05c4 00BF nop
  9756. 5953 .L273:
  9757. 2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9758. 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9759. 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9760. 5954 .loc 1 2410 1
  9761. 5955 05c6 E837 adds r7, r7, #232
  9762. 5956 .LCFI118:
  9763. 5957 .cfi_def_cfa_offset 8
  9764. 5958 05c8 BD46 mov sp, r7
  9765. 5959 .LCFI119:
  9766. 5960 .cfi_def_cfa_register 13
  9767. 5961 @ sp needed
  9768. 5962 05ca 80BD pop {r7, pc}
  9769. 5963 .cfi_endproc
  9770. 5964 .LFE152:
  9771. 5966 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
  9772. 5967 .align 1
  9773. 5968 .weak HAL_UART_TxCpltCallback
  9774. 5969 .syntax unified
  9775. 5970 .thumb
  9776. 5971 .thumb_func
  9777. 5973 HAL_UART_TxCpltCallback:
  9778. 5974 .LFB153:
  9779. 2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9780. 2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  9781. 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Tx Transfer completed callback.
  9782. 2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  9783. 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  9784. 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9785. 2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
  9786. 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9787. 5975 .loc 1 2418 1
  9788. 5976 .cfi_startproc
  9789. 5977 @ args = 0, pretend = 0, frame = 8
  9790. 5978 @ frame_needed = 1, uses_anonymous_args = 0
  9791. 5979 @ link register save eliminated.
  9792. 5980 0000 80B4 push {r7}
  9793. 5981 .LCFI120:
  9794. 5982 .cfi_def_cfa_offset 4
  9795. 5983 .cfi_offset 7, -4
  9796. 5984 0002 83B0 sub sp, sp, #12
  9797. 5985 .LCFI121:
  9798. 5986 .cfi_def_cfa_offset 16
  9799. 5987 0004 00AF add r7, sp, #0
  9800. 5988 .LCFI122:
  9801. 5989 .cfi_def_cfa_register 7
  9802. 5990 0006 7860 str r0, [r7, #4]
  9803. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 170
  9804. 2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  9805. 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  9806. 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9807. 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  9808. 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file.
  9809. 2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9810. 2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9811. 5991 .loc 1 2425 1
  9812. 5992 0008 00BF nop
  9813. 5993 000a 0C37 adds r7, r7, #12
  9814. 5994 .LCFI123:
  9815. 5995 .cfi_def_cfa_offset 4
  9816. 5996 000c BD46 mov sp, r7
  9817. 5997 .LCFI124:
  9818. 5998 .cfi_def_cfa_register 13
  9819. 5999 @ sp needed
  9820. 6000 000e 5DF8047B ldr r7, [sp], #4
  9821. 6001 .LCFI125:
  9822. 6002 .cfi_restore 7
  9823. 6003 .cfi_def_cfa_offset 0
  9824. 6004 0012 7047 bx lr
  9825. 6005 .cfi_endproc
  9826. 6006 .LFE153:
  9827. 6008 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
  9828. 6009 .align 1
  9829. 6010 .weak HAL_UART_TxHalfCpltCallback
  9830. 6011 .syntax unified
  9831. 6012 .thumb
  9832. 6013 .thumb_func
  9833. 6015 HAL_UART_TxHalfCpltCallback:
  9834. 6016 .LFB154:
  9835. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9836. 2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  9837. 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Tx Half Transfer completed callback.
  9838. 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  9839. 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  9840. 2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9841. 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
  9842. 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9843. 6017 .loc 1 2433 1
  9844. 6018 .cfi_startproc
  9845. 6019 @ args = 0, pretend = 0, frame = 8
  9846. 6020 @ frame_needed = 1, uses_anonymous_args = 0
  9847. 6021 @ link register save eliminated.
  9848. 6022 0000 80B4 push {r7}
  9849. 6023 .LCFI126:
  9850. 6024 .cfi_def_cfa_offset 4
  9851. 6025 .cfi_offset 7, -4
  9852. 6026 0002 83B0 sub sp, sp, #12
  9853. 6027 .LCFI127:
  9854. 6028 .cfi_def_cfa_offset 16
  9855. 6029 0004 00AF add r7, sp, #0
  9856. 6030 .LCFI128:
  9857. 6031 .cfi_def_cfa_register 7
  9858. 6032 0006 7860 str r0, [r7, #4]
  9859. 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  9860. 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  9861. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 171
  9862. 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9863. 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  9864. 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
  9865. 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9866. 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9867. 6033 .loc 1 2440 1
  9868. 6034 0008 00BF nop
  9869. 6035 000a 0C37 adds r7, r7, #12
  9870. 6036 .LCFI129:
  9871. 6037 .cfi_def_cfa_offset 4
  9872. 6038 000c BD46 mov sp, r7
  9873. 6039 .LCFI130:
  9874. 6040 .cfi_def_cfa_register 13
  9875. 6041 @ sp needed
  9876. 6042 000e 5DF8047B ldr r7, [sp], #4
  9877. 6043 .LCFI131:
  9878. 6044 .cfi_restore 7
  9879. 6045 .cfi_def_cfa_offset 0
  9880. 6046 0012 7047 bx lr
  9881. 6047 .cfi_endproc
  9882. 6048 .LFE154:
  9883. 6050 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
  9884. 6051 .align 1
  9885. 6052 .weak HAL_UART_RxCpltCallback
  9886. 6053 .syntax unified
  9887. 6054 .thumb
  9888. 6055 .thumb_func
  9889. 6057 HAL_UART_RxCpltCallback:
  9890. 6058 .LFB155:
  9891. 2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9892. 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  9893. 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Transfer completed callback.
  9894. 2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  9895. 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  9896. 2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9897. 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  9898. 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9899. 6059 .loc 1 2448 1
  9900. 6060 .cfi_startproc
  9901. 6061 @ args = 0, pretend = 0, frame = 8
  9902. 6062 @ frame_needed = 1, uses_anonymous_args = 0
  9903. 6063 @ link register save eliminated.
  9904. 6064 0000 80B4 push {r7}
  9905. 6065 .LCFI132:
  9906. 6066 .cfi_def_cfa_offset 4
  9907. 6067 .cfi_offset 7, -4
  9908. 6068 0002 83B0 sub sp, sp, #12
  9909. 6069 .LCFI133:
  9910. 6070 .cfi_def_cfa_offset 16
  9911. 6071 0004 00AF add r7, sp, #0
  9912. 6072 .LCFI134:
  9913. 6073 .cfi_def_cfa_register 7
  9914. 6074 0006 7860 str r0, [r7, #4]
  9915. 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  9916. 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  9917. 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9918. 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  9919. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 172
  9920. 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file.
  9921. 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9922. 2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9923. 6075 .loc 1 2455 1
  9924. 6076 0008 00BF nop
  9925. 6077 000a 0C37 adds r7, r7, #12
  9926. 6078 .LCFI135:
  9927. 6079 .cfi_def_cfa_offset 4
  9928. 6080 000c BD46 mov sp, r7
  9929. 6081 .LCFI136:
  9930. 6082 .cfi_def_cfa_register 13
  9931. 6083 @ sp needed
  9932. 6084 000e 5DF8047B ldr r7, [sp], #4
  9933. 6085 .LCFI137:
  9934. 6086 .cfi_restore 7
  9935. 6087 .cfi_def_cfa_offset 0
  9936. 6088 0012 7047 bx lr
  9937. 6089 .cfi_endproc
  9938. 6090 .LFE155:
  9939. 6092 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
  9940. 6093 .align 1
  9941. 6094 .weak HAL_UART_RxHalfCpltCallback
  9942. 6095 .syntax unified
  9943. 6096 .thumb
  9944. 6097 .thumb_func
  9945. 6099 HAL_UART_RxHalfCpltCallback:
  9946. 6100 .LFB156:
  9947. 2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9948. 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  9949. 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Half Transfer completed callback.
  9950. 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  9951. 2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  9952. 2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9953. 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
  9954. 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  9955. 6101 .loc 1 2463 1
  9956. 6102 .cfi_startproc
  9957. 6103 @ args = 0, pretend = 0, frame = 8
  9958. 6104 @ frame_needed = 1, uses_anonymous_args = 0
  9959. 6105 @ link register save eliminated.
  9960. 6106 0000 80B4 push {r7}
  9961. 6107 .LCFI138:
  9962. 6108 .cfi_def_cfa_offset 4
  9963. 6109 .cfi_offset 7, -4
  9964. 6110 0002 83B0 sub sp, sp, #12
  9965. 6111 .LCFI139:
  9966. 6112 .cfi_def_cfa_offset 16
  9967. 6113 0004 00AF add r7, sp, #0
  9968. 6114 .LCFI140:
  9969. 6115 .cfi_def_cfa_register 7
  9970. 6116 0006 7860 str r0, [r7, #4]
  9971. 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  9972. 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  9973. 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  9974. 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  9975. 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
  9976. 2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  9977. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 173
  9978. 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  9979. 6117 .loc 1 2470 1
  9980. 6118 0008 00BF nop
  9981. 6119 000a 0C37 adds r7, r7, #12
  9982. 6120 .LCFI141:
  9983. 6121 .cfi_def_cfa_offset 4
  9984. 6122 000c BD46 mov sp, r7
  9985. 6123 .LCFI142:
  9986. 6124 .cfi_def_cfa_register 13
  9987. 6125 @ sp needed
  9988. 6126 000e 5DF8047B ldr r7, [sp], #4
  9989. 6127 .LCFI143:
  9990. 6128 .cfi_restore 7
  9991. 6129 .cfi_def_cfa_offset 0
  9992. 6130 0012 7047 bx lr
  9993. 6131 .cfi_endproc
  9994. 6132 .LFE156:
  9995. 6134 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
  9996. 6135 .align 1
  9997. 6136 .weak HAL_UART_ErrorCallback
  9998. 6137 .syntax unified
  9999. 6138 .thumb
  10000. 6139 .thumb_func
  10001. 6141 HAL_UART_ErrorCallback:
  10002. 6142 .LFB157:
  10003. 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10004. 2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10005. 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART error callback.
  10006. 2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10007. 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  10008. 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10009. 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
  10010. 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10011. 6143 .loc 1 2478 1
  10012. 6144 .cfi_startproc
  10013. 6145 @ args = 0, pretend = 0, frame = 8
  10014. 6146 @ frame_needed = 1, uses_anonymous_args = 0
  10015. 6147 @ link register save eliminated.
  10016. 6148 0000 80B4 push {r7}
  10017. 6149 .LCFI144:
  10018. 6150 .cfi_def_cfa_offset 4
  10019. 6151 .cfi_offset 7, -4
  10020. 6152 0002 83B0 sub sp, sp, #12
  10021. 6153 .LCFI145:
  10022. 6154 .cfi_def_cfa_offset 16
  10023. 6155 0004 00AF add r7, sp, #0
  10024. 6156 .LCFI146:
  10025. 6157 .cfi_def_cfa_register 7
  10026. 6158 0006 7860 str r0, [r7, #4]
  10027. 2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10028. 2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  10029. 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10030. 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10031. 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file.
  10032. 2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10033. 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10034. 6159 .loc 1 2485 1
  10035. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 174
  10036. 6160 0008 00BF nop
  10037. 6161 000a 0C37 adds r7, r7, #12
  10038. 6162 .LCFI147:
  10039. 6163 .cfi_def_cfa_offset 4
  10040. 6164 000c BD46 mov sp, r7
  10041. 6165 .LCFI148:
  10042. 6166 .cfi_def_cfa_register 13
  10043. 6167 @ sp needed
  10044. 6168 000e 5DF8047B ldr r7, [sp], #4
  10045. 6169 .LCFI149:
  10046. 6170 .cfi_restore 7
  10047. 6171 .cfi_def_cfa_offset 0
  10048. 6172 0012 7047 bx lr
  10049. 6173 .cfi_endproc
  10050. 6174 .LFE157:
  10051. 6176 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
  10052. 6177 .align 1
  10053. 6178 .weak HAL_UART_AbortCpltCallback
  10054. 6179 .syntax unified
  10055. 6180 .thumb
  10056. 6181 .thumb_func
  10057. 6183 HAL_UART_AbortCpltCallback:
  10058. 6184 .LFB158:
  10059. 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10060. 2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10061. 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback.
  10062. 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10063. 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  10064. 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10065. 2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
  10066. 2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10067. 6185 .loc 1 2493 1
  10068. 6186 .cfi_startproc
  10069. 6187 @ args = 0, pretend = 0, frame = 8
  10070. 6188 @ frame_needed = 1, uses_anonymous_args = 0
  10071. 6189 @ link register save eliminated.
  10072. 6190 0000 80B4 push {r7}
  10073. 6191 .LCFI150:
  10074. 6192 .cfi_def_cfa_offset 4
  10075. 6193 .cfi_offset 7, -4
  10076. 6194 0002 83B0 sub sp, sp, #12
  10077. 6195 .LCFI151:
  10078. 6196 .cfi_def_cfa_offset 16
  10079. 6197 0004 00AF add r7, sp, #0
  10080. 6198 .LCFI152:
  10081. 6199 .cfi_def_cfa_register 7
  10082. 6200 0006 7860 str r0, [r7, #4]
  10083. 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10084. 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  10085. 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10086. 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10087. 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
  10088. 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10089. 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10090. 6201 .loc 1 2500 1
  10091. 6202 0008 00BF nop
  10092. 6203 000a 0C37 adds r7, r7, #12
  10093. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 175
  10094. 6204 .LCFI153:
  10095. 6205 .cfi_def_cfa_offset 4
  10096. 6206 000c BD46 mov sp, r7
  10097. 6207 .LCFI154:
  10098. 6208 .cfi_def_cfa_register 13
  10099. 6209 @ sp needed
  10100. 6210 000e 5DF8047B ldr r7, [sp], #4
  10101. 6211 .LCFI155:
  10102. 6212 .cfi_restore 7
  10103. 6213 .cfi_def_cfa_offset 0
  10104. 6214 0012 7047 bx lr
  10105. 6215 .cfi_endproc
  10106. 6216 .LFE158:
  10107. 6218 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
  10108. 6219 .align 1
  10109. 6220 .weak HAL_UART_AbortTransmitCpltCallback
  10110. 6221 .syntax unified
  10111. 6222 .thumb
  10112. 6223 .thumb_func
  10113. 6225 HAL_UART_AbortTransmitCpltCallback:
  10114. 6226 .LFB159:
  10115. 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10116. 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10117. 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback.
  10118. 2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10119. 2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  10120. 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10121. 2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
  10122. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10123. 6227 .loc 1 2508 1
  10124. 6228 .cfi_startproc
  10125. 6229 @ args = 0, pretend = 0, frame = 8
  10126. 6230 @ frame_needed = 1, uses_anonymous_args = 0
  10127. 6231 @ link register save eliminated.
  10128. 6232 0000 80B4 push {r7}
  10129. 6233 .LCFI156:
  10130. 6234 .cfi_def_cfa_offset 4
  10131. 6235 .cfi_offset 7, -4
  10132. 6236 0002 83B0 sub sp, sp, #12
  10133. 6237 .LCFI157:
  10134. 6238 .cfi_def_cfa_offset 16
  10135. 6239 0004 00AF add r7, sp, #0
  10136. 6240 .LCFI158:
  10137. 6241 .cfi_def_cfa_register 7
  10138. 6242 0006 7860 str r0, [r7, #4]
  10139. 2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10140. 2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  10141. 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10142. 2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10143. 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
  10144. 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10145. 2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10146. 6243 .loc 1 2515 1
  10147. 6244 0008 00BF nop
  10148. 6245 000a 0C37 adds r7, r7, #12
  10149. 6246 .LCFI159:
  10150. 6247 .cfi_def_cfa_offset 4
  10151. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 176
  10152. 6248 000c BD46 mov sp, r7
  10153. 6249 .LCFI160:
  10154. 6250 .cfi_def_cfa_register 13
  10155. 6251 @ sp needed
  10156. 6252 000e 5DF8047B ldr r7, [sp], #4
  10157. 6253 .LCFI161:
  10158. 6254 .cfi_restore 7
  10159. 6255 .cfi_def_cfa_offset 0
  10160. 6256 0012 7047 bx lr
  10161. 6257 .cfi_endproc
  10162. 6258 .LFE159:
  10163. 6260 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
  10164. 6261 .align 1
  10165. 6262 .weak HAL_UART_AbortReceiveCpltCallback
  10166. 6263 .syntax unified
  10167. 6264 .thumb
  10168. 6265 .thumb_func
  10169. 6267 HAL_UART_AbortReceiveCpltCallback:
  10170. 6268 .LFB160:
  10171. 2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10172. 2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10173. 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
  10174. 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10175. 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  10176. 2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10177. 2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
  10178. 2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10179. 6269 .loc 1 2523 1
  10180. 6270 .cfi_startproc
  10181. 6271 @ args = 0, pretend = 0, frame = 8
  10182. 6272 @ frame_needed = 1, uses_anonymous_args = 0
  10183. 6273 @ link register save eliminated.
  10184. 6274 0000 80B4 push {r7}
  10185. 6275 .LCFI162:
  10186. 6276 .cfi_def_cfa_offset 4
  10187. 6277 .cfi_offset 7, -4
  10188. 6278 0002 83B0 sub sp, sp, #12
  10189. 6279 .LCFI163:
  10190. 6280 .cfi_def_cfa_offset 16
  10191. 6281 0004 00AF add r7, sp, #0
  10192. 6282 .LCFI164:
  10193. 6283 .cfi_def_cfa_register 7
  10194. 6284 0006 7860 str r0, [r7, #4]
  10195. 2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10196. 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  10197. 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10198. 2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10199. 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
  10200. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10201. 2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10202. 6285 .loc 1 2530 1
  10203. 6286 0008 00BF nop
  10204. 6287 000a 0C37 adds r7, r7, #12
  10205. 6288 .LCFI165:
  10206. 6289 .cfi_def_cfa_offset 4
  10207. 6290 000c BD46 mov sp, r7
  10208. 6291 .LCFI166:
  10209. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 177
  10210. 6292 .cfi_def_cfa_register 13
  10211. 6293 @ sp needed
  10212. 6294 000e 5DF8047B ldr r7, [sp], #4
  10213. 6295 .LCFI167:
  10214. 6296 .cfi_restore 7
  10215. 6297 .cfi_def_cfa_offset 0
  10216. 6298 0012 7047 bx lr
  10217. 6299 .cfi_endproc
  10218. 6300 .LFE160:
  10219. 6302 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
  10220. 6303 .align 1
  10221. 6304 .weak HAL_UARTEx_RxEventCallback
  10222. 6305 .syntax unified
  10223. 6306 .thumb
  10224. 6307 .thumb_func
  10225. 6309 HAL_UARTEx_RxEventCallback:
  10226. 6310 .LFB161:
  10227. 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10228. 2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10229. 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
  10230. 2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle
  10231. 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
  10232. 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * reception buffer until which, data are available)
  10233. 2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  10234. 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10235. 2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
  10236. 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10237. 6311 .loc 1 2540 1
  10238. 6312 .cfi_startproc
  10239. 6313 @ args = 0, pretend = 0, frame = 8
  10240. 6314 @ frame_needed = 1, uses_anonymous_args = 0
  10241. 6315 @ link register save eliminated.
  10242. 6316 0000 80B4 push {r7}
  10243. 6317 .LCFI168:
  10244. 6318 .cfi_def_cfa_offset 4
  10245. 6319 .cfi_offset 7, -4
  10246. 6320 0002 83B0 sub sp, sp, #12
  10247. 6321 .LCFI169:
  10248. 6322 .cfi_def_cfa_offset 16
  10249. 6323 0004 00AF add r7, sp, #0
  10250. 6324 .LCFI170:
  10251. 6325 .cfi_def_cfa_register 7
  10252. 6326 0006 7860 str r0, [r7, #4]
  10253. 6327 0008 0B46 mov r3, r1
  10254. 6328 000a 7B80 strh r3, [r7, #2] @ movhi
  10255. 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10256. 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
  10257. 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(Size);
  10258. 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10259. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10260. 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
  10261. 2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10262. 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10263. 6329 .loc 1 2548 1
  10264. 6330 000c 00BF nop
  10265. 6331 000e 0C37 adds r7, r7, #12
  10266. 6332 .LCFI171:
  10267. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 178
  10268. 6333 .cfi_def_cfa_offset 4
  10269. 6334 0010 BD46 mov sp, r7
  10270. 6335 .LCFI172:
  10271. 6336 .cfi_def_cfa_register 13
  10272. 6337 @ sp needed
  10273. 6338 0012 5DF8047B ldr r7, [sp], #4
  10274. 6339 .LCFI173:
  10275. 6340 .cfi_restore 7
  10276. 6341 .cfi_def_cfa_offset 0
  10277. 6342 0016 7047 bx lr
  10278. 6343 .cfi_endproc
  10279. 6344 .LFE161:
  10280. 6346 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits
  10281. 6347 .align 1
  10282. 6348 .global HAL_UART_ReceiverTimeout_Config
  10283. 6349 .syntax unified
  10284. 6350 .thumb
  10285. 6351 .thumb_func
  10286. 6353 HAL_UART_ReceiverTimeout_Config:
  10287. 6354 .LFB162:
  10288. 2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10289. 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10290. 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
  10291. 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10292. 2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10293. 2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
  10294. 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART control functions
  10295. 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  10296. 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
  10297. 2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  10298. 2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral Control functions #####
  10299. 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
  10300. 2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  10301. 2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART.
  10302. 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th
  10303. 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature
  10304. 2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature
  10305. 2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode
  10306. 2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode
  10307. 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode
  10308. 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral
  10309. 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features
  10310. 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization
  10311. 2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter
  10312. 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver
  10313. 2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters
  10314. 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
  10315. 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  10316. 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10317. 2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10318. 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10319. 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register.
  10320. 2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10321. 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
  10322. 2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout
  10323. 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF.
  10324. 2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  10325. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 179
  10326. 2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10327. 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
  10328. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10329. 6355 .loc 1 2588 1
  10330. 6356 .cfi_startproc
  10331. 6357 @ args = 0, pretend = 0, frame = 8
  10332. 6358 @ frame_needed = 1, uses_anonymous_args = 0
  10333. 6359 0000 80B5 push {r7, lr}
  10334. 6360 .LCFI174:
  10335. 6361 .cfi_def_cfa_offset 8
  10336. 6362 .cfi_offset 7, -8
  10337. 6363 .cfi_offset 14, -4
  10338. 6364 0002 82B0 sub sp, sp, #8
  10339. 6365 .LCFI175:
  10340. 6366 .cfi_def_cfa_offset 16
  10341. 6367 0004 00AF add r7, sp, #0
  10342. 6368 .LCFI176:
  10343. 6369 .cfi_def_cfa_register 7
  10344. 6370 0006 7860 str r0, [r7, #4]
  10345. 6371 0008 3960 str r1, [r7]
  10346. 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
  10347. 6372 .loc 1 2589 3
  10348. 6373 000a 3B68 ldr r3, [r7]
  10349. 6374 000c B3F1807F cmp r3, #16777216
  10350. 6375 0010 04D3 bcc .L342
  10351. 6376 .loc 1 2589 3 is_stmt 0 discriminator 1
  10352. 6377 0012 40F61D21 movw r1, #2589
  10353. 6378 0016 0848 ldr r0, .L343
  10354. 6379 0018 FFF7FEFF bl assert_failed
  10355. 6380 .L342:
  10356. 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
  10357. 6381 .loc 1 2590 3 is_stmt 1
  10358. 6382 001c 7B68 ldr r3, [r7, #4]
  10359. 6383 001e 1B68 ldr r3, [r3]
  10360. 6384 0020 5B69 ldr r3, [r3, #20]
  10361. 6385 0022 03F07F41 and r1, r3, #-16777216
  10362. 6386 0026 7B68 ldr r3, [r7, #4]
  10363. 6387 0028 1B68 ldr r3, [r3]
  10364. 6388 002a 3A68 ldr r2, [r7]
  10365. 6389 002c 0A43 orrs r2, r2, r1
  10366. 6390 002e 5A61 str r2, [r3, #20]
  10367. 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10368. 6391 .loc 1 2591 1
  10369. 6392 0030 00BF nop
  10370. 6393 0032 0837 adds r7, r7, #8
  10371. 6394 .LCFI177:
  10372. 6395 .cfi_def_cfa_offset 8
  10373. 6396 0034 BD46 mov sp, r7
  10374. 6397 .LCFI178:
  10375. 6398 .cfi_def_cfa_register 13
  10376. 6399 @ sp needed
  10377. 6400 0036 80BD pop {r7, pc}
  10378. 6401 .L344:
  10379. 6402 .align 2
  10380. 6403 .L343:
  10381. 6404 0038 00000000 .word .LC0
  10382. 6405 .cfi_endproc
  10383. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 180
  10384. 6406 .LFE162:
  10385. 6408 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits
  10386. 6409 .align 1
  10387. 6410 .global HAL_UART_EnableReceiverTimeout
  10388. 6411 .syntax unified
  10389. 6412 .thumb
  10390. 6413 .thumb_func
  10391. 6415 HAL_UART_EnableReceiverTimeout:
  10392. 6416 .LFB163:
  10393. 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10394. 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10395. 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature.
  10396. 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10397. 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
  10398. 2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  10399. 2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10400. 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
  10401. 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10402. 6417 .loc 1 2600 1
  10403. 6418 .cfi_startproc
  10404. 6419 @ args = 0, pretend = 0, frame = 8
  10405. 6420 @ frame_needed = 1, uses_anonymous_args = 0
  10406. 6421 @ link register save eliminated.
  10407. 6422 0000 80B4 push {r7}
  10408. 6423 .LCFI179:
  10409. 6424 .cfi_def_cfa_offset 4
  10410. 6425 .cfi_offset 7, -4
  10411. 6426 0002 83B0 sub sp, sp, #12
  10412. 6427 .LCFI180:
  10413. 6428 .cfi_def_cfa_offset 16
  10414. 6429 0004 00AF add r7, sp, #0
  10415. 6430 .LCFI181:
  10416. 6431 .cfi_def_cfa_register 7
  10417. 6432 0006 7860 str r0, [r7, #4]
  10418. 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  10419. 6433 .loc 1 2601 12
  10420. 6434 0008 7B68 ldr r3, [r7, #4]
  10421. 6435 000a DB6F ldr r3, [r3, #124]
  10422. 6436 .loc 1 2601 6
  10423. 6437 000c 202B cmp r3, #32
  10424. 6438 000e 1ED1 bne .L346
  10425. 2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10426. 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */
  10427. 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
  10428. 6439 .loc 1 2604 5
  10429. 6440 0010 7B68 ldr r3, [r7, #4]
  10430. 6441 0012 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
  10431. 6442 0016 012B cmp r3, #1
  10432. 6443 0018 01D1 bne .L347
  10433. 6444 .loc 1 2604 5 is_stmt 0 discriminator 1
  10434. 6445 001a 0223 movs r3, #2
  10435. 6446 001c 18E0 b .L348
  10436. 6447 .L347:
  10437. 6448 .loc 1 2604 5 discriminator 2
  10438. 6449 001e 7B68 ldr r3, [r7, #4]
  10439. 6450 0020 0122 movs r2, #1
  10440. 6451 0022 83F87820 strb r2, [r3, #120]
  10441. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 181
  10442. 2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10443. 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  10444. 6452 .loc 1 2606 19 is_stmt 1 discriminator 2
  10445. 6453 0026 7B68 ldr r3, [r7, #4]
  10446. 6454 0028 2422 movs r2, #36
  10447. 6455 002a DA67 str r2, [r3, #124]
  10448. 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10449. 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART RTOEN bit */
  10450. 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
  10451. 6456 .loc 1 2609 5 discriminator 2
  10452. 6457 002c 7B68 ldr r3, [r7, #4]
  10453. 6458 002e 1B68 ldr r3, [r3]
  10454. 6459 0030 5A68 ldr r2, [r3, #4]
  10455. 6460 0032 7B68 ldr r3, [r7, #4]
  10456. 6461 0034 1B68 ldr r3, [r3]
  10457. 6462 0036 42F40002 orr r2, r2, #8388608
  10458. 6463 003a 5A60 str r2, [r3, #4]
  10459. 2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10460. 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  10461. 6464 .loc 1 2611 19 discriminator 2
  10462. 6465 003c 7B68 ldr r3, [r7, #4]
  10463. 6466 003e 2022 movs r2, #32
  10464. 6467 0040 DA67 str r2, [r3, #124]
  10465. 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10466. 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
  10467. 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  10468. 6468 .loc 1 2614 5 discriminator 2
  10469. 6469 0042 7B68 ldr r3, [r7, #4]
  10470. 6470 0044 0022 movs r2, #0
  10471. 6471 0046 83F87820 strb r2, [r3, #120]
  10472. 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10473. 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  10474. 6472 .loc 1 2616 12 discriminator 2
  10475. 6473 004a 0023 movs r3, #0
  10476. 6474 004c 00E0 b .L348
  10477. 6475 .L346:
  10478. 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10479. 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  10480. 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10481. 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  10482. 6476 .loc 1 2620 12
  10483. 6477 004e 0223 movs r3, #2
  10484. 6478 .L348:
  10485. 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10486. 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10487. 6479 .loc 1 2622 1
  10488. 6480 0050 1846 mov r0, r3
  10489. 6481 0052 0C37 adds r7, r7, #12
  10490. 6482 .LCFI182:
  10491. 6483 .cfi_def_cfa_offset 4
  10492. 6484 0054 BD46 mov sp, r7
  10493. 6485 .LCFI183:
  10494. 6486 .cfi_def_cfa_register 13
  10495. 6487 @ sp needed
  10496. 6488 0056 5DF8047B ldr r7, [sp], #4
  10497. 6489 .LCFI184:
  10498. 6490 .cfi_restore 7
  10499. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 182
  10500. 6491 .cfi_def_cfa_offset 0
  10501. 6492 005a 7047 bx lr
  10502. 6493 .cfi_endproc
  10503. 6494 .LFE163:
  10504. 6496 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits
  10505. 6497 .align 1
  10506. 6498 .global HAL_UART_DisableReceiverTimeout
  10507. 6499 .syntax unified
  10508. 6500 .thumb
  10509. 6501 .thumb_func
  10510. 6503 HAL_UART_DisableReceiverTimeout:
  10511. 6504 .LFB164:
  10512. 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10513. 2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10514. 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature.
  10515. 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10516. 2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
  10517. 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  10518. 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10519. 2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
  10520. 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10521. 6505 .loc 1 2631 1
  10522. 6506 .cfi_startproc
  10523. 6507 @ args = 0, pretend = 0, frame = 8
  10524. 6508 @ frame_needed = 1, uses_anonymous_args = 0
  10525. 6509 @ link register save eliminated.
  10526. 6510 0000 80B4 push {r7}
  10527. 6511 .LCFI185:
  10528. 6512 .cfi_def_cfa_offset 4
  10529. 6513 .cfi_offset 7, -4
  10530. 6514 0002 83B0 sub sp, sp, #12
  10531. 6515 .LCFI186:
  10532. 6516 .cfi_def_cfa_offset 16
  10533. 6517 0004 00AF add r7, sp, #0
  10534. 6518 .LCFI187:
  10535. 6519 .cfi_def_cfa_register 7
  10536. 6520 0006 7860 str r0, [r7, #4]
  10537. 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  10538. 6521 .loc 1 2632 12
  10539. 6522 0008 7B68 ldr r3, [r7, #4]
  10540. 6523 000a DB6F ldr r3, [r3, #124]
  10541. 6524 .loc 1 2632 6
  10542. 6525 000c 202B cmp r3, #32
  10543. 6526 000e 1ED1 bne .L350
  10544. 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10545. 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */
  10546. 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
  10547. 6527 .loc 1 2635 5
  10548. 6528 0010 7B68 ldr r3, [r7, #4]
  10549. 6529 0012 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
  10550. 6530 0016 012B cmp r3, #1
  10551. 6531 0018 01D1 bne .L351
  10552. 6532 .loc 1 2635 5 is_stmt 0 discriminator 1
  10553. 6533 001a 0223 movs r3, #2
  10554. 6534 001c 18E0 b .L352
  10555. 6535 .L351:
  10556. 6536 .loc 1 2635 5 discriminator 2
  10557. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 183
  10558. 6537 001e 7B68 ldr r3, [r7, #4]
  10559. 6538 0020 0122 movs r2, #1
  10560. 6539 0022 83F87820 strb r2, [r3, #120]
  10561. 2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10562. 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  10563. 6540 .loc 1 2637 19 is_stmt 1 discriminator 2
  10564. 6541 0026 7B68 ldr r3, [r7, #4]
  10565. 6542 0028 2422 movs r2, #36
  10566. 6543 002a DA67 str r2, [r3, #124]
  10567. 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10568. 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the USART RTOEN bit */
  10569. 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
  10570. 6544 .loc 1 2640 5 discriminator 2
  10571. 6545 002c 7B68 ldr r3, [r7, #4]
  10572. 6546 002e 1B68 ldr r3, [r3]
  10573. 6547 0030 5A68 ldr r2, [r3, #4]
  10574. 6548 0032 7B68 ldr r3, [r7, #4]
  10575. 6549 0034 1B68 ldr r3, [r3]
  10576. 6550 0036 22F40002 bic r2, r2, #8388608
  10577. 6551 003a 5A60 str r2, [r3, #4]
  10578. 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10579. 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  10580. 6552 .loc 1 2642 19 discriminator 2
  10581. 6553 003c 7B68 ldr r3, [r7, #4]
  10582. 6554 003e 2022 movs r2, #32
  10583. 6555 0040 DA67 str r2, [r3, #124]
  10584. 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10585. 2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
  10586. 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  10587. 6556 .loc 1 2645 5 discriminator 2
  10588. 6557 0042 7B68 ldr r3, [r7, #4]
  10589. 6558 0044 0022 movs r2, #0
  10590. 6559 0046 83F87820 strb r2, [r3, #120]
  10591. 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10592. 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  10593. 6560 .loc 1 2647 12 discriminator 2
  10594. 6561 004a 0023 movs r3, #0
  10595. 6562 004c 00E0 b .L352
  10596. 6563 .L350:
  10597. 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10598. 2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  10599. 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10600. 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
  10601. 6564 .loc 1 2651 12
  10602. 6565 004e 0223 movs r3, #2
  10603. 6566 .L352:
  10604. 2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10605. 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10606. 6567 .loc 1 2653 1
  10607. 6568 0050 1846 mov r0, r3
  10608. 6569 0052 0C37 adds r7, r7, #12
  10609. 6570 .LCFI188:
  10610. 6571 .cfi_def_cfa_offset 4
  10611. 6572 0054 BD46 mov sp, r7
  10612. 6573 .LCFI189:
  10613. 6574 .cfi_def_cfa_register 13
  10614. 6575 @ sp needed
  10615. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 184
  10616. 6576 0056 5DF8047B ldr r7, [sp], #4
  10617. 6577 .LCFI190:
  10618. 6578 .cfi_restore 7
  10619. 6579 .cfi_def_cfa_offset 0
  10620. 6580 005a 7047 bx lr
  10621. 6581 .cfi_endproc
  10622. 6582 .LFE164:
  10623. 6584 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits
  10624. 6585 .align 1
  10625. 6586 .global HAL_MultiProcessor_EnableMuteMode
  10626. 6587 .syntax unified
  10627. 6588 .thumb
  10628. 6589 .thumb_func
  10629. 6591 HAL_MultiProcessor_EnableMuteMode:
  10630. 6592 .LFB165:
  10631. 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10632. 2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10633. 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode;
  10634. 2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called).
  10635. 2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10636. 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  10637. 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10638. 2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
  10639. 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10640. 6593 .loc 1 2662 1
  10641. 6594 .cfi_startproc
  10642. 6595 @ args = 0, pretend = 0, frame = 32
  10643. 6596 @ frame_needed = 1, uses_anonymous_args = 0
  10644. 6597 0000 80B5 push {r7, lr}
  10645. 6598 .LCFI191:
  10646. 6599 .cfi_def_cfa_offset 8
  10647. 6600 .cfi_offset 7, -8
  10648. 6601 .cfi_offset 14, -4
  10649. 6602 0002 88B0 sub sp, sp, #32
  10650. 6603 .LCFI192:
  10651. 6604 .cfi_def_cfa_offset 40
  10652. 6605 0004 00AF add r7, sp, #0
  10653. 6606 .LCFI193:
  10654. 6607 .cfi_def_cfa_register 7
  10655. 6608 0006 7860 str r0, [r7, #4]
  10656. 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
  10657. 6609 .loc 1 2663 3
  10658. 6610 0008 7B68 ldr r3, [r7, #4]
  10659. 6611 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
  10660. 6612 000e 012B cmp r3, #1
  10661. 6613 0010 01D1 bne .L354
  10662. 6614 .loc 1 2663 3 is_stmt 0 discriminator 1
  10663. 6615 0012 0223 movs r3, #2
  10664. 6616 0014 26E0 b .L355
  10665. 6617 .L354:
  10666. 6618 .loc 1 2663 3 discriminator 2
  10667. 6619 0016 7B68 ldr r3, [r7, #4]
  10668. 6620 0018 0122 movs r2, #1
  10669. 6621 001a 83F87820 strb r2, [r3, #120]
  10670. 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10671. 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  10672. 6622 .loc 1 2665 17 is_stmt 1 discriminator 2
  10673. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 185
  10674. 6623 001e 7B68 ldr r3, [r7, #4]
  10675. 6624 0020 2422 movs r2, #36
  10676. 6625 0022 DA67 str r2, [r3, #124]
  10677. 6626 .L358:
  10678. 6627 .LBB638:
  10679. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10680. 2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */
  10681. 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME);
  10682. 6628 .loc 1 2668 3 discriminator 1
  10683. 6629 0024 7B68 ldr r3, [r7, #4]
  10684. 6630 0026 1B68 ldr r3, [r3]
  10685. 6631 0028 FB60 str r3, [r7, #12]
  10686. 6632 .LBB639:
  10687. 6633 .LBB640:
  10688. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10689. 6634 .loc 2 1072 4 discriminator 1
  10690. 6635 002a FB68 ldr r3, [r7, #12]
  10691. 6636 .syntax unified
  10692. 6637 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10693. 6638 002c 53E8003F ldrex r3, [r3]
  10694. 6639 @ 0 "" 2
  10695. 6640 .thumb
  10696. 6641 .syntax unified
  10697. 6642 0030 BB60 str r3, [r7, #8]
  10698. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  10699. 6643 .loc 2 1073 10 discriminator 1
  10700. 6644 0032 BB68 ldr r3, [r7, #8]
  10701. 6645 .LBE640:
  10702. 6646 .LBE639:
  10703. 6647 .loc 1 2668 3 discriminator 1
  10704. 6648 0034 43F40053 orr r3, r3, #8192
  10705. 6649 0038 FB61 str r3, [r7, #28]
  10706. 6650 003a 7B68 ldr r3, [r7, #4]
  10707. 6651 003c 1B68 ldr r3, [r3]
  10708. 6652 003e 1A46 mov r2, r3
  10709. 6653 0040 FB69 ldr r3, [r7, #28]
  10710. 6654 0042 BB61 str r3, [r7, #24]
  10711. 6655 0044 7A61 str r2, [r7, #20]
  10712. 6656 .LBB641:
  10713. 6657 .LBB642:
  10714. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10715. 6658 .loc 2 1123 4 discriminator 1
  10716. 6659 0046 7969 ldr r1, [r7, #20]
  10717. 6660 0048 BA69 ldr r2, [r7, #24]
  10718. 6661 .syntax unified
  10719. 6662 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10720. 6663 004a 41E80023 strex r3, r2, [r1]
  10721. 6664 @ 0 "" 2
  10722. 6665 .thumb
  10723. 6666 .syntax unified
  10724. 6667 004e 3B61 str r3, [r7, #16]
  10725. 6668 .loc 2 1124 10 discriminator 1
  10726. 6669 0050 3B69 ldr r3, [r7, #16]
  10727. 6670 .LBE642:
  10728. 6671 .LBE641:
  10729. 6672 .loc 1 2668 3 discriminator 1
  10730. 6673 0052 002B cmp r3, #0
  10731. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 186
  10732. 6674 0054 E6D1 bne .L358
  10733. 6675 .LBE638:
  10734. 2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10735. 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  10736. 6676 .loc 1 2670 17
  10737. 6677 0056 7B68 ldr r3, [r7, #4]
  10738. 6678 0058 2022 movs r2, #32
  10739. 6679 005a DA67 str r2, [r3, #124]
  10740. 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10741. 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
  10742. 6680 .loc 1 2672 11
  10743. 6681 005c 7868 ldr r0, [r7, #4]
  10744. 6682 005e FFF7FEFF bl UART_CheckIdleState
  10745. 6683 0062 0346 mov r3, r0
  10746. 6684 .L355:
  10747. 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10748. 6685 .loc 1 2673 1
  10749. 6686 0064 1846 mov r0, r3
  10750. 6687 0066 2037 adds r7, r7, #32
  10751. 6688 .LCFI194:
  10752. 6689 .cfi_def_cfa_offset 8
  10753. 6690 0068 BD46 mov sp, r7
  10754. 6691 .LCFI195:
  10755. 6692 .cfi_def_cfa_register 13
  10756. 6693 @ sp needed
  10757. 6694 006a 80BD pop {r7, pc}
  10758. 6695 .cfi_endproc
  10759. 6696 .LFE165:
  10760. 6698 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits
  10761. 6699 .align 1
  10762. 6700 .global HAL_MultiProcessor_DisableMuteMode
  10763. 6701 .syntax unified
  10764. 6702 .thumb
  10765. 6703 .thumb_func
  10766. 6705 HAL_MultiProcessor_DisableMuteMode:
  10767. 6706 .LFB166:
  10768. 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10769. 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10770. 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode
  10771. 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * as it may not have been in mute mode at this very moment).
  10772. 2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10773. 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  10774. 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10775. 2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
  10776. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10777. 6707 .loc 1 2682 1
  10778. 6708 .cfi_startproc
  10779. 6709 @ args = 0, pretend = 0, frame = 32
  10780. 6710 @ frame_needed = 1, uses_anonymous_args = 0
  10781. 6711 0000 80B5 push {r7, lr}
  10782. 6712 .LCFI196:
  10783. 6713 .cfi_def_cfa_offset 8
  10784. 6714 .cfi_offset 7, -8
  10785. 6715 .cfi_offset 14, -4
  10786. 6716 0002 88B0 sub sp, sp, #32
  10787. 6717 .LCFI197:
  10788. 6718 .cfi_def_cfa_offset 40
  10789. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 187
  10790. 6719 0004 00AF add r7, sp, #0
  10791. 6720 .LCFI198:
  10792. 6721 .cfi_def_cfa_register 7
  10793. 6722 0006 7860 str r0, [r7, #4]
  10794. 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
  10795. 6723 .loc 1 2683 3
  10796. 6724 0008 7B68 ldr r3, [r7, #4]
  10797. 6725 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
  10798. 6726 000e 012B cmp r3, #1
  10799. 6727 0010 01D1 bne .L360
  10800. 6728 .loc 1 2683 3 is_stmt 0 discriminator 1
  10801. 6729 0012 0223 movs r3, #2
  10802. 6730 0014 26E0 b .L361
  10803. 6731 .L360:
  10804. 6732 .loc 1 2683 3 discriminator 2
  10805. 6733 0016 7B68 ldr r3, [r7, #4]
  10806. 6734 0018 0122 movs r2, #1
  10807. 6735 001a 83F87820 strb r2, [r3, #120]
  10808. 2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10809. 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  10810. 6736 .loc 1 2685 17 is_stmt 1 discriminator 2
  10811. 6737 001e 7B68 ldr r3, [r7, #4]
  10812. 6738 0020 2422 movs r2, #36
  10813. 6739 0022 DA67 str r2, [r3, #124]
  10814. 6740 .L364:
  10815. 6741 .LBB643:
  10816. 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10817. 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */
  10818. 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME);
  10819. 6742 .loc 1 2688 3 discriminator 1
  10820. 6743 0024 7B68 ldr r3, [r7, #4]
  10821. 6744 0026 1B68 ldr r3, [r3]
  10822. 6745 0028 FB60 str r3, [r7, #12]
  10823. 6746 .LBB644:
  10824. 6747 .LBB645:
  10825. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10826. 6748 .loc 2 1072 4 discriminator 1
  10827. 6749 002a FB68 ldr r3, [r7, #12]
  10828. 6750 .syntax unified
  10829. 6751 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10830. 6752 002c 53E8003F ldrex r3, [r3]
  10831. 6753 @ 0 "" 2
  10832. 6754 .thumb
  10833. 6755 .syntax unified
  10834. 6756 0030 BB60 str r3, [r7, #8]
  10835. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  10836. 6757 .loc 2 1073 10 discriminator 1
  10837. 6758 0032 BB68 ldr r3, [r7, #8]
  10838. 6759 .LBE645:
  10839. 6760 .LBE644:
  10840. 6761 .loc 1 2688 3 discriminator 1
  10841. 6762 0034 23F40053 bic r3, r3, #8192
  10842. 6763 0038 FB61 str r3, [r7, #28]
  10843. 6764 003a 7B68 ldr r3, [r7, #4]
  10844. 6765 003c 1B68 ldr r3, [r3]
  10845. 6766 003e 1A46 mov r2, r3
  10846. 6767 0040 FB69 ldr r3, [r7, #28]
  10847. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 188
  10848. 6768 0042 BB61 str r3, [r7, #24]
  10849. 6769 0044 7A61 str r2, [r7, #20]
  10850. 6770 .LBB646:
  10851. 6771 .LBB647:
  10852. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10853. 6772 .loc 2 1123 4 discriminator 1
  10854. 6773 0046 7969 ldr r1, [r7, #20]
  10855. 6774 0048 BA69 ldr r2, [r7, #24]
  10856. 6775 .syntax unified
  10857. 6776 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10858. 6777 004a 41E80023 strex r3, r2, [r1]
  10859. 6778 @ 0 "" 2
  10860. 6779 .thumb
  10861. 6780 .syntax unified
  10862. 6781 004e 3B61 str r3, [r7, #16]
  10863. 6782 .loc 2 1124 10 discriminator 1
  10864. 6783 0050 3B69 ldr r3, [r7, #16]
  10865. 6784 .LBE647:
  10866. 6785 .LBE646:
  10867. 6786 .loc 1 2688 3 discriminator 1
  10868. 6787 0052 002B cmp r3, #0
  10869. 6788 0054 E6D1 bne .L364
  10870. 6789 .LBE643:
  10871. 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10872. 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  10873. 6790 .loc 1 2690 17
  10874. 6791 0056 7B68 ldr r3, [r7, #4]
  10875. 6792 0058 2022 movs r2, #32
  10876. 6793 005a DA67 str r2, [r3, #124]
  10877. 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10878. 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
  10879. 6794 .loc 1 2692 11
  10880. 6795 005c 7868 ldr r0, [r7, #4]
  10881. 6796 005e FFF7FEFF bl UART_CheckIdleState
  10882. 6797 0062 0346 mov r3, r0
  10883. 6798 .L361:
  10884. 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10885. 6799 .loc 1 2693 1
  10886. 6800 0064 1846 mov r0, r3
  10887. 6801 0066 2037 adds r7, r7, #32
  10888. 6802 .LCFI199:
  10889. 6803 .cfi_def_cfa_offset 8
  10890. 6804 0068 BD46 mov sp, r7
  10891. 6805 .LCFI200:
  10892. 6806 .cfi_def_cfa_register 13
  10893. 6807 @ sp needed
  10894. 6808 006a 80BD pop {r7, pc}
  10895. 6809 .cfi_endproc
  10896. 6810 .LFE166:
  10897. 6812 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
  10898. 6813 .align 1
  10899. 6814 .global HAL_MultiProcessor_EnterMuteMode
  10900. 6815 .syntax unified
  10901. 6816 .thumb
  10902. 6817 .thumb_func
  10903. 6819 HAL_MultiProcessor_EnterMuteMode:
  10904. 6820 .LFB167:
  10905. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 189
  10906. 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10907. 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10908. 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode).
  10909. 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called.
  10910. 2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10911. 2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  10912. 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10913. 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
  10914. 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10915. 6821 .loc 1 2702 1
  10916. 6822 .cfi_startproc
  10917. 6823 @ args = 0, pretend = 0, frame = 8
  10918. 6824 @ frame_needed = 1, uses_anonymous_args = 0
  10919. 6825 @ link register save eliminated.
  10920. 6826 0000 80B4 push {r7}
  10921. 6827 .LCFI201:
  10922. 6828 .cfi_def_cfa_offset 4
  10923. 6829 .cfi_offset 7, -4
  10924. 6830 0002 83B0 sub sp, sp, #12
  10925. 6831 .LCFI202:
  10926. 6832 .cfi_def_cfa_offset 16
  10927. 6833 0004 00AF add r7, sp, #0
  10928. 6834 .LCFI203:
  10929. 6835 .cfi_def_cfa_register 7
  10930. 6836 0006 7860 str r0, [r7, #4]
  10931. 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
  10932. 6837 .loc 1 2703 3
  10933. 6838 0008 7B68 ldr r3, [r7, #4]
  10934. 6839 000a 1B68 ldr r3, [r3]
  10935. 6840 000c 9A69 ldr r2, [r3, #24]
  10936. 6841 000e 7B68 ldr r3, [r7, #4]
  10937. 6842 0010 1B68 ldr r3, [r3]
  10938. 6843 0012 42F00402 orr r2, r2, #4
  10939. 6844 0016 9A61 str r2, [r3, #24]
  10940. 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  10941. 6845 .loc 1 2704 1
  10942. 6846 0018 00BF nop
  10943. 6847 001a 0C37 adds r7, r7, #12
  10944. 6848 .LCFI204:
  10945. 6849 .cfi_def_cfa_offset 4
  10946. 6850 001c BD46 mov sp, r7
  10947. 6851 .LCFI205:
  10948. 6852 .cfi_def_cfa_register 13
  10949. 6853 @ sp needed
  10950. 6854 001e 5DF8047B ldr r7, [sp], #4
  10951. 6855 .LCFI206:
  10952. 6856 .cfi_restore 7
  10953. 6857 .cfi_def_cfa_offset 0
  10954. 6858 0022 7047 bx lr
  10955. 6859 .cfi_endproc
  10956. 6860 .LFE167:
  10957. 6862 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
  10958. 6863 .align 1
  10959. 6864 .global HAL_HalfDuplex_EnableTransmitter
  10960. 6865 .syntax unified
  10961. 6866 .thumb
  10962. 6867 .thumb_func
  10963. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 190
  10964. 6869 HAL_HalfDuplex_EnableTransmitter:
  10965. 6870 .LFB168:
  10966. 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  10967. 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  10968. 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver.
  10969. 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  10970. 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  10971. 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  10972. 2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
  10973. 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  10974. 6871 .loc 1 2712 1
  10975. 6872 .cfi_startproc
  10976. 6873 @ args = 0, pretend = 0, frame = 56
  10977. 6874 @ frame_needed = 1, uses_anonymous_args = 0
  10978. 6875 @ link register save eliminated.
  10979. 6876 0000 80B4 push {r7}
  10980. 6877 .LCFI207:
  10981. 6878 .cfi_def_cfa_offset 4
  10982. 6879 .cfi_offset 7, -4
  10983. 6880 0002 8FB0 sub sp, sp, #60
  10984. 6881 .LCFI208:
  10985. 6882 .cfi_def_cfa_offset 64
  10986. 6883 0004 00AF add r7, sp, #0
  10987. 6884 .LCFI209:
  10988. 6885 .cfi_def_cfa_register 7
  10989. 6886 0006 7860 str r0, [r7, #4]
  10990. 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
  10991. 6887 .loc 1 2713 3
  10992. 6888 0008 7B68 ldr r3, [r7, #4]
  10993. 6889 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
  10994. 6890 000e 012B cmp r3, #1
  10995. 6891 0010 01D1 bne .L367
  10996. 6892 .loc 1 2713 3 is_stmt 0 discriminator 1
  10997. 6893 0012 0223 movs r3, #2
  10998. 6894 0014 40E0 b .L368
  10999. 6895 .L367:
  11000. 6896 .loc 1 2713 3 discriminator 2
  11001. 6897 0016 7B68 ldr r3, [r7, #4]
  11002. 6898 0018 0122 movs r2, #1
  11003. 6899 001a 83F87820 strb r2, [r3, #120]
  11004. 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  11005. 6900 .loc 1 2714 17 is_stmt 1 discriminator 2
  11006. 6901 001e 7B68 ldr r3, [r7, #4]
  11007. 6902 0020 2422 movs r2, #36
  11008. 6903 0022 DA67 str r2, [r3, #124]
  11009. 6904 .L371:
  11010. 6905 .LBB648:
  11011. 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11012. 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */
  11013. 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
  11014. 6906 .loc 1 2717 3 discriminator 1
  11015. 6907 0024 7B68 ldr r3, [r7, #4]
  11016. 6908 0026 1B68 ldr r3, [r3]
  11017. 6909 0028 3B62 str r3, [r7, #32]
  11018. 6910 .LBB649:
  11019. 6911 .LBB650:
  11020. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11021. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 191
  11022. 6912 .loc 2 1072 4 discriminator 1
  11023. 6913 002a 3B6A ldr r3, [r7, #32]
  11024. 6914 .syntax unified
  11025. 6915 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11026. 6916 002c 53E8003F ldrex r3, [r3]
  11027. 6917 @ 0 "" 2
  11028. 6918 .thumb
  11029. 6919 .syntax unified
  11030. 6920 0030 FB61 str r3, [r7, #28]
  11031. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11032. 6921 .loc 2 1073 10 discriminator 1
  11033. 6922 0032 FB69 ldr r3, [r7, #28]
  11034. 6923 .LBE650:
  11035. 6924 .LBE649:
  11036. 6925 .loc 1 2717 3 discriminator 1
  11037. 6926 0034 23F00C03 bic r3, r3, #12
  11038. 6927 0038 7B63 str r3, [r7, #52]
  11039. 6928 003a 7B68 ldr r3, [r7, #4]
  11040. 6929 003c 1B68 ldr r3, [r3]
  11041. 6930 003e 1A46 mov r2, r3
  11042. 6931 0040 7B6B ldr r3, [r7, #52]
  11043. 6932 0042 FB62 str r3, [r7, #44]
  11044. 6933 0044 BA62 str r2, [r7, #40]
  11045. 6934 .LBB651:
  11046. 6935 .LBB652:
  11047. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11048. 6936 .loc 2 1123 4 discriminator 1
  11049. 6937 0046 B96A ldr r1, [r7, #40]
  11050. 6938 0048 FA6A ldr r2, [r7, #44]
  11051. 6939 .syntax unified
  11052. 6940 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11053. 6941 004a 41E80023 strex r3, r2, [r1]
  11054. 6942 @ 0 "" 2
  11055. 6943 .thumb
  11056. 6944 .syntax unified
  11057. 6945 004e 7B62 str r3, [r7, #36]
  11058. 6946 .loc 2 1124 10 discriminator 1
  11059. 6947 0050 7B6A ldr r3, [r7, #36]
  11060. 6948 .LBE652:
  11061. 6949 .LBE651:
  11062. 6950 .loc 1 2717 3 discriminator 1
  11063. 6951 0052 002B cmp r3, #0
  11064. 6952 0054 E6D1 bne .L371
  11065. 6953 .L374:
  11066. 6954 .LBE648:
  11067. 6955 .LBB653:
  11068. 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11069. 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
  11070. 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE);
  11071. 6956 .loc 1 2720 3 discriminator 1
  11072. 6957 0056 7B68 ldr r3, [r7, #4]
  11073. 6958 0058 1B68 ldr r3, [r3]
  11074. 6959 005a FB60 str r3, [r7, #12]
  11075. 6960 .LBB654:
  11076. 6961 .LBB655:
  11077. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11078. 6962 .loc 2 1072 4 discriminator 1
  11079. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 192
  11080. 6963 005c FB68 ldr r3, [r7, #12]
  11081. 6964 .syntax unified
  11082. 6965 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11083. 6966 005e 53E8003F ldrex r3, [r3]
  11084. 6967 @ 0 "" 2
  11085. 6968 .thumb
  11086. 6969 .syntax unified
  11087. 6970 0062 BB60 str r3, [r7, #8]
  11088. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11089. 6971 .loc 2 1073 10 discriminator 1
  11090. 6972 0064 BB68 ldr r3, [r7, #8]
  11091. 6973 .LBE655:
  11092. 6974 .LBE654:
  11093. 6975 .loc 1 2720 3 discriminator 1
  11094. 6976 0066 43F00803 orr r3, r3, #8
  11095. 6977 006a 3B63 str r3, [r7, #48]
  11096. 6978 006c 7B68 ldr r3, [r7, #4]
  11097. 6979 006e 1B68 ldr r3, [r3]
  11098. 6980 0070 1A46 mov r2, r3
  11099. 6981 0072 3B6B ldr r3, [r7, #48]
  11100. 6982 0074 BB61 str r3, [r7, #24]
  11101. 6983 0076 7A61 str r2, [r7, #20]
  11102. 6984 .LBB656:
  11103. 6985 .LBB657:
  11104. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11105. 6986 .loc 2 1123 4 discriminator 1
  11106. 6987 0078 7969 ldr r1, [r7, #20]
  11107. 6988 007a BA69 ldr r2, [r7, #24]
  11108. 6989 .syntax unified
  11109. 6990 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11110. 6991 007c 41E80023 strex r3, r2, [r1]
  11111. 6992 @ 0 "" 2
  11112. 6993 .thumb
  11113. 6994 .syntax unified
  11114. 6995 0080 3B61 str r3, [r7, #16]
  11115. 6996 .loc 2 1124 10 discriminator 1
  11116. 6997 0082 3B69 ldr r3, [r7, #16]
  11117. 6998 .LBE657:
  11118. 6999 .LBE656:
  11119. 7000 .loc 1 2720 3 discriminator 1
  11120. 7001 0084 002B cmp r3, #0
  11121. 7002 0086 E6D1 bne .L374
  11122. 7003 .LBE653:
  11123. 2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11124. 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  11125. 7004 .loc 1 2722 17
  11126. 7005 0088 7B68 ldr r3, [r7, #4]
  11127. 7006 008a 2022 movs r2, #32
  11128. 7007 008c DA67 str r2, [r3, #124]
  11129. 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11130. 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  11131. 7008 .loc 1 2724 3
  11132. 7009 008e 7B68 ldr r3, [r7, #4]
  11133. 7010 0090 0022 movs r2, #0
  11134. 7011 0092 83F87820 strb r2, [r3, #120]
  11135. 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11136. 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  11137. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 193
  11138. 7012 .loc 1 2726 10
  11139. 7013 0096 0023 movs r3, #0
  11140. 7014 .L368:
  11141. 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  11142. 7015 .loc 1 2727 1
  11143. 7016 0098 1846 mov r0, r3
  11144. 7017 009a 3C37 adds r7, r7, #60
  11145. 7018 .LCFI210:
  11146. 7019 .cfi_def_cfa_offset 4
  11147. 7020 009c BD46 mov sp, r7
  11148. 7021 .LCFI211:
  11149. 7022 .cfi_def_cfa_register 13
  11150. 7023 @ sp needed
  11151. 7024 009e 5DF8047B ldr r7, [sp], #4
  11152. 7025 .LCFI212:
  11153. 7026 .cfi_restore 7
  11154. 7027 .cfi_def_cfa_offset 0
  11155. 7028 00a2 7047 bx lr
  11156. 7029 .cfi_endproc
  11157. 7030 .LFE168:
  11158. 7032 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
  11159. 7033 .align 1
  11160. 7034 .global HAL_HalfDuplex_EnableReceiver
  11161. 7035 .syntax unified
  11162. 7036 .thumb
  11163. 7037 .thumb_func
  11164. 7039 HAL_HalfDuplex_EnableReceiver:
  11165. 7040 .LFB169:
  11166. 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11167. 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11168. 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter.
  11169. 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  11170. 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status.
  11171. 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11172. 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
  11173. 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  11174. 7041 .loc 1 2735 1
  11175. 7042 .cfi_startproc
  11176. 7043 @ args = 0, pretend = 0, frame = 56
  11177. 7044 @ frame_needed = 1, uses_anonymous_args = 0
  11178. 7045 @ link register save eliminated.
  11179. 7046 0000 80B4 push {r7}
  11180. 7047 .LCFI213:
  11181. 7048 .cfi_def_cfa_offset 4
  11182. 7049 .cfi_offset 7, -4
  11183. 7050 0002 8FB0 sub sp, sp, #60
  11184. 7051 .LCFI214:
  11185. 7052 .cfi_def_cfa_offset 64
  11186. 7053 0004 00AF add r7, sp, #0
  11187. 7054 .LCFI215:
  11188. 7055 .cfi_def_cfa_register 7
  11189. 7056 0006 7860 str r0, [r7, #4]
  11190. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
  11191. 7057 .loc 1 2736 3
  11192. 7058 0008 7B68 ldr r3, [r7, #4]
  11193. 7059 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
  11194. 7060 000e 012B cmp r3, #1
  11195. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 194
  11196. 7061 0010 01D1 bne .L376
  11197. 7062 .loc 1 2736 3 is_stmt 0 discriminator 1
  11198. 7063 0012 0223 movs r3, #2
  11199. 7064 0014 40E0 b .L377
  11200. 7065 .L376:
  11201. 7066 .loc 1 2736 3 discriminator 2
  11202. 7067 0016 7B68 ldr r3, [r7, #4]
  11203. 7068 0018 0122 movs r2, #1
  11204. 7069 001a 83F87820 strb r2, [r3, #120]
  11205. 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  11206. 7070 .loc 1 2737 17 is_stmt 1 discriminator 2
  11207. 7071 001e 7B68 ldr r3, [r7, #4]
  11208. 7072 0020 2422 movs r2, #36
  11209. 7073 0022 DA67 str r2, [r3, #124]
  11210. 7074 .L380:
  11211. 7075 .LBB658:
  11212. 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11213. 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */
  11214. 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
  11215. 7076 .loc 1 2740 3 discriminator 1
  11216. 7077 0024 7B68 ldr r3, [r7, #4]
  11217. 7078 0026 1B68 ldr r3, [r3]
  11218. 7079 0028 3B62 str r3, [r7, #32]
  11219. 7080 .LBB659:
  11220. 7081 .LBB660:
  11221. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11222. 7082 .loc 2 1072 4 discriminator 1
  11223. 7083 002a 3B6A ldr r3, [r7, #32]
  11224. 7084 .syntax unified
  11225. 7085 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11226. 7086 002c 53E8003F ldrex r3, [r3]
  11227. 7087 @ 0 "" 2
  11228. 7088 .thumb
  11229. 7089 .syntax unified
  11230. 7090 0030 FB61 str r3, [r7, #28]
  11231. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11232. 7091 .loc 2 1073 10 discriminator 1
  11233. 7092 0032 FB69 ldr r3, [r7, #28]
  11234. 7093 .LBE660:
  11235. 7094 .LBE659:
  11236. 7095 .loc 1 2740 3 discriminator 1
  11237. 7096 0034 23F00C03 bic r3, r3, #12
  11238. 7097 0038 7B63 str r3, [r7, #52]
  11239. 7098 003a 7B68 ldr r3, [r7, #4]
  11240. 7099 003c 1B68 ldr r3, [r3]
  11241. 7100 003e 1A46 mov r2, r3
  11242. 7101 0040 7B6B ldr r3, [r7, #52]
  11243. 7102 0042 FB62 str r3, [r7, #44]
  11244. 7103 0044 BA62 str r2, [r7, #40]
  11245. 7104 .LBB661:
  11246. 7105 .LBB662:
  11247. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11248. 7106 .loc 2 1123 4 discriminator 1
  11249. 7107 0046 B96A ldr r1, [r7, #40]
  11250. 7108 0048 FA6A ldr r2, [r7, #44]
  11251. 7109 .syntax unified
  11252. 7110 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11253. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 195
  11254. 7111 004a 41E80023 strex r3, r2, [r1]
  11255. 7112 @ 0 "" 2
  11256. 7113 .thumb
  11257. 7114 .syntax unified
  11258. 7115 004e 7B62 str r3, [r7, #36]
  11259. 7116 .loc 2 1124 10 discriminator 1
  11260. 7117 0050 7B6A ldr r3, [r7, #36]
  11261. 7118 .LBE662:
  11262. 7119 .LBE661:
  11263. 7120 .loc 1 2740 3 discriminator 1
  11264. 7121 0052 002B cmp r3, #0
  11265. 7122 0054 E6D1 bne .L380
  11266. 7123 .L383:
  11267. 7124 .LBE658:
  11268. 7125 .LBB663:
  11269. 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11270. 2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
  11271. 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE);
  11272. 7126 .loc 1 2743 3 discriminator 1
  11273. 7127 0056 7B68 ldr r3, [r7, #4]
  11274. 7128 0058 1B68 ldr r3, [r3]
  11275. 7129 005a FB60 str r3, [r7, #12]
  11276. 7130 .LBB664:
  11277. 7131 .LBB665:
  11278. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11279. 7132 .loc 2 1072 4 discriminator 1
  11280. 7133 005c FB68 ldr r3, [r7, #12]
  11281. 7134 .syntax unified
  11282. 7135 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11283. 7136 005e 53E8003F ldrex r3, [r3]
  11284. 7137 @ 0 "" 2
  11285. 7138 .thumb
  11286. 7139 .syntax unified
  11287. 7140 0062 BB60 str r3, [r7, #8]
  11288. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11289. 7141 .loc 2 1073 10 discriminator 1
  11290. 7142 0064 BB68 ldr r3, [r7, #8]
  11291. 7143 .LBE665:
  11292. 7144 .LBE664:
  11293. 7145 .loc 1 2743 3 discriminator 1
  11294. 7146 0066 43F00403 orr r3, r3, #4
  11295. 7147 006a 3B63 str r3, [r7, #48]
  11296. 7148 006c 7B68 ldr r3, [r7, #4]
  11297. 7149 006e 1B68 ldr r3, [r3]
  11298. 7150 0070 1A46 mov r2, r3
  11299. 7151 0072 3B6B ldr r3, [r7, #48]
  11300. 7152 0074 BB61 str r3, [r7, #24]
  11301. 7153 0076 7A61 str r2, [r7, #20]
  11302. 7154 .LBB666:
  11303. 7155 .LBB667:
  11304. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11305. 7156 .loc 2 1123 4 discriminator 1
  11306. 7157 0078 7969 ldr r1, [r7, #20]
  11307. 7158 007a BA69 ldr r2, [r7, #24]
  11308. 7159 .syntax unified
  11309. 7160 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11310. 7161 007c 41E80023 strex r3, r2, [r1]
  11311. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 196
  11312. 7162 @ 0 "" 2
  11313. 7163 .thumb
  11314. 7164 .syntax unified
  11315. 7165 0080 3B61 str r3, [r7, #16]
  11316. 7166 .loc 2 1124 10 discriminator 1
  11317. 7167 0082 3B69 ldr r3, [r7, #16]
  11318. 7168 .LBE667:
  11319. 7169 .LBE666:
  11320. 7170 .loc 1 2743 3 discriminator 1
  11321. 7171 0084 002B cmp r3, #0
  11322. 7172 0086 E6D1 bne .L383
  11323. 7173 .LBE663:
  11324. 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11325. 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  11326. 7174 .loc 1 2745 17
  11327. 7175 0088 7B68 ldr r3, [r7, #4]
  11328. 7176 008a 2022 movs r2, #32
  11329. 7177 008c DA67 str r2, [r3, #124]
  11330. 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11331. 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  11332. 7178 .loc 1 2747 3
  11333. 7179 008e 7B68 ldr r3, [r7, #4]
  11334. 7180 0090 0022 movs r2, #0
  11335. 7181 0092 83F87820 strb r2, [r3, #120]
  11336. 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11337. 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  11338. 7182 .loc 1 2749 10
  11339. 7183 0096 0023 movs r3, #0
  11340. 7184 .L377:
  11341. 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  11342. 7185 .loc 1 2750 1
  11343. 7186 0098 1846 mov r0, r3
  11344. 7187 009a 3C37 adds r7, r7, #60
  11345. 7188 .LCFI216:
  11346. 7189 .cfi_def_cfa_offset 4
  11347. 7190 009c BD46 mov sp, r7
  11348. 7191 .LCFI217:
  11349. 7192 .cfi_def_cfa_register 13
  11350. 7193 @ sp needed
  11351. 7194 009e 5DF8047B ldr r7, [sp], #4
  11352. 7195 .LCFI218:
  11353. 7196 .cfi_restore 7
  11354. 7197 .cfi_def_cfa_offset 0
  11355. 7198 00a2 7047 bx lr
  11356. 7199 .cfi_endproc
  11357. 7200 .LFE169:
  11358. 7202 .section .text.HAL_LIN_SendBreak,"ax",%progbits
  11359. 7203 .align 1
  11360. 7204 .global HAL_LIN_SendBreak
  11361. 7205 .syntax unified
  11362. 7206 .thumb
  11363. 7207 .thumb_func
  11364. 7209 HAL_LIN_SendBreak:
  11365. 7210 .LFB170:
  11366. 2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11367. 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11368. 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11369. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 197
  11370. 2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Transmit break characters.
  11371. 2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  11372. 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  11373. 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11374. 2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
  11375. 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  11376. 7211 .loc 1 2759 1
  11377. 7212 .cfi_startproc
  11378. 7213 @ args = 0, pretend = 0, frame = 8
  11379. 7214 @ frame_needed = 1, uses_anonymous_args = 0
  11380. 7215 0000 80B5 push {r7, lr}
  11381. 7216 .LCFI219:
  11382. 7217 .cfi_def_cfa_offset 8
  11383. 7218 .cfi_offset 7, -8
  11384. 7219 .cfi_offset 14, -4
  11385. 7220 0002 82B0 sub sp, sp, #8
  11386. 7221 .LCFI220:
  11387. 7222 .cfi_def_cfa_offset 16
  11388. 7223 0004 00AF add r7, sp, #0
  11389. 7224 .LCFI221:
  11390. 7225 .cfi_def_cfa_register 7
  11391. 7226 0006 7860 str r0, [r7, #4]
  11392. 2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
  11393. 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
  11394. 7227 .loc 1 2761 3
  11395. 7228 0008 7B68 ldr r3, [r7, #4]
  11396. 7229 000a 1B68 ldr r3, [r3]
  11397. 7230 000c 1E4A ldr r2, .L388
  11398. 7231 000e 9342 cmp r3, r2
  11399. 7232 0010 18D0 beq .L385
  11400. 7233 .loc 1 2761 3 is_stmt 0 discriminator 1
  11401. 7234 0012 7B68 ldr r3, [r7, #4]
  11402. 7235 0014 1B68 ldr r3, [r3]
  11403. 7236 0016 1D4A ldr r2, .L388+4
  11404. 7237 0018 9342 cmp r3, r2
  11405. 7238 001a 13D0 beq .L385
  11406. 7239 .loc 1 2761 3 discriminator 2
  11407. 7240 001c 7B68 ldr r3, [r7, #4]
  11408. 7241 001e 1B68 ldr r3, [r3]
  11409. 7242 0020 1B4A ldr r2, .L388+8
  11410. 7243 0022 9342 cmp r3, r2
  11411. 7244 0024 0ED0 beq .L385
  11412. 7245 .loc 1 2761 3 discriminator 3
  11413. 7246 0026 7B68 ldr r3, [r7, #4]
  11414. 7247 0028 1B68 ldr r3, [r3]
  11415. 7248 002a 1A4A ldr r2, .L388+12
  11416. 7249 002c 9342 cmp r3, r2
  11417. 7250 002e 09D0 beq .L385
  11418. 7251 .loc 1 2761 3 discriminator 4
  11419. 7252 0030 7B68 ldr r3, [r7, #4]
  11420. 7253 0032 1B68 ldr r3, [r3]
  11421. 7254 0034 184A ldr r2, .L388+16
  11422. 7255 0036 9342 cmp r3, r2
  11423. 7256 0038 04D0 beq .L385
  11424. 7257 .loc 1 2761 3 discriminator 5
  11425. 7258 003a 40F6C921 movw r1, #2761
  11426. 7259 003e 1748 ldr r0, .L388+20
  11427. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 198
  11428. 7260 0040 FFF7FEFF bl assert_failed
  11429. 7261 .L385:
  11430. 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11431. 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
  11432. 7262 .loc 1 2763 3 is_stmt 1
  11433. 7263 0044 7B68 ldr r3, [r7, #4]
  11434. 7264 0046 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
  11435. 7265 004a 012B cmp r3, #1
  11436. 7266 004c 01D1 bne .L386
  11437. 7267 .loc 1 2763 3 is_stmt 0 discriminator 1
  11438. 7268 004e 0223 movs r3, #2
  11439. 7269 0050 16E0 b .L387
  11440. 7270 .L386:
  11441. 7271 .loc 1 2763 3 discriminator 2
  11442. 7272 0052 7B68 ldr r3, [r7, #4]
  11443. 7273 0054 0122 movs r2, #1
  11444. 7274 0056 83F87820 strb r2, [r3, #120]
  11445. 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11446. 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  11447. 7275 .loc 1 2765 17 is_stmt 1 discriminator 2
  11448. 7276 005a 7B68 ldr r3, [r7, #4]
  11449. 7277 005c 2422 movs r2, #36
  11450. 7278 005e DA67 str r2, [r3, #124]
  11451. 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11452. 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Send break characters */
  11453. 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST);
  11454. 7279 .loc 1 2768 3 discriminator 2
  11455. 7280 0060 7B68 ldr r3, [r7, #4]
  11456. 7281 0062 1B68 ldr r3, [r3]
  11457. 7282 0064 9A69 ldr r2, [r3, #24]
  11458. 7283 0066 7B68 ldr r3, [r7, #4]
  11459. 7284 0068 1B68 ldr r3, [r3]
  11460. 7285 006a 42F00202 orr r2, r2, #2
  11461. 7286 006e 9A61 str r2, [r3, #24]
  11462. 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11463. 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  11464. 7287 .loc 1 2770 17 discriminator 2
  11465. 7288 0070 7B68 ldr r3, [r7, #4]
  11466. 7289 0072 2022 movs r2, #32
  11467. 7290 0074 DA67 str r2, [r3, #124]
  11468. 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11469. 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  11470. 7291 .loc 1 2772 3 discriminator 2
  11471. 7292 0076 7B68 ldr r3, [r7, #4]
  11472. 7293 0078 0022 movs r2, #0
  11473. 7294 007a 83F87820 strb r2, [r3, #120]
  11474. 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11475. 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  11476. 7295 .loc 1 2774 10 discriminator 2
  11477. 7296 007e 0023 movs r3, #0
  11478. 7297 .L387:
  11479. 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  11480. 7298 .loc 1 2775 1
  11481. 7299 0080 1846 mov r0, r3
  11482. 7300 0082 0837 adds r7, r7, #8
  11483. 7301 .LCFI222:
  11484. 7302 .cfi_def_cfa_offset 8
  11485. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 199
  11486. 7303 0084 BD46 mov sp, r7
  11487. 7304 .LCFI223:
  11488. 7305 .cfi_def_cfa_register 13
  11489. 7306 @ sp needed
  11490. 7307 0086 80BD pop {r7, pc}
  11491. 7308 .L389:
  11492. 7309 .align 2
  11493. 7310 .L388:
  11494. 7311 0088 00380140 .word 1073821696
  11495. 7312 008c 00440040 .word 1073759232
  11496. 7313 0090 00480040 .word 1073760256
  11497. 7314 0094 004C0040 .word 1073761280
  11498. 7315 0098 00500040 .word 1073762304
  11499. 7316 009c 00000000 .word .LC0
  11500. 7317 .cfi_endproc
  11501. 7318 .LFE170:
  11502. 7320 .section .text.HAL_UART_GetState,"ax",%progbits
  11503. 7321 .align 1
  11504. 7322 .global HAL_UART_GetState
  11505. 7323 .syntax unified
  11506. 7324 .thumb
  11507. 7325 .thumb_func
  11508. 7327 HAL_UART_GetState:
  11509. 7328 .LFB171:
  11510. 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11511. 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11512. 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
  11513. 2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11514. 2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11515. 2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
  11516. 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Peripheral State functions
  11517. 2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
  11518. 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
  11519. 2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ==============================================================================
  11520. 2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral State and Error functions #####
  11521. 2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ==============================================================================
  11522. 2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
  11523. 2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides functions allowing to :
  11524. 2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle state.
  11525. 2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle error code
  11526. 2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11527. 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
  11528. 2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  11529. 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11530. 2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11531. 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11532. 2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle state.
  11533. 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  11534. 2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART.
  11535. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL state
  11536. 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11537. 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart)
  11538. 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  11539. 7329 .loc 1 2804 1
  11540. 7330 .cfi_startproc
  11541. 7331 @ args = 0, pretend = 0, frame = 16
  11542. 7332 @ frame_needed = 1, uses_anonymous_args = 0
  11543. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 200
  11544. 7333 @ link register save eliminated.
  11545. 7334 0000 80B4 push {r7}
  11546. 7335 .LCFI224:
  11547. 7336 .cfi_def_cfa_offset 4
  11548. 7337 .cfi_offset 7, -4
  11549. 7338 0002 85B0 sub sp, sp, #20
  11550. 7339 .LCFI225:
  11551. 7340 .cfi_def_cfa_offset 24
  11552. 7341 0004 00AF add r7, sp, #0
  11553. 7342 .LCFI226:
  11554. 7343 .cfi_def_cfa_register 7
  11555. 7344 0006 7860 str r0, [r7, #4]
  11556. 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp1;
  11557. 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp2;
  11558. 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp1 = huart->gState;
  11559. 7345 .loc 1 2807 9
  11560. 7346 0008 7B68 ldr r3, [r7, #4]
  11561. 7347 000a DB6F ldr r3, [r3, #124]
  11562. 7348 000c FB60 str r3, [r7, #12]
  11563. 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState;
  11564. 7349 .loc 1 2808 9
  11565. 7350 000e 7B68 ldr r3, [r7, #4]
  11566. 7351 0010 D3F88030 ldr r3, [r3, #128]
  11567. 7352 0014 BB60 str r3, [r7, #8]
  11568. 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11569. 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
  11570. 7353 .loc 1 2810 10
  11571. 7354 0016 FA68 ldr r2, [r7, #12]
  11572. 7355 0018 BB68 ldr r3, [r7, #8]
  11573. 7356 001a 1343 orrs r3, r3, r2
  11574. 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  11575. 7357 .loc 1 2811 1
  11576. 7358 001c 1846 mov r0, r3
  11577. 7359 001e 1437 adds r7, r7, #20
  11578. 7360 .LCFI227:
  11579. 7361 .cfi_def_cfa_offset 4
  11580. 7362 0020 BD46 mov sp, r7
  11581. 7363 .LCFI228:
  11582. 7364 .cfi_def_cfa_register 13
  11583. 7365 @ sp needed
  11584. 7366 0022 5DF8047B ldr r7, [sp], #4
  11585. 7367 .LCFI229:
  11586. 7368 .cfi_restore 7
  11587. 7369 .cfi_def_cfa_offset 0
  11588. 7370 0026 7047 bx lr
  11589. 7371 .cfi_endproc
  11590. 7372 .LFE171:
  11591. 7374 .section .text.HAL_UART_GetError,"ax",%progbits
  11592. 7375 .align 1
  11593. 7376 .global HAL_UART_GetError
  11594. 7377 .syntax unified
  11595. 7378 .thumb
  11596. 7379 .thumb_func
  11597. 7381 HAL_UART_GetError:
  11598. 7382 .LFB172:
  11599. 2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11600. 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11601. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 201
  11602. 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle error code.
  11603. 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  11604. 2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART.
  11605. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval UART Error Code
  11606. 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11607. 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart)
  11608. 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  11609. 7383 .loc 1 2820 1
  11610. 7384 .cfi_startproc
  11611. 7385 @ args = 0, pretend = 0, frame = 8
  11612. 7386 @ frame_needed = 1, uses_anonymous_args = 0
  11613. 7387 @ link register save eliminated.
  11614. 7388 0000 80B4 push {r7}
  11615. 7389 .LCFI230:
  11616. 7390 .cfi_def_cfa_offset 4
  11617. 7391 .cfi_offset 7, -4
  11618. 7392 0002 83B0 sub sp, sp, #12
  11619. 7393 .LCFI231:
  11620. 7394 .cfi_def_cfa_offset 16
  11621. 7395 0004 00AF add r7, sp, #0
  11622. 7396 .LCFI232:
  11623. 7397 .cfi_def_cfa_register 7
  11624. 7398 0006 7860 str r0, [r7, #4]
  11625. 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return huart->ErrorCode;
  11626. 7399 .loc 1 2821 15
  11627. 7400 0008 7B68 ldr r3, [r7, #4]
  11628. 7401 000a D3F88430 ldr r3, [r3, #132]
  11629. 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  11630. 7402 .loc 1 2822 1
  11631. 7403 000e 1846 mov r0, r3
  11632. 7404 0010 0C37 adds r7, r7, #12
  11633. 7405 .LCFI233:
  11634. 7406 .cfi_def_cfa_offset 4
  11635. 7407 0012 BD46 mov sp, r7
  11636. 7408 .LCFI234:
  11637. 7409 .cfi_def_cfa_register 13
  11638. 7410 @ sp needed
  11639. 7411 0014 5DF8047B ldr r7, [sp], #4
  11640. 7412 .LCFI235:
  11641. 7413 .cfi_restore 7
  11642. 7414 .cfi_def_cfa_offset 0
  11643. 7415 0018 7047 bx lr
  11644. 7416 .cfi_endproc
  11645. 7417 .LFE172:
  11646. 7419 .section .text.UART_SetConfig,"ax",%progbits
  11647. 7420 .align 1
  11648. 7421 .global UART_SetConfig
  11649. 7422 .syntax unified
  11650. 7423 .thumb
  11651. 7424 .thumb_func
  11652. 7426 UART_SetConfig:
  11653. 7427 .LFB173:
  11654. 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11655. 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
  11656. 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11657. 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11658. 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11659. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 202
  11660. 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
  11661. 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11662. 2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11663. 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
  11664. 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
  11665. 2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11666. 2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11667. 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11668. 2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
  11669. 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  11670. 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval none
  11671. 2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11672. 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  11673. 2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
  11674. 2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  11675. 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the UART Callback settings */
  11676. 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
  11677. 2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
  11678. 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
  11679. 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
  11680. 2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
  11681. 2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
  11682. 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
  11683. 2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
  11684. 2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb
  11685. 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
  11686. 2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11687. 2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  11688. 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  11689. 2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11690. 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  11691. 2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Configure the UART peripheral.
  11692. 2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  11693. 2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  11694. 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  11695. 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
  11696. 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  11697. 7428 .loc 1 2864 1
  11698. 7429 .cfi_startproc
  11699. 7430 @ args = 0, pretend = 0, frame = 32
  11700. 7431 @ frame_needed = 1, uses_anonymous_args = 0
  11701. 7432 0000 80B5 push {r7, lr}
  11702. 7433 .LCFI236:
  11703. 7434 .cfi_def_cfa_offset 8
  11704. 7435 .cfi_offset 7, -8
  11705. 7436 .cfi_offset 14, -4
  11706. 7437 0002 88B0 sub sp, sp, #32
  11707. 7438 .LCFI237:
  11708. 7439 .cfi_def_cfa_offset 40
  11709. 7440 0004 00AF add r7, sp, #0
  11710. 7441 .LCFI238:
  11711. 7442 .cfi_def_cfa_register 7
  11712. 7443 0006 7860 str r0, [r7, #4]
  11713. 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg;
  11714. 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t brrtemp;
  11715. 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource;
  11716. 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t usartdiv;
  11717. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 203
  11718. 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
  11719. 7444 .loc 1 2869 21
  11720. 7445 0008 0023 movs r3, #0
  11721. 7446 000a BB77 strb r3, [r7, #30]
  11722. 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t pclk;
  11723. 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11724. 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
  11725. 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
  11726. 7447 .loc 1 2873 3
  11727. 7448 000c 7B68 ldr r3, [r7, #4]
  11728. 7449 000e 5B68 ldr r3, [r3, #4]
  11729. 7450 0010 994A ldr r2, .L463
  11730. 7451 0012 9342 cmp r3, r2
  11731. 7452 0014 04D9 bls .L395
  11732. 7453 .loc 1 2873 3 is_stmt 0 discriminator 1
  11733. 7454 0016 40F63931 movw r1, #2873
  11734. 7455 001a 9848 ldr r0, .L463+4
  11735. 7456 001c FFF7FEFF bl assert_failed
  11736. 7457 .L395:
  11737. 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
  11738. 7458 .loc 1 2874 3 is_stmt 1
  11739. 7459 0020 7B68 ldr r3, [r7, #4]
  11740. 7460 0022 9B68 ldr r3, [r3, #8]
  11741. 7461 0024 002B cmp r3, #0
  11742. 7462 0026 09D0 beq .L396
  11743. 7463 .loc 1 2874 3 is_stmt 0 discriminator 1
  11744. 7464 0028 7B68 ldr r3, [r7, #4]
  11745. 7465 002a 9B68 ldr r3, [r3, #8]
  11746. 7466 002c B3F5805F cmp r3, #4096
  11747. 7467 0030 04D0 beq .L396
  11748. 7468 .loc 1 2874 3 discriminator 2
  11749. 7469 0032 40F63A31 movw r1, #2874
  11750. 7470 0036 9148 ldr r0, .L463+4
  11751. 7471 0038 FFF7FEFF bl assert_failed
  11752. 7472 .L396:
  11753. 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
  11754. 7473 .loc 1 2875 3 is_stmt 1
  11755. 7474 003c 7B68 ldr r3, [r7, #4]
  11756. 7475 003e DB68 ldr r3, [r3, #12]
  11757. 7476 0040 B3F5805F cmp r3, #4096
  11758. 7477 0044 12D0 beq .L397
  11759. 7478 .loc 1 2875 3 is_stmt 0 discriminator 1
  11760. 7479 0046 7B68 ldr r3, [r7, #4]
  11761. 7480 0048 DB68 ldr r3, [r3, #12]
  11762. 7481 004a 002B cmp r3, #0
  11763. 7482 004c 0ED0 beq .L397
  11764. 7483 .loc 1 2875 3 discriminator 2
  11765. 7484 004e 7B68 ldr r3, [r7, #4]
  11766. 7485 0050 DB68 ldr r3, [r3, #12]
  11767. 7486 0052 B3F5405F cmp r3, #12288
  11768. 7487 0056 09D0 beq .L397
  11769. 7488 .loc 1 2875 3 discriminator 3
  11770. 7489 0058 7B68 ldr r3, [r7, #4]
  11771. 7490 005a DB68 ldr r3, [r3, #12]
  11772. 7491 005c B3F5005F cmp r3, #8192
  11773. 7492 0060 04D0 beq .L397
  11774. 7493 .loc 1 2875 3 discriminator 4
  11775. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 204
  11776. 7494 0062 40F63B31 movw r1, #2875
  11777. 7495 0066 8548 ldr r0, .L463+4
  11778. 7496 0068 FFF7FEFF bl assert_failed
  11779. 7497 .L397:
  11780. 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
  11781. 7498 .loc 1 2876 3 is_stmt 1
  11782. 7499 006c 7B68 ldr r3, [r7, #4]
  11783. 7500 006e 1B6A ldr r3, [r3, #32]
  11784. 7501 0070 002B cmp r3, #0
  11785. 7502 0072 09D0 beq .L398
  11786. 7503 .loc 1 2876 3 is_stmt 0 discriminator 1
  11787. 7504 0074 7B68 ldr r3, [r7, #4]
  11788. 7505 0076 1B6A ldr r3, [r3, #32]
  11789. 7506 0078 B3F5006F cmp r3, #2048
  11790. 7507 007c 04D0 beq .L398
  11791. 7508 .loc 1 2876 3 discriminator 2
  11792. 7509 007e 40F63C31 movw r1, #2876
  11793. 7510 0082 7E48 ldr r0, .L463+4
  11794. 7511 0084 FFF7FEFF bl assert_failed
  11795. 7512 .L398:
  11796. 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11797. 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
  11798. 7513 .loc 1 2878 3 is_stmt 1
  11799. 7514 0088 7B68 ldr r3, [r7, #4]
  11800. 7515 008a 1B69 ldr r3, [r3, #16]
  11801. 7516 008c 002B cmp r3, #0
  11802. 7517 008e 0ED0 beq .L399
  11803. 7518 .loc 1 2878 3 is_stmt 0 discriminator 1
  11804. 7519 0090 7B68 ldr r3, [r7, #4]
  11805. 7520 0092 1B69 ldr r3, [r3, #16]
  11806. 7521 0094 B3F5806F cmp r3, #1024
  11807. 7522 0098 09D0 beq .L399
  11808. 7523 .loc 1 2878 3 discriminator 2
  11809. 7524 009a 7B68 ldr r3, [r7, #4]
  11810. 7525 009c 1B69 ldr r3, [r3, #16]
  11811. 7526 009e B3F5C06F cmp r3, #1536
  11812. 7527 00a2 04D0 beq .L399
  11813. 7528 .loc 1 2878 3 discriminator 3
  11814. 7529 00a4 40F63E31 movw r1, #2878
  11815. 7530 00a8 7448 ldr r0, .L463+4
  11816. 7531 00aa FFF7FEFF bl assert_failed
  11817. 7532 .L399:
  11818. 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
  11819. 7533 .loc 1 2879 3 is_stmt 1
  11820. 7534 00ae 7B68 ldr r3, [r7, #4]
  11821. 7535 00b0 5B69 ldr r3, [r3, #20]
  11822. 7536 00b2 23F00C03 bic r3, r3, #12
  11823. 7537 00b6 002B cmp r3, #0
  11824. 7538 00b8 03D1 bne .L400
  11825. 7539 .loc 1 2879 3 is_stmt 0 discriminator 2
  11826. 7540 00ba 7B68 ldr r3, [r7, #4]
  11827. 7541 00bc 5B69 ldr r3, [r3, #20]
  11828. 7542 00be 002B cmp r3, #0
  11829. 7543 00c0 04D1 bne .L401
  11830. 7544 .L400:
  11831. 7545 .loc 1 2879 3 discriminator 3
  11832. 7546 00c2 40F63F31 movw r1, #2879
  11833. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 205
  11834. 7547 00c6 6D48 ldr r0, .L463+4
  11835. 7548 00c8 FFF7FEFF bl assert_failed
  11836. 7549 .L401:
  11837. 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
  11838. 7550 .loc 1 2880 3 is_stmt 1
  11839. 7551 00cc 7B68 ldr r3, [r7, #4]
  11840. 7552 00ce 9B69 ldr r3, [r3, #24]
  11841. 7553 00d0 002B cmp r3, #0
  11842. 7554 00d2 13D0 beq .L402
  11843. 7555 .loc 1 2880 3 is_stmt 0 discriminator 1
  11844. 7556 00d4 7B68 ldr r3, [r7, #4]
  11845. 7557 00d6 9B69 ldr r3, [r3, #24]
  11846. 7558 00d8 B3F5807F cmp r3, #256
  11847. 7559 00dc 0ED0 beq .L402
  11848. 7560 .loc 1 2880 3 discriminator 2
  11849. 7561 00de 7B68 ldr r3, [r7, #4]
  11850. 7562 00e0 9B69 ldr r3, [r3, #24]
  11851. 7563 00e2 B3F5007F cmp r3, #512
  11852. 7564 00e6 09D0 beq .L402
  11853. 7565 .loc 1 2880 3 discriminator 3
  11854. 7566 00e8 7B68 ldr r3, [r7, #4]
  11855. 7567 00ea 9B69 ldr r3, [r3, #24]
  11856. 7568 00ec B3F5407F cmp r3, #768
  11857. 7569 00f0 04D0 beq .L402
  11858. 7570 .loc 1 2880 3 discriminator 4
  11859. 7571 00f2 4FF43461 mov r1, #2880
  11860. 7572 00f6 6148 ldr r0, .L463+4
  11861. 7573 00f8 FFF7FEFF bl assert_failed
  11862. 7574 .L402:
  11863. 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
  11864. 7575 .loc 1 2881 3 is_stmt 1
  11865. 7576 00fc 7B68 ldr r3, [r7, #4]
  11866. 7577 00fe DB69 ldr r3, [r3, #28]
  11867. 7578 0100 002B cmp r3, #0
  11868. 7579 0102 09D0 beq .L403
  11869. 7580 .loc 1 2881 3 is_stmt 0 discriminator 1
  11870. 7581 0104 7B68 ldr r3, [r7, #4]
  11871. 7582 0106 DB69 ldr r3, [r3, #28]
  11872. 7583 0108 B3F5004F cmp r3, #32768
  11873. 7584 010c 04D0 beq .L403
  11874. 7585 .loc 1 2881 3 discriminator 2
  11875. 7586 010e 40F64131 movw r1, #2881
  11876. 7587 0112 5A48 ldr r0, .L463+4
  11877. 7588 0114 FFF7FEFF bl assert_failed
  11878. 7589 .L403:
  11879. 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11880. 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
  11881. 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure
  11882. 2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling:
  11883. 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value
  11884. 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value
  11885. 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value
  11886. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */
  11887. 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
  11888. 7590 .loc 1 2890 33 is_stmt 1
  11889. 7591 0118 7B68 ldr r3, [r7, #4]
  11890. 7592 011a 9A68 ldr r2, [r3, #8]
  11891. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 206
  11892. 7593 .loc 1 2890 58
  11893. 7594 011c 7B68 ldr r3, [r7, #4]
  11894. 7595 011e 1B69 ldr r3, [r3, #16]
  11895. 7596 .loc 1 2890 45
  11896. 7597 0120 1A43 orrs r2, r2, r3
  11897. 7598 .loc 1 2890 79
  11898. 7599 0122 7B68 ldr r3, [r7, #4]
  11899. 7600 0124 5B69 ldr r3, [r3, #20]
  11900. 7601 .loc 1 2890 66
  11901. 7602 0126 1A43 orrs r2, r2, r3
  11902. 7603 .loc 1 2890 98
  11903. 7604 0128 7B68 ldr r3, [r7, #4]
  11904. 7605 012a DB69 ldr r3, [r3, #28]
  11905. 7606 .loc 1 2890 10
  11906. 7607 012c 1343 orrs r3, r3, r2
  11907. 7608 012e 7B61 str r3, [r7, #20]
  11908. 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
  11909. 7609 .loc 1 2891 3
  11910. 7610 0130 7B68 ldr r3, [r7, #4]
  11911. 7611 0132 1B68 ldr r3, [r3]
  11912. 7612 0134 1B68 ldr r3, [r3]
  11913. 7613 0136 23F41643 bic r3, r3, #38400
  11914. 7614 013a 23F00C03 bic r3, r3, #12
  11915. 7615 013e 7A68 ldr r2, [r7, #4]
  11916. 7616 0140 1268 ldr r2, [r2]
  11917. 7617 0142 7969 ldr r1, [r7, #20]
  11918. 7618 0144 0B43 orrs r3, r3, r1
  11919. 7619 0146 1360 str r3, [r2]
  11920. 2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11921. 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
  11922. 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according
  11923. 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.StopBits value */
  11924. 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
  11925. 7620 .loc 1 2896 3
  11926. 7621 0148 7B68 ldr r3, [r7, #4]
  11927. 7622 014a 1B68 ldr r3, [r3]
  11928. 7623 014c 5B68 ldr r3, [r3, #4]
  11929. 7624 014e 23F44051 bic r1, r3, #12288
  11930. 7625 0152 7B68 ldr r3, [r7, #4]
  11931. 7626 0154 DA68 ldr r2, [r3, #12]
  11932. 7627 0156 7B68 ldr r3, [r7, #4]
  11933. 7628 0158 1B68 ldr r3, [r3]
  11934. 7629 015a 0A43 orrs r2, r2, r1
  11935. 7630 015c 5A60 str r2, [r3, #4]
  11936. 2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11937. 2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
  11938. 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure
  11939. 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according
  11940. 2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.HwFlowCtl value
  11941. 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according
  11942. 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */
  11943. 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl;
  11944. 7631 .loc 1 2904 10
  11945. 7632 015e 7B68 ldr r3, [r7, #4]
  11946. 7633 0160 9B69 ldr r3, [r3, #24]
  11947. 7634 0162 7B61 str r3, [r7, #20]
  11948. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11949. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 207
  11950. 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling;
  11951. 7635 .loc 1 2906 24
  11952. 7636 0164 7B68 ldr r3, [r7, #4]
  11953. 7637 0166 1B6A ldr r3, [r3, #32]
  11954. 7638 .loc 1 2906 10
  11955. 7639 0168 7A69 ldr r2, [r7, #20]
  11956. 7640 016a 1343 orrs r3, r3, r2
  11957. 7641 016c 7B61 str r3, [r7, #20]
  11958. 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
  11959. 7642 .loc 1 2907 3
  11960. 7643 016e 7B68 ldr r3, [r7, #4]
  11961. 7644 0170 1B68 ldr r3, [r3]
  11962. 7645 0172 9B68 ldr r3, [r3, #8]
  11963. 7646 0174 23F43061 bic r1, r3, #2816
  11964. 7647 0178 7B68 ldr r3, [r7, #4]
  11965. 7648 017a 1B68 ldr r3, [r3]
  11966. 7649 017c 7A69 ldr r2, [r7, #20]
  11967. 7650 017e 0A43 orrs r2, r2, r1
  11968. 7651 0180 9A60 str r2, [r3, #8]
  11969. 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11970. 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  11971. 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/
  11972. 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource);
  11973. 7652 .loc 1 2911 3
  11974. 7653 0182 7B68 ldr r3, [r7, #4]
  11975. 7654 0184 1B68 ldr r3, [r3]
  11976. 7655 0186 3E4A ldr r2, .L463+8
  11977. 7656 0188 9342 cmp r3, r2
  11978. 7657 018a 20D1 bne .L404
  11979. 7658 .loc 1 2911 3 is_stmt 0 discriminator 1
  11980. 7659 018c 3D4B ldr r3, .L463+12
  11981. 7660 018e 1B6B ldr r3, [r3, #48]
  11982. 7661 0190 03F00303 and r3, r3, #3
  11983. 7662 0194 032B cmp r3, #3
  11984. 7663 0196 17D8 bhi .L405
  11985. 7664 0198 01A2 adr r2, .L407
  11986. 7665 019a 52F823F0 ldr pc, [r2, r3, lsl #2]
  11987. 7666 019e 00BF .p2align 2
  11988. 7667 .L407:
  11989. 7668 01a0 B1010000 .word .L410+1
  11990. 7669 01a4 BD010000 .word .L409+1
  11991. 7670 01a8 C3010000 .word .L408+1
  11992. 7671 01ac B7010000 .word .L406+1
  11993. 7672 .p2align 1
  11994. 7673 .L410:
  11995. 7674 .loc 1 2911 3 discriminator 4
  11996. 7675 01b0 0123 movs r3, #1
  11997. 7676 01b2 FB77 strb r3, [r7, #31]
  11998. 7677 01b4 C2E0 b .L412
  11999. 7678 .L406:
  12000. 7679 .loc 1 2911 3 discriminator 7
  12001. 7680 01b6 0223 movs r3, #2
  12002. 7681 01b8 FB77 strb r3, [r7, #31]
  12003. 7682 01ba BFE0 b .L412
  12004. 7683 .L409:
  12005. 7684 .loc 1 2911 3 discriminator 5
  12006. 7685 01bc 0423 movs r3, #4
  12007. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 208
  12008. 7686 01be FB77 strb r3, [r7, #31]
  12009. 7687 01c0 BCE0 b .L412
  12010. 7688 .L408:
  12011. 7689 .loc 1 2911 3 discriminator 6
  12012. 7690 01c2 0823 movs r3, #8
  12013. 7691 01c4 FB77 strb r3, [r7, #31]
  12014. 7692 01c6 B9E0 b .L412
  12015. 7693 .L405:
  12016. 7694 .loc 1 2911 3 discriminator 3
  12017. 7695 01c8 1023 movs r3, #16
  12018. 7696 01ca FB77 strb r3, [r7, #31]
  12019. 7697 01cc B6E0 b .L412
  12020. 7698 .L404:
  12021. 7699 .loc 1 2911 3 discriminator 2
  12022. 7700 01ce 7B68 ldr r3, [r7, #4]
  12023. 7701 01d0 1B68 ldr r3, [r3]
  12024. 7702 01d2 2D4A ldr r2, .L463+16
  12025. 7703 01d4 9342 cmp r3, r2
  12026. 7704 01d6 24D1 bne .L413
  12027. 7705 .loc 1 2911 3 discriminator 13
  12028. 7706 01d8 2A4B ldr r3, .L463+12
  12029. 7707 01da 1B6B ldr r3, [r3, #48]
  12030. 7708 01dc 03F44033 and r3, r3, #196608
  12031. 7709 01e0 B3F5403F cmp r3, #196608
  12032. 7710 01e4 11D0 beq .L414
  12033. 7711 .loc 1 2911 3
  12034. 7712 01e6 B3F5403F cmp r3, #196608
  12035. 7713 01ea 17D8 bhi .L415
  12036. 7714 01ec B3F5003F cmp r3, #131072
  12037. 7715 01f0 11D0 beq .L416
  12038. 7716 01f2 B3F5003F cmp r3, #131072
  12039. 7717 01f6 11D8 bhi .L415
  12040. 7718 01f8 002B cmp r3, #0
  12041. 7719 01fa 03D0 beq .L417
  12042. 7720 01fc B3F5803F cmp r3, #65536
  12043. 7721 0200 06D0 beq .L418
  12044. 7722 0202 0BE0 b .L415
  12045. 7723 .L417:
  12046. 7724 .loc 1 2911 3 discriminator 16
  12047. 7725 0204 0023 movs r3, #0
  12048. 7726 0206 FB77 strb r3, [r7, #31]
  12049. 7727 0208 98E0 b .L412
  12050. 7728 .L414:
  12051. 7729 .loc 1 2911 3 discriminator 19
  12052. 7730 020a 0223 movs r3, #2
  12053. 7731 020c FB77 strb r3, [r7, #31]
  12054. 7732 020e 95E0 b .L412
  12055. 7733 .L418:
  12056. 7734 .loc 1 2911 3 discriminator 17
  12057. 7735 0210 0423 movs r3, #4
  12058. 7736 0212 FB77 strb r3, [r7, #31]
  12059. 7737 0214 92E0 b .L412
  12060. 7738 .L416:
  12061. 7739 .loc 1 2911 3 discriminator 18
  12062. 7740 0216 0823 movs r3, #8
  12063. 7741 0218 FB77 strb r3, [r7, #31]
  12064. 7742 021a 8FE0 b .L412
  12065. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 209
  12066. 7743 .L415:
  12067. 7744 .loc 1 2911 3 discriminator 15
  12068. 7745 021c 1023 movs r3, #16
  12069. 7746 021e FB77 strb r3, [r7, #31]
  12070. 7747 0220 8CE0 b .L412
  12071. 7748 .L413:
  12072. 7749 .loc 1 2911 3 discriminator 14
  12073. 7750 0222 7B68 ldr r3, [r7, #4]
  12074. 7751 0224 1B68 ldr r3, [r3]
  12075. 7752 0226 194A ldr r2, .L463+20
  12076. 7753 0228 9342 cmp r3, r2
  12077. 7754 022a 31D1 bne .L420
  12078. 7755 .loc 1 2911 3 discriminator 25
  12079. 7756 022c 154B ldr r3, .L463+12
  12080. 7757 022e 1B6B ldr r3, [r3, #48]
  12081. 7758 0230 03F44023 and r3, r3, #786432
  12082. 7759 0234 B3F5402F cmp r3, #786432
  12083. 7760 0238 11D0 beq .L421
  12084. 7761 .loc 1 2911 3
  12085. 7762 023a B3F5402F cmp r3, #786432
  12086. 7763 023e 17D8 bhi .L422
  12087. 7764 0240 B3F5002F cmp r3, #524288
  12088. 7765 0244 11D0 beq .L423
  12089. 7766 0246 B3F5002F cmp r3, #524288
  12090. 7767 024a 11D8 bhi .L422
  12091. 7768 024c 002B cmp r3, #0
  12092. 7769 024e 03D0 beq .L424
  12093. 7770 0250 B3F5802F cmp r3, #262144
  12094. 7771 0254 06D0 beq .L425
  12095. 7772 0256 0BE0 b .L422
  12096. 7773 .L424:
  12097. 7774 .loc 1 2911 3 discriminator 28
  12098. 7775 0258 0023 movs r3, #0
  12099. 7776 025a FB77 strb r3, [r7, #31]
  12100. 7777 025c 6EE0 b .L412
  12101. 7778 .L421:
  12102. 7779 .loc 1 2911 3 discriminator 31
  12103. 7780 025e 0223 movs r3, #2
  12104. 7781 0260 FB77 strb r3, [r7, #31]
  12105. 7782 0262 6BE0 b .L412
  12106. 7783 .L425:
  12107. 7784 .loc 1 2911 3 discriminator 29
  12108. 7785 0264 0423 movs r3, #4
  12109. 7786 0266 FB77 strb r3, [r7, #31]
  12110. 7787 0268 68E0 b .L412
  12111. 7788 .L423:
  12112. 7789 .loc 1 2911 3 discriminator 30
  12113. 7790 026a 0823 movs r3, #8
  12114. 7791 026c FB77 strb r3, [r7, #31]
  12115. 7792 026e 65E0 b .L412
  12116. 7793 .L422:
  12117. 7794 .loc 1 2911 3 discriminator 27
  12118. 7795 0270 1023 movs r3, #16
  12119. 7796 0272 FB77 strb r3, [r7, #31]
  12120. 7797 0274 62E0 b .L412
  12121. 7798 .L464:
  12122. 7799 0276 00BF .align 2
  12123. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 210
  12124. 7800 .L463:
  12125. 7801 0278 40548900 .word 9000000
  12126. 7802 027c 00000000 .word .LC0
  12127. 7803 0280 00380140 .word 1073821696
  12128. 7804 0284 00100240 .word 1073876992
  12129. 7805 0288 00440040 .word 1073759232
  12130. 7806 028c 00480040 .word 1073760256
  12131. 7807 .L420:
  12132. 7808 .loc 1 2911 3 discriminator 26
  12133. 7809 0290 7B68 ldr r3, [r7, #4]
  12134. 7810 0292 1B68 ldr r3, [r3]
  12135. 7811 0294 864A ldr r2, .L465
  12136. 7812 0296 9342 cmp r3, r2
  12137. 7813 0298 24D1 bne .L427
  12138. 7814 .loc 1 2911 3 discriminator 37
  12139. 7815 029a 864B ldr r3, .L465+4
  12140. 7816 029c 1B6B ldr r3, [r3, #48]
  12141. 7817 029e 03F44013 and r3, r3, #3145728
  12142. 7818 02a2 B3F5401F cmp r3, #3145728
  12143. 7819 02a6 11D0 beq .L428
  12144. 7820 .loc 1 2911 3
  12145. 7821 02a8 B3F5401F cmp r3, #3145728
  12146. 7822 02ac 17D8 bhi .L429
  12147. 7823 02ae B3F5001F cmp r3, #2097152
  12148. 7824 02b2 11D0 beq .L430
  12149. 7825 02b4 B3F5001F cmp r3, #2097152
  12150. 7826 02b8 11D8 bhi .L429
  12151. 7827 02ba 002B cmp r3, #0
  12152. 7828 02bc 03D0 beq .L431
  12153. 7829 02be B3F5801F cmp r3, #1048576
  12154. 7830 02c2 06D0 beq .L432
  12155. 7831 02c4 0BE0 b .L429
  12156. 7832 .L431:
  12157. 7833 .loc 1 2911 3 discriminator 40
  12158. 7834 02c6 0023 movs r3, #0
  12159. 7835 02c8 FB77 strb r3, [r7, #31]
  12160. 7836 02ca 37E0 b .L412
  12161. 7837 .L428:
  12162. 7838 .loc 1 2911 3 discriminator 43
  12163. 7839 02cc 0223 movs r3, #2
  12164. 7840 02ce FB77 strb r3, [r7, #31]
  12165. 7841 02d0 34E0 b .L412
  12166. 7842 .L432:
  12167. 7843 .loc 1 2911 3 discriminator 41
  12168. 7844 02d2 0423 movs r3, #4
  12169. 7845 02d4 FB77 strb r3, [r7, #31]
  12170. 7846 02d6 31E0 b .L412
  12171. 7847 .L430:
  12172. 7848 .loc 1 2911 3 discriminator 42
  12173. 7849 02d8 0823 movs r3, #8
  12174. 7850 02da FB77 strb r3, [r7, #31]
  12175. 7851 02dc 2EE0 b .L412
  12176. 7852 .L429:
  12177. 7853 .loc 1 2911 3 discriminator 39
  12178. 7854 02de 1023 movs r3, #16
  12179. 7855 02e0 FB77 strb r3, [r7, #31]
  12180. 7856 02e2 2BE0 b .L412
  12181. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 211
  12182. 7857 .L427:
  12183. 7858 .loc 1 2911 3 discriminator 38
  12184. 7859 02e4 7B68 ldr r3, [r7, #4]
  12185. 7860 02e6 1B68 ldr r3, [r3]
  12186. 7861 02e8 734A ldr r2, .L465+8
  12187. 7862 02ea 9342 cmp r3, r2
  12188. 7863 02ec 24D1 bne .L434
  12189. 7864 .loc 1 2911 3 discriminator 49
  12190. 7865 02ee 714B ldr r3, .L465+4
  12191. 7866 02f0 1B6B ldr r3, [r3, #48]
  12192. 7867 02f2 03F44003 and r3, r3, #12582912
  12193. 7868 02f6 B3F5400F cmp r3, #12582912
  12194. 7869 02fa 11D0 beq .L435
  12195. 7870 .loc 1 2911 3
  12196. 7871 02fc B3F5400F cmp r3, #12582912
  12197. 7872 0300 17D8 bhi .L436
  12198. 7873 0302 B3F5000F cmp r3, #8388608
  12199. 7874 0306 11D0 beq .L437
  12200. 7875 0308 B3F5000F cmp r3, #8388608
  12201. 7876 030c 11D8 bhi .L436
  12202. 7877 030e 002B cmp r3, #0
  12203. 7878 0310 03D0 beq .L438
  12204. 7879 0312 B3F5800F cmp r3, #4194304
  12205. 7880 0316 06D0 beq .L439
  12206. 7881 0318 0BE0 b .L436
  12207. 7882 .L438:
  12208. 7883 .loc 1 2911 3 discriminator 52
  12209. 7884 031a 0023 movs r3, #0
  12210. 7885 031c FB77 strb r3, [r7, #31]
  12211. 7886 031e 0DE0 b .L412
  12212. 7887 .L435:
  12213. 7888 .loc 1 2911 3 discriminator 55
  12214. 7889 0320 0223 movs r3, #2
  12215. 7890 0322 FB77 strb r3, [r7, #31]
  12216. 7891 0324 0AE0 b .L412
  12217. 7892 .L439:
  12218. 7893 .loc 1 2911 3 discriminator 53
  12219. 7894 0326 0423 movs r3, #4
  12220. 7895 0328 FB77 strb r3, [r7, #31]
  12221. 7896 032a 07E0 b .L412
  12222. 7897 .L437:
  12223. 7898 .loc 1 2911 3 discriminator 54
  12224. 7899 032c 0823 movs r3, #8
  12225. 7900 032e FB77 strb r3, [r7, #31]
  12226. 7901 0330 04E0 b .L412
  12227. 7902 .L436:
  12228. 7903 .loc 1 2911 3 discriminator 51
  12229. 7904 0332 1023 movs r3, #16
  12230. 7905 0334 FB77 strb r3, [r7, #31]
  12231. 7906 0336 01E0 b .L412
  12232. 7907 .L434:
  12233. 7908 .loc 1 2911 3 discriminator 50
  12234. 7909 0338 1023 movs r3, #16
  12235. 7910 033a FB77 strb r3, [r7, #31]
  12236. 7911 .L412:
  12237. 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12238. 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
  12239. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 212
  12240. 7912 .loc 1 2913 18 is_stmt 1
  12241. 7913 033c 7B68 ldr r3, [r7, #4]
  12242. 7914 033e DB69 ldr r3, [r3, #28]
  12243. 7915 .loc 1 2913 6
  12244. 7916 0340 B3F5004F cmp r3, #32768
  12245. 7917 0344 5BD1 bne .L441
  12246. 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12247. 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource)
  12248. 7918 .loc 1 2915 5
  12249. 7919 0346 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
  12250. 7920 0348 082B cmp r3, #8
  12251. 7921 034a 28D8 bhi .L442
  12252. 7922 034c 01A2 adr r2, .L444
  12253. 7923 034e 52F823F0 ldr pc, [r2, r3, lsl #2]
  12254. 7924 0352 00BF .p2align 2
  12255. 7925 .L444:
  12256. 7926 0354 79030000 .word .L448+1
  12257. 7927 0358 81030000 .word .L447+1
  12258. 7928 035c 89030000 .word .L446+1
  12259. 7929 0360 9F030000 .word .L442+1
  12260. 7930 0364 8F030000 .word .L445+1
  12261. 7931 0368 9F030000 .word .L442+1
  12262. 7932 036c 9F030000 .word .L442+1
  12263. 7933 0370 9F030000 .word .L442+1
  12264. 7934 0374 97030000 .word .L443+1
  12265. 7935 .p2align 1
  12266. 7936 .L448:
  12267. 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12268. 2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
  12269. 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
  12270. 7937 .loc 1 2918 16
  12271. 7938 0378 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
  12272. 7939 037c B861 str r0, [r7, #24]
  12273. 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12274. 7940 .loc 1 2919 9
  12275. 7941 037e 13E0 b .L449
  12276. 7942 .L447:
  12277. 2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
  12278. 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
  12279. 7943 .loc 1 2921 16
  12280. 7944 0380 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
  12281. 7945 0384 B861 str r0, [r7, #24]
  12282. 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12283. 7946 .loc 1 2922 9
  12284. 7947 0386 0FE0 b .L449
  12285. 7948 .L446:
  12286. 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
  12287. 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
  12288. 7949 .loc 1 2924 14
  12289. 7950 0388 4C4B ldr r3, .L465+12
  12290. 7951 038a BB61 str r3, [r7, #24]
  12291. 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12292. 7952 .loc 1 2925 9
  12293. 7953 038c 0CE0 b .L449
  12294. 7954 .L445:
  12295. 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
  12296. 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
  12297. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 213
  12298. 7955 .loc 1 2927 16
  12299. 7956 038e FFF7FEFF bl HAL_RCC_GetSysClockFreq
  12300. 7957 0392 B861 str r0, [r7, #24]
  12301. 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12302. 7958 .loc 1 2928 9
  12303. 7959 0394 08E0 b .L449
  12304. 7960 .L443:
  12305. 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
  12306. 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
  12307. 7961 .loc 1 2930 14
  12308. 7962 0396 4FF40043 mov r3, #32768
  12309. 7963 039a BB61 str r3, [r7, #24]
  12310. 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12311. 7964 .loc 1 2931 9
  12312. 7965 039c 04E0 b .L449
  12313. 7966 .L442:
  12314. 2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default:
  12315. 2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U;
  12316. 7967 .loc 1 2933 14
  12317. 7968 039e 0023 movs r3, #0
  12318. 7969 03a0 BB61 str r3, [r7, #24]
  12319. 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
  12320. 7970 .loc 1 2934 13
  12321. 7971 03a2 0123 movs r3, #1
  12322. 7972 03a4 BB77 strb r3, [r7, #30]
  12323. 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12324. 7973 .loc 1 2935 9
  12325. 7974 03a6 00BF nop
  12326. 7975 .L449:
  12327. 2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12328. 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12329. 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
  12330. 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U)
  12331. 7976 .loc 1 2939 8
  12332. 7977 03a8 BB69 ldr r3, [r7, #24]
  12333. 7978 03aa 002B cmp r3, #0
  12334. 7979 03ac 74D0 beq .L452
  12335. 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12336. 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate));
  12337. 7980 .loc 1 2941 29
  12338. 7981 03ae BB69 ldr r3, [r7, #24]
  12339. 7982 03b0 5A00 lsls r2, r3, #1
  12340. 7983 03b2 7B68 ldr r3, [r7, #4]
  12341. 7984 03b4 5B68 ldr r3, [r3, #4]
  12342. 7985 03b6 5B08 lsrs r3, r3, #1
  12343. 7986 03b8 1A44 add r2, r2, r3
  12344. 7987 03ba 7B68 ldr r3, [r7, #4]
  12345. 7988 03bc 5B68 ldr r3, [r3, #4]
  12346. 7989 .loc 1 2941 16
  12347. 7990 03be B2FBF3F3 udiv r3, r2, r3
  12348. 7991 03c2 3B61 str r3, [r7, #16]
  12349. 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
  12350. 7992 .loc 1 2942 10
  12351. 7993 03c4 3B69 ldr r3, [r7, #16]
  12352. 7994 03c6 0F2B cmp r3, #15
  12353. 7995 03c8 16D9 bls .L451
  12354. 7996 .loc 1 2942 38 discriminator 1
  12355. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 214
  12356. 7997 03ca 3B69 ldr r3, [r7, #16]
  12357. 7998 03cc B3F5803F cmp r3, #65536
  12358. 7999 03d0 12D2 bcs .L451
  12359. 2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12360. 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
  12361. 8000 .loc 1 2944 19
  12362. 8001 03d2 3B69 ldr r3, [r7, #16]
  12363. 8002 03d4 9BB2 uxth r3, r3
  12364. 8003 .loc 1 2944 17
  12365. 8004 03d6 23F00F03 bic r3, r3, #15
  12366. 8005 03da FB81 strh r3, [r7, #14] @ movhi
  12367. 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
  12368. 8006 .loc 1 2945 62
  12369. 8007 03dc 3B69 ldr r3, [r7, #16]
  12370. 8008 03de 5B08 lsrs r3, r3, #1
  12371. 8009 .loc 1 2945 20
  12372. 8010 03e0 9BB2 uxth r3, r3
  12373. 8011 03e2 03F00703 and r3, r3, #7
  12374. 8012 03e6 9AB2 uxth r2, r3
  12375. 8013 .loc 1 2945 17
  12376. 8014 03e8 FB89 ldrh r3, [r7, #14] @ movhi
  12377. 8015 03ea 1343 orrs r3, r3, r2
  12378. 8016 03ec FB81 strh r3, [r7, #14] @ movhi
  12379. 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
  12380. 8017 .loc 1 2946 14
  12381. 8018 03ee 7B68 ldr r3, [r7, #4]
  12382. 8019 03f0 1B68 ldr r3, [r3]
  12383. 8020 .loc 1 2946 30
  12384. 8021 03f2 FA89 ldrh r2, [r7, #14]
  12385. 8022 03f4 DA60 str r2, [r3, #12]
  12386. 8023 03f6 4FE0 b .L452
  12387. 8024 .L451:
  12388. 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12389. 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  12390. 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12391. 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
  12392. 8025 .loc 1 2950 13
  12393. 8026 03f8 0123 movs r3, #1
  12394. 8027 03fa BB77 strb r3, [r7, #30]
  12395. 8028 03fc 4CE0 b .L452
  12396. 8029 .L441:
  12397. 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12398. 2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12399. 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12400. 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  12401. 2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12402. 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource)
  12403. 8030 .loc 1 2956 5
  12404. 8031 03fe FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
  12405. 8032 0400 082B cmp r3, #8
  12406. 8033 0402 28D8 bhi .L453
  12407. 8034 0404 01A2 adr r2, .L455
  12408. 8035 0406 52F823F0 ldr pc, [r2, r3, lsl #2]
  12409. 8036 040a 00BF .p2align 2
  12410. 8037 .L455:
  12411. 8038 040c 31040000 .word .L459+1
  12412. 8039 0410 39040000 .word .L458+1
  12413. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 215
  12414. 8040 0414 41040000 .word .L457+1
  12415. 8041 0418 57040000 .word .L453+1
  12416. 8042 041c 47040000 .word .L456+1
  12417. 8043 0420 57040000 .word .L453+1
  12418. 8044 0424 57040000 .word .L453+1
  12419. 8045 0428 57040000 .word .L453+1
  12420. 8046 042c 4F040000 .word .L454+1
  12421. 8047 .p2align 1
  12422. 8048 .L459:
  12423. 2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12424. 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
  12425. 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
  12426. 8049 .loc 1 2959 16
  12427. 8050 0430 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
  12428. 8051 0434 B861 str r0, [r7, #24]
  12429. 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12430. 8052 .loc 1 2960 9
  12431. 8053 0436 13E0 b .L460
  12432. 8054 .L458:
  12433. 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
  12434. 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
  12435. 8055 .loc 1 2962 16
  12436. 8056 0438 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
  12437. 8057 043c B861 str r0, [r7, #24]
  12438. 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12439. 8058 .loc 1 2963 9
  12440. 8059 043e 0FE0 b .L460
  12441. 8060 .L457:
  12442. 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
  12443. 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
  12444. 8061 .loc 1 2965 14
  12445. 8062 0440 1E4B ldr r3, .L465+12
  12446. 8063 0442 BB61 str r3, [r7, #24]
  12447. 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12448. 8064 .loc 1 2966 9
  12449. 8065 0444 0CE0 b .L460
  12450. 8066 .L456:
  12451. 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
  12452. 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
  12453. 8067 .loc 1 2968 16
  12454. 8068 0446 FFF7FEFF bl HAL_RCC_GetSysClockFreq
  12455. 8069 044a B861 str r0, [r7, #24]
  12456. 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12457. 8070 .loc 1 2969 9
  12458. 8071 044c 08E0 b .L460
  12459. 8072 .L454:
  12460. 2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
  12461. 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
  12462. 8073 .loc 1 2971 14
  12463. 8074 044e 4FF40043 mov r3, #32768
  12464. 8075 0452 BB61 str r3, [r7, #24]
  12465. 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12466. 8076 .loc 1 2972 9
  12467. 8077 0454 04E0 b .L460
  12468. 8078 .L453:
  12469. 2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default:
  12470. 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U;
  12471. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 216
  12472. 8079 .loc 1 2974 14
  12473. 8080 0456 0023 movs r3, #0
  12474. 8081 0458 BB61 str r3, [r7, #24]
  12475. 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
  12476. 8082 .loc 1 2975 13
  12477. 8083 045a 0123 movs r3, #1
  12478. 8084 045c BB77 strb r3, [r7, #30]
  12479. 2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
  12480. 8085 .loc 1 2976 9
  12481. 8086 045e 00BF nop
  12482. 8087 .L460:
  12483. 2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12484. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12485. 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U)
  12486. 8088 .loc 1 2979 8
  12487. 8089 0460 BB69 ldr r3, [r7, #24]
  12488. 8090 0462 002B cmp r3, #0
  12489. 8091 0464 18D0 beq .L452
  12490. 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12491. 2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
  12492. 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate));
  12493. 8092 .loc 1 2982 29
  12494. 8093 0466 7B68 ldr r3, [r7, #4]
  12495. 8094 0468 5B68 ldr r3, [r3, #4]
  12496. 8095 046a 5A08 lsrs r2, r3, #1
  12497. 8096 046c BB69 ldr r3, [r7, #24]
  12498. 8097 046e 1A44 add r2, r2, r3
  12499. 8098 0470 7B68 ldr r3, [r7, #4]
  12500. 8099 0472 5B68 ldr r3, [r3, #4]
  12501. 8100 .loc 1 2982 16
  12502. 8101 0474 B2FBF3F3 udiv r3, r2, r3
  12503. 8102 0478 3B61 str r3, [r7, #16]
  12504. 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
  12505. 8103 .loc 1 2983 10
  12506. 8104 047a 3B69 ldr r3, [r7, #16]
  12507. 8105 047c 0F2B cmp r3, #15
  12508. 8106 047e 09D9 bls .L461
  12509. 8107 .loc 1 2983 38 discriminator 1
  12510. 8108 0480 3B69 ldr r3, [r7, #16]
  12511. 8109 0482 B3F5803F cmp r3, #65536
  12512. 8110 0486 05D2 bcs .L461
  12513. 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12514. 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv;
  12515. 8111 .loc 1 2985 32
  12516. 8112 0488 3B69 ldr r3, [r7, #16]
  12517. 8113 048a 9AB2 uxth r2, r3
  12518. 8114 .loc 1 2985 14
  12519. 8115 048c 7B68 ldr r3, [r7, #4]
  12520. 8116 048e 1B68 ldr r3, [r3]
  12521. 8117 .loc 1 2985 30
  12522. 8118 0490 DA60 str r2, [r3, #12]
  12523. 8119 0492 01E0 b .L452
  12524. 8120 .L461:
  12525. 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12526. 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  12527. 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12528. 2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
  12529. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 217
  12530. 8121 .loc 1 2989 13
  12531. 8122 0494 0123 movs r3, #1
  12532. 8123 0496 BB77 strb r3, [r7, #30]
  12533. 8124 .L452:
  12534. 2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12535. 2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12536. 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12537. 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12538. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12539. 2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */
  12540. 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
  12541. 8125 .loc 1 2996 16
  12542. 8126 0498 7B68 ldr r3, [r7, #4]
  12543. 8127 049a 0022 movs r2, #0
  12544. 8128 049c 9A66 str r2, [r3, #104]
  12545. 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
  12546. 8129 .loc 1 2997 16
  12547. 8130 049e 7B68 ldr r3, [r7, #4]
  12548. 8131 04a0 0022 movs r2, #0
  12549. 8132 04a2 DA66 str r2, [r3, #108]
  12550. 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12551. 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return ret;
  12552. 8133 .loc 1 2999 10
  12553. 8134 04a4 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2
  12554. 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12555. 8135 .loc 1 3000 1
  12556. 8136 04a6 1846 mov r0, r3
  12557. 8137 04a8 2037 adds r7, r7, #32
  12558. 8138 .LCFI239:
  12559. 8139 .cfi_def_cfa_offset 8
  12560. 8140 04aa BD46 mov sp, r7
  12561. 8141 .LCFI240:
  12562. 8142 .cfi_def_cfa_register 13
  12563. 8143 @ sp needed
  12564. 8144 04ac 80BD pop {r7, pc}
  12565. 8145 .L466:
  12566. 8146 04ae 00BF .align 2
  12567. 8147 .L465:
  12568. 8148 04b0 004C0040 .word 1073761280
  12569. 8149 04b4 00100240 .word 1073876992
  12570. 8150 04b8 00500040 .word 1073762304
  12571. 8151 04bc 00127A00 .word 8000000
  12572. 8152 .cfi_endproc
  12573. 8153 .LFE173:
  12574. 8155 .section .text.UART_AdvFeatureConfig,"ax",%progbits
  12575. 8156 .align 1
  12576. 8157 .global UART_AdvFeatureConfig
  12577. 8158 .syntax unified
  12578. 8159 .thumb
  12579. 8160 .thumb_func
  12580. 8162 UART_AdvFeatureConfig:
  12581. 8163 .LFB174:
  12582. 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12583. 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  12584. 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features.
  12585. 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  12586. 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  12587. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 218
  12588. 3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  12589. 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
  12590. 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12591. 8164 .loc 1 3008 1
  12592. 8165 .cfi_startproc
  12593. 8166 @ args = 0, pretend = 0, frame = 8
  12594. 8167 @ frame_needed = 1, uses_anonymous_args = 0
  12595. 8168 0000 80B5 push {r7, lr}
  12596. 8169 .LCFI241:
  12597. 8170 .cfi_def_cfa_offset 8
  12598. 8171 .cfi_offset 7, -8
  12599. 8172 .cfi_offset 14, -4
  12600. 8173 0002 82B0 sub sp, sp, #8
  12601. 8174 .LCFI242:
  12602. 8175 .cfi_def_cfa_offset 16
  12603. 8176 0004 00AF add r7, sp, #0
  12604. 8177 .LCFI243:
  12605. 8178 .cfi_def_cfa_register 7
  12606. 8179 0006 7860 str r0, [r7, #4]
  12607. 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
  12608. 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
  12609. 8180 .loc 1 3010 3
  12610. 8181 0008 7B68 ldr r3, [r7, #4]
  12611. 8182 000a 5B6A ldr r3, [r3, #36]
  12612. 8183 000c FF2B cmp r3, #255
  12613. 8184 000e 04D9 bls .L468
  12614. 8185 .loc 1 3010 3 is_stmt 0 discriminator 1
  12615. 8186 0010 40F6C231 movw r1, #3010
  12616. 8187 0014 9648 ldr r0, .L488
  12617. 8188 0016 FFF7FEFF bl assert_failed
  12618. 8189 .L468:
  12619. 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12620. 3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX/TX pins swap */
  12621. 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
  12622. 8190 .loc 1 3013 7 is_stmt 1
  12623. 8191 001a 7B68 ldr r3, [r7, #4]
  12624. 8192 001c 5B6A ldr r3, [r3, #36]
  12625. 8193 001e 03F00803 and r3, r3, #8
  12626. 8194 .loc 1 3013 6
  12627. 8195 0022 002B cmp r3, #0
  12628. 8196 0024 18D0 beq .L469
  12629. 3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12630. 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
  12631. 8197 .loc 1 3015 5
  12632. 8198 0026 7B68 ldr r3, [r7, #4]
  12633. 8199 0028 5B6B ldr r3, [r3, #52]
  12634. 8200 002a 002B cmp r3, #0
  12635. 8201 002c 09D0 beq .L470
  12636. 8202 .loc 1 3015 5 is_stmt 0 discriminator 1
  12637. 8203 002e 7B68 ldr r3, [r7, #4]
  12638. 8204 0030 5B6B ldr r3, [r3, #52]
  12639. 8205 0032 B3F5004F cmp r3, #32768
  12640. 8206 0036 04D0 beq .L470
  12641. 8207 .loc 1 3015 5 discriminator 2
  12642. 8208 0038 40F6C731 movw r1, #3015
  12643. 8209 003c 8C48 ldr r0, .L488
  12644. 8210 003e FFF7FEFF bl assert_failed
  12645. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 219
  12646. 8211 .L470:
  12647. 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
  12648. 8212 .loc 1 3016 5 is_stmt 1
  12649. 8213 0042 7B68 ldr r3, [r7, #4]
  12650. 8214 0044 1B68 ldr r3, [r3]
  12651. 8215 0046 5B68 ldr r3, [r3, #4]
  12652. 8216 0048 23F40041 bic r1, r3, #32768
  12653. 8217 004c 7B68 ldr r3, [r7, #4]
  12654. 8218 004e 5A6B ldr r2, [r3, #52]
  12655. 8219 0050 7B68 ldr r3, [r7, #4]
  12656. 8220 0052 1B68 ldr r3, [r3]
  12657. 8221 0054 0A43 orrs r2, r2, r1
  12658. 8222 0056 5A60 str r2, [r3, #4]
  12659. 8223 .L469:
  12660. 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12661. 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12662. 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure TX pin active level inversion */
  12663. 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
  12664. 8224 .loc 1 3020 7
  12665. 8225 0058 7B68 ldr r3, [r7, #4]
  12666. 8226 005a 5B6A ldr r3, [r3, #36]
  12667. 8227 005c 03F00103 and r3, r3, #1
  12668. 8228 .loc 1 3020 6
  12669. 8229 0060 002B cmp r3, #0
  12670. 8230 0062 18D0 beq .L471
  12671. 3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12672. 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
  12673. 8231 .loc 1 3022 5
  12674. 8232 0064 7B68 ldr r3, [r7, #4]
  12675. 8233 0066 9B6A ldr r3, [r3, #40]
  12676. 8234 0068 002B cmp r3, #0
  12677. 8235 006a 09D0 beq .L472
  12678. 8236 .loc 1 3022 5 is_stmt 0 discriminator 1
  12679. 8237 006c 7B68 ldr r3, [r7, #4]
  12680. 8238 006e 9B6A ldr r3, [r3, #40]
  12681. 8239 0070 B3F5003F cmp r3, #131072
  12682. 8240 0074 04D0 beq .L472
  12683. 8241 .loc 1 3022 5 discriminator 2
  12684. 8242 0076 40F6CE31 movw r1, #3022
  12685. 8243 007a 7D48 ldr r0, .L488
  12686. 8244 007c FFF7FEFF bl assert_failed
  12687. 8245 .L472:
  12688. 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
  12689. 8246 .loc 1 3023 5 is_stmt 1
  12690. 8247 0080 7B68 ldr r3, [r7, #4]
  12691. 8248 0082 1B68 ldr r3, [r3]
  12692. 8249 0084 5B68 ldr r3, [r3, #4]
  12693. 8250 0086 23F40031 bic r1, r3, #131072
  12694. 8251 008a 7B68 ldr r3, [r7, #4]
  12695. 8252 008c 9A6A ldr r2, [r3, #40]
  12696. 8253 008e 7B68 ldr r3, [r7, #4]
  12697. 8254 0090 1B68 ldr r3, [r3]
  12698. 8255 0092 0A43 orrs r2, r2, r1
  12699. 8256 0094 5A60 str r2, [r3, #4]
  12700. 8257 .L471:
  12701. 3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12702. 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12703. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 220
  12704. 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX pin active level inversion */
  12705. 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
  12706. 8258 .loc 1 3027 7
  12707. 8259 0096 7B68 ldr r3, [r7, #4]
  12708. 8260 0098 5B6A ldr r3, [r3, #36]
  12709. 8261 009a 03F00203 and r3, r3, #2
  12710. 8262 .loc 1 3027 6
  12711. 8263 009e 002B cmp r3, #0
  12712. 8264 00a0 18D0 beq .L473
  12713. 3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12714. 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
  12715. 8265 .loc 1 3029 5
  12716. 8266 00a2 7B68 ldr r3, [r7, #4]
  12717. 8267 00a4 DB6A ldr r3, [r3, #44]
  12718. 8268 00a6 002B cmp r3, #0
  12719. 8269 00a8 09D0 beq .L474
  12720. 8270 .loc 1 3029 5 is_stmt 0 discriminator 1
  12721. 8271 00aa 7B68 ldr r3, [r7, #4]
  12722. 8272 00ac DB6A ldr r3, [r3, #44]
  12723. 8273 00ae B3F5803F cmp r3, #65536
  12724. 8274 00b2 04D0 beq .L474
  12725. 8275 .loc 1 3029 5 discriminator 2
  12726. 8276 00b4 40F6D531 movw r1, #3029
  12727. 8277 00b8 6D48 ldr r0, .L488
  12728. 8278 00ba FFF7FEFF bl assert_failed
  12729. 8279 .L474:
  12730. 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
  12731. 8280 .loc 1 3030 5 is_stmt 1
  12732. 8281 00be 7B68 ldr r3, [r7, #4]
  12733. 8282 00c0 1B68 ldr r3, [r3]
  12734. 8283 00c2 5B68 ldr r3, [r3, #4]
  12735. 8284 00c4 23F48031 bic r1, r3, #65536
  12736. 8285 00c8 7B68 ldr r3, [r7, #4]
  12737. 8286 00ca DA6A ldr r2, [r3, #44]
  12738. 8287 00cc 7B68 ldr r3, [r7, #4]
  12739. 8288 00ce 1B68 ldr r3, [r3]
  12740. 8289 00d0 0A43 orrs r2, r2, r1
  12741. 8290 00d2 5A60 str r2, [r3, #4]
  12742. 8291 .L473:
  12743. 3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12744. 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12745. 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure data inversion */
  12746. 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
  12747. 8292 .loc 1 3034 7
  12748. 8293 00d4 7B68 ldr r3, [r7, #4]
  12749. 8294 00d6 5B6A ldr r3, [r3, #36]
  12750. 8295 00d8 03F00403 and r3, r3, #4
  12751. 8296 .loc 1 3034 6
  12752. 8297 00dc 002B cmp r3, #0
  12753. 8298 00de 18D0 beq .L475
  12754. 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12755. 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
  12756. 8299 .loc 1 3036 5
  12757. 8300 00e0 7B68 ldr r3, [r7, #4]
  12758. 8301 00e2 1B6B ldr r3, [r3, #48]
  12759. 8302 00e4 002B cmp r3, #0
  12760. 8303 00e6 09D0 beq .L476
  12761. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 221
  12762. 8304 .loc 1 3036 5 is_stmt 0 discriminator 1
  12763. 8305 00e8 7B68 ldr r3, [r7, #4]
  12764. 8306 00ea 1B6B ldr r3, [r3, #48]
  12765. 8307 00ec B3F5802F cmp r3, #262144
  12766. 8308 00f0 04D0 beq .L476
  12767. 8309 .loc 1 3036 5 discriminator 2
  12768. 8310 00f2 40F6DC31 movw r1, #3036
  12769. 8311 00f6 5E48 ldr r0, .L488
  12770. 8312 00f8 FFF7FEFF bl assert_failed
  12771. 8313 .L476:
  12772. 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
  12773. 8314 .loc 1 3037 5 is_stmt 1
  12774. 8315 00fc 7B68 ldr r3, [r7, #4]
  12775. 8316 00fe 1B68 ldr r3, [r3]
  12776. 8317 0100 5B68 ldr r3, [r3, #4]
  12777. 8318 0102 23F48021 bic r1, r3, #262144
  12778. 8319 0106 7B68 ldr r3, [r7, #4]
  12779. 8320 0108 1A6B ldr r2, [r3, #48]
  12780. 8321 010a 7B68 ldr r3, [r7, #4]
  12781. 8322 010c 1B68 ldr r3, [r3]
  12782. 8323 010e 0A43 orrs r2, r2, r1
  12783. 8324 0110 5A60 str r2, [r3, #4]
  12784. 8325 .L475:
  12785. 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12786. 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12787. 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */
  12788. 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
  12789. 8326 .loc 1 3041 7
  12790. 8327 0112 7B68 ldr r3, [r7, #4]
  12791. 8328 0114 5B6A ldr r3, [r3, #36]
  12792. 8329 0116 03F01003 and r3, r3, #16
  12793. 8330 .loc 1 3041 6
  12794. 8331 011a 002B cmp r3, #0
  12795. 8332 011c 18D0 beq .L477
  12796. 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12797. 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
  12798. 8333 .loc 1 3043 5
  12799. 8334 011e 7B68 ldr r3, [r7, #4]
  12800. 8335 0120 9B6B ldr r3, [r3, #56]
  12801. 8336 0122 002B cmp r3, #0
  12802. 8337 0124 09D0 beq .L478
  12803. 8338 .loc 1 3043 5 is_stmt 0 discriminator 1
  12804. 8339 0126 7B68 ldr r3, [r7, #4]
  12805. 8340 0128 9B6B ldr r3, [r3, #56]
  12806. 8341 012a B3F5805F cmp r3, #4096
  12807. 8342 012e 04D0 beq .L478
  12808. 8343 .loc 1 3043 5 discriminator 2
  12809. 8344 0130 40F6E331 movw r1, #3043
  12810. 8345 0134 4E48 ldr r0, .L488
  12811. 8346 0136 FFF7FEFF bl assert_failed
  12812. 8347 .L478:
  12813. 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
  12814. 8348 .loc 1 3044 5 is_stmt 1
  12815. 8349 013a 7B68 ldr r3, [r7, #4]
  12816. 8350 013c 1B68 ldr r3, [r3]
  12817. 8351 013e 9B68 ldr r3, [r3, #8]
  12818. 8352 0140 23F48051 bic r1, r3, #4096
  12819. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 222
  12820. 8353 0144 7B68 ldr r3, [r7, #4]
  12821. 8354 0146 9A6B ldr r2, [r3, #56]
  12822. 8355 0148 7B68 ldr r3, [r7, #4]
  12823. 8356 014a 1B68 ldr r3, [r3]
  12824. 8357 014c 0A43 orrs r2, r2, r1
  12825. 8358 014e 9A60 str r2, [r3, #8]
  12826. 8359 .L477:
  12827. 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12828. 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12829. 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */
  12830. 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
  12831. 8360 .loc 1 3048 7
  12832. 8361 0150 7B68 ldr r3, [r7, #4]
  12833. 8362 0152 5B6A ldr r3, [r3, #36]
  12834. 8363 0154 03F02003 and r3, r3, #32
  12835. 8364 .loc 1 3048 6
  12836. 8365 0158 002B cmp r3, #0
  12837. 8366 015a 18D0 beq .L479
  12838. 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12839. 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
  12840. 8367 .loc 1 3050 5
  12841. 8368 015c 7B68 ldr r3, [r7, #4]
  12842. 8369 015e DB6B ldr r3, [r3, #60]
  12843. 8370 0160 002B cmp r3, #0
  12844. 8371 0162 09D0 beq .L480
  12845. 8372 .loc 1 3050 5 is_stmt 0 discriminator 1
  12846. 8373 0164 7B68 ldr r3, [r7, #4]
  12847. 8374 0166 DB6B ldr r3, [r3, #60]
  12848. 8375 0168 B3F5005F cmp r3, #8192
  12849. 8376 016c 04D0 beq .L480
  12850. 8377 .loc 1 3050 5 discriminator 2
  12851. 8378 016e 40F6EA31 movw r1, #3050
  12852. 8379 0172 3F48 ldr r0, .L488
  12853. 8380 0174 FFF7FEFF bl assert_failed
  12854. 8381 .L480:
  12855. 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
  12856. 8382 .loc 1 3051 5 is_stmt 1
  12857. 8383 0178 7B68 ldr r3, [r7, #4]
  12858. 8384 017a 1B68 ldr r3, [r3]
  12859. 8385 017c 9B68 ldr r3, [r3, #8]
  12860. 8386 017e 23F40051 bic r1, r3, #8192
  12861. 8387 0182 7B68 ldr r3, [r7, #4]
  12862. 8388 0184 DA6B ldr r2, [r3, #60]
  12863. 8389 0186 7B68 ldr r3, [r7, #4]
  12864. 8390 0188 1B68 ldr r3, [r3]
  12865. 8391 018a 0A43 orrs r2, r2, r1
  12866. 8392 018c 9A60 str r2, [r3, #8]
  12867. 8393 .L479:
  12868. 3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12869. 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12870. 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */
  12871. 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
  12872. 8394 .loc 1 3055 7
  12873. 8395 018e 7B68 ldr r3, [r7, #4]
  12874. 8396 0190 5B6A ldr r3, [r3, #36]
  12875. 8397 0192 03F04003 and r3, r3, #64
  12876. 8398 .loc 1 3055 6
  12877. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 223
  12878. 8399 0196 002B cmp r3, #0
  12879. 8400 0198 54D0 beq .L481
  12880. 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12881. 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
  12882. 8401 .loc 1 3057 5
  12883. 8402 019a 7B68 ldr r3, [r7, #4]
  12884. 8403 019c 1B68 ldr r3, [r3]
  12885. 8404 019e 354A ldr r2, .L488+4
  12886. 8405 01a0 9342 cmp r3, r2
  12887. 8406 01a2 0ED0 beq .L482
  12888. 8407 .loc 1 3057 5 is_stmt 0 discriminator 1
  12889. 8408 01a4 7B68 ldr r3, [r7, #4]
  12890. 8409 01a6 1B68 ldr r3, [r3]
  12891. 8410 01a8 334A ldr r2, .L488+8
  12892. 8411 01aa 9342 cmp r3, r2
  12893. 8412 01ac 09D0 beq .L482
  12894. 8413 .loc 1 3057 5 discriminator 2
  12895. 8414 01ae 7B68 ldr r3, [r7, #4]
  12896. 8415 01b0 1B68 ldr r3, [r3]
  12897. 8416 01b2 324A ldr r2, .L488+12
  12898. 8417 01b4 9342 cmp r3, r2
  12899. 8418 01b6 04D0 beq .L482
  12900. 8419 .loc 1 3057 5 discriminator 3
  12901. 8420 01b8 40F6F131 movw r1, #3057
  12902. 8421 01bc 2C48 ldr r0, .L488
  12903. 8422 01be FFF7FEFF bl assert_failed
  12904. 8423 .L482:
  12905. 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
  12906. 8424 .loc 1 3058 5 is_stmt 1
  12907. 8425 01c2 7B68 ldr r3, [r7, #4]
  12908. 8426 01c4 1B6C ldr r3, [r3, #64]
  12909. 8427 01c6 002B cmp r3, #0
  12910. 8428 01c8 09D0 beq .L483
  12911. 8429 .loc 1 3058 5 is_stmt 0 discriminator 1
  12912. 8430 01ca 7B68 ldr r3, [r7, #4]
  12913. 8431 01cc 1B6C ldr r3, [r3, #64]
  12914. 8432 01ce B3F5801F cmp r3, #1048576
  12915. 8433 01d2 04D0 beq .L483
  12916. 8434 .loc 1 3058 5 discriminator 2
  12917. 8435 01d4 40F6F231 movw r1, #3058
  12918. 8436 01d8 2548 ldr r0, .L488
  12919. 8437 01da FFF7FEFF bl assert_failed
  12920. 8438 .L483:
  12921. 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
  12922. 8439 .loc 1 3059 5 is_stmt 1
  12923. 8440 01de 7B68 ldr r3, [r7, #4]
  12924. 8441 01e0 1B68 ldr r3, [r3]
  12925. 8442 01e2 5B68 ldr r3, [r3, #4]
  12926. 8443 01e4 23F48011 bic r1, r3, #1048576
  12927. 8444 01e8 7B68 ldr r3, [r7, #4]
  12928. 8445 01ea 1A6C ldr r2, [r3, #64]
  12929. 8446 01ec 7B68 ldr r3, [r7, #4]
  12930. 8447 01ee 1B68 ldr r3, [r3]
  12931. 8448 01f0 0A43 orrs r2, r2, r1
  12932. 8449 01f2 5A60 str r2, [r3, #4]
  12933. 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
  12934. 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
  12935. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 224
  12936. 8450 .loc 1 3061 28
  12937. 8451 01f4 7B68 ldr r3, [r7, #4]
  12938. 8452 01f6 1B6C ldr r3, [r3, #64]
  12939. 8453 .loc 1 3061 8
  12940. 8454 01f8 B3F5801F cmp r3, #1048576
  12941. 8455 01fc 22D1 bne .L481
  12942. 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12943. 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
  12944. 8456 .loc 1 3063 7
  12945. 8457 01fe 7B68 ldr r3, [r7, #4]
  12946. 8458 0200 5B6C ldr r3, [r3, #68]
  12947. 8459 0202 002B cmp r3, #0
  12948. 8460 0204 13D0 beq .L484
  12949. 8461 .loc 1 3063 7 is_stmt 0 discriminator 1
  12950. 8462 0206 7B68 ldr r3, [r7, #4]
  12951. 8463 0208 5B6C ldr r3, [r3, #68]
  12952. 8464 020a B3F5001F cmp r3, #2097152
  12953. 8465 020e 0ED0 beq .L484
  12954. 8466 .loc 1 3063 7 discriminator 2
  12955. 8467 0210 7B68 ldr r3, [r7, #4]
  12956. 8468 0212 5B6C ldr r3, [r3, #68]
  12957. 8469 0214 B3F5800F cmp r3, #4194304
  12958. 8470 0218 09D0 beq .L484
  12959. 8471 .loc 1 3063 7 discriminator 3
  12960. 8472 021a 7B68 ldr r3, [r7, #4]
  12961. 8473 021c 5B6C ldr r3, [r3, #68]
  12962. 8474 021e B3F5C00F cmp r3, #6291456
  12963. 8475 0222 04D0 beq .L484
  12964. 8476 .loc 1 3063 7 discriminator 4
  12965. 8477 0224 40F6F731 movw r1, #3063
  12966. 8478 0228 1148 ldr r0, .L488
  12967. 8479 022a FFF7FEFF bl assert_failed
  12968. 8480 .L484:
  12969. 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
  12970. 8481 .loc 1 3064 7 is_stmt 1
  12971. 8482 022e 7B68 ldr r3, [r7, #4]
  12972. 8483 0230 1B68 ldr r3, [r3]
  12973. 8484 0232 5B68 ldr r3, [r3, #4]
  12974. 8485 0234 23F4C001 bic r1, r3, #6291456
  12975. 8486 0238 7B68 ldr r3, [r7, #4]
  12976. 8487 023a 5A6C ldr r2, [r3, #68]
  12977. 8488 023c 7B68 ldr r3, [r7, #4]
  12978. 8489 023e 1B68 ldr r3, [r3]
  12979. 8490 0240 0A43 orrs r2, r2, r1
  12980. 8491 0242 5A60 str r2, [r3, #4]
  12981. 8492 .L481:
  12982. 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12983. 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  12984. 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  12985. 3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure MSB first on communication line */
  12986. 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
  12987. 8493 .loc 1 3069 7
  12988. 8494 0244 7B68 ldr r3, [r7, #4]
  12989. 8495 0246 5B6A ldr r3, [r3, #36]
  12990. 8496 0248 03F08003 and r3, r3, #128
  12991. 8497 .loc 1 3069 6
  12992. 8498 024c 002B cmp r3, #0
  12993. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 225
  12994. 8499 024e 22D0 beq .L487
  12995. 3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  12996. 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
  12997. 8500 .loc 1 3071 5
  12998. 8501 0250 7B68 ldr r3, [r7, #4]
  12999. 8502 0252 9B6C ldr r3, [r3, #72]
  13000. 8503 0254 002B cmp r3, #0
  13001. 8504 0256 13D0 beq .L486
  13002. 8505 .loc 1 3071 5 is_stmt 0 discriminator 1
  13003. 8506 0258 7B68 ldr r3, [r7, #4]
  13004. 8507 025a 9B6C ldr r3, [r3, #72]
  13005. 8508 025c B3F5002F cmp r3, #524288
  13006. 8509 0260 0ED0 beq .L486
  13007. 8510 .loc 1 3071 5 discriminator 2
  13008. 8511 0262 40F6FF31 movw r1, #3071
  13009. 8512 0266 0248 ldr r0, .L488
  13010. 8513 0268 FFF7FEFF bl assert_failed
  13011. 8514 026c 08E0 b .L489
  13012. 8515 .L490:
  13013. 8516 026e 00BF .align 2
  13014. 8517 .L488:
  13015. 8518 0270 00000000 .word .LC0
  13016. 8519 0274 00380140 .word 1073821696
  13017. 8520 0278 00440040 .word 1073759232
  13018. 8521 027c 00480040 .word 1073760256
  13019. 8522 .L489:
  13020. 8523 .L486:
  13021. 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
  13022. 8524 .loc 1 3072 5 is_stmt 1
  13023. 8525 0280 7B68 ldr r3, [r7, #4]
  13024. 8526 0282 1B68 ldr r3, [r3]
  13025. 8527 0284 5B68 ldr r3, [r3, #4]
  13026. 8528 0286 23F40021 bic r1, r3, #524288
  13027. 8529 028a 7B68 ldr r3, [r7, #4]
  13028. 8530 028c 9A6C ldr r2, [r3, #72]
  13029. 8531 028e 7B68 ldr r3, [r7, #4]
  13030. 8532 0290 1B68 ldr r3, [r3]
  13031. 8533 0292 0A43 orrs r2, r2, r1
  13032. 8534 0294 5A60 str r2, [r3, #4]
  13033. 8535 .L487:
  13034. 3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13035. 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13036. 8536 .loc 1 3074 1
  13037. 8537 0296 00BF nop
  13038. 8538 0298 0837 adds r7, r7, #8
  13039. 8539 .LCFI244:
  13040. 8540 .cfi_def_cfa_offset 8
  13041. 8541 029a BD46 mov sp, r7
  13042. 8542 .LCFI245:
  13043. 8543 .cfi_def_cfa_register 13
  13044. 8544 @ sp needed
  13045. 8545 029c 80BD pop {r7, pc}
  13046. 8546 .cfi_endproc
  13047. 8547 .LFE174:
  13048. 8549 029e 00BF .section .text.UART_CheckIdleState,"ax",%progbits
  13049. 8550 .align 1
  13050. 8551 .global UART_CheckIdleState
  13051. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 226
  13052. 8552 .syntax unified
  13053. 8553 .thumb
  13054. 8554 .thumb_func
  13055. 8556 UART_CheckIdleState:
  13056. 8557 .LFB175:
  13057. 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13058. 3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  13059. 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Check the UART Idle State.
  13060. 3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  13061. 3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  13062. 3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  13063. 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
  13064. 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13065. 8558 .loc 1 3082 1
  13066. 8559 .cfi_startproc
  13067. 8560 @ args = 0, pretend = 0, frame = 88
  13068. 8561 @ frame_needed = 1, uses_anonymous_args = 0
  13069. 8562 0000 80B5 push {r7, lr}
  13070. 8563 .LCFI246:
  13071. 8564 .cfi_def_cfa_offset 8
  13072. 8565 .cfi_offset 7, -8
  13073. 8566 .cfi_offset 14, -4
  13074. 8567 0002 98B0 sub sp, sp, #96
  13075. 8568 .LCFI247:
  13076. 8569 .cfi_def_cfa_offset 104
  13077. 8570 0004 02AF add r7, sp, #8
  13078. 8571 .LCFI248:
  13079. 8572 .cfi_def_cfa 7, 96
  13080. 8573 0006 7860 str r0, [r7, #4]
  13081. 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart;
  13082. 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13083. 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART ErrorCode */
  13084. 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  13085. 8574 .loc 1 3086 20
  13086. 8575 0008 7B68 ldr r3, [r7, #4]
  13087. 8576 000a 0022 movs r2, #0
  13088. 8577 000c C3F88420 str r2, [r3, #132]
  13089. 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13090. 3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */
  13091. 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick();
  13092. 8578 .loc 1 3089 15
  13093. 8579 0010 FFF7FEFF bl HAL_GetTick
  13094. 8580 0014 7865 str r0, [r7, #84]
  13095. 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13096. 3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Transmitter is enabled */
  13097. 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
  13098. 8581 .loc 1 3092 13
  13099. 8582 0016 7B68 ldr r3, [r7, #4]
  13100. 8583 0018 1B68 ldr r3, [r3]
  13101. 8584 .loc 1 3092 23
  13102. 8585 001a 1B68 ldr r3, [r3]
  13103. 8586 .loc 1 3092 29
  13104. 8587 001c 03F00803 and r3, r3, #8
  13105. 8588 .loc 1 3092 6
  13106. 8589 0020 082B cmp r3, #8
  13107. 8590 0022 2ED1 bne .L492
  13108. 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13109. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 227
  13110. 3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until TEACK flag is set */
  13111. 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
  13112. 8591 .loc 1 3095 9
  13113. 8592 0024 6FF07E43 mvn r3, #-33554432
  13114. 8593 0028 0093 str r3, [sp]
  13115. 8594 002a 7B6D ldr r3, [r7, #84]
  13116. 8595 002c 0022 movs r2, #0
  13117. 8596 002e 4FF40011 mov r1, #2097152
  13118. 8597 0032 7868 ldr r0, [r7, #4]
  13119. 8598 0034 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  13120. 8599 0038 0346 mov r3, r0
  13121. 8600 .loc 1 3095 8
  13122. 8601 003a 002B cmp r3, #0
  13123. 8602 003c 21D0 beq .L492
  13124. 8603 .L495:
  13125. 8604 .LBB668:
  13126. 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13127. 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXE interrupt for the interrupt process */
  13128. 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE));
  13129. 8605 .loc 1 3098 7 discriminator 1
  13130. 8606 003e 7B68 ldr r3, [r7, #4]
  13131. 8607 0040 1B68 ldr r3, [r3]
  13132. 8608 0042 BB63 str r3, [r7, #56]
  13133. 8609 .LBB669:
  13134. 8610 .LBB670:
  13135. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13136. 8611 .loc 2 1072 4 discriminator 1
  13137. 8612 0044 BB6B ldr r3, [r7, #56]
  13138. 8613 .syntax unified
  13139. 8614 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13140. 8615 0046 53E8003F ldrex r3, [r3]
  13141. 8616 @ 0 "" 2
  13142. 8617 .thumb
  13143. 8618 .syntax unified
  13144. 8619 004a 7B63 str r3, [r7, #52]
  13145. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13146. 8620 .loc 2 1073 10 discriminator 1
  13147. 8621 004c 7B6B ldr r3, [r7, #52]
  13148. 8622 .LBE670:
  13149. 8623 .LBE669:
  13150. 8624 .loc 1 3098 7 discriminator 1
  13151. 8625 004e 23F08003 bic r3, r3, #128
  13152. 8626 0052 3B65 str r3, [r7, #80]
  13153. 8627 0054 7B68 ldr r3, [r7, #4]
  13154. 8628 0056 1B68 ldr r3, [r3]
  13155. 8629 0058 1A46 mov r2, r3
  13156. 8630 005a 3B6D ldr r3, [r7, #80]
  13157. 8631 005c 7B64 str r3, [r7, #68]
  13158. 8632 005e 3A64 str r2, [r7, #64]
  13159. 8633 .LBB671:
  13160. 8634 .LBB672:
  13161. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13162. 8635 .loc 2 1123 4 discriminator 1
  13163. 8636 0060 396C ldr r1, [r7, #64]
  13164. 8637 0062 7A6C ldr r2, [r7, #68]
  13165. 8638 .syntax unified
  13166. 8639 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13167. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 228
  13168. 8640 0064 41E80023 strex r3, r2, [r1]
  13169. 8641 @ 0 "" 2
  13170. 8642 .thumb
  13171. 8643 .syntax unified
  13172. 8644 0068 FB63 str r3, [r7, #60]
  13173. 8645 .loc 2 1124 10 discriminator 1
  13174. 8646 006a FB6B ldr r3, [r7, #60]
  13175. 8647 .LBE672:
  13176. 8648 .LBE671:
  13177. 8649 .loc 1 3098 7 discriminator 1
  13178. 8650 006c 002B cmp r3, #0
  13179. 8651 006e E6D1 bne .L495
  13180. 8652 .LBE668:
  13181. 3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13182. 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  13183. 8653 .loc 1 3100 21
  13184. 8654 0070 7B68 ldr r3, [r7, #4]
  13185. 8655 0072 2022 movs r2, #32
  13186. 8656 0074 DA67 str r2, [r3, #124]
  13187. 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13188. 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  13189. 8657 .loc 1 3102 7
  13190. 8658 0076 7B68 ldr r3, [r7, #4]
  13191. 8659 0078 0022 movs r2, #0
  13192. 8660 007a 83F87820 strb r2, [r3, #120]
  13193. 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13194. 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */
  13195. 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  13196. 8661 .loc 1 3105 14
  13197. 8662 007e 0323 movs r3, #3
  13198. 8663 0080 62E0 b .L496
  13199. 8664 .L492:
  13200. 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13201. 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13202. 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13203. 3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Receiver is enabled */
  13204. 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE)
  13205. 8665 .loc 1 3110 13
  13206. 8666 0082 7B68 ldr r3, [r7, #4]
  13207. 8667 0084 1B68 ldr r3, [r3]
  13208. 8668 .loc 1 3110 23
  13209. 8669 0086 1B68 ldr r3, [r3]
  13210. 8670 .loc 1 3110 29
  13211. 8671 0088 03F00403 and r3, r3, #4
  13212. 8672 .loc 1 3110 6
  13213. 8673 008c 042B cmp r3, #4
  13214. 8674 008e 49D1 bne .L497
  13215. 3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13216. 3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until REACK flag is set */
  13217. 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
  13218. 8675 .loc 1 3113 9
  13219. 8676 0090 6FF07E43 mvn r3, #-33554432
  13220. 8677 0094 0093 str r3, [sp]
  13221. 8678 0096 7B6D ldr r3, [r7, #84]
  13222. 8679 0098 0022 movs r2, #0
  13223. 8680 009a 4FF48001 mov r1, #4194304
  13224. 8681 009e 7868 ldr r0, [r7, #4]
  13225. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 229
  13226. 8682 00a0 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  13227. 8683 00a4 0346 mov r3, r0
  13228. 8684 .loc 1 3113 8
  13229. 8685 00a6 002B cmp r3, #0
  13230. 8686 00a8 3CD0 beq .L497
  13231. 8687 .L500:
  13232. 8688 .LBB673:
  13233. 3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13234. 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error)
  13235. 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupts for the interrupt process */
  13236. 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  13237. 8689 .loc 1 3117 7 discriminator 1
  13238. 8690 00aa 7B68 ldr r3, [r7, #4]
  13239. 8691 00ac 1B68 ldr r3, [r3]
  13240. 8692 00ae 7B62 str r3, [r7, #36]
  13241. 8693 .LBB674:
  13242. 8694 .LBB675:
  13243. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13244. 8695 .loc 2 1072 4 discriminator 1
  13245. 8696 00b0 7B6A ldr r3, [r7, #36]
  13246. 8697 .syntax unified
  13247. 8698 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13248. 8699 00b2 53E8003F ldrex r3, [r3]
  13249. 8700 @ 0 "" 2
  13250. 8701 .thumb
  13251. 8702 .syntax unified
  13252. 8703 00b6 3B62 str r3, [r7, #32]
  13253. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13254. 8704 .loc 2 1073 10 discriminator 1
  13255. 8705 00b8 3B6A ldr r3, [r7, #32]
  13256. 8706 .LBE675:
  13257. 8707 .LBE674:
  13258. 8708 .loc 1 3117 7 discriminator 1
  13259. 8709 00ba 23F49073 bic r3, r3, #288
  13260. 8710 00be FB64 str r3, [r7, #76]
  13261. 8711 00c0 7B68 ldr r3, [r7, #4]
  13262. 8712 00c2 1B68 ldr r3, [r3]
  13263. 8713 00c4 1A46 mov r2, r3
  13264. 8714 00c6 FB6C ldr r3, [r7, #76]
  13265. 8715 00c8 3B63 str r3, [r7, #48]
  13266. 8716 00ca FA62 str r2, [r7, #44]
  13267. 8717 .LBB676:
  13268. 8718 .LBB677:
  13269. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13270. 8719 .loc 2 1123 4 discriminator 1
  13271. 8720 00cc F96A ldr r1, [r7, #44]
  13272. 8721 00ce 3A6B ldr r2, [r7, #48]
  13273. 8722 .syntax unified
  13274. 8723 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13275. 8724 00d0 41E80023 strex r3, r2, [r1]
  13276. 8725 @ 0 "" 2
  13277. 8726 .thumb
  13278. 8727 .syntax unified
  13279. 8728 00d4 BB62 str r3, [r7, #40]
  13280. 8729 .loc 2 1124 10 discriminator 1
  13281. 8730 00d6 BB6A ldr r3, [r7, #40]
  13282. 8731 .LBE677:
  13283. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 230
  13284. 8732 .LBE676:
  13285. 8733 .loc 1 3117 7 discriminator 1
  13286. 8734 00d8 002B cmp r3, #0
  13287. 8735 00da E6D1 bne .L500
  13288. 8736 .L503:
  13289. 8737 .LBE673:
  13290. 8738 .LBB678:
  13291. 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  13292. 8739 .loc 1 3118 7 discriminator 1
  13293. 8740 00dc 7B68 ldr r3, [r7, #4]
  13294. 8741 00de 1B68 ldr r3, [r3]
  13295. 8742 00e0 0833 adds r3, r3, #8
  13296. 8743 00e2 3B61 str r3, [r7, #16]
  13297. 8744 .LBB679:
  13298. 8745 .LBB680:
  13299. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13300. 8746 .loc 2 1072 4 discriminator 1
  13301. 8747 00e4 3B69 ldr r3, [r7, #16]
  13302. 8748 .syntax unified
  13303. 8749 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13304. 8750 00e6 53E8003F ldrex r3, [r3]
  13305. 8751 @ 0 "" 2
  13306. 8752 .thumb
  13307. 8753 .syntax unified
  13308. 8754 00ea FB60 str r3, [r7, #12]
  13309. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13310. 8755 .loc 2 1073 10 discriminator 1
  13311. 8756 00ec FB68 ldr r3, [r7, #12]
  13312. 8757 .LBE680:
  13313. 8758 .LBE679:
  13314. 8759 .loc 1 3118 7 discriminator 1
  13315. 8760 00ee 23F00103 bic r3, r3, #1
  13316. 8761 00f2 BB64 str r3, [r7, #72]
  13317. 8762 00f4 7B68 ldr r3, [r7, #4]
  13318. 8763 00f6 1B68 ldr r3, [r3]
  13319. 8764 00f8 0833 adds r3, r3, #8
  13320. 8765 00fa BA6C ldr r2, [r7, #72]
  13321. 8766 00fc FA61 str r2, [r7, #28]
  13322. 8767 00fe BB61 str r3, [r7, #24]
  13323. 8768 .LBB681:
  13324. 8769 .LBB682:
  13325. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13326. 8770 .loc 2 1123 4 discriminator 1
  13327. 8771 0100 B969 ldr r1, [r7, #24]
  13328. 8772 0102 FA69 ldr r2, [r7, #28]
  13329. 8773 .syntax unified
  13330. 8774 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13331. 8775 0104 41E80023 strex r3, r2, [r1]
  13332. 8776 @ 0 "" 2
  13333. 8777 .thumb
  13334. 8778 .syntax unified
  13335. 8779 0108 7B61 str r3, [r7, #20]
  13336. 8780 .loc 2 1124 10 discriminator 1
  13337. 8781 010a 7B69 ldr r3, [r7, #20]
  13338. 8782 .LBE682:
  13339. 8783 .LBE681:
  13340. 8784 .loc 1 3118 7 discriminator 1
  13341. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 231
  13342. 8785 010c 002B cmp r3, #0
  13343. 8786 010e E5D1 bne .L503
  13344. 8787 .LBE678:
  13345. 3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13346. 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  13347. 8788 .loc 1 3120 22
  13348. 8789 0110 7B68 ldr r3, [r7, #4]
  13349. 8790 0112 2022 movs r2, #32
  13350. 8791 0114 C3F88020 str r2, [r3, #128]
  13351. 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13352. 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  13353. 8792 .loc 1 3122 7
  13354. 8793 0118 7B68 ldr r3, [r7, #4]
  13355. 8794 011a 0022 movs r2, #0
  13356. 8795 011c 83F87820 strb r2, [r3, #120]
  13357. 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13358. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */
  13359. 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  13360. 8796 .loc 1 3125 14
  13361. 8797 0120 0323 movs r3, #3
  13362. 8798 0122 11E0 b .L496
  13363. 8799 .L497:
  13364. 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13365. 3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13366. 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13367. 3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART State */
  13368. 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  13369. 8800 .loc 1 3130 17
  13370. 8801 0124 7B68 ldr r3, [r7, #4]
  13371. 8802 0126 2022 movs r2, #32
  13372. 8803 0128 DA67 str r2, [r3, #124]
  13373. 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  13374. 8804 .loc 1 3131 18
  13375. 8805 012a 7B68 ldr r3, [r7, #4]
  13376. 8806 012c 2022 movs r2, #32
  13377. 8807 012e C3F88020 str r2, [r3, #128]
  13378. 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  13379. 8808 .loc 1 3132 24
  13380. 8809 0132 7B68 ldr r3, [r7, #4]
  13381. 8810 0134 0022 movs r2, #0
  13382. 8811 0136 1A66 str r2, [r3, #96]
  13383. 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
  13384. 8812 .loc 1 3133 22
  13385. 8813 0138 7B68 ldr r3, [r7, #4]
  13386. 8814 013a 0022 movs r2, #0
  13387. 8815 013c 5A66 str r2, [r3, #100]
  13388. 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13389. 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  13390. 8816 .loc 1 3135 3
  13391. 8817 013e 7B68 ldr r3, [r7, #4]
  13392. 8818 0140 0022 movs r2, #0
  13393. 8819 0142 83F87820 strb r2, [r3, #120]
  13394. 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13395. 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  13396. 8820 .loc 1 3137 10
  13397. 8821 0146 0023 movs r3, #0
  13398. 8822 .L496:
  13399. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 232
  13400. 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13401. 8823 .loc 1 3138 1
  13402. 8824 0148 1846 mov r0, r3
  13403. 8825 014a 5837 adds r7, r7, #88
  13404. 8826 .LCFI249:
  13405. 8827 .cfi_def_cfa_offset 8
  13406. 8828 014c BD46 mov sp, r7
  13407. 8829 .LCFI250:
  13408. 8830 .cfi_def_cfa_register 13
  13409. 8831 @ sp needed
  13410. 8832 014e 80BD pop {r7, pc}
  13411. 8833 .cfi_endproc
  13412. 8834 .LFE175:
  13413. 8836 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
  13414. 8837 .align 1
  13415. 8838 .global UART_WaitOnFlagUntilTimeout
  13416. 8839 .syntax unified
  13417. 8840 .thumb
  13418. 8841 .thumb_func
  13419. 8843 UART_WaitOnFlagUntilTimeout:
  13420. 8844 .LFB176:
  13421. 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13422. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  13423. 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits
  13424. 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * until a flag is no longer in the specified status.
  13425. 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  13426. 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Flag Specifies the UART flag to check
  13427. 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET)
  13428. 3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Tickstart Tick start value
  13429. 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration
  13430. 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  13431. 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  13432. 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus
  13433. 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
  13434. 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13435. 8845 .loc 1 3152 1
  13436. 8846 .cfi_startproc
  13437. 8847 @ args = 4, pretend = 0, frame = 16
  13438. 8848 @ frame_needed = 1, uses_anonymous_args = 0
  13439. 8849 0000 80B5 push {r7, lr}
  13440. 8850 .LCFI251:
  13441. 8851 .cfi_def_cfa_offset 8
  13442. 8852 .cfi_offset 7, -8
  13443. 8853 .cfi_offset 14, -4
  13444. 8854 0002 84B0 sub sp, sp, #16
  13445. 8855 .LCFI252:
  13446. 8856 .cfi_def_cfa_offset 24
  13447. 8857 0004 00AF add r7, sp, #0
  13448. 8858 .LCFI253:
  13449. 8859 .cfi_def_cfa_register 7
  13450. 8860 0006 F860 str r0, [r7, #12]
  13451. 8861 0008 B960 str r1, [r7, #8]
  13452. 8862 000a 3B60 str r3, [r7]
  13453. 8863 000c 1346 mov r3, r2
  13454. 8864 000e FB71 strb r3, [r7, #7]
  13455. 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */
  13456. 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
  13457. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 233
  13458. 8865 .loc 1 3154 9
  13459. 8866 0010 4FE0 b .L505
  13460. 8867 .L510:
  13461. 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13462. 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check for the Timeout */
  13463. 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
  13464. 8868 .loc 1 3157 8
  13465. 8869 0012 BB69 ldr r3, [r7, #24]
  13466. 8870 0014 B3F1FF3F cmp r3, #-1
  13467. 8871 0018 4BD0 beq .L505
  13468. 3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13469. 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
  13470. 8872 .loc 1 3159 13
  13471. 8873 001a FFF7FEFF bl HAL_GetTick
  13472. 8874 001e 0246 mov r2, r0
  13473. 8875 .loc 1 3159 27
  13474. 8876 0020 3B68 ldr r3, [r7]
  13475. 8877 0022 D31A subs r3, r2, r3
  13476. 8878 .loc 1 3159 10
  13477. 8879 0024 BA69 ldr r2, [r7, #24]
  13478. 8880 0026 9A42 cmp r2, r3
  13479. 8881 0028 02D3 bcc .L506
  13480. 8882 .loc 1 3159 51 discriminator 1
  13481. 8883 002a BB69 ldr r3, [r7, #24]
  13482. 8884 002c 002B cmp r3, #0
  13483. 8885 002e 01D1 bne .L507
  13484. 8886 .L506:
  13485. 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13486. 3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13487. 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  13488. 8887 .loc 1 3162 16
  13489. 8888 0030 0323 movs r3, #3
  13490. 8889 0032 4EE0 b .L508
  13491. 8890 .L507:
  13492. 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13493. 3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13494. 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag
  13495. 8891 .loc 1 3165 12
  13496. 8892 0034 FB68 ldr r3, [r7, #12]
  13497. 8893 0036 1B68 ldr r3, [r3]
  13498. 8894 0038 1B68 ldr r3, [r3]
  13499. 8895 003a 03F00403 and r3, r3, #4
  13500. 8896 .loc 1 3165 10
  13501. 8897 003e 002B cmp r3, #0
  13502. 8898 0040 37D0 beq .L505
  13503. 8899 .loc 1 3165 64 discriminator 1
  13504. 8900 0042 BB68 ldr r3, [r7, #8]
  13505. 8901 0044 802B cmp r3, #128
  13506. 8902 0046 34D0 beq .L505
  13507. 8903 .loc 1 3165 91 discriminator 2
  13508. 8904 0048 BB68 ldr r3, [r7, #8]
  13509. 8905 004a 402B cmp r3, #64
  13510. 8906 004c 31D0 beq .L505
  13511. 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13512. 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET)
  13513. 8907 .loc 1 3167 13
  13514. 8908 004e FB68 ldr r3, [r7, #12]
  13515. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 234
  13516. 8909 0050 1B68 ldr r3, [r3]
  13517. 8910 0052 DB69 ldr r3, [r3, #28]
  13518. 8911 0054 03F00803 and r3, r3, #8
  13519. 8912 .loc 1 3167 12
  13520. 8913 0058 082B cmp r3, #8
  13521. 8914 005a 10D1 bne .L509
  13522. 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13523. 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Overrun Error flag*/
  13524. 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
  13525. 8915 .loc 1 3170 11
  13526. 8916 005c FB68 ldr r3, [r7, #12]
  13527. 8917 005e 1B68 ldr r3, [r3]
  13528. 8918 0060 0822 movs r2, #8
  13529. 8919 0062 1A62 str r2, [r3, #32]
  13530. 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13531. 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted
  13532. 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
  13533. 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */
  13534. 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
  13535. 8920 .loc 1 3175 11
  13536. 8921 0064 F868 ldr r0, [r7, #12]
  13537. 8922 0066 FFF7FEFF bl UART_EndRxTransfer
  13538. 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13539. 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE;
  13540. 8923 .loc 1 3177 28
  13541. 8924 006a FB68 ldr r3, [r7, #12]
  13542. 8925 006c 0822 movs r2, #8
  13543. 8926 006e C3F88420 str r2, [r3, #132]
  13544. 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13545. 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
  13546. 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  13547. 8927 .loc 1 3180 11
  13548. 8928 0072 FB68 ldr r3, [r7, #12]
  13549. 8929 0074 0022 movs r2, #0
  13550. 8930 0076 83F87820 strb r2, [r3, #120]
  13551. 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13552. 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  13553. 8931 .loc 1 3182 18
  13554. 8932 007a 0123 movs r3, #1
  13555. 8933 007c 29E0 b .L508
  13556. 8934 .L509:
  13557. 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13558. 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET)
  13559. 8935 .loc 1 3184 13
  13560. 8936 007e FB68 ldr r3, [r7, #12]
  13561. 8937 0080 1B68 ldr r3, [r3]
  13562. 8938 0082 DB69 ldr r3, [r3, #28]
  13563. 8939 0084 03F40063 and r3, r3, #2048
  13564. 8940 .loc 1 3184 12
  13565. 8941 0088 B3F5006F cmp r3, #2048
  13566. 8942 008c 11D1 bne .L505
  13567. 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13568. 3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Receiver Timeout flag*/
  13569. 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
  13570. 8943 .loc 1 3187 11
  13571. 8944 008e FB68 ldr r3, [r7, #12]
  13572. 8945 0090 1B68 ldr r3, [r3]
  13573. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 235
  13574. 8946 0092 4FF40062 mov r2, #2048
  13575. 8947 0096 1A62 str r2, [r3, #32]
  13576. 3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13577. 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted
  13578. 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
  13579. 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */
  13580. 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
  13581. 8948 .loc 1 3192 11
  13582. 8949 0098 F868 ldr r0, [r7, #12]
  13583. 8950 009a FFF7FEFF bl UART_EndRxTransfer
  13584. 3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13585. 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
  13586. 8951 .loc 1 3194 28
  13587. 8952 009e FB68 ldr r3, [r7, #12]
  13588. 8953 00a0 2022 movs r2, #32
  13589. 8954 00a2 C3F88420 str r2, [r3, #132]
  13590. 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13591. 3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
  13592. 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
  13593. 8955 .loc 1 3197 11
  13594. 8956 00a6 FB68 ldr r3, [r7, #12]
  13595. 8957 00a8 0022 movs r2, #0
  13596. 8958 00aa 83F87820 strb r2, [r3, #120]
  13597. 3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13598. 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
  13599. 8959 .loc 1 3199 18
  13600. 8960 00ae 0323 movs r3, #3
  13601. 8961 00b0 0FE0 b .L508
  13602. 8962 .L505:
  13603. 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13604. 8963 .loc 1 3154 11
  13605. 8964 00b2 FB68 ldr r3, [r7, #12]
  13606. 8965 00b4 1B68 ldr r3, [r3]
  13607. 8966 00b6 DA69 ldr r2, [r3, #28]
  13608. 8967 00b8 BB68 ldr r3, [r7, #8]
  13609. 8968 00ba 1340 ands r3, r3, r2
  13610. 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13611. 8969 .loc 1 3154 50
  13612. 8970 00bc BA68 ldr r2, [r7, #8]
  13613. 8971 00be 9A42 cmp r2, r3
  13614. 8972 00c0 0CBF ite eq
  13615. 8973 00c2 0123 moveq r3, #1
  13616. 8974 00c4 0023 movne r3, #0
  13617. 8975 00c6 DBB2 uxtb r3, r3
  13618. 8976 00c8 1A46 mov r2, r3
  13619. 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13620. 8977 .loc 1 3154 59
  13621. 8978 00ca FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  13622. 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13623. 8979 .loc 1 3154 9
  13624. 8980 00cc 9A42 cmp r2, r3
  13625. 8981 00ce A0D0 beq .L510
  13626. 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13627. 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13628. 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13629. 3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13630. 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  13631. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 236
  13632. 8982 .loc 1 3204 10
  13633. 8983 00d0 0023 movs r3, #0
  13634. 8984 .L508:
  13635. 3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13636. 8985 .loc 1 3205 1
  13637. 8986 00d2 1846 mov r0, r3
  13638. 8987 00d4 1037 adds r7, r7, #16
  13639. 8988 .LCFI254:
  13640. 8989 .cfi_def_cfa_offset 8
  13641. 8990 00d6 BD46 mov sp, r7
  13642. 8991 .LCFI255:
  13643. 8992 .cfi_def_cfa_register 13
  13644. 8993 @ sp needed
  13645. 8994 00d8 80BD pop {r7, pc}
  13646. 8995 .cfi_endproc
  13647. 8996 .LFE176:
  13648. 8998 .section .text.UART_Start_Receive_IT,"ax",%progbits
  13649. 8999 .align 1
  13650. 9000 .global UART_Start_Receive_IT
  13651. 9001 .syntax unified
  13652. 9002 .thumb
  13653. 9003 .thumb_func
  13654. 9005 UART_Start_Receive_IT:
  13655. 9006 .LFB177:
  13656. 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13657. 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  13658. 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
  13659. 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
  13660. 3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
  13661. 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
  13662. 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked.
  13663. 3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  13664. 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  13665. 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  13666. 3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  13667. 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  13668. 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  13669. 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13670. 9007 .loc 1 3219 1
  13671. 9008 .cfi_startproc
  13672. 9009 @ args = 0, pretend = 0, frame = 88
  13673. 9010 @ frame_needed = 1, uses_anonymous_args = 0
  13674. 9011 @ link register save eliminated.
  13675. 9012 0000 80B4 push {r7}
  13676. 9013 .LCFI256:
  13677. 9014 .cfi_def_cfa_offset 4
  13678. 9015 .cfi_offset 7, -4
  13679. 9016 0002 97B0 sub sp, sp, #92
  13680. 9017 .LCFI257:
  13681. 9018 .cfi_def_cfa_offset 96
  13682. 9019 0004 00AF add r7, sp, #0
  13683. 9020 .LCFI258:
  13684. 9021 .cfi_def_cfa_register 7
  13685. 9022 0006 F860 str r0, [r7, #12]
  13686. 9023 0008 B960 str r1, [r7, #8]
  13687. 9024 000a 1346 mov r3, r2
  13688. 9025 000c FB80 strh r3, [r7, #6] @ movhi
  13689. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 237
  13690. 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData;
  13691. 9026 .loc 1 3220 22
  13692. 9027 000e FB68 ldr r3, [r7, #12]
  13693. 9028 0010 BA68 ldr r2, [r7, #8]
  13694. 9029 0012 5A65 str r2, [r3, #84]
  13695. 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size;
  13696. 9030 .loc 1 3221 22
  13697. 9031 0014 FB68 ldr r3, [r7, #12]
  13698. 9032 0016 FA88 ldrh r2, [r7, #6] @ movhi
  13699. 9033 0018 A3F85820 strh r2, [r3, #88] @ movhi
  13700. 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size;
  13701. 9034 .loc 1 3222 22
  13702. 9035 001c FB68 ldr r3, [r7, #12]
  13703. 9036 001e FA88 ldrh r2, [r7, #6] @ movhi
  13704. 9037 0020 A3F85A20 strh r2, [r3, #90] @ movhi
  13705. 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
  13706. 9038 .loc 1 3223 22
  13707. 9039 0024 FB68 ldr r3, [r7, #12]
  13708. 9040 0026 0022 movs r2, #0
  13709. 9041 0028 9A66 str r2, [r3, #104]
  13710. 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13711. 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
  13712. 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
  13713. 9042 .loc 1 3226 3
  13714. 9043 002a FB68 ldr r3, [r7, #12]
  13715. 9044 002c 9B68 ldr r3, [r3, #8]
  13716. 9045 002e B3F5805F cmp r3, #4096
  13717. 9046 0032 0ED1 bne .L512
  13718. 9047 .loc 1 3226 3 is_stmt 0 discriminator 1
  13719. 9048 0034 FB68 ldr r3, [r7, #12]
  13720. 9049 0036 1B69 ldr r3, [r3, #16]
  13721. 9050 0038 002B cmp r3, #0
  13722. 9051 003a 05D1 bne .L513
  13723. 9052 .loc 1 3226 3 discriminator 3
  13724. 9053 003c FB68 ldr r3, [r7, #12]
  13725. 9054 003e 40F2FF12 movw r2, #511
  13726. 9055 0042 A3F85C20 strh r2, [r3, #92] @ movhi
  13727. 9056 0046 1AE0 b .L514
  13728. 9057 .L513:
  13729. 9058 .loc 1 3226 3 discriminator 4
  13730. 9059 0048 FB68 ldr r3, [r7, #12]
  13731. 9060 004a FF22 movs r2, #255
  13732. 9061 004c A3F85C20 strh r2, [r3, #92] @ movhi
  13733. 9062 0050 15E0 b .L514
  13734. 9063 .L512:
  13735. 9064 .loc 1 3226 3 discriminator 2
  13736. 9065 0052 FB68 ldr r3, [r7, #12]
  13737. 9066 0054 9B68 ldr r3, [r3, #8]
  13738. 9067 0056 002B cmp r3, #0
  13739. 9068 0058 0DD1 bne .L515
  13740. 9069 .loc 1 3226 3 discriminator 5
  13741. 9070 005a FB68 ldr r3, [r7, #12]
  13742. 9071 005c 1B69 ldr r3, [r3, #16]
  13743. 9072 005e 002B cmp r3, #0
  13744. 9073 0060 04D1 bne .L516
  13745. 9074 .loc 1 3226 3 discriminator 7
  13746. 9075 0062 FB68 ldr r3, [r7, #12]
  13747. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 238
  13748. 9076 0064 FF22 movs r2, #255
  13749. 9077 0066 A3F85C20 strh r2, [r3, #92] @ movhi
  13750. 9078 006a 08E0 b .L514
  13751. 9079 .L516:
  13752. 9080 .loc 1 3226 3 discriminator 8
  13753. 9081 006c FB68 ldr r3, [r7, #12]
  13754. 9082 006e 7F22 movs r2, #127
  13755. 9083 0070 A3F85C20 strh r2, [r3, #92] @ movhi
  13756. 9084 0074 03E0 b .L514
  13757. 9085 .L515:
  13758. 9086 .loc 1 3226 3 discriminator 6
  13759. 9087 0076 FB68 ldr r3, [r7, #12]
  13760. 9088 0078 0022 movs r2, #0
  13761. 9089 007a A3F85C20 strh r2, [r3, #92] @ movhi
  13762. 9090 .L514:
  13763. 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13764. 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  13765. 9091 .loc 1 3228 20 is_stmt 1
  13766. 9092 007e FB68 ldr r3, [r7, #12]
  13767. 9093 0080 0022 movs r2, #0
  13768. 9094 0082 C3F88420 str r2, [r3, #132]
  13769. 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
  13770. 9095 .loc 1 3229 18
  13771. 9096 0086 FB68 ldr r3, [r7, #12]
  13772. 9097 0088 2222 movs r2, #34
  13773. 9098 008a C3F88020 str r2, [r3, #128]
  13774. 9099 .L519:
  13775. 9100 .LBB683:
  13776. 3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13777. 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  13778. 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
  13779. 9101 .loc 1 3232 3 discriminator 1
  13780. 9102 008e FB68 ldr r3, [r7, #12]
  13781. 9103 0090 1B68 ldr r3, [r3]
  13782. 9104 0092 0833 adds r3, r3, #8
  13783. 9105 0094 FB63 str r3, [r7, #60]
  13784. 9106 .LBB684:
  13785. 9107 .LBB685:
  13786. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13787. 9108 .loc 2 1072 4 discriminator 1
  13788. 9109 0096 FB6B ldr r3, [r7, #60]
  13789. 9110 .syntax unified
  13790. 9111 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13791. 9112 0098 53E8003F ldrex r3, [r3]
  13792. 9113 @ 0 "" 2
  13793. 9114 .thumb
  13794. 9115 .syntax unified
  13795. 9116 009c BB63 str r3, [r7, #56]
  13796. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13797. 9117 .loc 2 1073 10 discriminator 1
  13798. 9118 009e BB6B ldr r3, [r7, #56]
  13799. 9119 .LBE685:
  13800. 9120 .LBE684:
  13801. 9121 .loc 1 3232 3 discriminator 1
  13802. 9122 00a0 43F00103 orr r3, r3, #1
  13803. 9123 00a4 7B65 str r3, [r7, #84]
  13804. 9124 00a6 FB68 ldr r3, [r7, #12]
  13805. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 239
  13806. 9125 00a8 1B68 ldr r3, [r3]
  13807. 9126 00aa 0833 adds r3, r3, #8
  13808. 9127 00ac 7A6D ldr r2, [r7, #84]
  13809. 9128 00ae BA64 str r2, [r7, #72]
  13810. 9129 00b0 7B64 str r3, [r7, #68]
  13811. 9130 .LBB686:
  13812. 9131 .LBB687:
  13813. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13814. 9132 .loc 2 1123 4 discriminator 1
  13815. 9133 00b2 796C ldr r1, [r7, #68]
  13816. 9134 00b4 BA6C ldr r2, [r7, #72]
  13817. 9135 .syntax unified
  13818. 9136 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13819. 9137 00b6 41E80023 strex r3, r2, [r1]
  13820. 9138 @ 0 "" 2
  13821. 9139 .thumb
  13822. 9140 .syntax unified
  13823. 9141 00ba 3B64 str r3, [r7, #64]
  13824. 9142 .loc 2 1124 10 discriminator 1
  13825. 9143 00bc 3B6C ldr r3, [r7, #64]
  13826. 9144 .LBE687:
  13827. 9145 .LBE686:
  13828. 9146 .loc 1 3232 3 discriminator 1
  13829. 9147 00be 002B cmp r3, #0
  13830. 9148 00c0 E5D1 bne .L519
  13831. 9149 .LBE683:
  13832. 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13833. 3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */
  13834. 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  13835. 9150 .loc 1 3235 19
  13836. 9151 00c2 FB68 ldr r3, [r7, #12]
  13837. 9152 00c4 9B68 ldr r3, [r3, #8]
  13838. 9153 .loc 1 3235 6
  13839. 9154 00c6 B3F5805F cmp r3, #4096
  13840. 9155 00ca 07D1 bne .L520
  13841. 9156 .loc 1 3235 69 discriminator 1
  13842. 9157 00cc FB68 ldr r3, [r7, #12]
  13843. 9158 00ce 1B69 ldr r3, [r3, #16]
  13844. 9159 .loc 1 3235 54 discriminator 1
  13845. 9160 00d0 002B cmp r3, #0
  13846. 9161 00d2 03D1 bne .L520
  13847. 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13848. 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT;
  13849. 9162 .loc 1 3237 18
  13850. 9163 00d4 FB68 ldr r3, [r7, #12]
  13851. 9164 00d6 224A ldr r2, .L530
  13852. 9165 00d8 9A66 str r2, [r3, #104]
  13853. 9166 00da 02E0 b .L521
  13854. 9167 .L520:
  13855. 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13856. 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  13857. 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13858. 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT;
  13859. 9168 .loc 1 3241 18
  13860. 9169 00dc FB68 ldr r3, [r7, #12]
  13861. 9170 00de 214A ldr r2, .L530+4
  13862. 9171 00e0 9A66 str r2, [r3, #104]
  13863. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 240
  13864. 9172 .L521:
  13865. 3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13866. 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  13867. 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */
  13868. 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
  13869. 9173 .loc 1 3245 18
  13870. 9174 00e2 FB68 ldr r3, [r7, #12]
  13871. 9175 00e4 1B69 ldr r3, [r3, #16]
  13872. 9176 .loc 1 3245 6
  13873. 9177 00e6 002B cmp r3, #0
  13874. 9178 00e8 19D0 beq .L522
  13875. 9179 .L525:
  13876. 9180 .LBB688:
  13877. 3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13878. 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);
  13879. 9181 .loc 1 3247 5 discriminator 1
  13880. 9182 00ea FB68 ldr r3, [r7, #12]
  13881. 9183 00ec 1B68 ldr r3, [r3]
  13882. 9184 00ee BB62 str r3, [r7, #40]
  13883. 9185 .LBB689:
  13884. 9186 .LBB690:
  13885. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13886. 9187 .loc 2 1072 4 discriminator 1
  13887. 9188 00f0 BB6A ldr r3, [r7, #40]
  13888. 9189 .syntax unified
  13889. 9190 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13890. 9191 00f2 53E8003F ldrex r3, [r3]
  13891. 9192 @ 0 "" 2
  13892. 9193 .thumb
  13893. 9194 .syntax unified
  13894. 9195 00f6 7B62 str r3, [r7, #36]
  13895. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13896. 9196 .loc 2 1073 10 discriminator 1
  13897. 9197 00f8 7B6A ldr r3, [r7, #36]
  13898. 9198 .LBE690:
  13899. 9199 .LBE689:
  13900. 9200 .loc 1 3247 5 discriminator 1
  13901. 9201 00fa 43F49073 orr r3, r3, #288
  13902. 9202 00fe FB64 str r3, [r7, #76]
  13903. 9203 0100 FB68 ldr r3, [r7, #12]
  13904. 9204 0102 1B68 ldr r3, [r3]
  13905. 9205 0104 1A46 mov r2, r3
  13906. 9206 0106 FB6C ldr r3, [r7, #76]
  13907. 9207 0108 7B63 str r3, [r7, #52]
  13908. 9208 010a 3A63 str r2, [r7, #48]
  13909. 9209 .LBB691:
  13910. 9210 .LBB692:
  13911. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13912. 9211 .loc 2 1123 4 discriminator 1
  13913. 9212 010c 396B ldr r1, [r7, #48]
  13914. 9213 010e 7A6B ldr r2, [r7, #52]
  13915. 9214 .syntax unified
  13916. 9215 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13917. 9216 0110 41E80023 strex r3, r2, [r1]
  13918. 9217 @ 0 "" 2
  13919. 9218 .thumb
  13920. 9219 .syntax unified
  13921. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 241
  13922. 9220 0114 FB62 str r3, [r7, #44]
  13923. 9221 .loc 2 1124 10 discriminator 1
  13924. 9222 0116 FB6A ldr r3, [r7, #44]
  13925. 9223 .LBE692:
  13926. 9224 .LBE691:
  13927. 9225 .loc 1 3247 5 discriminator 1
  13928. 9226 0118 002B cmp r3, #0
  13929. 9227 011a E6D1 bne .L525
  13930. 9228 011c 18E0 b .L526
  13931. 9229 .L522:
  13932. 9230 .LBE688:
  13933. 9231 .LBB693:
  13934. 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13935. 3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  13936. 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  13937. 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE);
  13938. 9232 .loc 1 3251 5 discriminator 1
  13939. 9233 011e FB68 ldr r3, [r7, #12]
  13940. 9234 0120 1B68 ldr r3, [r3]
  13941. 9235 0122 7B61 str r3, [r7, #20]
  13942. 9236 .LBB694:
  13943. 9237 .LBB695:
  13944. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13945. 9238 .loc 2 1072 4 discriminator 1
  13946. 9239 0124 7B69 ldr r3, [r7, #20]
  13947. 9240 .syntax unified
  13948. 9241 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13949. 9242 0126 53E8003F ldrex r3, [r3]
  13950. 9243 @ 0 "" 2
  13951. 9244 .thumb
  13952. 9245 .syntax unified
  13953. 9246 012a 3B61 str r3, [r7, #16]
  13954. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13955. 9247 .loc 2 1073 10 discriminator 1
  13956. 9248 012c 3B69 ldr r3, [r7, #16]
  13957. 9249 .LBE695:
  13958. 9250 .LBE694:
  13959. 9251 .loc 1 3251 5 discriminator 1
  13960. 9252 012e 43F02003 orr r3, r3, #32
  13961. 9253 0132 3B65 str r3, [r7, #80]
  13962. 9254 0134 FB68 ldr r3, [r7, #12]
  13963. 9255 0136 1B68 ldr r3, [r3]
  13964. 9256 0138 1A46 mov r2, r3
  13965. 9257 013a 3B6D ldr r3, [r7, #80]
  13966. 9258 013c 3B62 str r3, [r7, #32]
  13967. 9259 013e FA61 str r2, [r7, #28]
  13968. 9260 .LBB696:
  13969. 9261 .LBB697:
  13970. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13971. 9262 .loc 2 1123 4 discriminator 1
  13972. 9263 0140 F969 ldr r1, [r7, #28]
  13973. 9264 0142 3A6A ldr r2, [r7, #32]
  13974. 9265 .syntax unified
  13975. 9266 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13976. 9267 0144 41E80023 strex r3, r2, [r1]
  13977. 9268 @ 0 "" 2
  13978. 9269 .thumb
  13979. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 242
  13980. 9270 .syntax unified
  13981. 9271 0148 BB61 str r3, [r7, #24]
  13982. 9272 .loc 2 1124 10 discriminator 1
  13983. 9273 014a BB69 ldr r3, [r7, #24]
  13984. 9274 .LBE697:
  13985. 9275 .LBE696:
  13986. 9276 .loc 1 3251 5 discriminator 1
  13987. 9277 014c 002B cmp r3, #0
  13988. 9278 014e E6D1 bne .L522
  13989. 9279 .L526:
  13990. 9280 .LBE693:
  13991. 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13992. 3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  13993. 9281 .loc 1 3253 10
  13994. 9282 0150 0023 movs r3, #0
  13995. 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  13996. 9283 .loc 1 3254 1
  13997. 9284 0152 1846 mov r0, r3
  13998. 9285 0154 5C37 adds r7, r7, #92
  13999. 9286 .LCFI259:
  14000. 9287 .cfi_def_cfa_offset 4
  14001. 9288 0156 BD46 mov sp, r7
  14002. 9289 .LCFI260:
  14003. 9290 .cfi_def_cfa_register 13
  14004. 9291 @ sp needed
  14005. 9292 0158 5DF8047B ldr r7, [sp], #4
  14006. 9293 .LCFI261:
  14007. 9294 .cfi_restore 7
  14008. 9295 .cfi_def_cfa_offset 0
  14009. 9296 015c 7047 bx lr
  14010. 9297 .L531:
  14011. 9298 015e 00BF .align 2
  14012. 9299 .L530:
  14013. 9300 0160 00000000 .word UART_RxISR_16BIT
  14014. 9301 0164 00000000 .word UART_RxISR_8BIT
  14015. 9302 .cfi_endproc
  14016. 9303 .LFE177:
  14017. 9305 .section .text.UART_Start_Receive_DMA,"ax",%progbits
  14018. 9306 .align 1
  14019. 9307 .global UART_Start_Receive_DMA
  14020. 9308 .syntax unified
  14021. 9309 .thumb
  14022. 9310 .thumb_func
  14023. 9312 UART_Start_Receive_DMA:
  14024. 9313 .LFB178:
  14025. 3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14026. 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  14027. 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
  14028. 3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
  14029. 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
  14030. 3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
  14031. 3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked.
  14032. 3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  14033. 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  14034. 3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  14035. 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
  14036. 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  14037. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 243
  14038. 3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  14039. 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14040. 9314 .loc 1 3268 1
  14041. 9315 .cfi_startproc
  14042. 9316 @ args = 0, pretend = 0, frame = 88
  14043. 9317 @ frame_needed = 1, uses_anonymous_args = 0
  14044. 9318 0000 80B5 push {r7, lr}
  14045. 9319 .LCFI262:
  14046. 9320 .cfi_def_cfa_offset 8
  14047. 9321 .cfi_offset 7, -8
  14048. 9322 .cfi_offset 14, -4
  14049. 9323 0002 96B0 sub sp, sp, #88
  14050. 9324 .LCFI263:
  14051. 9325 .cfi_def_cfa_offset 96
  14052. 9326 0004 00AF add r7, sp, #0
  14053. 9327 .LCFI264:
  14054. 9328 .cfi_def_cfa_register 7
  14055. 9329 0006 F860 str r0, [r7, #12]
  14056. 9330 0008 B960 str r1, [r7, #8]
  14057. 9331 000a 1346 mov r3, r2
  14058. 9332 000c FB80 strh r3, [r7, #6] @ movhi
  14059. 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData;
  14060. 9333 .loc 1 3269 21
  14061. 9334 000e FB68 ldr r3, [r7, #12]
  14062. 9335 0010 BA68 ldr r2, [r7, #8]
  14063. 9336 0012 5A65 str r2, [r3, #84]
  14064. 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size;
  14065. 9337 .loc 1 3270 21
  14066. 9338 0014 FB68 ldr r3, [r7, #12]
  14067. 9339 0016 FA88 ldrh r2, [r7, #6] @ movhi
  14068. 9340 0018 A3F85820 strh r2, [r3, #88] @ movhi
  14069. 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14070. 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  14071. 9341 .loc 1 3272 20
  14072. 9342 001c FB68 ldr r3, [r7, #12]
  14073. 9343 001e 0022 movs r2, #0
  14074. 9344 0020 C3F88420 str r2, [r3, #132]
  14075. 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
  14076. 9345 .loc 1 3273 18
  14077. 9346 0024 FB68 ldr r3, [r7, #12]
  14078. 9347 0026 2222 movs r2, #34
  14079. 9348 0028 C3F88020 str r2, [r3, #128]
  14080. 3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14081. 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  14082. 9349 .loc 1 3275 12
  14083. 9350 002c FB68 ldr r3, [r7, #12]
  14084. 9351 002e 5B6F ldr r3, [r3, #116]
  14085. 9352 .loc 1 3275 6
  14086. 9353 0030 002B cmp r3, #0
  14087. 9354 0032 28D0 beq .L533
  14088. 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14089. 3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
  14090. 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
  14091. 9355 .loc 1 3278 10
  14092. 9356 0034 FB68 ldr r3, [r7, #12]
  14093. 9357 0036 5B6F ldr r3, [r3, #116]
  14094. 9358 .loc 1 3278 37
  14095. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 244
  14096. 9359 0038 3E4A ldr r2, .L545
  14097. 9360 003a 9A62 str r2, [r3, #40]
  14098. 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14099. 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
  14100. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
  14101. 9361 .loc 1 3281 10
  14102. 9362 003c FB68 ldr r3, [r7, #12]
  14103. 9363 003e 5B6F ldr r3, [r3, #116]
  14104. 9364 .loc 1 3281 41
  14105. 9365 0040 3D4A ldr r2, .L545+4
  14106. 9366 0042 DA62 str r2, [r3, #44]
  14107. 3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14108. 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */
  14109. 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
  14110. 9367 .loc 1 3284 10
  14111. 9368 0044 FB68 ldr r3, [r7, #12]
  14112. 9369 0046 5B6F ldr r3, [r3, #116]
  14113. 9370 .loc 1 3284 38
  14114. 9371 0048 3C4A ldr r2, .L545+8
  14115. 9372 004a 1A63 str r2, [r3, #48]
  14116. 3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14117. 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */
  14118. 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  14119. 9373 .loc 1 3287 10
  14120. 9374 004c FB68 ldr r3, [r7, #12]
  14121. 9375 004e 5B6F ldr r3, [r3, #116]
  14122. 9376 .loc 1 3287 38
  14123. 9377 0050 0022 movs r2, #0
  14124. 9378 0052 5A63 str r2, [r3, #52]
  14125. 3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14126. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA channel */
  14127. 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt
  14128. 9379 .loc 1 3290 9
  14129. 9380 0054 FB68 ldr r3, [r7, #12]
  14130. 9381 0056 586F ldr r0, [r3, #116]
  14131. 9382 .loc 1 3290 57
  14132. 9383 0058 FB68 ldr r3, [r7, #12]
  14133. 9384 005a 1B68 ldr r3, [r3]
  14134. 9385 .loc 1 3290 51
  14135. 9386 005c 2433 adds r3, r3, #36
  14136. 9387 .loc 1 3290 9
  14137. 9388 005e 1946 mov r1, r3
  14138. 9389 .loc 1 3290 89
  14139. 9390 0060 FB68 ldr r3, [r7, #12]
  14140. 9391 0062 5B6D ldr r3, [r3, #84]
  14141. 9392 .loc 1 3290 9
  14142. 9393 0064 1A46 mov r2, r3
  14143. 9394 0066 FB88 ldrh r3, [r7, #6]
  14144. 9395 0068 FFF7FEFF bl HAL_DMA_Start_IT
  14145. 9396 006c 0346 mov r3, r0
  14146. 9397 .loc 1 3290 8
  14147. 9398 006e 002B cmp r3, #0
  14148. 9399 0070 09D0 beq .L533
  14149. 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14150. 3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
  14151. 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  14152. 9400 .loc 1 3293 24
  14153. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 245
  14154. 9401 0072 FB68 ldr r3, [r7, #12]
  14155. 9402 0074 1022 movs r2, #16
  14156. 9403 0076 C3F88420 str r2, [r3, #132]
  14157. 3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14158. 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to ready */
  14159. 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  14160. 9404 .loc 1 3296 22
  14161. 9405 007a FB68 ldr r3, [r7, #12]
  14162. 9406 007c 2022 movs r2, #32
  14163. 9407 007e C3F88020 str r2, [r3, #128]
  14164. 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14165. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
  14166. 9408 .loc 1 3298 14
  14167. 9409 0082 0123 movs r3, #1
  14168. 9410 0084 51E0 b .L534
  14169. 9411 .L533:
  14170. 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14171. 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14172. 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14173. 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
  14174. 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
  14175. 9412 .loc 1 3303 18
  14176. 9413 0086 FB68 ldr r3, [r7, #12]
  14177. 9414 0088 1B69 ldr r3, [r3, #16]
  14178. 9415 .loc 1 3303 6
  14179. 9416 008a 002B cmp r3, #0
  14180. 9417 008c 18D0 beq .L541
  14181. 9418 .L538:
  14182. 9419 .LBB698:
  14183. 3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14184. 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  14185. 9420 .loc 1 3305 5 discriminator 1
  14186. 9421 008e FB68 ldr r3, [r7, #12]
  14187. 9422 0090 1B68 ldr r3, [r3]
  14188. 9423 0092 FB63 str r3, [r7, #60]
  14189. 9424 .LBB699:
  14190. 9425 .LBB700:
  14191. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14192. 9426 .loc 2 1072 4 discriminator 1
  14193. 9427 0094 FB6B ldr r3, [r7, #60]
  14194. 9428 .syntax unified
  14195. 9429 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14196. 9430 0096 53E8003F ldrex r3, [r3]
  14197. 9431 @ 0 "" 2
  14198. 9432 .thumb
  14199. 9433 .syntax unified
  14200. 9434 009a BB63 str r3, [r7, #56]
  14201. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14202. 9435 .loc 2 1073 10 discriminator 1
  14203. 9436 009c BB6B ldr r3, [r7, #56]
  14204. 9437 .LBE700:
  14205. 9438 .LBE699:
  14206. 9439 .loc 1 3305 5 discriminator 1
  14207. 9440 009e 43F48073 orr r3, r3, #256
  14208. 9441 00a2 7B65 str r3, [r7, #84]
  14209. 9442 00a4 FB68 ldr r3, [r7, #12]
  14210. 9443 00a6 1B68 ldr r3, [r3]
  14211. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 246
  14212. 9444 00a8 1A46 mov r2, r3
  14213. 9445 00aa 7B6D ldr r3, [r7, #84]
  14214. 9446 00ac BB64 str r3, [r7, #72]
  14215. 9447 00ae 7A64 str r2, [r7, #68]
  14216. 9448 .LBB701:
  14217. 9449 .LBB702:
  14218. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14219. 9450 .loc 2 1123 4 discriminator 1
  14220. 9451 00b0 796C ldr r1, [r7, #68]
  14221. 9452 00b2 BA6C ldr r2, [r7, #72]
  14222. 9453 .syntax unified
  14223. 9454 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14224. 9455 00b4 41E80023 strex r3, r2, [r1]
  14225. 9456 @ 0 "" 2
  14226. 9457 .thumb
  14227. 9458 .syntax unified
  14228. 9459 00b8 3B64 str r3, [r7, #64]
  14229. 9460 .loc 2 1124 10 discriminator 1
  14230. 9461 00ba 3B6C ldr r3, [r7, #64]
  14231. 9462 .LBE702:
  14232. 9463 .LBE701:
  14233. 9464 .loc 1 3305 5 discriminator 1
  14234. 9465 00bc 002B cmp r3, #0
  14235. 9466 00be E6D1 bne .L538
  14236. 9467 .L541:
  14237. 9468 .LBE698:
  14238. 9469 .LBB703:
  14239. 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14240. 3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14241. 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  14242. 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
  14243. 9470 .loc 1 3309 3 discriminator 1
  14244. 9471 00c0 FB68 ldr r3, [r7, #12]
  14245. 9472 00c2 1B68 ldr r3, [r3]
  14246. 9473 00c4 0833 adds r3, r3, #8
  14247. 9474 00c6 BB62 str r3, [r7, #40]
  14248. 9475 .LBB704:
  14249. 9476 .LBB705:
  14250. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14251. 9477 .loc 2 1072 4 discriminator 1
  14252. 9478 00c8 BB6A ldr r3, [r7, #40]
  14253. 9479 .syntax unified
  14254. 9480 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14255. 9481 00ca 53E8003F ldrex r3, [r3]
  14256. 9482 @ 0 "" 2
  14257. 9483 .thumb
  14258. 9484 .syntax unified
  14259. 9485 00ce 7B62 str r3, [r7, #36]
  14260. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14261. 9486 .loc 2 1073 10 discriminator 1
  14262. 9487 00d0 7B6A ldr r3, [r7, #36]
  14263. 9488 .LBE705:
  14264. 9489 .LBE704:
  14265. 9490 .loc 1 3309 3 discriminator 1
  14266. 9491 00d2 43F00103 orr r3, r3, #1
  14267. 9492 00d6 3B65 str r3, [r7, #80]
  14268. 9493 00d8 FB68 ldr r3, [r7, #12]
  14269. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 247
  14270. 9494 00da 1B68 ldr r3, [r3]
  14271. 9495 00dc 0833 adds r3, r3, #8
  14272. 9496 00de 3A6D ldr r2, [r7, #80]
  14273. 9497 00e0 7A63 str r2, [r7, #52]
  14274. 9498 00e2 3B63 str r3, [r7, #48]
  14275. 9499 .LBB706:
  14276. 9500 .LBB707:
  14277. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14278. 9501 .loc 2 1123 4 discriminator 1
  14279. 9502 00e4 396B ldr r1, [r7, #48]
  14280. 9503 00e6 7A6B ldr r2, [r7, #52]
  14281. 9504 .syntax unified
  14282. 9505 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14283. 9506 00e8 41E80023 strex r3, r2, [r1]
  14284. 9507 @ 0 "" 2
  14285. 9508 .thumb
  14286. 9509 .syntax unified
  14287. 9510 00ec FB62 str r3, [r7, #44]
  14288. 9511 .loc 2 1124 10 discriminator 1
  14289. 9512 00ee FB6A ldr r3, [r7, #44]
  14290. 9513 .LBE707:
  14291. 9514 .LBE706:
  14292. 9515 .loc 1 3309 3 discriminator 1
  14293. 9516 00f0 002B cmp r3, #0
  14294. 9517 00f2 E5D1 bne .L541
  14295. 9518 .L544:
  14296. 9519 .LBE703:
  14297. 9520 .LBB708:
  14298. 3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14299. 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
  14300. 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
  14301. 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  14302. 9521 .loc 1 3313 3 discriminator 1
  14303. 9522 00f4 FB68 ldr r3, [r7, #12]
  14304. 9523 00f6 1B68 ldr r3, [r3]
  14305. 9524 00f8 0833 adds r3, r3, #8
  14306. 9525 00fa 7B61 str r3, [r7, #20]
  14307. 9526 .LBB709:
  14308. 9527 .LBB710:
  14309. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14310. 9528 .loc 2 1072 4 discriminator 1
  14311. 9529 00fc 7B69 ldr r3, [r7, #20]
  14312. 9530 .syntax unified
  14313. 9531 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14314. 9532 00fe 53E8003F ldrex r3, [r3]
  14315. 9533 @ 0 "" 2
  14316. 9534 .thumb
  14317. 9535 .syntax unified
  14318. 9536 0102 3B61 str r3, [r7, #16]
  14319. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14320. 9537 .loc 2 1073 10 discriminator 1
  14321. 9538 0104 3B69 ldr r3, [r7, #16]
  14322. 9539 .LBE710:
  14323. 9540 .LBE709:
  14324. 9541 .loc 1 3313 3 discriminator 1
  14325. 9542 0106 43F04003 orr r3, r3, #64
  14326. 9543 010a FB64 str r3, [r7, #76]
  14327. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 248
  14328. 9544 010c FB68 ldr r3, [r7, #12]
  14329. 9545 010e 1B68 ldr r3, [r3]
  14330. 9546 0110 0833 adds r3, r3, #8
  14331. 9547 0112 FA6C ldr r2, [r7, #76]
  14332. 9548 0114 3A62 str r2, [r7, #32]
  14333. 9549 0116 FB61 str r3, [r7, #28]
  14334. 9550 .LBB711:
  14335. 9551 .LBB712:
  14336. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14337. 9552 .loc 2 1123 4 discriminator 1
  14338. 9553 0118 F969 ldr r1, [r7, #28]
  14339. 9554 011a 3A6A ldr r2, [r7, #32]
  14340. 9555 .syntax unified
  14341. 9556 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14342. 9557 011c 41E80023 strex r3, r2, [r1]
  14343. 9558 @ 0 "" 2
  14344. 9559 .thumb
  14345. 9560 .syntax unified
  14346. 9561 0120 BB61 str r3, [r7, #24]
  14347. 9562 .loc 2 1124 10 discriminator 1
  14348. 9563 0122 BB69 ldr r3, [r7, #24]
  14349. 9564 .LBE712:
  14350. 9565 .LBE711:
  14351. 9566 .loc 1 3313 3 discriminator 1
  14352. 9567 0124 002B cmp r3, #0
  14353. 9568 0126 E5D1 bne .L544
  14354. 9569 .LBE708:
  14355. 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14356. 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
  14357. 9570 .loc 1 3315 10
  14358. 9571 0128 0023 movs r3, #0
  14359. 9572 .L534:
  14360. 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14361. 9573 .loc 1 3316 1
  14362. 9574 012a 1846 mov r0, r3
  14363. 9575 012c 5837 adds r7, r7, #88
  14364. 9576 .LCFI265:
  14365. 9577 .cfi_def_cfa_offset 8
  14366. 9578 012e BD46 mov sp, r7
  14367. 9579 .LCFI266:
  14368. 9580 .cfi_def_cfa_register 13
  14369. 9581 @ sp needed
  14370. 9582 0130 80BD pop {r7, pc}
  14371. 9583 .L546:
  14372. 9584 0132 00BF .align 2
  14373. 9585 .L545:
  14374. 9586 0134 00000000 .word UART_DMAReceiveCplt
  14375. 9587 0138 00000000 .word UART_DMARxHalfCplt
  14376. 9588 013c 00000000 .word UART_DMAError
  14377. 9589 .cfi_endproc
  14378. 9590 .LFE178:
  14379. 9592 .section .text.UART_EndTxTransfer,"ax",%progbits
  14380. 9593 .align 1
  14381. 9594 .syntax unified
  14382. 9595 .thumb
  14383. 9596 .thumb_func
  14384. 9598 UART_EndTxTransfer:
  14385. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 249
  14386. 9599 .LFB179:
  14387. 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14388. 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14389. 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  14390. 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
  14391. 3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  14392. 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  14393. 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  14394. 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
  14395. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14396. 9600 .loc 1 3325 1
  14397. 9601 .cfi_startproc
  14398. 9602 @ args = 0, pretend = 0, frame = 32
  14399. 9603 @ frame_needed = 1, uses_anonymous_args = 0
  14400. 9604 @ link register save eliminated.
  14401. 9605 0000 80B4 push {r7}
  14402. 9606 .LCFI267:
  14403. 9607 .cfi_def_cfa_offset 4
  14404. 9608 .cfi_offset 7, -4
  14405. 9609 0002 89B0 sub sp, sp, #36
  14406. 9610 .LCFI268:
  14407. 9611 .cfi_def_cfa_offset 40
  14408. 9612 0004 00AF add r7, sp, #0
  14409. 9613 .LCFI269:
  14410. 9614 .cfi_def_cfa_register 7
  14411. 9615 0006 7860 str r0, [r7, #4]
  14412. 9616 .L550:
  14413. 9617 .LBB713:
  14414. 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
  14415. 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
  14416. 9618 .loc 1 3327 3 discriminator 1
  14417. 9619 0008 7B68 ldr r3, [r7, #4]
  14418. 9620 000a 1B68 ldr r3, [r3]
  14419. 9621 000c FB60 str r3, [r7, #12]
  14420. 9622 .LBB714:
  14421. 9623 .LBB715:
  14422. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14423. 9624 .loc 2 1072 4 discriminator 1
  14424. 9625 000e FB68 ldr r3, [r7, #12]
  14425. 9626 .syntax unified
  14426. 9627 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14427. 9628 0010 53E8003F ldrex r3, [r3]
  14428. 9629 @ 0 "" 2
  14429. 9630 .thumb
  14430. 9631 .syntax unified
  14431. 9632 0014 BB60 str r3, [r7, #8]
  14432. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14433. 9633 .loc 2 1073 10 discriminator 1
  14434. 9634 0016 BB68 ldr r3, [r7, #8]
  14435. 9635 .LBE715:
  14436. 9636 .LBE714:
  14437. 9637 .loc 1 3327 3 discriminator 1
  14438. 9638 0018 23F0C003 bic r3, r3, #192
  14439. 9639 001c FB61 str r3, [r7, #28]
  14440. 9640 001e 7B68 ldr r3, [r7, #4]
  14441. 9641 0020 1B68 ldr r3, [r3]
  14442. 9642 0022 1A46 mov r2, r3
  14443. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 250
  14444. 9643 0024 FB69 ldr r3, [r7, #28]
  14445. 9644 0026 BB61 str r3, [r7, #24]
  14446. 9645 0028 7A61 str r2, [r7, #20]
  14447. 9646 .LBB716:
  14448. 9647 .LBB717:
  14449. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14450. 9648 .loc 2 1123 4 discriminator 1
  14451. 9649 002a 7969 ldr r1, [r7, #20]
  14452. 9650 002c BA69 ldr r2, [r7, #24]
  14453. 9651 .syntax unified
  14454. 9652 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14455. 9653 002e 41E80023 strex r3, r2, [r1]
  14456. 9654 @ 0 "" 2
  14457. 9655 .thumb
  14458. 9656 .syntax unified
  14459. 9657 0032 3B61 str r3, [r7, #16]
  14460. 9658 .loc 2 1124 10 discriminator 1
  14461. 9659 0034 3B69 ldr r3, [r7, #16]
  14462. 9660 .LBE717:
  14463. 9661 .LBE716:
  14464. 9662 .loc 1 3327 3 discriminator 1
  14465. 9663 0036 002B cmp r3, #0
  14466. 9664 0038 E6D1 bne .L550
  14467. 9665 .LBE713:
  14468. 3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14469. 3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
  14470. 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  14471. 9666 .loc 1 3330 17
  14472. 9667 003a 7B68 ldr r3, [r7, #4]
  14473. 9668 003c 2022 movs r2, #32
  14474. 9669 003e DA67 str r2, [r3, #124]
  14475. 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14476. 9670 .loc 1 3331 1
  14477. 9671 0040 00BF nop
  14478. 9672 0042 2437 adds r7, r7, #36
  14479. 9673 .LCFI270:
  14480. 9674 .cfi_def_cfa_offset 4
  14481. 9675 0044 BD46 mov sp, r7
  14482. 9676 .LCFI271:
  14483. 9677 .cfi_def_cfa_register 13
  14484. 9678 @ sp needed
  14485. 9679 0046 5DF8047B ldr r7, [sp], #4
  14486. 9680 .LCFI272:
  14487. 9681 .cfi_restore 7
  14488. 9682 .cfi_def_cfa_offset 0
  14489. 9683 004a 7047 bx lr
  14490. 9684 .cfi_endproc
  14491. 9685 .LFE179:
  14492. 9687 .section .text.UART_EndRxTransfer,"ax",%progbits
  14493. 9688 .align 1
  14494. 9689 .syntax unified
  14495. 9690 .thumb
  14496. 9691 .thumb_func
  14497. 9693 UART_EndRxTransfer:
  14498. 9694 .LFB180:
  14499. 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14500. 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14501. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 251
  14502. 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  14503. 3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
  14504. 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  14505. 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  14506. 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  14507. 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
  14508. 3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14509. 9695 .loc 1 3340 1
  14510. 9696 .cfi_startproc
  14511. 9697 @ args = 0, pretend = 0, frame = 80
  14512. 9698 @ frame_needed = 1, uses_anonymous_args = 0
  14513. 9699 @ link register save eliminated.
  14514. 9700 0000 80B4 push {r7}
  14515. 9701 .LCFI273:
  14516. 9702 .cfi_def_cfa_offset 4
  14517. 9703 .cfi_offset 7, -4
  14518. 9704 0002 95B0 sub sp, sp, #84
  14519. 9705 .LCFI274:
  14520. 9706 .cfi_def_cfa_offset 88
  14521. 9707 0004 00AF add r7, sp, #0
  14522. 9708 .LCFI275:
  14523. 9709 .cfi_def_cfa_register 7
  14524. 9710 0006 7860 str r0, [r7, #4]
  14525. 9711 .L554:
  14526. 9712 .LBB718:
  14527. 3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  14528. 3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  14529. 9713 .loc 1 3342 3 discriminator 1
  14530. 9714 0008 7B68 ldr r3, [r7, #4]
  14531. 9715 000a 1B68 ldr r3, [r3]
  14532. 9716 000c 7B63 str r3, [r7, #52]
  14533. 9717 .LBB719:
  14534. 9718 .LBB720:
  14535. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14536. 9719 .loc 2 1072 4 discriminator 1
  14537. 9720 000e 7B6B ldr r3, [r7, #52]
  14538. 9721 .syntax unified
  14539. 9722 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14540. 9723 0010 53E8003F ldrex r3, [r3]
  14541. 9724 @ 0 "" 2
  14542. 9725 .thumb
  14543. 9726 .syntax unified
  14544. 9727 0014 3B63 str r3, [r7, #48]
  14545. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14546. 9728 .loc 2 1073 10 discriminator 1
  14547. 9729 0016 3B6B ldr r3, [r7, #48]
  14548. 9730 .LBE720:
  14549. 9731 .LBE719:
  14550. 9732 .loc 1 3342 3 discriminator 1
  14551. 9733 0018 23F49073 bic r3, r3, #288
  14552. 9734 001c FB64 str r3, [r7, #76]
  14553. 9735 001e 7B68 ldr r3, [r7, #4]
  14554. 9736 0020 1B68 ldr r3, [r3]
  14555. 9737 0022 1A46 mov r2, r3
  14556. 9738 0024 FB6C ldr r3, [r7, #76]
  14557. 9739 0026 3B64 str r3, [r7, #64]
  14558. 9740 0028 FA63 str r2, [r7, #60]
  14559. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 252
  14560. 9741 .LBB721:
  14561. 9742 .LBB722:
  14562. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14563. 9743 .loc 2 1123 4 discriminator 1
  14564. 9744 002a F96B ldr r1, [r7, #60]
  14565. 9745 002c 3A6C ldr r2, [r7, #64]
  14566. 9746 .syntax unified
  14567. 9747 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14568. 9748 002e 41E80023 strex r3, r2, [r1]
  14569. 9749 @ 0 "" 2
  14570. 9750 .thumb
  14571. 9751 .syntax unified
  14572. 9752 0032 BB63 str r3, [r7, #56]
  14573. 9753 .loc 2 1124 10 discriminator 1
  14574. 9754 0034 BB6B ldr r3, [r7, #56]
  14575. 9755 .LBE722:
  14576. 9756 .LBE721:
  14577. 9757 .loc 1 3342 3 discriminator 1
  14578. 9758 0036 002B cmp r3, #0
  14579. 9759 0038 E6D1 bne .L554
  14580. 9760 .L557:
  14581. 9761 .LBE718:
  14582. 9762 .LBB723:
  14583. 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  14584. 9763 .loc 1 3343 3 discriminator 1
  14585. 9764 003a 7B68 ldr r3, [r7, #4]
  14586. 9765 003c 1B68 ldr r3, [r3]
  14587. 9766 003e 0833 adds r3, r3, #8
  14588. 9767 0040 3B62 str r3, [r7, #32]
  14589. 9768 .LBB724:
  14590. 9769 .LBB725:
  14591. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14592. 9770 .loc 2 1072 4 discriminator 1
  14593. 9771 0042 3B6A ldr r3, [r7, #32]
  14594. 9772 .syntax unified
  14595. 9773 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14596. 9774 0044 53E8003F ldrex r3, [r3]
  14597. 9775 @ 0 "" 2
  14598. 9776 .thumb
  14599. 9777 .syntax unified
  14600. 9778 0048 FB61 str r3, [r7, #28]
  14601. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14602. 9779 .loc 2 1073 10 discriminator 1
  14603. 9780 004a FB69 ldr r3, [r7, #28]
  14604. 9781 .LBE725:
  14605. 9782 .LBE724:
  14606. 9783 .loc 1 3343 3 discriminator 1
  14607. 9784 004c 23F00103 bic r3, r3, #1
  14608. 9785 0050 BB64 str r3, [r7, #72]
  14609. 9786 0052 7B68 ldr r3, [r7, #4]
  14610. 9787 0054 1B68 ldr r3, [r3]
  14611. 9788 0056 0833 adds r3, r3, #8
  14612. 9789 0058 BA6C ldr r2, [r7, #72]
  14613. 9790 005a FA62 str r2, [r7, #44]
  14614. 9791 005c BB62 str r3, [r7, #40]
  14615. 9792 .LBB726:
  14616. 9793 .LBB727:
  14617. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 253
  14618. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14619. 9794 .loc 2 1123 4 discriminator 1
  14620. 9795 005e B96A ldr r1, [r7, #40]
  14621. 9796 0060 FA6A ldr r2, [r7, #44]
  14622. 9797 .syntax unified
  14623. 9798 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14624. 9799 0062 41E80023 strex r3, r2, [r1]
  14625. 9800 @ 0 "" 2
  14626. 9801 .thumb
  14627. 9802 .syntax unified
  14628. 9803 0066 7B62 str r3, [r7, #36]
  14629. 9804 .loc 2 1124 10 discriminator 1
  14630. 9805 0068 7B6A ldr r3, [r7, #36]
  14631. 9806 .LBE727:
  14632. 9807 .LBE726:
  14633. 9808 .loc 1 3343 3 discriminator 1
  14634. 9809 006a 002B cmp r3, #0
  14635. 9810 006c E5D1 bne .L557
  14636. 9811 .LBE723:
  14637. 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14638. 3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
  14639. 3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  14640. 9812 .loc 1 3346 12
  14641. 9813 006e 7B68 ldr r3, [r7, #4]
  14642. 9814 0070 1B6E ldr r3, [r3, #96]
  14643. 9815 .loc 1 3346 6
  14644. 9816 0072 012B cmp r3, #1
  14645. 9817 0074 18D1 bne .L558
  14646. 9818 .L561:
  14647. 9819 .LBB728:
  14648. 3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14649. 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  14650. 9820 .loc 1 3348 5 discriminator 1
  14651. 9821 0076 7B68 ldr r3, [r7, #4]
  14652. 9822 0078 1B68 ldr r3, [r3]
  14653. 9823 007a FB60 str r3, [r7, #12]
  14654. 9824 .LBB729:
  14655. 9825 .LBB730:
  14656. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14657. 9826 .loc 2 1072 4 discriminator 1
  14658. 9827 007c FB68 ldr r3, [r7, #12]
  14659. 9828 .syntax unified
  14660. 9829 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14661. 9830 007e 53E8003F ldrex r3, [r3]
  14662. 9831 @ 0 "" 2
  14663. 9832 .thumb
  14664. 9833 .syntax unified
  14665. 9834 0082 BB60 str r3, [r7, #8]
  14666. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14667. 9835 .loc 2 1073 10 discriminator 1
  14668. 9836 0084 BB68 ldr r3, [r7, #8]
  14669. 9837 .LBE730:
  14670. 9838 .LBE729:
  14671. 9839 .loc 1 3348 5 discriminator 1
  14672. 9840 0086 23F01003 bic r3, r3, #16
  14673. 9841 008a 7B64 str r3, [r7, #68]
  14674. 9842 008c 7B68 ldr r3, [r7, #4]
  14675. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 254
  14676. 9843 008e 1B68 ldr r3, [r3]
  14677. 9844 0090 1A46 mov r2, r3
  14678. 9845 0092 7B6C ldr r3, [r7, #68]
  14679. 9846 0094 BB61 str r3, [r7, #24]
  14680. 9847 0096 7A61 str r2, [r7, #20]
  14681. 9848 .LBB731:
  14682. 9849 .LBB732:
  14683. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14684. 9850 .loc 2 1123 4 discriminator 1
  14685. 9851 0098 7969 ldr r1, [r7, #20]
  14686. 9852 009a BA69 ldr r2, [r7, #24]
  14687. 9853 .syntax unified
  14688. 9854 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14689. 9855 009c 41E80023 strex r3, r2, [r1]
  14690. 9856 @ 0 "" 2
  14691. 9857 .thumb
  14692. 9858 .syntax unified
  14693. 9859 00a0 3B61 str r3, [r7, #16]
  14694. 9860 .loc 2 1124 10 discriminator 1
  14695. 9861 00a2 3B69 ldr r3, [r7, #16]
  14696. 9862 .LBE732:
  14697. 9863 .LBE731:
  14698. 9864 .loc 1 3348 5 discriminator 1
  14699. 9865 00a4 002B cmp r3, #0
  14700. 9866 00a6 E6D1 bne .L561
  14701. 9867 .L558:
  14702. 9868 .LBE728:
  14703. 3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14704. 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14705. 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  14706. 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  14707. 9869 .loc 1 3352 18
  14708. 9870 00a8 7B68 ldr r3, [r7, #4]
  14709. 9871 00aa 2022 movs r2, #32
  14710. 9872 00ac C3F88020 str r2, [r3, #128]
  14711. 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  14712. 9873 .loc 1 3353 24
  14713. 9874 00b0 7B68 ldr r3, [r7, #4]
  14714. 9875 00b2 0022 movs r2, #0
  14715. 9876 00b4 1A66 str r2, [r3, #96]
  14716. 3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14717. 3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset RxIsr function pointer */
  14718. 3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
  14719. 9877 .loc 1 3356 16
  14720. 9878 00b6 7B68 ldr r3, [r7, #4]
  14721. 9879 00b8 0022 movs r2, #0
  14722. 9880 00ba 9A66 str r2, [r3, #104]
  14723. 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14724. 9881 .loc 1 3357 1
  14725. 9882 00bc 00BF nop
  14726. 9883 00be 5437 adds r7, r7, #84
  14727. 9884 .LCFI276:
  14728. 9885 .cfi_def_cfa_offset 4
  14729. 9886 00c0 BD46 mov sp, r7
  14730. 9887 .LCFI277:
  14731. 9888 .cfi_def_cfa_register 13
  14732. 9889 @ sp needed
  14733. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 255
  14734. 9890 00c2 5DF8047B ldr r7, [sp], #4
  14735. 9891 .LCFI278:
  14736. 9892 .cfi_restore 7
  14737. 9893 .cfi_def_cfa_offset 0
  14738. 9894 00c6 7047 bx lr
  14739. 9895 .cfi_endproc
  14740. 9896 .LFE180:
  14741. 9898 .section .text.UART_DMATransmitCplt,"ax",%progbits
  14742. 9899 .align 1
  14743. 9900 .syntax unified
  14744. 9901 .thumb
  14745. 9902 .thumb_func
  14746. 9904 UART_DMATransmitCplt:
  14747. 9905 .LFB181:
  14748. 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14749. 3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14750. 3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  14751. 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
  14752. 3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  14753. 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  14754. 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  14755. 3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
  14756. 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14757. 9906 .loc 1 3366 1
  14758. 9907 .cfi_startproc
  14759. 9908 @ args = 0, pretend = 0, frame = 64
  14760. 9909 @ frame_needed = 1, uses_anonymous_args = 0
  14761. 9910 0000 80B5 push {r7, lr}
  14762. 9911 .LCFI279:
  14763. 9912 .cfi_def_cfa_offset 8
  14764. 9913 .cfi_offset 7, -8
  14765. 9914 .cfi_offset 14, -4
  14766. 9915 0002 90B0 sub sp, sp, #64
  14767. 9916 .LCFI280:
  14768. 9917 .cfi_def_cfa_offset 72
  14769. 9918 0004 00AF add r7, sp, #0
  14770. 9919 .LCFI281:
  14771. 9920 .cfi_def_cfa_register 7
  14772. 9921 0006 7860 str r0, [r7, #4]
  14773. 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  14774. 9922 .loc 1 3367 23
  14775. 9923 0008 7B68 ldr r3, [r7, #4]
  14776. 9924 000a 5B6A ldr r3, [r3, #36]
  14777. 9925 000c FB63 str r3, [r7, #60]
  14778. 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14779. 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */
  14780. 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
  14781. 9926 .loc 1 3370 17
  14782. 9927 000e 7B68 ldr r3, [r7, #4]
  14783. 9928 0010 9B69 ldr r3, [r3, #24]
  14784. 9929 .loc 1 3370 6
  14785. 9930 0012 202B cmp r3, #32
  14786. 9931 0014 37D0 beq .L563
  14787. 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14788. 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  14789. 9932 .loc 1 3372 24
  14790. 9933 0016 FB6B ldr r3, [r7, #60]
  14791. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 256
  14792. 9934 0018 0022 movs r2, #0
  14793. 9935 001a A3F85220 strh r2, [r3, #82] @ movhi
  14794. 9936 .L566:
  14795. 9937 .LBB733:
  14796. 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14797. 3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit
  14798. 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
  14799. 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  14800. 9938 .loc 1 3376 5 discriminator 1
  14801. 9939 001e FB6B ldr r3, [r7, #60]
  14802. 9940 0020 1B68 ldr r3, [r3]
  14803. 9941 0022 0833 adds r3, r3, #8
  14804. 9942 0024 7B62 str r3, [r7, #36]
  14805. 9943 .LBB734:
  14806. 9944 .LBB735:
  14807. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14808. 9945 .loc 2 1072 4 discriminator 1
  14809. 9946 0026 7B6A ldr r3, [r7, #36]
  14810. 9947 .syntax unified
  14811. 9948 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14812. 9949 0028 53E8003F ldrex r3, [r3]
  14813. 9950 @ 0 "" 2
  14814. 9951 .thumb
  14815. 9952 .syntax unified
  14816. 9953 002c 3B62 str r3, [r7, #32]
  14817. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14818. 9954 .loc 2 1073 10 discriminator 1
  14819. 9955 002e 3B6A ldr r3, [r7, #32]
  14820. 9956 .LBE735:
  14821. 9957 .LBE734:
  14822. 9958 .loc 1 3376 5 discriminator 1
  14823. 9959 0030 23F08003 bic r3, r3, #128
  14824. 9960 0034 BB63 str r3, [r7, #56]
  14825. 9961 0036 FB6B ldr r3, [r7, #60]
  14826. 9962 0038 1B68 ldr r3, [r3]
  14827. 9963 003a 0833 adds r3, r3, #8
  14828. 9964 003c BA6B ldr r2, [r7, #56]
  14829. 9965 003e 3A63 str r2, [r7, #48]
  14830. 9966 0040 FB62 str r3, [r7, #44]
  14831. 9967 .LBB736:
  14832. 9968 .LBB737:
  14833. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14834. 9969 .loc 2 1123 4 discriminator 1
  14835. 9970 0042 F96A ldr r1, [r7, #44]
  14836. 9971 0044 3A6B ldr r2, [r7, #48]
  14837. 9972 .syntax unified
  14838. 9973 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14839. 9974 0046 41E80023 strex r3, r2, [r1]
  14840. 9975 @ 0 "" 2
  14841. 9976 .thumb
  14842. 9977 .syntax unified
  14843. 9978 004a BB62 str r3, [r7, #40]
  14844. 9979 .loc 2 1124 10 discriminator 1
  14845. 9980 004c BB6A ldr r3, [r7, #40]
  14846. 9981 .LBE737:
  14847. 9982 .LBE736:
  14848. 9983 .loc 1 3376 5 discriminator 1
  14849. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 257
  14850. 9984 004e 002B cmp r3, #0
  14851. 9985 0050 E5D1 bne .L566
  14852. 9986 .L569:
  14853. 9987 .LBE733:
  14854. 9988 .LBB738:
  14855. 3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14856. 3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
  14857. 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
  14858. 9989 .loc 1 3379 5 discriminator 1
  14859. 9990 0052 FB6B ldr r3, [r7, #60]
  14860. 9991 0054 1B68 ldr r3, [r3]
  14861. 9992 0056 3B61 str r3, [r7, #16]
  14862. 9993 .LBB739:
  14863. 9994 .LBB740:
  14864. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14865. 9995 .loc 2 1072 4 discriminator 1
  14866. 9996 0058 3B69 ldr r3, [r7, #16]
  14867. 9997 .syntax unified
  14868. 9998 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14869. 9999 005a 53E8003F ldrex r3, [r3]
  14870. 10000 @ 0 "" 2
  14871. 10001 .thumb
  14872. 10002 .syntax unified
  14873. 10003 005e FB60 str r3, [r7, #12]
  14874. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14875. 10004 .loc 2 1073 10 discriminator 1
  14876. 10005 0060 FB68 ldr r3, [r7, #12]
  14877. 10006 .LBE740:
  14878. 10007 .LBE739:
  14879. 10008 .loc 1 3379 5 discriminator 1
  14880. 10009 0062 43F04003 orr r3, r3, #64
  14881. 10010 0066 7B63 str r3, [r7, #52]
  14882. 10011 0068 FB6B ldr r3, [r7, #60]
  14883. 10012 006a 1B68 ldr r3, [r3]
  14884. 10013 006c 1A46 mov r2, r3
  14885. 10014 006e 7B6B ldr r3, [r7, #52]
  14886. 10015 0070 FB61 str r3, [r7, #28]
  14887. 10016 0072 BA61 str r2, [r7, #24]
  14888. 10017 .LBB741:
  14889. 10018 .LBB742:
  14890. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14891. 10019 .loc 2 1123 4 discriminator 1
  14892. 10020 0074 B969 ldr r1, [r7, #24]
  14893. 10021 0076 FA69 ldr r2, [r7, #28]
  14894. 10022 .syntax unified
  14895. 10023 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14896. 10024 0078 41E80023 strex r3, r2, [r1]
  14897. 10025 @ 0 "" 2
  14898. 10026 .thumb
  14899. 10027 .syntax unified
  14900. 10028 007c 7B61 str r3, [r7, #20]
  14901. 10029 .loc 2 1124 10 discriminator 1
  14902. 10030 007e 7B69 ldr r3, [r7, #20]
  14903. 10031 .LBE742:
  14904. 10032 .LBE741:
  14905. 10033 .loc 1 3379 5 discriminator 1
  14906. 10034 0080 002B cmp r3, #0
  14907. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 258
  14908. 10035 0082 E6D1 bne .L569
  14909. 10036 .LBE738:
  14910. 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14911. 3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Circular mode */
  14912. 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  14913. 3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14914. 3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  14915. 3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/
  14916. 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart);
  14917. 3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  14918. 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
  14919. 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
  14920. 3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  14921. 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14922. 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14923. 10037 .loc 1 3392 1
  14924. 10038 0084 02E0 b .L571
  14925. 10039 .L563:
  14926. 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  14927. 10040 .loc 1 3389 5
  14928. 10041 0086 F86B ldr r0, [r7, #60]
  14929. 10042 0088 FFF7FEFF bl HAL_UART_TxCpltCallback
  14930. 10043 .L571:
  14931. 10044 .loc 1 3392 1
  14932. 10045 008c 00BF nop
  14933. 10046 008e 4037 adds r7, r7, #64
  14934. 10047 .LCFI282:
  14935. 10048 .cfi_def_cfa_offset 8
  14936. 10049 0090 BD46 mov sp, r7
  14937. 10050 .LCFI283:
  14938. 10051 .cfi_def_cfa_register 13
  14939. 10052 @ sp needed
  14940. 10053 0092 80BD pop {r7, pc}
  14941. 10054 .cfi_endproc
  14942. 10055 .LFE181:
  14943. 10057 .section .text.UART_DMATxHalfCplt,"ax",%progbits
  14944. 10058 .align 1
  14945. 10059 .syntax unified
  14946. 10060 .thumb
  14947. 10061 .thumb_func
  14948. 10063 UART_DMATxHalfCplt:
  14949. 10064 .LFB182:
  14950. 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14951. 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  14952. 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback.
  14953. 3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  14954. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  14955. 3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  14956. 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
  14957. 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  14958. 10065 .loc 1 3400 1
  14959. 10066 .cfi_startproc
  14960. 10067 @ args = 0, pretend = 0, frame = 16
  14961. 10068 @ frame_needed = 1, uses_anonymous_args = 0
  14962. 10069 0000 80B5 push {r7, lr}
  14963. 10070 .LCFI284:
  14964. 10071 .cfi_def_cfa_offset 8
  14965. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 259
  14966. 10072 .cfi_offset 7, -8
  14967. 10073 .cfi_offset 14, -4
  14968. 10074 0002 84B0 sub sp, sp, #16
  14969. 10075 .LCFI285:
  14970. 10076 .cfi_def_cfa_offset 24
  14971. 10077 0004 00AF add r7, sp, #0
  14972. 10078 .LCFI286:
  14973. 10079 .cfi_def_cfa_register 7
  14974. 10080 0006 7860 str r0, [r7, #4]
  14975. 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  14976. 10081 .loc 1 3401 23
  14977. 10082 0008 7B68 ldr r3, [r7, #4]
  14978. 10083 000a 5B6A ldr r3, [r3, #36]
  14979. 10084 000c FB60 str r3, [r7, #12]
  14980. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  14981. 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  14982. 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx Half complete callback*/
  14983. 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
  14984. 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  14985. 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/
  14986. 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
  14987. 10085 .loc 1 3408 3
  14988. 10086 000e F868 ldr r0, [r7, #12]
  14989. 10087 0010 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
  14990. 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  14991. 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  14992. 10088 .loc 1 3410 1
  14993. 10089 0014 00BF nop
  14994. 10090 0016 1037 adds r7, r7, #16
  14995. 10091 .LCFI287:
  14996. 10092 .cfi_def_cfa_offset 8
  14997. 10093 0018 BD46 mov sp, r7
  14998. 10094 .LCFI288:
  14999. 10095 .cfi_def_cfa_register 13
  15000. 10096 @ sp needed
  15001. 10097 001a 80BD pop {r7, pc}
  15002. 10098 .cfi_endproc
  15003. 10099 .LFE182:
  15004. 10101 .section .text.UART_DMAReceiveCplt,"ax",%progbits
  15005. 10102 .align 1
  15006. 10103 .syntax unified
  15007. 10104 .thumb
  15008. 10105 .thumb_func
  15009. 10107 UART_DMAReceiveCplt:
  15010. 10108 .LFB183:
  15011. 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15012. 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  15013. 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
  15014. 3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  15015. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  15016. 3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  15017. 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
  15018. 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15019. 10109 .loc 1 3418 1
  15020. 10110 .cfi_startproc
  15021. 10111 @ args = 0, pretend = 0, frame = 112
  15022. 10112 @ frame_needed = 1, uses_anonymous_args = 0
  15023. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 260
  15024. 10113 0000 80B5 push {r7, lr}
  15025. 10114 .LCFI289:
  15026. 10115 .cfi_def_cfa_offset 8
  15027. 10116 .cfi_offset 7, -8
  15028. 10117 .cfi_offset 14, -4
  15029. 10118 0002 9CB0 sub sp, sp, #112
  15030. 10119 .LCFI290:
  15031. 10120 .cfi_def_cfa_offset 120
  15032. 10121 0004 00AF add r7, sp, #0
  15033. 10122 .LCFI291:
  15034. 10123 .cfi_def_cfa_register 7
  15035. 10124 0006 7860 str r0, [r7, #4]
  15036. 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  15037. 10125 .loc 1 3419 23
  15038. 10126 0008 7B68 ldr r3, [r7, #4]
  15039. 10127 000a 5B6A ldr r3, [r3, #36]
  15040. 10128 000c FB66 str r3, [r7, #108]
  15041. 3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15042. 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */
  15043. 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
  15044. 10129 .loc 1 3422 17
  15045. 10130 000e 7B68 ldr r3, [r7, #4]
  15046. 10131 0010 9B69 ldr r3, [r3, #24]
  15047. 10132 .loc 1 3422 6
  15048. 10133 0012 202B cmp r3, #32
  15049. 10134 0014 71D0 beq .L574
  15050. 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15051. 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  15052. 10135 .loc 1 3424 24
  15053. 10136 0016 FB6E ldr r3, [r7, #108]
  15054. 10137 0018 0022 movs r2, #0
  15055. 10138 001a A3F85A20 strh r2, [r3, #90] @ movhi
  15056. 10139 .L577:
  15057. 10140 .LBB743:
  15058. 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15059. 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
  15060. 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  15061. 10141 .loc 1 3427 5 discriminator 1
  15062. 10142 001e FB6E ldr r3, [r7, #108]
  15063. 10143 0020 1B68 ldr r3, [r3]
  15064. 10144 0022 FB64 str r3, [r7, #76]
  15065. 10145 .LBB744:
  15066. 10146 .LBB745:
  15067. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15068. 10147 .loc 2 1072 4 discriminator 1
  15069. 10148 0024 FB6C ldr r3, [r7, #76]
  15070. 10149 .syntax unified
  15071. 10150 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15072. 10151 0026 53E8003F ldrex r3, [r3]
  15073. 10152 @ 0 "" 2
  15074. 10153 .thumb
  15075. 10154 .syntax unified
  15076. 10155 002a BB64 str r3, [r7, #72]
  15077. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  15078. 10156 .loc 2 1073 10 discriminator 1
  15079. 10157 002c BB6C ldr r3, [r7, #72]
  15080. 10158 .LBE745:
  15081. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 261
  15082. 10159 .LBE744:
  15083. 10160 .loc 1 3427 5 discriminator 1
  15084. 10161 002e 23F48073 bic r3, r3, #256
  15085. 10162 0032 BB66 str r3, [r7, #104]
  15086. 10163 0034 FB6E ldr r3, [r7, #108]
  15087. 10164 0036 1B68 ldr r3, [r3]
  15088. 10165 0038 1A46 mov r2, r3
  15089. 10166 003a BB6E ldr r3, [r7, #104]
  15090. 10167 003c BB65 str r3, [r7, #88]
  15091. 10168 003e 7A65 str r2, [r7, #84]
  15092. 10169 .LBB746:
  15093. 10170 .LBB747:
  15094. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15095. 10171 .loc 2 1123 4 discriminator 1
  15096. 10172 0040 796D ldr r1, [r7, #84]
  15097. 10173 0042 BA6D ldr r2, [r7, #88]
  15098. 10174 .syntax unified
  15099. 10175 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15100. 10176 0044 41E80023 strex r3, r2, [r1]
  15101. 10177 @ 0 "" 2
  15102. 10178 .thumb
  15103. 10179 .syntax unified
  15104. 10180 0048 3B65 str r3, [r7, #80]
  15105. 10181 .loc 2 1124 10 discriminator 1
  15106. 10182 004a 3B6D ldr r3, [r7, #80]
  15107. 10183 .LBE747:
  15108. 10184 .LBE746:
  15109. 10185 .loc 1 3427 5 discriminator 1
  15110. 10186 004c 002B cmp r3, #0
  15111. 10187 004e E6D1 bne .L577
  15112. 10188 .L580:
  15113. 10189 .LBE743:
  15114. 10190 .LBB748:
  15115. 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  15116. 10191 .loc 1 3428 5 discriminator 1
  15117. 10192 0050 FB6E ldr r3, [r7, #108]
  15118. 10193 0052 1B68 ldr r3, [r3]
  15119. 10194 0054 0833 adds r3, r3, #8
  15120. 10195 0056 BB63 str r3, [r7, #56]
  15121. 10196 .LBB749:
  15122. 10197 .LBB750:
  15123. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15124. 10198 .loc 2 1072 4 discriminator 1
  15125. 10199 0058 BB6B ldr r3, [r7, #56]
  15126. 10200 .syntax unified
  15127. 10201 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15128. 10202 005a 53E8003F ldrex r3, [r3]
  15129. 10203 @ 0 "" 2
  15130. 10204 .thumb
  15131. 10205 .syntax unified
  15132. 10206 005e 7B63 str r3, [r7, #52]
  15133. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  15134. 10207 .loc 2 1073 10 discriminator 1
  15135. 10208 0060 7B6B ldr r3, [r7, #52]
  15136. 10209 .LBE750:
  15137. 10210 .LBE749:
  15138. 10211 .loc 1 3428 5 discriminator 1
  15139. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 262
  15140. 10212 0062 23F00103 bic r3, r3, #1
  15141. 10213 0066 7B66 str r3, [r7, #100]
  15142. 10214 0068 FB6E ldr r3, [r7, #108]
  15143. 10215 006a 1B68 ldr r3, [r3]
  15144. 10216 006c 0833 adds r3, r3, #8
  15145. 10217 006e 7A6E ldr r2, [r7, #100]
  15146. 10218 0070 7A64 str r2, [r7, #68]
  15147. 10219 0072 3B64 str r3, [r7, #64]
  15148. 10220 .LBB751:
  15149. 10221 .LBB752:
  15150. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15151. 10222 .loc 2 1123 4 discriminator 1
  15152. 10223 0074 396C ldr r1, [r7, #64]
  15153. 10224 0076 7A6C ldr r2, [r7, #68]
  15154. 10225 .syntax unified
  15155. 10226 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15156. 10227 0078 41E80023 strex r3, r2, [r1]
  15157. 10228 @ 0 "" 2
  15158. 10229 .thumb
  15159. 10230 .syntax unified
  15160. 10231 007c FB63 str r3, [r7, #60]
  15161. 10232 .loc 2 1124 10 discriminator 1
  15162. 10233 007e FB6B ldr r3, [r7, #60]
  15163. 10234 .LBE752:
  15164. 10235 .LBE751:
  15165. 10236 .loc 1 3428 5 discriminator 1
  15166. 10237 0080 002B cmp r3, #0
  15167. 10238 0082 E5D1 bne .L580
  15168. 10239 .L583:
  15169. 10240 .LBE748:
  15170. 10241 .LBB753:
  15171. 3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15172. 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
  15173. 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
  15174. 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  15175. 10242 .loc 1 3432 5 discriminator 1
  15176. 10243 0084 FB6E ldr r3, [r7, #108]
  15177. 10244 0086 1B68 ldr r3, [r3]
  15178. 10245 0088 0833 adds r3, r3, #8
  15179. 10246 008a 7B62 str r3, [r7, #36]
  15180. 10247 .LBB754:
  15181. 10248 .LBB755:
  15182. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15183. 10249 .loc 2 1072 4 discriminator 1
  15184. 10250 008c 7B6A ldr r3, [r7, #36]
  15185. 10251 .syntax unified
  15186. 10252 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15187. 10253 008e 53E8003F ldrex r3, [r3]
  15188. 10254 @ 0 "" 2
  15189. 10255 .thumb
  15190. 10256 .syntax unified
  15191. 10257 0092 3B62 str r3, [r7, #32]
  15192. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  15193. 10258 .loc 2 1073 10 discriminator 1
  15194. 10259 0094 3B6A ldr r3, [r7, #32]
  15195. 10260 .LBE755:
  15196. 10261 .LBE754:
  15197. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 263
  15198. 10262 .loc 1 3432 5 discriminator 1
  15199. 10263 0096 23F04003 bic r3, r3, #64
  15200. 10264 009a 3B66 str r3, [r7, #96]
  15201. 10265 009c FB6E ldr r3, [r7, #108]
  15202. 10266 009e 1B68 ldr r3, [r3]
  15203. 10267 00a0 0833 adds r3, r3, #8
  15204. 10268 00a2 3A6E ldr r2, [r7, #96]
  15205. 10269 00a4 3A63 str r2, [r7, #48]
  15206. 10270 00a6 FB62 str r3, [r7, #44]
  15207. 10271 .LBB756:
  15208. 10272 .LBB757:
  15209. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15210. 10273 .loc 2 1123 4 discriminator 1
  15211. 10274 00a8 F96A ldr r1, [r7, #44]
  15212. 10275 00aa 3A6B ldr r2, [r7, #48]
  15213. 10276 .syntax unified
  15214. 10277 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15215. 10278 00ac 41E80023 strex r3, r2, [r1]
  15216. 10279 @ 0 "" 2
  15217. 10280 .thumb
  15218. 10281 .syntax unified
  15219. 10282 00b0 BB62 str r3, [r7, #40]
  15220. 10283 .loc 2 1124 10 discriminator 1
  15221. 10284 00b2 BB6A ldr r3, [r7, #40]
  15222. 10285 .LBE757:
  15223. 10286 .LBE756:
  15224. 10287 .loc 1 3432 5 discriminator 1
  15225. 10288 00b4 002B cmp r3, #0
  15226. 10289 00b6 E5D1 bne .L583
  15227. 10290 .LBE753:
  15228. 3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15229. 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  15230. 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  15231. 10291 .loc 1 3435 20
  15232. 10292 00b8 FB6E ldr r3, [r7, #108]
  15233. 10293 00ba 2022 movs r2, #32
  15234. 10294 00bc C3F88020 str r2, [r3, #128]
  15235. 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15236. 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
  15237. 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  15238. 10295 .loc 1 3438 14
  15239. 10296 00c0 FB6E ldr r3, [r7, #108]
  15240. 10297 00c2 1B6E ldr r3, [r3, #96]
  15241. 10298 .loc 1 3438 8
  15242. 10299 00c4 012B cmp r3, #1
  15243. 10300 00c6 18D1 bne .L574
  15244. 10301 .L586:
  15245. 10302 .LBB758:
  15246. 3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15247. 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  15248. 10303 .loc 1 3440 7 discriminator 1
  15249. 10304 00c8 FB6E ldr r3, [r7, #108]
  15250. 10305 00ca 1B68 ldr r3, [r3]
  15251. 10306 00cc 3B61 str r3, [r7, #16]
  15252. 10307 .LBB759:
  15253. 10308 .LBB760:
  15254. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15255. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 264
  15256. 10309 .loc 2 1072 4 discriminator 1
  15257. 10310 00ce 3B69 ldr r3, [r7, #16]
  15258. 10311 .syntax unified
  15259. 10312 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15260. 10313 00d0 53E8003F ldrex r3, [r3]
  15261. 10314 @ 0 "" 2
  15262. 10315 .thumb
  15263. 10316 .syntax unified
  15264. 10317 00d4 FB60 str r3, [r7, #12]
  15265. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  15266. 10318 .loc 2 1073 10 discriminator 1
  15267. 10319 00d6 FB68 ldr r3, [r7, #12]
  15268. 10320 .LBE760:
  15269. 10321 .LBE759:
  15270. 10322 .loc 1 3440 7 discriminator 1
  15271. 10323 00d8 23F01003 bic r3, r3, #16
  15272. 10324 00dc FB65 str r3, [r7, #92]
  15273. 10325 00de FB6E ldr r3, [r7, #108]
  15274. 10326 00e0 1B68 ldr r3, [r3]
  15275. 10327 00e2 1A46 mov r2, r3
  15276. 10328 00e4 FB6D ldr r3, [r7, #92]
  15277. 10329 00e6 FB61 str r3, [r7, #28]
  15278. 10330 00e8 BA61 str r2, [r7, #24]
  15279. 10331 .LBB761:
  15280. 10332 .LBB762:
  15281. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  15282. 10333 .loc 2 1123 4 discriminator 1
  15283. 10334 00ea B969 ldr r1, [r7, #24]
  15284. 10335 00ec FA69 ldr r2, [r7, #28]
  15285. 10336 .syntax unified
  15286. 10337 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  15287. 10338 00ee 41E80023 strex r3, r2, [r1]
  15288. 10339 @ 0 "" 2
  15289. 10340 .thumb
  15290. 10341 .syntax unified
  15291. 10342 00f2 7B61 str r3, [r7, #20]
  15292. 10343 .loc 2 1124 10 discriminator 1
  15293. 10344 00f4 7B69 ldr r3, [r7, #20]
  15294. 10345 .LBE762:
  15295. 10346 .LBE761:
  15296. 10347 .loc 1 3440 7 discriminator 1
  15297. 10348 00f6 002B cmp r3, #0
  15298. 10349 00f8 E6D1 bne .L586
  15299. 10350 .L574:
  15300. 10351 .LBE758:
  15301. 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15302. 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15303. 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15304. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
  15305. 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */
  15306. 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
  15307. 10352 .loc 1 3446 22
  15308. 10353 00fa FB6E ldr r3, [r7, #108]
  15309. 10354 00fc 0022 movs r2, #0
  15310. 10355 00fe 5A66 str r2, [r3, #100]
  15311. 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15312. 3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
  15313. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 265
  15314. 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
  15315. 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  15316. 10356 .loc 1 3450 12
  15317. 10357 0100 FB6E ldr r3, [r7, #108]
  15318. 10358 0102 1B6E ldr r3, [r3, #96]
  15319. 10359 .loc 1 3450 6
  15320. 10360 0104 012B cmp r3, #1
  15321. 10361 0106 07D1 bne .L587
  15322. 3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15323. 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15324. 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
  15325. 3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
  15326. 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15327. 3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  15328. 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
  15329. 10362 .loc 1 3457 5
  15330. 10363 0108 FB6E ldr r3, [r7, #108]
  15331. 10364 010a B3F85830 ldrh r3, [r3, #88]
  15332. 10365 010e 1946 mov r1, r3
  15333. 10366 0110 F86E ldr r0, [r7, #108]
  15334. 10367 0112 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  15335. 3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15336. 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15337. 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  15338. 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15339. 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
  15340. 3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15341. 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
  15342. 3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart);
  15343. 3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15344. 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
  15345. 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
  15346. 3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15347. 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15348. 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15349. 10368 .loc 1 3471 1
  15350. 10369 0116 02E0 b .L589
  15351. 10370 .L587:
  15352. 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15353. 10371 .loc 1 3468 5
  15354. 10372 0118 F86E ldr r0, [r7, #108]
  15355. 10373 011a FFF7FEFF bl HAL_UART_RxCpltCallback
  15356. 10374 .L589:
  15357. 10375 .loc 1 3471 1
  15358. 10376 011e 00BF nop
  15359. 10377 0120 7037 adds r7, r7, #112
  15360. 10378 .LCFI292:
  15361. 10379 .cfi_def_cfa_offset 8
  15362. 10380 0122 BD46 mov sp, r7
  15363. 10381 .LCFI293:
  15364. 10382 .cfi_def_cfa_register 13
  15365. 10383 @ sp needed
  15366. 10384 0124 80BD pop {r7, pc}
  15367. 10385 .cfi_endproc
  15368. 10386 .LFE183:
  15369. 10388 .section .text.UART_DMARxHalfCplt,"ax",%progbits
  15370. 10389 .align 1
  15371. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 266
  15372. 10390 .syntax unified
  15373. 10391 .thumb
  15374. 10392 .thumb_func
  15375. 10394 UART_DMARxHalfCplt:
  15376. 10395 .LFB184:
  15377. 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15378. 3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  15379. 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process half complete callback.
  15380. 3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  15381. 3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  15382. 3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  15383. 3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
  15384. 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15385. 10396 .loc 1 3479 1
  15386. 10397 .cfi_startproc
  15387. 10398 @ args = 0, pretend = 0, frame = 16
  15388. 10399 @ frame_needed = 1, uses_anonymous_args = 0
  15389. 10400 0000 80B5 push {r7, lr}
  15390. 10401 .LCFI294:
  15391. 10402 .cfi_def_cfa_offset 8
  15392. 10403 .cfi_offset 7, -8
  15393. 10404 .cfi_offset 14, -4
  15394. 10405 0002 84B0 sub sp, sp, #16
  15395. 10406 .LCFI295:
  15396. 10407 .cfi_def_cfa_offset 24
  15397. 10408 0004 00AF add r7, sp, #0
  15398. 10409 .LCFI296:
  15399. 10410 .cfi_def_cfa_register 7
  15400. 10411 0006 7860 str r0, [r7, #4]
  15401. 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  15402. 10412 .loc 1 3480 23
  15403. 10413 0008 7B68 ldr r3, [r7, #4]
  15404. 10414 000a 5B6A ldr r3, [r3, #36]
  15405. 10415 000c FB60 str r3, [r7, #12]
  15406. 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15407. 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
  15408. 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */
  15409. 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT;
  15410. 10416 .loc 1 3484 22
  15411. 10417 000e FB68 ldr r3, [r7, #12]
  15412. 10418 0010 0122 movs r2, #1
  15413. 10419 0012 5A66 str r2, [r3, #100]
  15414. 3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15415. 3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
  15416. 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
  15417. 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  15418. 10420 .loc 1 3488 12
  15419. 10421 0014 FB68 ldr r3, [r7, #12]
  15420. 10422 0016 1B6E ldr r3, [r3, #96]
  15421. 10423 .loc 1 3488 6
  15422. 10424 0018 012B cmp r3, #1
  15423. 10425 001a 09D1 bne .L591
  15424. 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15425. 3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15426. 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
  15427. 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
  15428. 3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15429. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 267
  15430. 3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  15431. 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
  15432. 10426 .loc 1 3495 44
  15433. 10427 001c FB68 ldr r3, [r7, #12]
  15434. 10428 001e B3F85830 ldrh r3, [r3, #88]
  15435. 10429 .loc 1 3495 5
  15436. 10430 0022 5B08 lsrs r3, r3, #1
  15437. 10431 0024 9BB2 uxth r3, r3
  15438. 10432 0026 1946 mov r1, r3
  15439. 10433 0028 F868 ldr r0, [r7, #12]
  15440. 10434 002a FFF7FEFF bl HAL_UARTEx_RxEventCallback
  15441. 3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15442. 3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15443. 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  15444. 3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15445. 3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
  15446. 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15447. 3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
  15448. 3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
  15449. 3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15450. 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
  15451. 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
  15452. 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15453. 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15454. 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15455. 10435 .loc 1 3509 1
  15456. 10436 002e 02E0 b .L593
  15457. 10437 .L591:
  15458. 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15459. 10438 .loc 1 3506 5
  15460. 10439 0030 F868 ldr r0, [r7, #12]
  15461. 10440 0032 FFF7FEFF bl HAL_UART_RxHalfCpltCallback
  15462. 10441 .L593:
  15463. 10442 .loc 1 3509 1
  15464. 10443 0036 00BF nop
  15465. 10444 0038 1037 adds r7, r7, #16
  15466. 10445 .LCFI297:
  15467. 10446 .cfi_def_cfa_offset 8
  15468. 10447 003a BD46 mov sp, r7
  15469. 10448 .LCFI298:
  15470. 10449 .cfi_def_cfa_register 13
  15471. 10450 @ sp needed
  15472. 10451 003c 80BD pop {r7, pc}
  15473. 10452 .cfi_endproc
  15474. 10453 .LFE184:
  15475. 10455 .section .text.UART_DMAError,"ax",%progbits
  15476. 10456 .align 1
  15477. 10457 .syntax unified
  15478. 10458 .thumb
  15479. 10459 .thumb_func
  15480. 10461 UART_DMAError:
  15481. 10462 .LFB185:
  15482. 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15483. 3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  15484. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication error callback.
  15485. 3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  15486. 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  15487. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 268
  15488. 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  15489. 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
  15490. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15491. 10463 .loc 1 3517 1
  15492. 10464 .cfi_startproc
  15493. 10465 @ args = 0, pretend = 0, frame = 24
  15494. 10466 @ frame_needed = 1, uses_anonymous_args = 0
  15495. 10467 0000 80B5 push {r7, lr}
  15496. 10468 .LCFI299:
  15497. 10469 .cfi_def_cfa_offset 8
  15498. 10470 .cfi_offset 7, -8
  15499. 10471 .cfi_offset 14, -4
  15500. 10472 0002 86B0 sub sp, sp, #24
  15501. 10473 .LCFI300:
  15502. 10474 .cfi_def_cfa_offset 32
  15503. 10475 0004 00AF add r7, sp, #0
  15504. 10476 .LCFI301:
  15505. 10477 .cfi_def_cfa_register 7
  15506. 10478 0006 7860 str r0, [r7, #4]
  15507. 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  15508. 10479 .loc 1 3518 23
  15509. 10480 0008 7B68 ldr r3, [r7, #4]
  15510. 10481 000a 5B6A ldr r3, [r3, #36]
  15511. 10482 000c 7B61 str r3, [r7, #20]
  15512. 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15513. 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
  15514. 10483 .loc 1 3520 31
  15515. 10484 000e 7B69 ldr r3, [r7, #20]
  15516. 10485 0010 DB6F ldr r3, [r3, #124]
  15517. 10486 0012 3B61 str r3, [r7, #16]
  15518. 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
  15519. 10487 .loc 1 3521 31
  15520. 10488 0014 7B69 ldr r3, [r7, #20]
  15521. 10489 0016 D3F88030 ldr r3, [r3, #128]
  15522. 10490 001a FB60 str r3, [r7, #12]
  15523. 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15524. 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
  15525. 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
  15526. 10491 .loc 1 3524 8
  15527. 10492 001c 7B69 ldr r3, [r7, #20]
  15528. 10493 001e 1B68 ldr r3, [r3]
  15529. 10494 0020 9B68 ldr r3, [r3, #8]
  15530. 10495 0022 03F08003 and r3, r3, #128
  15531. 10496 .loc 1 3524 6
  15532. 10497 0026 802B cmp r3, #128
  15533. 10498 0028 09D1 bne .L595
  15534. 10499 .loc 1 3524 62 discriminator 1
  15535. 10500 002a 3B69 ldr r3, [r7, #16]
  15536. 10501 002c 212B cmp r3, #33
  15537. 10502 002e 06D1 bne .L595
  15538. 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
  15539. 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15540. 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  15541. 10503 .loc 1 3527 24
  15542. 10504 0030 7B69 ldr r3, [r7, #20]
  15543. 10505 0032 0022 movs r2, #0
  15544. 10506 0034 A3F85220 strh r2, [r3, #82] @ movhi
  15545. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 269
  15546. 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart);
  15547. 10507 .loc 1 3528 5
  15548. 10508 0038 7869 ldr r0, [r7, #20]
  15549. 10509 003a FFF7FEFF bl UART_EndTxTransfer
  15550. 10510 .L595:
  15551. 3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15552. 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15553. 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
  15554. 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
  15555. 10511 .loc 1 3532 8
  15556. 10512 003e 7B69 ldr r3, [r7, #20]
  15557. 10513 0040 1B68 ldr r3, [r3]
  15558. 10514 0042 9B68 ldr r3, [r3, #8]
  15559. 10515 0044 03F04003 and r3, r3, #64
  15560. 10516 .loc 1 3532 6
  15561. 10517 0048 402B cmp r3, #64
  15562. 10518 004a 09D1 bne .L596
  15563. 10519 .loc 1 3532 62 discriminator 1
  15564. 10520 004c FB68 ldr r3, [r7, #12]
  15565. 10521 004e 222B cmp r3, #34
  15566. 10522 0050 06D1 bne .L596
  15567. 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
  15568. 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15569. 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  15570. 10523 .loc 1 3535 24
  15571. 10524 0052 7B69 ldr r3, [r7, #20]
  15572. 10525 0054 0022 movs r2, #0
  15573. 10526 0056 A3F85A20 strh r2, [r3, #90] @ movhi
  15574. 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
  15575. 10527 .loc 1 3536 5
  15576. 10528 005a 7869 ldr r0, [r7, #20]
  15577. 10529 005c FFF7FEFF bl UART_EndRxTransfer
  15578. 10530 .L596:
  15579. 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15580. 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15581. 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
  15582. 10531 .loc 1 3539 20
  15583. 10532 0060 7B69 ldr r3, [r7, #20]
  15584. 10533 0062 D3F88430 ldr r3, [r3, #132]
  15585. 10534 0066 43F01002 orr r2, r3, #16
  15586. 10535 006a 7B69 ldr r3, [r7, #20]
  15587. 10536 006c C3F88420 str r2, [r3, #132]
  15588. 3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15589. 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15590. 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
  15591. 3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
  15592. 3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15593. 3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
  15594. 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  15595. 10537 .loc 1 3546 3
  15596. 10538 0070 7869 ldr r0, [r7, #20]
  15597. 10539 0072 FFF7FEFF bl HAL_UART_ErrorCallback
  15598. 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15599. 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15600. 10540 .loc 1 3548 1
  15601. 10541 0076 00BF nop
  15602. 10542 0078 1837 adds r7, r7, #24
  15603. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 270
  15604. 10543 .LCFI302:
  15605. 10544 .cfi_def_cfa_offset 8
  15606. 10545 007a BD46 mov sp, r7
  15607. 10546 .LCFI303:
  15608. 10547 .cfi_def_cfa_register 13
  15609. 10548 @ sp needed
  15610. 10549 007c 80BD pop {r7, pc}
  15611. 10550 .cfi_endproc
  15612. 10551 .LFE185:
  15613. 10553 .section .text.UART_DMAAbortOnError,"ax",%progbits
  15614. 10554 .align 1
  15615. 10555 .syntax unified
  15616. 10556 .thumb
  15617. 10557 .thumb_func
  15618. 10559 UART_DMAAbortOnError:
  15619. 10560 .LFB186:
  15620. 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15621. 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  15622. 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
  15623. 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
  15624. 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  15625. 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  15626. 3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  15627. 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
  15628. 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15629. 10561 .loc 1 3557 1
  15630. 10562 .cfi_startproc
  15631. 10563 @ args = 0, pretend = 0, frame = 16
  15632. 10564 @ frame_needed = 1, uses_anonymous_args = 0
  15633. 10565 0000 80B5 push {r7, lr}
  15634. 10566 .LCFI304:
  15635. 10567 .cfi_def_cfa_offset 8
  15636. 10568 .cfi_offset 7, -8
  15637. 10569 .cfi_offset 14, -4
  15638. 10570 0002 84B0 sub sp, sp, #16
  15639. 10571 .LCFI305:
  15640. 10572 .cfi_def_cfa_offset 24
  15641. 10573 0004 00AF add r7, sp, #0
  15642. 10574 .LCFI306:
  15643. 10575 .cfi_def_cfa_register 7
  15644. 10576 0006 7860 str r0, [r7, #4]
  15645. 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  15646. 10577 .loc 1 3558 23
  15647. 10578 0008 7B68 ldr r3, [r7, #4]
  15648. 10579 000a 5B6A ldr r3, [r3, #36]
  15649. 10580 000c FB60 str r3, [r7, #12]
  15650. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  15651. 10581 .loc 1 3559 22
  15652. 10582 000e FB68 ldr r3, [r7, #12]
  15653. 10583 0010 0022 movs r2, #0
  15654. 10584 0012 A3F85A20 strh r2, [r3, #90] @ movhi
  15655. 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  15656. 10585 .loc 1 3560 22
  15657. 10586 0016 FB68 ldr r3, [r7, #12]
  15658. 10587 0018 0022 movs r2, #0
  15659. 10588 001a A3F85220 strh r2, [r3, #82] @ movhi
  15660. 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15661. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 271
  15662. 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15663. 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
  15664. 3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
  15665. 3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15666. 3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
  15667. 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  15668. 10589 .loc 1 3567 3
  15669. 10590 001e F868 ldr r0, [r7, #12]
  15670. 10591 0020 FFF7FEFF bl HAL_UART_ErrorCallback
  15671. 3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15672. 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15673. 10592 .loc 1 3569 1
  15674. 10593 0024 00BF nop
  15675. 10594 0026 1037 adds r7, r7, #16
  15676. 10595 .LCFI307:
  15677. 10596 .cfi_def_cfa_offset 8
  15678. 10597 0028 BD46 mov sp, r7
  15679. 10598 .LCFI308:
  15680. 10599 .cfi_def_cfa_register 13
  15681. 10600 @ sp needed
  15682. 10601 002a 80BD pop {r7, pc}
  15683. 10602 .cfi_endproc
  15684. 10603 .LFE186:
  15685. 10605 .section .text.UART_DMATxAbortCallback,"ax",%progbits
  15686. 10606 .align 1
  15687. 10607 .syntax unified
  15688. 10608 .thumb
  15689. 10609 .thumb_func
  15690. 10611 UART_DMATxAbortCallback:
  15691. 10612 .LFB187:
  15692. 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15693. 3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  15694. 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
  15695. 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
  15696. 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
  15697. 3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
  15698. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  15699. 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  15700. 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  15701. 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
  15702. 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15703. 10613 .loc 1 3580 1
  15704. 10614 .cfi_startproc
  15705. 10615 @ args = 0, pretend = 0, frame = 16
  15706. 10616 @ frame_needed = 1, uses_anonymous_args = 0
  15707. 10617 0000 80B5 push {r7, lr}
  15708. 10618 .LCFI309:
  15709. 10619 .cfi_def_cfa_offset 8
  15710. 10620 .cfi_offset 7, -8
  15711. 10621 .cfi_offset 14, -4
  15712. 10622 0002 84B0 sub sp, sp, #16
  15713. 10623 .LCFI310:
  15714. 10624 .cfi_def_cfa_offset 24
  15715. 10625 0004 00AF add r7, sp, #0
  15716. 10626 .LCFI311:
  15717. 10627 .cfi_def_cfa_register 7
  15718. 10628 0006 7860 str r0, [r7, #4]
  15719. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 272
  15720. 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  15721. 10629 .loc 1 3581 23
  15722. 10630 0008 7B68 ldr r3, [r7, #4]
  15723. 10631 000a 5B6A ldr r3, [r3, #36]
  15724. 10632 000c FB60 str r3, [r7, #12]
  15725. 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15726. 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  15727. 10633 .loc 1 3583 8
  15728. 10634 000e FB68 ldr r3, [r7, #12]
  15729. 10635 0010 1B6F ldr r3, [r3, #112]
  15730. 10636 .loc 1 3583 36
  15731. 10637 0012 0022 movs r2, #0
  15732. 10638 0014 5A63 str r2, [r3, #52]
  15733. 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15734. 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
  15735. 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
  15736. 10639 .loc 1 3586 12
  15737. 10640 0016 FB68 ldr r3, [r7, #12]
  15738. 10641 0018 5B6F ldr r3, [r3, #116]
  15739. 10642 .loc 1 3586 6
  15740. 10643 001a 002B cmp r3, #0
  15741. 10644 001c 04D0 beq .L599
  15742. 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15743. 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
  15744. 10645 .loc 1 3588 14
  15745. 10646 001e FB68 ldr r3, [r7, #12]
  15746. 10647 0020 5B6F ldr r3, [r3, #116]
  15747. 10648 .loc 1 3588 22
  15748. 10649 0022 5B6B ldr r3, [r3, #52]
  15749. 10650 .loc 1 3588 8
  15750. 10651 0024 002B cmp r3, #0
  15751. 10652 0026 1DD1 bne .L601
  15752. 10653 .L599:
  15753. 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15754. 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  15755. 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15756. 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15757. 3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15758. 3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
  15759. 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  15760. 10654 .loc 1 3595 22
  15761. 10655 0028 FB68 ldr r3, [r7, #12]
  15762. 10656 002a 0022 movs r2, #0
  15763. 10657 002c A3F85220 strh r2, [r3, #82] @ movhi
  15764. 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  15765. 10658 .loc 1 3596 22
  15766. 10659 0030 FB68 ldr r3, [r7, #12]
  15767. 10660 0032 0022 movs r2, #0
  15768. 10661 0034 A3F85A20 strh r2, [r3, #90] @ movhi
  15769. 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15770. 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */
  15771. 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  15772. 10662 .loc 1 3599 20
  15773. 10663 0038 FB68 ldr r3, [r7, #12]
  15774. 10664 003a 0022 movs r2, #0
  15775. 10665 003c C3F88420 str r2, [r3, #132]
  15776. 3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15777. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 273
  15778. 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  15779. 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
  15780. 10666 .loc 1 3602 3
  15781. 10667 0040 FB68 ldr r3, [r7, #12]
  15782. 10668 0042 1B68 ldr r3, [r3]
  15783. 10669 0044 0F22 movs r2, #15
  15784. 10670 0046 1A62 str r2, [r3, #32]
  15785. 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15786. 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15787. 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
  15788. 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  15789. 10671 .loc 1 3606 18
  15790. 10672 0048 FB68 ldr r3, [r7, #12]
  15791. 10673 004a 2022 movs r2, #32
  15792. 10674 004c DA67 str r2, [r3, #124]
  15793. 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  15794. 10675 .loc 1 3607 18
  15795. 10676 004e FB68 ldr r3, [r7, #12]
  15796. 10677 0050 2022 movs r2, #32
  15797. 10678 0052 C3F88020 str r2, [r3, #128]
  15798. 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  15799. 10679 .loc 1 3608 24
  15800. 10680 0056 FB68 ldr r3, [r7, #12]
  15801. 10681 0058 0022 movs r2, #0
  15802. 10682 005a 1A66 str r2, [r3, #96]
  15803. 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15804. 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
  15805. 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15806. 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */
  15807. 3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart);
  15808. 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15809. 3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
  15810. 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
  15811. 10683 .loc 1 3616 3
  15812. 10684 005c F868 ldr r0, [r7, #12]
  15813. 10685 005e FFF7FEFF bl HAL_UART_AbortCpltCallback
  15814. 10686 0062 00E0 b .L598
  15815. 10687 .L601:
  15816. 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15817. 10688 .loc 1 3590 7
  15818. 10689 0064 00BF nop
  15819. 10690 .L598:
  15820. 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15821. 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15822. 10691 .loc 1 3618 1
  15823. 10692 0066 1037 adds r7, r7, #16
  15824. 10693 .LCFI312:
  15825. 10694 .cfi_def_cfa_offset 8
  15826. 10695 0068 BD46 mov sp, r7
  15827. 10696 .LCFI313:
  15828. 10697 .cfi_def_cfa_register 13
  15829. 10698 @ sp needed
  15830. 10699 006a 80BD pop {r7, pc}
  15831. 10700 .cfi_endproc
  15832. 10701 .LFE187:
  15833. 10703 .section .text.UART_DMARxAbortCallback,"ax",%progbits
  15834. 10704 .align 1
  15835. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 274
  15836. 10705 .syntax unified
  15837. 10706 .thumb
  15838. 10707 .thumb_func
  15839. 10709 UART_DMARxAbortCallback:
  15840. 10710 .LFB188:
  15841. 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15842. 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15843. 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  15844. 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
  15845. 3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
  15846. 3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
  15847. 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
  15848. 3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  15849. 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  15850. 3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  15851. 3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
  15852. 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15853. 10711 .loc 1 3630 1
  15854. 10712 .cfi_startproc
  15855. 10713 @ args = 0, pretend = 0, frame = 16
  15856. 10714 @ frame_needed = 1, uses_anonymous_args = 0
  15857. 10715 0000 80B5 push {r7, lr}
  15858. 10716 .LCFI314:
  15859. 10717 .cfi_def_cfa_offset 8
  15860. 10718 .cfi_offset 7, -8
  15861. 10719 .cfi_offset 14, -4
  15862. 10720 0002 84B0 sub sp, sp, #16
  15863. 10721 .LCFI315:
  15864. 10722 .cfi_def_cfa_offset 24
  15865. 10723 0004 00AF add r7, sp, #0
  15866. 10724 .LCFI316:
  15867. 10725 .cfi_def_cfa_register 7
  15868. 10726 0006 7860 str r0, [r7, #4]
  15869. 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  15870. 10727 .loc 1 3631 23
  15871. 10728 0008 7B68 ldr r3, [r7, #4]
  15872. 10729 000a 5B6A ldr r3, [r3, #36]
  15873. 10730 000c FB60 str r3, [r7, #12]
  15874. 3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15875. 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  15876. 10731 .loc 1 3633 8
  15877. 10732 000e FB68 ldr r3, [r7, #12]
  15878. 10733 0010 5B6F ldr r3, [r3, #116]
  15879. 10734 .loc 1 3633 36
  15880. 10735 0012 0022 movs r2, #0
  15881. 10736 0014 5A63 str r2, [r3, #52]
  15882. 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15883. 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
  15884. 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
  15885. 10737 .loc 1 3636 12
  15886. 10738 0016 FB68 ldr r3, [r7, #12]
  15887. 10739 0018 1B6F ldr r3, [r3, #112]
  15888. 10740 .loc 1 3636 6
  15889. 10741 001a 002B cmp r3, #0
  15890. 10742 001c 04D0 beq .L603
  15891. 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15892. 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
  15893. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 275
  15894. 10743 .loc 1 3638 14
  15895. 10744 001e FB68 ldr r3, [r7, #12]
  15896. 10745 0020 1B6F ldr r3, [r3, #112]
  15897. 10746 .loc 1 3638 22
  15898. 10747 0022 5B6B ldr r3, [r3, #52]
  15899. 10748 .loc 1 3638 8
  15900. 10749 0024 002B cmp r3, #0
  15901. 10750 0026 25D1 bne .L605
  15902. 10751 .L603:
  15903. 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  15904. 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
  15905. 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15906. 3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15907. 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15908. 3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
  15909. 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  15910. 10752 .loc 1 3645 22
  15911. 10753 0028 FB68 ldr r3, [r7, #12]
  15912. 10754 002a 0022 movs r2, #0
  15913. 10755 002c A3F85220 strh r2, [r3, #82] @ movhi
  15914. 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  15915. 10756 .loc 1 3646 22
  15916. 10757 0030 FB68 ldr r3, [r7, #12]
  15917. 10758 0032 0022 movs r2, #0
  15918. 10759 0034 A3F85A20 strh r2, [r3, #90] @ movhi
  15919. 3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15920. 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */
  15921. 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  15922. 10760 .loc 1 3649 20
  15923. 10761 0038 FB68 ldr r3, [r7, #12]
  15924. 10762 003a 0022 movs r2, #0
  15925. 10763 003c C3F88420 str r2, [r3, #132]
  15926. 3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15927. 3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  15928. 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
  15929. 10764 .loc 1 3652 3
  15930. 10765 0040 FB68 ldr r3, [r7, #12]
  15931. 10766 0042 1B68 ldr r3, [r3]
  15932. 10767 0044 0F22 movs r2, #15
  15933. 10768 0046 1A62 str r2, [r3, #32]
  15934. 3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15935. 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
  15936. 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  15937. 10769 .loc 1 3655 3
  15938. 10770 0048 FB68 ldr r3, [r7, #12]
  15939. 10771 004a 1B68 ldr r3, [r3]
  15940. 10772 004c 9A69 ldr r2, [r3, #24]
  15941. 10773 004e FB68 ldr r3, [r7, #12]
  15942. 10774 0050 1B68 ldr r3, [r3]
  15943. 10775 0052 42F00802 orr r2, r2, #8
  15944. 10776 0056 9A61 str r2, [r3, #24]
  15945. 3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15946. 3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
  15947. 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  15948. 10777 .loc 1 3658 18
  15949. 10778 0058 FB68 ldr r3, [r7, #12]
  15950. 10779 005a 2022 movs r2, #32
  15951. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 276
  15952. 10780 005c DA67 str r2, [r3, #124]
  15953. 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  15954. 10781 .loc 1 3659 18
  15955. 10782 005e FB68 ldr r3, [r7, #12]
  15956. 10783 0060 2022 movs r2, #32
  15957. 10784 0062 C3F88020 str r2, [r3, #128]
  15958. 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  15959. 10785 .loc 1 3660 24
  15960. 10786 0066 FB68 ldr r3, [r7, #12]
  15961. 10787 0068 0022 movs r2, #0
  15962. 10788 006a 1A66 str r2, [r3, #96]
  15963. 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  15964. 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
  15965. 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  15966. 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */
  15967. 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart);
  15968. 3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  15969. 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
  15970. 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
  15971. 10789 .loc 1 3668 3
  15972. 10790 006c F868 ldr r0, [r7, #12]
  15973. 10791 006e FFF7FEFF bl HAL_UART_AbortCpltCallback
  15974. 10792 0072 00E0 b .L602
  15975. 10793 .L605:
  15976. 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15977. 10794 .loc 1 3640 7
  15978. 10795 0074 00BF nop
  15979. 10796 .L602:
  15980. 3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  15981. 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  15982. 10797 .loc 1 3670 1
  15983. 10798 0076 1037 adds r7, r7, #16
  15984. 10799 .LCFI317:
  15985. 10800 .cfi_def_cfa_offset 8
  15986. 10801 0078 BD46 mov sp, r7
  15987. 10802 .LCFI318:
  15988. 10803 .cfi_def_cfa_register 13
  15989. 10804 @ sp needed
  15990. 10805 007a 80BD pop {r7, pc}
  15991. 10806 .cfi_endproc
  15992. 10807 .LFE188:
  15993. 10809 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
  15994. 10810 .align 1
  15995. 10811 .syntax unified
  15996. 10812 .thumb
  15997. 10813 .thumb_func
  15998. 10815 UART_DMATxOnlyAbortCallback:
  15999. 10816 .LFB189:
  16000. 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16001. 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16002. 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  16003. 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
  16004. 3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
  16005. 3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
  16006. 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
  16007. 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  16008. 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  16009. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 277
  16010. 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  16011. 3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
  16012. 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16013. 10817 .loc 1 3682 1
  16014. 10818 .cfi_startproc
  16015. 10819 @ args = 0, pretend = 0, frame = 16
  16016. 10820 @ frame_needed = 1, uses_anonymous_args = 0
  16017. 10821 0000 80B5 push {r7, lr}
  16018. 10822 .LCFI319:
  16019. 10823 .cfi_def_cfa_offset 8
  16020. 10824 .cfi_offset 7, -8
  16021. 10825 .cfi_offset 14, -4
  16022. 10826 0002 84B0 sub sp, sp, #16
  16023. 10827 .LCFI320:
  16024. 10828 .cfi_def_cfa_offset 24
  16025. 10829 0004 00AF add r7, sp, #0
  16026. 10830 .LCFI321:
  16027. 10831 .cfi_def_cfa_register 7
  16028. 10832 0006 7860 str r0, [r7, #4]
  16029. 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
  16030. 10833 .loc 1 3683 23
  16031. 10834 0008 7B68 ldr r3, [r7, #4]
  16032. 10835 000a 5B6A ldr r3, [r3, #36]
  16033. 10836 000c FB60 str r3, [r7, #12]
  16034. 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16035. 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
  16036. 10837 .loc 1 3685 22
  16037. 10838 000e FB68 ldr r3, [r7, #12]
  16038. 10839 0010 0022 movs r2, #0
  16039. 10840 0012 A3F85220 strh r2, [r3, #82] @ movhi
  16040. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16041. 3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16042. 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
  16043. 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  16044. 10841 .loc 1 3689 17
  16045. 10842 0016 FB68 ldr r3, [r7, #12]
  16046. 10843 0018 2022 movs r2, #32
  16047. 10844 001a DA67 str r2, [r3, #124]
  16048. 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16049. 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
  16050. 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  16051. 3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
  16052. 3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
  16053. 3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  16054. 3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
  16055. 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
  16056. 10845 .loc 1 3697 3
  16057. 10846 001c F868 ldr r0, [r7, #12]
  16058. 10847 001e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
  16059. 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  16060. 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16061. 10848 .loc 1 3699 1
  16062. 10849 0022 00BF nop
  16063. 10850 0024 1037 adds r7, r7, #16
  16064. 10851 .LCFI322:
  16065. 10852 .cfi_def_cfa_offset 8
  16066. 10853 0026 BD46 mov sp, r7
  16067. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 278
  16068. 10854 .LCFI323:
  16069. 10855 .cfi_def_cfa_register 13
  16070. 10856 @ sp needed
  16071. 10857 0028 80BD pop {r7, pc}
  16072. 10858 .cfi_endproc
  16073. 10859 .LFE189:
  16074. 10861 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
  16075. 10862 .align 1
  16076. 10863 .syntax unified
  16077. 10864 .thumb
  16078. 10865 .thumb_func
  16079. 10867 UART_DMARxOnlyAbortCallback:
  16080. 10868 .LFB190:
  16081. 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16082. 3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  16083. 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
  16084. 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
  16085. 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
  16086. 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
  16087. 3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
  16088. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  16089. 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  16090. 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
  16091. 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16092. 10869 .loc 1 3710 1
  16093. 10870 .cfi_startproc
  16094. 10871 @ args = 0, pretend = 0, frame = 16
  16095. 10872 @ frame_needed = 1, uses_anonymous_args = 0
  16096. 10873 0000 80B5 push {r7, lr}
  16097. 10874 .LCFI324:
  16098. 10875 .cfi_def_cfa_offset 8
  16099. 10876 .cfi_offset 7, -8
  16100. 10877 .cfi_offset 14, -4
  16101. 10878 0002 84B0 sub sp, sp, #16
  16102. 10879 .LCFI325:
  16103. 10880 .cfi_def_cfa_offset 24
  16104. 10881 0004 00AF add r7, sp, #0
  16105. 10882 .LCFI326:
  16106. 10883 .cfi_def_cfa_register 7
  16107. 10884 0006 7860 str r0, [r7, #4]
  16108. 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  16109. 10885 .loc 1 3711 23
  16110. 10886 0008 7B68 ldr r3, [r7, #4]
  16111. 10887 000a 5B6A ldr r3, [r3, #36]
  16112. 10888 000c FB60 str r3, [r7, #12]
  16113. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16114. 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
  16115. 10889 .loc 1 3713 22
  16116. 10890 000e FB68 ldr r3, [r7, #12]
  16117. 10891 0010 0022 movs r2, #0
  16118. 10892 0012 A3F85A20 strh r2, [r3, #90] @ movhi
  16119. 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16120. 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
  16121. 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
  16122. 10893 .loc 1 3716 3
  16123. 10894 0016 FB68 ldr r3, [r7, #12]
  16124. 10895 0018 1B68 ldr r3, [r3]
  16125. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 279
  16126. 10896 001a 0F22 movs r2, #15
  16127. 10897 001c 1A62 str r2, [r3, #32]
  16128. 3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16129. 3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
  16130. 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  16131. 10898 .loc 1 3719 3
  16132. 10899 001e FB68 ldr r3, [r7, #12]
  16133. 10900 0020 1B68 ldr r3, [r3]
  16134. 10901 0022 9A69 ldr r2, [r3, #24]
  16135. 10902 0024 FB68 ldr r3, [r7, #12]
  16136. 10903 0026 1B68 ldr r3, [r3]
  16137. 10904 0028 42F00802 orr r2, r2, #8
  16138. 10905 002c 9A61 str r2, [r3, #24]
  16139. 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16140. 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  16141. 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  16142. 10906 .loc 1 3722 18
  16143. 10907 002e FB68 ldr r3, [r7, #12]
  16144. 10908 0030 2022 movs r2, #32
  16145. 10909 0032 C3F88020 str r2, [r3, #128]
  16146. 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  16147. 10910 .loc 1 3723 24
  16148. 10911 0036 FB68 ldr r3, [r7, #12]
  16149. 10912 0038 0022 movs r2, #0
  16150. 10913 003a 1A66 str r2, [r3, #96]
  16151. 3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16152. 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
  16153. 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  16154. 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
  16155. 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
  16156. 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  16157. 3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
  16158. 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
  16159. 10914 .loc 1 3731 3
  16160. 10915 003c F868 ldr r0, [r7, #12]
  16161. 10916 003e FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
  16162. 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  16163. 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16164. 10917 .loc 1 3733 1
  16165. 10918 0042 00BF nop
  16166. 10919 0044 1037 adds r7, r7, #16
  16167. 10920 .LCFI327:
  16168. 10921 .cfi_def_cfa_offset 8
  16169. 10922 0046 BD46 mov sp, r7
  16170. 10923 .LCFI328:
  16171. 10924 .cfi_def_cfa_register 13
  16172. 10925 @ sp needed
  16173. 10926 0048 80BD pop {r7, pc}
  16174. 10927 .cfi_endproc
  16175. 10928 .LFE190:
  16176. 10930 .section .text.UART_TxISR_8BIT,"ax",%progbits
  16177. 10931 .align 1
  16178. 10932 .syntax unified
  16179. 10933 .thumb
  16180. 10934 .thumb_func
  16181. 10936 UART_TxISR_8BIT:
  16182. 10937 .LFB191:
  16183. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 280
  16184. 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16185. 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  16186. 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length .
  16187. 3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once
  16188. 3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
  16189. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  16190. 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  16191. 3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  16192. 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart)
  16193. 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16194. 10938 .loc 1 3743 1
  16195. 10939 .cfi_startproc
  16196. 10940 @ args = 0, pretend = 0, frame = 56
  16197. 10941 @ frame_needed = 1, uses_anonymous_args = 0
  16198. 10942 @ link register save eliminated.
  16199. 10943 0000 80B4 push {r7}
  16200. 10944 .LCFI329:
  16201. 10945 .cfi_def_cfa_offset 4
  16202. 10946 .cfi_offset 7, -4
  16203. 10947 0002 8FB0 sub sp, sp, #60
  16204. 10948 .LCFI330:
  16205. 10949 .cfi_def_cfa_offset 64
  16206. 10950 0004 00AF add r7, sp, #0
  16207. 10951 .LCFI331:
  16208. 10952 .cfi_def_cfa_register 7
  16209. 10953 0006 7860 str r0, [r7, #4]
  16210. 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */
  16211. 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
  16212. 10954 .loc 1 3745 12
  16213. 10955 0008 7B68 ldr r3, [r7, #4]
  16214. 10956 000a DB6F ldr r3, [r3, #124]
  16215. 10957 .loc 1 3745 6
  16216. 10958 000c 212B cmp r3, #33
  16217. 10959 000e 4DD1 bne .L617
  16218. 3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16219. 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U)
  16220. 10960 .loc 1 3747 14
  16221. 10961 0010 7B68 ldr r3, [r7, #4]
  16222. 10962 0012 B3F85230 ldrh r3, [r3, #82] @ movhi
  16223. 10963 0016 9BB2 uxth r3, r3
  16224. 10964 .loc 1 3747 8
  16225. 10965 0018 002B cmp r3, #0
  16226. 10966 001a 32D1 bne .L610
  16227. 10967 .L613:
  16228. 10968 .LBB763:
  16229. 3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16230. 3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
  16231. 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
  16232. 10969 .loc 1 3750 7 discriminator 1
  16233. 10970 001c 7B68 ldr r3, [r7, #4]
  16234. 10971 001e 1B68 ldr r3, [r3]
  16235. 10972 0020 3B62 str r3, [r7, #32]
  16236. 10973 .LBB764:
  16237. 10974 .LBB765:
  16238. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16239. 10975 .loc 2 1072 4 discriminator 1
  16240. 10976 0022 3B6A ldr r3, [r7, #32]
  16241. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 281
  16242. 10977 .syntax unified
  16243. 10978 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16244. 10979 0024 53E8003F ldrex r3, [r3]
  16245. 10980 @ 0 "" 2
  16246. 10981 .thumb
  16247. 10982 .syntax unified
  16248. 10983 0028 FB61 str r3, [r7, #28]
  16249. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  16250. 10984 .loc 2 1073 10 discriminator 1
  16251. 10985 002a FB69 ldr r3, [r7, #28]
  16252. 10986 .LBE765:
  16253. 10987 .LBE764:
  16254. 10988 .loc 1 3750 7 discriminator 1
  16255. 10989 002c 23F08003 bic r3, r3, #128
  16256. 10990 0030 7B63 str r3, [r7, #52]
  16257. 10991 0032 7B68 ldr r3, [r7, #4]
  16258. 10992 0034 1B68 ldr r3, [r3]
  16259. 10993 0036 1A46 mov r2, r3
  16260. 10994 0038 7B6B ldr r3, [r7, #52]
  16261. 10995 003a FB62 str r3, [r7, #44]
  16262. 10996 003c BA62 str r2, [r7, #40]
  16263. 10997 .LBB766:
  16264. 10998 .LBB767:
  16265. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16266. 10999 .loc 2 1123 4 discriminator 1
  16267. 11000 003e B96A ldr r1, [r7, #40]
  16268. 11001 0040 FA6A ldr r2, [r7, #44]
  16269. 11002 .syntax unified
  16270. 11003 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16271. 11004 0042 41E80023 strex r3, r2, [r1]
  16272. 11005 @ 0 "" 2
  16273. 11006 .thumb
  16274. 11007 .syntax unified
  16275. 11008 0046 7B62 str r3, [r7, #36]
  16276. 11009 .loc 2 1124 10 discriminator 1
  16277. 11010 0048 7B6A ldr r3, [r7, #36]
  16278. 11011 .LBE767:
  16279. 11012 .LBE766:
  16280. 11013 .loc 1 3750 7 discriminator 1
  16281. 11014 004a 002B cmp r3, #0
  16282. 11015 004c E6D1 bne .L613
  16283. 11016 .L616:
  16284. 11017 .LBE763:
  16285. 11018 .LBB768:
  16286. 3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16287. 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
  16288. 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
  16289. 11019 .loc 1 3753 7 discriminator 1
  16290. 11020 004e 7B68 ldr r3, [r7, #4]
  16291. 11021 0050 1B68 ldr r3, [r3]
  16292. 11022 0052 FB60 str r3, [r7, #12]
  16293. 11023 .LBB769:
  16294. 11024 .LBB770:
  16295. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16296. 11025 .loc 2 1072 4 discriminator 1
  16297. 11026 0054 FB68 ldr r3, [r7, #12]
  16298. 11027 .syntax unified
  16299. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 282
  16300. 11028 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16301. 11029 0056 53E8003F ldrex r3, [r3]
  16302. 11030 @ 0 "" 2
  16303. 11031 .thumb
  16304. 11032 .syntax unified
  16305. 11033 005a BB60 str r3, [r7, #8]
  16306. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  16307. 11034 .loc 2 1073 10 discriminator 1
  16308. 11035 005c BB68 ldr r3, [r7, #8]
  16309. 11036 .LBE770:
  16310. 11037 .LBE769:
  16311. 11038 .loc 1 3753 7 discriminator 1
  16312. 11039 005e 43F04003 orr r3, r3, #64
  16313. 11040 0062 3B63 str r3, [r7, #48]
  16314. 11041 0064 7B68 ldr r3, [r7, #4]
  16315. 11042 0066 1B68 ldr r3, [r3]
  16316. 11043 0068 1A46 mov r2, r3
  16317. 11044 006a 3B6B ldr r3, [r7, #48]
  16318. 11045 006c BB61 str r3, [r7, #24]
  16319. 11046 006e 7A61 str r2, [r7, #20]
  16320. 11047 .LBB771:
  16321. 11048 .LBB772:
  16322. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16323. 11049 .loc 2 1123 4 discriminator 1
  16324. 11050 0070 7969 ldr r1, [r7, #20]
  16325. 11051 0072 BA69 ldr r2, [r7, #24]
  16326. 11052 .syntax unified
  16327. 11053 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16328. 11054 0074 41E80023 strex r3, r2, [r1]
  16329. 11055 @ 0 "" 2
  16330. 11056 .thumb
  16331. 11057 .syntax unified
  16332. 11058 0078 3B61 str r3, [r7, #16]
  16333. 11059 .loc 2 1124 10 discriminator 1
  16334. 11060 007a 3B69 ldr r3, [r7, #16]
  16335. 11061 .LBE772:
  16336. 11062 .LBE771:
  16337. 11063 .loc 1 3753 7 discriminator 1
  16338. 11064 007c 002B cmp r3, #0
  16339. 11065 007e E6D1 bne .L616
  16340. 11066 .LBE768:
  16341. 3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16342. 3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  16343. 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16344. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
  16345. 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
  16346. 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
  16347. 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16348. 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16349. 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16350. 11067 .loc 1 3762 1
  16351. 11068 0080 14E0 b .L617
  16352. 11069 .L610:
  16353. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
  16354. 11070 .loc 1 3757 46
  16355. 11071 0082 7B68 ldr r3, [r7, #4]
  16356. 11072 0084 DB6C ldr r3, [r3, #76]
  16357. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 283
  16358. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
  16359. 11073 .loc 1 3757 40
  16360. 11074 0086 1A78 ldrb r2, [r3] @ zero_extendqisi2
  16361. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
  16362. 11075 .loc 1 3757 12
  16363. 11076 0088 7B68 ldr r3, [r7, #4]
  16364. 11077 008a 1B68 ldr r3, [r3]
  16365. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
  16366. 11078 .loc 1 3757 30
  16367. 11079 008c 92B2 uxth r2, r2
  16368. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
  16369. 11080 .loc 1 3757 28
  16370. 11081 008e 1A85 strh r2, [r3, #40] @ movhi
  16371. 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
  16372. 11082 .loc 1 3758 12
  16373. 11083 0090 7B68 ldr r3, [r7, #4]
  16374. 11084 0092 DB6C ldr r3, [r3, #76]
  16375. 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
  16376. 11085 .loc 1 3758 24
  16377. 11086 0094 5A1C adds r2, r3, #1
  16378. 11087 0096 7B68 ldr r3, [r7, #4]
  16379. 11088 0098 DA64 str r2, [r3, #76]
  16380. 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16381. 11089 .loc 1 3759 12
  16382. 11090 009a 7B68 ldr r3, [r7, #4]
  16383. 11091 009c B3F85230 ldrh r3, [r3, #82] @ movhi
  16384. 11092 00a0 9BB2 uxth r3, r3
  16385. 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16386. 11093 .loc 1 3759 25
  16387. 11094 00a2 013B subs r3, r3, #1
  16388. 11095 00a4 9AB2 uxth r2, r3
  16389. 11096 00a6 7B68 ldr r3, [r7, #4]
  16390. 11097 00a8 A3F85220 strh r2, [r3, #82] @ movhi
  16391. 11098 .L617:
  16392. 11099 .loc 1 3762 1
  16393. 11100 00ac 00BF nop
  16394. 11101 00ae 3C37 adds r7, r7, #60
  16395. 11102 .LCFI332:
  16396. 11103 .cfi_def_cfa_offset 4
  16397. 11104 00b0 BD46 mov sp, r7
  16398. 11105 .LCFI333:
  16399. 11106 .cfi_def_cfa_register 13
  16400. 11107 @ sp needed
  16401. 11108 00b2 5DF8047B ldr r7, [sp], #4
  16402. 11109 .LCFI334:
  16403. 11110 .cfi_restore 7
  16404. 11111 .cfi_def_cfa_offset 0
  16405. 11112 00b6 7047 bx lr
  16406. 11113 .cfi_endproc
  16407. 11114 .LFE191:
  16408. 11116 .section .text.UART_TxISR_16BIT,"ax",%progbits
  16409. 11117 .align 1
  16410. 11118 .syntax unified
  16411. 11119 .thumb
  16412. 11120 .thumb_func
  16413. 11122 UART_TxISR_16BIT:
  16414. 11123 .LFB192:
  16415. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 284
  16416. 3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16417. 3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  16418. 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length.
  16419. 3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once
  16420. 3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
  16421. 3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  16422. 3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  16423. 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  16424. 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart)
  16425. 3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16426. 11124 .loc 1 3772 1
  16427. 11125 .cfi_startproc
  16428. 11126 @ args = 0, pretend = 0, frame = 64
  16429. 11127 @ frame_needed = 1, uses_anonymous_args = 0
  16430. 11128 @ link register save eliminated.
  16431. 11129 0000 80B4 push {r7}
  16432. 11130 .LCFI335:
  16433. 11131 .cfi_def_cfa_offset 4
  16434. 11132 .cfi_offset 7, -4
  16435. 11133 0002 91B0 sub sp, sp, #68
  16436. 11134 .LCFI336:
  16437. 11135 .cfi_def_cfa_offset 72
  16438. 11136 0004 00AF add r7, sp, #0
  16439. 11137 .LCFI337:
  16440. 11138 .cfi_def_cfa_register 7
  16441. 11139 0006 7860 str r0, [r7, #4]
  16442. 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *tmp;
  16443. 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16444. 3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */
  16445. 3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
  16446. 11140 .loc 1 3776 12
  16447. 11141 0008 7B68 ldr r3, [r7, #4]
  16448. 11142 000a DB6F ldr r3, [r3, #124]
  16449. 11143 .loc 1 3776 6
  16450. 11144 000c 212B cmp r3, #33
  16451. 11145 000e 51D1 bne .L627
  16452. 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16453. 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U)
  16454. 11146 .loc 1 3778 14
  16455. 11147 0010 7B68 ldr r3, [r7, #4]
  16456. 11148 0012 B3F85230 ldrh r3, [r3, #82] @ movhi
  16457. 11149 0016 9BB2 uxth r3, r3
  16458. 11150 .loc 1 3778 8
  16459. 11151 0018 002B cmp r3, #0
  16460. 11152 001a 32D1 bne .L620
  16461. 11153 .L623:
  16462. 11154 .LBB773:
  16463. 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16464. 3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
  16465. 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
  16466. 11155 .loc 1 3781 7 discriminator 1
  16467. 11156 001c 7B68 ldr r3, [r7, #4]
  16468. 11157 001e 1B68 ldr r3, [r3]
  16469. 11158 0020 7B62 str r3, [r7, #36]
  16470. 11159 .LBB774:
  16471. 11160 .LBB775:
  16472. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16473. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 285
  16474. 11161 .loc 2 1072 4 discriminator 1
  16475. 11162 0022 7B6A ldr r3, [r7, #36]
  16476. 11163 .syntax unified
  16477. 11164 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16478. 11165 0024 53E8003F ldrex r3, [r3]
  16479. 11166 @ 0 "" 2
  16480. 11167 .thumb
  16481. 11168 .syntax unified
  16482. 11169 0028 3B62 str r3, [r7, #32]
  16483. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  16484. 11170 .loc 2 1073 10 discriminator 1
  16485. 11171 002a 3B6A ldr r3, [r7, #32]
  16486. 11172 .LBE775:
  16487. 11173 .LBE774:
  16488. 11174 .loc 1 3781 7 discriminator 1
  16489. 11175 002c 23F08003 bic r3, r3, #128
  16490. 11176 0030 BB63 str r3, [r7, #56]
  16491. 11177 0032 7B68 ldr r3, [r7, #4]
  16492. 11178 0034 1B68 ldr r3, [r3]
  16493. 11179 0036 1A46 mov r2, r3
  16494. 11180 0038 BB6B ldr r3, [r7, #56]
  16495. 11181 003a 3B63 str r3, [r7, #48]
  16496. 11182 003c FA62 str r2, [r7, #44]
  16497. 11183 .LBB776:
  16498. 11184 .LBB777:
  16499. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16500. 11185 .loc 2 1123 4 discriminator 1
  16501. 11186 003e F96A ldr r1, [r7, #44]
  16502. 11187 0040 3A6B ldr r2, [r7, #48]
  16503. 11188 .syntax unified
  16504. 11189 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16505. 11190 0042 41E80023 strex r3, r2, [r1]
  16506. 11191 @ 0 "" 2
  16507. 11192 .thumb
  16508. 11193 .syntax unified
  16509. 11194 0046 BB62 str r3, [r7, #40]
  16510. 11195 .loc 2 1124 10 discriminator 1
  16511. 11196 0048 BB6A ldr r3, [r7, #40]
  16512. 11197 .LBE777:
  16513. 11198 .LBE776:
  16514. 11199 .loc 1 3781 7 discriminator 1
  16515. 11200 004a 002B cmp r3, #0
  16516. 11201 004c E6D1 bne .L623
  16517. 11202 .L626:
  16518. 11203 .LBE773:
  16519. 11204 .LBB778:
  16520. 3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16521. 3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
  16522. 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
  16523. 11205 .loc 1 3784 7 discriminator 1
  16524. 11206 004e 7B68 ldr r3, [r7, #4]
  16525. 11207 0050 1B68 ldr r3, [r3]
  16526. 11208 0052 3B61 str r3, [r7, #16]
  16527. 11209 .LBB779:
  16528. 11210 .LBB780:
  16529. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16530. 11211 .loc 2 1072 4 discriminator 1
  16531. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 286
  16532. 11212 0054 3B69 ldr r3, [r7, #16]
  16533. 11213 .syntax unified
  16534. 11214 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16535. 11215 0056 53E8003F ldrex r3, [r3]
  16536. 11216 @ 0 "" 2
  16537. 11217 .thumb
  16538. 11218 .syntax unified
  16539. 11219 005a FB60 str r3, [r7, #12]
  16540. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  16541. 11220 .loc 2 1073 10 discriminator 1
  16542. 11221 005c FB68 ldr r3, [r7, #12]
  16543. 11222 .LBE780:
  16544. 11223 .LBE779:
  16545. 11224 .loc 1 3784 7 discriminator 1
  16546. 11225 005e 43F04003 orr r3, r3, #64
  16547. 11226 0062 7B63 str r3, [r7, #52]
  16548. 11227 0064 7B68 ldr r3, [r7, #4]
  16549. 11228 0066 1B68 ldr r3, [r3]
  16550. 11229 0068 1A46 mov r2, r3
  16551. 11230 006a 7B6B ldr r3, [r7, #52]
  16552. 11231 006c FB61 str r3, [r7, #28]
  16553. 11232 006e BA61 str r2, [r7, #24]
  16554. 11233 .LBB781:
  16555. 11234 .LBB782:
  16556. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16557. 11235 .loc 2 1123 4 discriminator 1
  16558. 11236 0070 B969 ldr r1, [r7, #24]
  16559. 11237 0072 FA69 ldr r2, [r7, #28]
  16560. 11238 .syntax unified
  16561. 11239 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16562. 11240 0074 41E80023 strex r3, r2, [r1]
  16563. 11241 @ 0 "" 2
  16564. 11242 .thumb
  16565. 11243 .syntax unified
  16566. 11244 0078 7B61 str r3, [r7, #20]
  16567. 11245 .loc 2 1124 10 discriminator 1
  16568. 11246 007a 7B69 ldr r3, [r7, #20]
  16569. 11247 .LBE782:
  16570. 11248 .LBE781:
  16571. 11249 .loc 1 3784 7 discriminator 1
  16572. 11250 007c 002B cmp r3, #0
  16573. 11251 007e E6D1 bne .L626
  16574. 11252 .LBE778:
  16575. 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16576. 3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  16577. 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16578. 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr;
  16579. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
  16580. 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
  16581. 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
  16582. 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16583. 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16584. 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16585. 11253 .loc 1 3794 1
  16586. 11254 0080 18E0 b .L627
  16587. 11255 .L620:
  16588. 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
  16589. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 287
  16590. 11256 .loc 1 3788 11
  16591. 11257 0082 7B68 ldr r3, [r7, #4]
  16592. 11258 0084 DB6C ldr r3, [r3, #76]
  16593. 11259 0086 FB63 str r3, [r7, #60]
  16594. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
  16595. 11260 .loc 1 3789 43
  16596. 11261 0088 FB6B ldr r3, [r7, #60]
  16597. 11262 008a 1A88 ldrh r2, [r3]
  16598. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
  16599. 11263 .loc 1 3789 12
  16600. 11264 008c 7B68 ldr r3, [r7, #4]
  16601. 11265 008e 1B68 ldr r3, [r3]
  16602. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
  16603. 11266 .loc 1 3789 50
  16604. 11267 0090 C2F30802 ubfx r2, r2, #0, #9
  16605. 11268 0094 92B2 uxth r2, r2
  16606. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
  16607. 11269 .loc 1 3789 28
  16608. 11270 0096 1A85 strh r2, [r3, #40] @ movhi
  16609. 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
  16610. 11271 .loc 1 3790 25
  16611. 11272 0098 7B68 ldr r3, [r7, #4]
  16612. 11273 009a DB6C ldr r3, [r3, #76]
  16613. 11274 009c 9A1C adds r2, r3, #2
  16614. 11275 009e 7B68 ldr r3, [r7, #4]
  16615. 11276 00a0 DA64 str r2, [r3, #76]
  16616. 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16617. 11277 .loc 1 3791 12
  16618. 11278 00a2 7B68 ldr r3, [r7, #4]
  16619. 11279 00a4 B3F85230 ldrh r3, [r3, #82] @ movhi
  16620. 11280 00a8 9BB2 uxth r3, r3
  16621. 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16622. 11281 .loc 1 3791 25
  16623. 11282 00aa 013B subs r3, r3, #1
  16624. 11283 00ac 9AB2 uxth r2, r3
  16625. 11284 00ae 7B68 ldr r3, [r7, #4]
  16626. 11285 00b0 A3F85220 strh r2, [r3, #82] @ movhi
  16627. 11286 .L627:
  16628. 11287 .loc 1 3794 1
  16629. 11288 00b4 00BF nop
  16630. 11289 00b6 4437 adds r7, r7, #68
  16631. 11290 .LCFI338:
  16632. 11291 .cfi_def_cfa_offset 4
  16633. 11292 00b8 BD46 mov sp, r7
  16634. 11293 .LCFI339:
  16635. 11294 .cfi_def_cfa_register 13
  16636. 11295 @ sp needed
  16637. 11296 00ba 5DF8047B ldr r7, [sp], #4
  16638. 11297 .LCFI340:
  16639. 11298 .cfi_restore 7
  16640. 11299 .cfi_def_cfa_offset 0
  16641. 11300 00be 7047 bx lr
  16642. 11301 .cfi_endproc
  16643. 11302 .LFE192:
  16644. 11304 .section .text.UART_EndTransmit_IT,"ax",%progbits
  16645. 11305 .align 1
  16646. 11306 .syntax unified
  16647. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 288
  16648. 11307 .thumb
  16649. 11308 .thumb_func
  16650. 11310 UART_EndTransmit_IT:
  16651. 11311 .LFB193:
  16652. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16653. 3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16654. 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  16655. 3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode.
  16656. 3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains
  16657. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
  16658. 3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  16659. 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  16660. 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
  16661. 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16662. 11312 .loc 1 3804 1
  16663. 11313 .cfi_startproc
  16664. 11314 @ args = 0, pretend = 0, frame = 32
  16665. 11315 @ frame_needed = 1, uses_anonymous_args = 0
  16666. 11316 0000 80B5 push {r7, lr}
  16667. 11317 .LCFI341:
  16668. 11318 .cfi_def_cfa_offset 8
  16669. 11319 .cfi_offset 7, -8
  16670. 11320 .cfi_offset 14, -4
  16671. 11321 0002 88B0 sub sp, sp, #32
  16672. 11322 .LCFI342:
  16673. 11323 .cfi_def_cfa_offset 40
  16674. 11324 0004 00AF add r7, sp, #0
  16675. 11325 .LCFI343:
  16676. 11326 .cfi_def_cfa_register 7
  16677. 11327 0006 7860 str r0, [r7, #4]
  16678. 11328 .L631:
  16679. 11329 .LBB783:
  16680. 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
  16681. 3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
  16682. 11330 .loc 1 3806 3 discriminator 1
  16683. 11331 0008 7B68 ldr r3, [r7, #4]
  16684. 11332 000a 1B68 ldr r3, [r3]
  16685. 11333 000c FB60 str r3, [r7, #12]
  16686. 11334 .LBB784:
  16687. 11335 .LBB785:
  16688. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16689. 11336 .loc 2 1072 4 discriminator 1
  16690. 11337 000e FB68 ldr r3, [r7, #12]
  16691. 11338 .syntax unified
  16692. 11339 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16693. 11340 0010 53E8003F ldrex r3, [r3]
  16694. 11341 @ 0 "" 2
  16695. 11342 .thumb
  16696. 11343 .syntax unified
  16697. 11344 0014 BB60 str r3, [r7, #8]
  16698. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  16699. 11345 .loc 2 1073 10 discriminator 1
  16700. 11346 0016 BB68 ldr r3, [r7, #8]
  16701. 11347 .LBE785:
  16702. 11348 .LBE784:
  16703. 11349 .loc 1 3806 3 discriminator 1
  16704. 11350 0018 23F04003 bic r3, r3, #64
  16705. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 289
  16706. 11351 001c FB61 str r3, [r7, #28]
  16707. 11352 001e 7B68 ldr r3, [r7, #4]
  16708. 11353 0020 1B68 ldr r3, [r3]
  16709. 11354 0022 1A46 mov r2, r3
  16710. 11355 0024 FB69 ldr r3, [r7, #28]
  16711. 11356 0026 BB61 str r3, [r7, #24]
  16712. 11357 0028 7A61 str r2, [r7, #20]
  16713. 11358 .LBB786:
  16714. 11359 .LBB787:
  16715. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16716. 11360 .loc 2 1123 4 discriminator 1
  16717. 11361 002a 7969 ldr r1, [r7, #20]
  16718. 11362 002c BA69 ldr r2, [r7, #24]
  16719. 11363 .syntax unified
  16720. 11364 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16721. 11365 002e 41E80023 strex r3, r2, [r1]
  16722. 11366 @ 0 "" 2
  16723. 11367 .thumb
  16724. 11368 .syntax unified
  16725. 11369 0032 3B61 str r3, [r7, #16]
  16726. 11370 .loc 2 1124 10 discriminator 1
  16727. 11371 0034 3B69 ldr r3, [r7, #16]
  16728. 11372 .LBE787:
  16729. 11373 .LBE786:
  16730. 11374 .loc 1 3806 3 discriminator 1
  16731. 11375 0036 002B cmp r3, #0
  16732. 11376 0038 E6D1 bne .L631
  16733. 11377 .LBE783:
  16734. 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16735. 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
  16736. 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  16737. 11378 .loc 1 3809 17
  16738. 11379 003a 7B68 ldr r3, [r7, #4]
  16739. 11380 003c 2022 movs r2, #32
  16740. 11381 003e DA67 str r2, [r3, #124]
  16741. 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16742. 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Cleat TxISR function pointer */
  16743. 3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
  16744. 11382 .loc 1 3812 16
  16745. 11383 0040 7B68 ldr r3, [r7, #4]
  16746. 11384 0042 0022 movs r2, #0
  16747. 11385 0044 DA66 str r2, [r3, #108]
  16748. 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16749. 3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  16750. 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/
  16751. 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart);
  16752. 3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  16753. 3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
  16754. 3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
  16755. 11386 .loc 1 3819 3
  16756. 11387 0046 7868 ldr r0, [r7, #4]
  16757. 11388 0048 FFF7FEFF bl HAL_UART_TxCpltCallback
  16758. 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  16759. 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  16760. 11389 .loc 1 3821 1
  16761. 11390 004c 00BF nop
  16762. 11391 004e 2037 adds r7, r7, #32
  16763. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 290
  16764. 11392 .LCFI344:
  16765. 11393 .cfi_def_cfa_offset 8
  16766. 11394 0050 BD46 mov sp, r7
  16767. 11395 .LCFI345:
  16768. 11396 .cfi_def_cfa_register 13
  16769. 11397 @ sp needed
  16770. 11398 0052 80BD pop {r7, pc}
  16771. 11399 .cfi_endproc
  16772. 11400 .LFE193:
  16773. 11402 .section .text.UART_RxISR_8BIT,"ax",%progbits
  16774. 11403 .align 1
  16775. 11404 .syntax unified
  16776. 11405 .thumb
  16777. 11406 .thumb_func
  16778. 11408 UART_RxISR_8BIT:
  16779. 11409 .LFB194:
  16780. 3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16781. 3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  16782. 3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length .
  16783. 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  16784. 3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  16785. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  16786. 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart)
  16787. 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16788. 11410 .loc 1 3829 1
  16789. 11411 .cfi_startproc
  16790. 11412 @ args = 0, pretend = 0, frame = 112
  16791. 11413 @ frame_needed = 1, uses_anonymous_args = 0
  16792. 11414 0000 80B5 push {r7, lr}
  16793. 11415 .LCFI346:
  16794. 11416 .cfi_def_cfa_offset 8
  16795. 11417 .cfi_offset 7, -8
  16796. 11418 .cfi_offset 14, -4
  16797. 11419 0002 9CB0 sub sp, sp, #112
  16798. 11420 .LCFI347:
  16799. 11421 .cfi_def_cfa_offset 120
  16800. 11422 0004 00AF add r7, sp, #0
  16801. 11423 .LCFI348:
  16802. 11424 .cfi_def_cfa_register 7
  16803. 11425 0006 7860 str r0, [r7, #4]
  16804. 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
  16805. 11426 .loc 1 3830 12
  16806. 11427 0008 7B68 ldr r3, [r7, #4]
  16807. 11428 000a B3F85C30 ldrh r3, [r3, #92] @ movhi
  16808. 11429 000e A7F86E30 strh r3, [r7, #110] @ movhi
  16809. 3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata;
  16810. 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16811. 3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */
  16812. 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
  16813. 11430 .loc 1 3834 12
  16814. 11431 0012 7B68 ldr r3, [r7, #4]
  16815. 11432 0014 D3F88030 ldr r3, [r3, #128]
  16816. 11433 .loc 1 3834 6
  16817. 11434 0018 222B cmp r3, #34
  16818. 11435 001a 40F0B980 bne .L633
  16819. 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16820. 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
  16821. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 291
  16822. 11436 .loc 1 3836 25
  16823. 11437 001e 7B68 ldr r3, [r7, #4]
  16824. 11438 0020 1B68 ldr r3, [r3]
  16825. 11439 .loc 1 3836 12
  16826. 11440 0022 9B8C ldrh r3, [r3, #36] @ movhi
  16827. 11441 0024 A7F86C30 strh r3, [r7, #108] @ movhi
  16828. 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
  16829. 11442 .loc 1 3837 26
  16830. 11443 0028 B7F86C30 ldrh r3, [r7, #108] @ movhi
  16831. 11444 002c D9B2 uxtb r1, r3
  16832. 11445 .loc 1 3837 45
  16833. 11446 002e B7F86E30 ldrh r3, [r7, #110] @ movhi
  16834. 11447 0032 DAB2 uxtb r2, r3
  16835. 11448 .loc 1 3837 11
  16836. 11449 0034 7B68 ldr r3, [r7, #4]
  16837. 11450 0036 5B6D ldr r3, [r3, #84]
  16838. 11451 .loc 1 3837 26
  16839. 11452 0038 0A40 ands r2, r2, r1
  16840. 11453 003a D2B2 uxtb r2, r2
  16841. 11454 .loc 1 3837 24
  16842. 11455 003c 1A70 strb r2, [r3]
  16843. 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++;
  16844. 11456 .loc 1 3838 10
  16845. 11457 003e 7B68 ldr r3, [r7, #4]
  16846. 11458 0040 5B6D ldr r3, [r3, #84]
  16847. 11459 .loc 1 3838 22
  16848. 11460 0042 5A1C adds r2, r3, #1
  16849. 11461 0044 7B68 ldr r3, [r7, #4]
  16850. 11462 0046 5A65 str r2, [r3, #84]
  16851. 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--;
  16852. 11463 .loc 1 3839 10
  16853. 11464 0048 7B68 ldr r3, [r7, #4]
  16854. 11465 004a B3F85A30 ldrh r3, [r3, #90] @ movhi
  16855. 11466 004e 9BB2 uxth r3, r3
  16856. 11467 .loc 1 3839 23
  16857. 11468 0050 013B subs r3, r3, #1
  16858. 11469 0052 9AB2 uxth r2, r3
  16859. 11470 0054 7B68 ldr r3, [r7, #4]
  16860. 11471 0056 A3F85A20 strh r2, [r3, #90] @ movhi
  16861. 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16862. 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U)
  16863. 11472 .loc 1 3841 14
  16864. 11473 005a 7B68 ldr r3, [r7, #4]
  16865. 11474 005c B3F85A30 ldrh r3, [r3, #90] @ movhi
  16866. 11475 0060 9BB2 uxth r3, r3
  16867. 11476 .loc 1 3841 8
  16868. 11477 0062 002B cmp r3, #0
  16869. 11478 0064 40F09C80 bne .L650
  16870. 11479 .L637:
  16871. 11480 .LBB788:
  16872. 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  16873. 3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
  16874. 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  16875. 11481 .loc 1 3844 7 discriminator 1
  16876. 11482 0068 7B68 ldr r3, [r7, #4]
  16877. 11483 006a 1B68 ldr r3, [r3]
  16878. 11484 006c FB64 str r3, [r7, #76]
  16879. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 292
  16880. 11485 .LBB789:
  16881. 11486 .LBB790:
  16882. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16883. 11487 .loc 2 1072 4 discriminator 1
  16884. 11488 006e FB6C ldr r3, [r7, #76]
  16885. 11489 .syntax unified
  16886. 11490 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16887. 11491 0070 53E8003F ldrex r3, [r3]
  16888. 11492 @ 0 "" 2
  16889. 11493 .thumb
  16890. 11494 .syntax unified
  16891. 11495 0074 BB64 str r3, [r7, #72]
  16892. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  16893. 11496 .loc 2 1073 10 discriminator 1
  16894. 11497 0076 BB6C ldr r3, [r7, #72]
  16895. 11498 .LBE790:
  16896. 11499 .LBE789:
  16897. 11500 .loc 1 3844 7 discriminator 1
  16898. 11501 0078 23F49073 bic r3, r3, #288
  16899. 11502 007c BB66 str r3, [r7, #104]
  16900. 11503 007e 7B68 ldr r3, [r7, #4]
  16901. 11504 0080 1B68 ldr r3, [r3]
  16902. 11505 0082 1A46 mov r2, r3
  16903. 11506 0084 BB6E ldr r3, [r7, #104]
  16904. 11507 0086 BB65 str r3, [r7, #88]
  16905. 11508 0088 7A65 str r2, [r7, #84]
  16906. 11509 .LBB791:
  16907. 11510 .LBB792:
  16908. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16909. 11511 .loc 2 1123 4 discriminator 1
  16910. 11512 008a 796D ldr r1, [r7, #84]
  16911. 11513 008c BA6D ldr r2, [r7, #88]
  16912. 11514 .syntax unified
  16913. 11515 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16914. 11516 008e 41E80023 strex r3, r2, [r1]
  16915. 11517 @ 0 "" 2
  16916. 11518 .thumb
  16917. 11519 .syntax unified
  16918. 11520 0092 3B65 str r3, [r7, #80]
  16919. 11521 .loc 2 1124 10 discriminator 1
  16920. 11522 0094 3B6D ldr r3, [r7, #80]
  16921. 11523 .LBE792:
  16922. 11524 .LBE791:
  16923. 11525 .loc 1 3844 7 discriminator 1
  16924. 11526 0096 002B cmp r3, #0
  16925. 11527 0098 E6D1 bne .L637
  16926. 11528 .L640:
  16927. 11529 .LBE788:
  16928. 11530 .LBB793:
  16929. 3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16930. 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  16931. 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  16932. 11531 .loc 1 3847 7 discriminator 1
  16933. 11532 009a 7B68 ldr r3, [r7, #4]
  16934. 11533 009c 1B68 ldr r3, [r3]
  16935. 11534 009e 0833 adds r3, r3, #8
  16936. 11535 00a0 BB63 str r3, [r7, #56]
  16937. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 293
  16938. 11536 .LBB794:
  16939. 11537 .LBB795:
  16940. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16941. 11538 .loc 2 1072 4 discriminator 1
  16942. 11539 00a2 BB6B ldr r3, [r7, #56]
  16943. 11540 .syntax unified
  16944. 11541 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16945. 11542 00a4 53E8003F ldrex r3, [r3]
  16946. 11543 @ 0 "" 2
  16947. 11544 .thumb
  16948. 11545 .syntax unified
  16949. 11546 00a8 7B63 str r3, [r7, #52]
  16950. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  16951. 11547 .loc 2 1073 10 discriminator 1
  16952. 11548 00aa 7B6B ldr r3, [r7, #52]
  16953. 11549 .LBE795:
  16954. 11550 .LBE794:
  16955. 11551 .loc 1 3847 7 discriminator 1
  16956. 11552 00ac 23F00103 bic r3, r3, #1
  16957. 11553 00b0 7B66 str r3, [r7, #100]
  16958. 11554 00b2 7B68 ldr r3, [r7, #4]
  16959. 11555 00b4 1B68 ldr r3, [r3]
  16960. 11556 00b6 0833 adds r3, r3, #8
  16961. 11557 00b8 7A6E ldr r2, [r7, #100]
  16962. 11558 00ba 7A64 str r2, [r7, #68]
  16963. 11559 00bc 3B64 str r3, [r7, #64]
  16964. 11560 .LBB796:
  16965. 11561 .LBB797:
  16966. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  16967. 11562 .loc 2 1123 4 discriminator 1
  16968. 11563 00be 396C ldr r1, [r7, #64]
  16969. 11564 00c0 7A6C ldr r2, [r7, #68]
  16970. 11565 .syntax unified
  16971. 11566 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  16972. 11567 00c2 41E80023 strex r3, r2, [r1]
  16973. 11568 @ 0 "" 2
  16974. 11569 .thumb
  16975. 11570 .syntax unified
  16976. 11571 00c6 FB63 str r3, [r7, #60]
  16977. 11572 .loc 2 1124 10 discriminator 1
  16978. 11573 00c8 FB6B ldr r3, [r7, #60]
  16979. 11574 .LBE797:
  16980. 11575 .LBE796:
  16981. 11576 .loc 1 3847 7 discriminator 1
  16982. 11577 00ca 002B cmp r3, #0
  16983. 11578 00cc E5D1 bne .L640
  16984. 11579 .LBE793:
  16985. 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16986. 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
  16987. 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  16988. 11580 .loc 1 3850 22
  16989. 11581 00ce 7B68 ldr r3, [r7, #4]
  16990. 11582 00d0 2022 movs r2, #32
  16991. 11583 00d2 C3F88020 str r2, [r3, #128]
  16992. 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  16993. 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
  16994. 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
  16995. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 294
  16996. 11584 .loc 1 3853 20
  16997. 11585 00d6 7B68 ldr r3, [r7, #4]
  16998. 11586 00d8 0022 movs r2, #0
  16999. 11587 00da 9A66 str r2, [r3, #104]
  17000. 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17001. 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */
  17002. 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
  17003. 11588 .loc 1 3856 26
  17004. 11589 00dc 7B68 ldr r3, [r7, #4]
  17005. 11590 00de 0022 movs r2, #0
  17006. 11591 00e0 5A66 str r2, [r3, #100]
  17007. 3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17008. 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
  17009. 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
  17010. 11592 .loc 1 3859 11
  17011. 11593 00e2 7B68 ldr r3, [r7, #4]
  17012. 11594 00e4 1B68 ldr r3, [r3]
  17013. 11595 00e6 5B68 ldr r3, [r3, #4]
  17014. 11596 00e8 03F40003 and r3, r3, #8388608
  17015. 11597 .loc 1 3859 10
  17016. 11598 00ec 002B cmp r3, #0
  17017. 11599 00ee 18D0 beq .L641
  17018. 11600 .L644:
  17019. 11601 .LBB798:
  17020. 3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17021. 3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
  17022. 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
  17023. 11602 .loc 1 3862 9 discriminator 1
  17024. 11603 00f0 7B68 ldr r3, [r7, #4]
  17025. 11604 00f2 1B68 ldr r3, [r3]
  17026. 11605 00f4 7B62 str r3, [r7, #36]
  17027. 11606 .LBB799:
  17028. 11607 .LBB800:
  17029. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17030. 11608 .loc 2 1072 4 discriminator 1
  17031. 11609 00f6 7B6A ldr r3, [r7, #36]
  17032. 11610 .syntax unified
  17033. 11611 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17034. 11612 00f8 53E8003F ldrex r3, [r3]
  17035. 11613 @ 0 "" 2
  17036. 11614 .thumb
  17037. 11615 .syntax unified
  17038. 11616 00fc 3B62 str r3, [r7, #32]
  17039. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  17040. 11617 .loc 2 1073 10 discriminator 1
  17041. 11618 00fe 3B6A ldr r3, [r7, #32]
  17042. 11619 .LBE800:
  17043. 11620 .LBE799:
  17044. 11621 .loc 1 3862 9 discriminator 1
  17045. 11622 0100 23F08063 bic r3, r3, #67108864
  17046. 11623 0104 3B66 str r3, [r7, #96]
  17047. 11624 0106 7B68 ldr r3, [r7, #4]
  17048. 11625 0108 1B68 ldr r3, [r3]
  17049. 11626 010a 1A46 mov r2, r3
  17050. 11627 010c 3B6E ldr r3, [r7, #96]
  17051. 11628 010e 3B63 str r3, [r7, #48]
  17052. 11629 0110 FA62 str r2, [r7, #44]
  17053. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 295
  17054. 11630 .LBB801:
  17055. 11631 .LBB802:
  17056. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17057. 11632 .loc 2 1123 4 discriminator 1
  17058. 11633 0112 F96A ldr r1, [r7, #44]
  17059. 11634 0114 3A6B ldr r2, [r7, #48]
  17060. 11635 .syntax unified
  17061. 11636 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17062. 11637 0116 41E80023 strex r3, r2, [r1]
  17063. 11638 @ 0 "" 2
  17064. 11639 .thumb
  17065. 11640 .syntax unified
  17066. 11641 011a BB62 str r3, [r7, #40]
  17067. 11642 .loc 2 1124 10 discriminator 1
  17068. 11643 011c BB6A ldr r3, [r7, #40]
  17069. 11644 .LBE802:
  17070. 11645 .LBE801:
  17071. 11646 .loc 1 3862 9 discriminator 1
  17072. 11647 011e 002B cmp r3, #0
  17073. 11648 0120 E6D1 bne .L644
  17074. 11649 .L641:
  17075. 11650 .LBE798:
  17076. 3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17077. 3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17078. 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
  17079. 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */
  17080. 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  17081. 11651 .loc 1 3867 16
  17082. 11652 0122 7B68 ldr r3, [r7, #4]
  17083. 11653 0124 1B6E ldr r3, [r3, #96]
  17084. 11654 .loc 1 3867 10
  17085. 11655 0126 012B cmp r3, #1
  17086. 11656 0128 2ED1 bne .L645
  17087. 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17088. 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */
  17089. 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  17090. 11657 .loc 1 3870 30
  17091. 11658 012a 7B68 ldr r3, [r7, #4]
  17092. 11659 012c 0022 movs r2, #0
  17093. 11660 012e 1A66 str r2, [r3, #96]
  17094. 11661 .L648:
  17095. 11662 .LBB803:
  17096. 3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17097. 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */
  17098. 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  17099. 11663 .loc 1 3873 9 discriminator 1
  17100. 11664 0130 7B68 ldr r3, [r7, #4]
  17101. 11665 0132 1B68 ldr r3, [r3]
  17102. 11666 0134 3B61 str r3, [r7, #16]
  17103. 11667 .LBB804:
  17104. 11668 .LBB805:
  17105. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17106. 11669 .loc 2 1072 4 discriminator 1
  17107. 11670 0136 3B69 ldr r3, [r7, #16]
  17108. 11671 .syntax unified
  17109. 11672 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17110. 11673 0138 53E8003F ldrex r3, [r3]
  17111. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 296
  17112. 11674 @ 0 "" 2
  17113. 11675 .thumb
  17114. 11676 .syntax unified
  17115. 11677 013c FB60 str r3, [r7, #12]
  17116. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  17117. 11678 .loc 2 1073 10 discriminator 1
  17118. 11679 013e FB68 ldr r3, [r7, #12]
  17119. 11680 .LBE805:
  17120. 11681 .LBE804:
  17121. 11682 .loc 1 3873 9 discriminator 1
  17122. 11683 0140 23F01003 bic r3, r3, #16
  17123. 11684 0144 FB65 str r3, [r7, #92]
  17124. 11685 0146 7B68 ldr r3, [r7, #4]
  17125. 11686 0148 1B68 ldr r3, [r3]
  17126. 11687 014a 1A46 mov r2, r3
  17127. 11688 014c FB6D ldr r3, [r7, #92]
  17128. 11689 014e FB61 str r3, [r7, #28]
  17129. 11690 0150 BA61 str r2, [r7, #24]
  17130. 11691 .LBB806:
  17131. 11692 .LBB807:
  17132. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17133. 11693 .loc 2 1123 4 discriminator 1
  17134. 11694 0152 B969 ldr r1, [r7, #24]
  17135. 11695 0154 FA69 ldr r2, [r7, #28]
  17136. 11696 .syntax unified
  17137. 11697 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17138. 11698 0156 41E80023 strex r3, r2, [r1]
  17139. 11699 @ 0 "" 2
  17140. 11700 .thumb
  17141. 11701 .syntax unified
  17142. 11702 015a 7B61 str r3, [r7, #20]
  17143. 11703 .loc 2 1124 10 discriminator 1
  17144. 11704 015c 7B69 ldr r3, [r7, #20]
  17145. 11705 .LBE807:
  17146. 11706 .LBE806:
  17147. 11707 .loc 1 3873 9 discriminator 1
  17148. 11708 015e 002B cmp r3, #0
  17149. 11709 0160 E6D1 bne .L648
  17150. 11710 .LBE803:
  17151. 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17152. 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
  17153. 11711 .loc 1 3875 13
  17154. 11712 0162 7B68 ldr r3, [r7, #4]
  17155. 11713 0164 1B68 ldr r3, [r3]
  17156. 11714 0166 DB69 ldr r3, [r3, #28]
  17157. 11715 0168 03F01003 and r3, r3, #16
  17158. 11716 .loc 1 3875 12
  17159. 11717 016c 102B cmp r3, #16
  17160. 11718 016e 03D1 bne .L649
  17161. 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17162. 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */
  17163. 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
  17164. 11719 .loc 1 3878 11
  17165. 11720 0170 7B68 ldr r3, [r7, #4]
  17166. 11721 0172 1B68 ldr r3, [r3]
  17167. 11722 0174 1022 movs r2, #16
  17168. 11723 0176 1A62 str r2, [r3, #32]
  17169. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 297
  17170. 11724 .L649:
  17171. 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17172. 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17173. 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  17174. 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
  17175. 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
  17176. 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  17177. 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  17178. 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
  17179. 11725 .loc 1 3886 9
  17180. 11726 0178 7B68 ldr r3, [r7, #4]
  17181. 11727 017a B3F85830 ldrh r3, [r3, #88]
  17182. 11728 017e 1946 mov r1, r3
  17183. 11729 0180 7868 ldr r0, [r7, #4]
  17184. 11730 0182 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  17185. 3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  17186. 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17187. 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  17188. 3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17189. 3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */
  17190. 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  17191. 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
  17192. 3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart);
  17193. 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  17194. 3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
  17195. 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
  17196. 3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  17197. 3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17198. 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17199. 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17200. 3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  17201. 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17202. 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */
  17203. 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  17204. 3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17205. 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17206. 11731 .loc 1 3907 1
  17207. 11732 0186 0BE0 b .L650
  17208. 11733 .L645:
  17209. 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  17210. 11734 .loc 1 3897 9
  17211. 11735 0188 7868 ldr r0, [r7, #4]
  17212. 11736 018a FFF7FEFF bl HAL_UART_RxCpltCallback
  17213. 11737 .loc 1 3907 1
  17214. 11738 018e 07E0 b .L650
  17215. 11739 .L633:
  17216. 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17217. 11740 .loc 1 3905 5
  17218. 11741 0190 7B68 ldr r3, [r7, #4]
  17219. 11742 0192 1B68 ldr r3, [r3]
  17220. 11743 0194 9A69 ldr r2, [r3, #24]
  17221. 11744 0196 7B68 ldr r3, [r7, #4]
  17222. 11745 0198 1B68 ldr r3, [r3]
  17223. 11746 019a 42F00802 orr r2, r2, #8
  17224. 11747 019e 9A61 str r2, [r3, #24]
  17225. 11748 .L650:
  17226. 11749 .loc 1 3907 1
  17227. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 298
  17228. 11750 01a0 00BF nop
  17229. 11751 01a2 7037 adds r7, r7, #112
  17230. 11752 .LCFI349:
  17231. 11753 .cfi_def_cfa_offset 8
  17232. 11754 01a4 BD46 mov sp, r7
  17233. 11755 .LCFI350:
  17234. 11756 .cfi_def_cfa_register 13
  17235. 11757 @ sp needed
  17236. 11758 01a6 80BD pop {r7, pc}
  17237. 11759 .cfi_endproc
  17238. 11760 .LFE194:
  17239. 11762 .section .text.UART_RxISR_16BIT,"ax",%progbits
  17240. 11763 .align 1
  17241. 11764 .syntax unified
  17242. 11765 .thumb
  17243. 11766 .thumb_func
  17244. 11768 UART_RxISR_16BIT:
  17245. 11769 .LFB195:
  17246. 3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17247. 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
  17248. 3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length .
  17249. 3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once
  17250. 3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
  17251. 3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
  17252. 3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
  17253. 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
  17254. 3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart)
  17255. 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17256. 11770 .loc 1 3917 1
  17257. 11771 .cfi_startproc
  17258. 11772 @ args = 0, pretend = 0, frame = 112
  17259. 11773 @ frame_needed = 1, uses_anonymous_args = 0
  17260. 11774 0000 80B5 push {r7, lr}
  17261. 11775 .LCFI351:
  17262. 11776 .cfi_def_cfa_offset 8
  17263. 11777 .cfi_offset 7, -8
  17264. 11778 .cfi_offset 14, -4
  17265. 11779 0002 9CB0 sub sp, sp, #112
  17266. 11780 .LCFI352:
  17267. 11781 .cfi_def_cfa_offset 120
  17268. 11782 0004 00AF add r7, sp, #0
  17269. 11783 .LCFI353:
  17270. 11784 .cfi_def_cfa_register 7
  17271. 11785 0006 7860 str r0, [r7, #4]
  17272. 3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *tmp;
  17273. 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
  17274. 11786 .loc 1 3919 12
  17275. 11787 0008 7B68 ldr r3, [r7, #4]
  17276. 11788 000a B3F85C30 ldrh r3, [r3, #92] @ movhi
  17277. 11789 000e A7F86E30 strh r3, [r7, #110] @ movhi
  17278. 3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata;
  17279. 3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17280. 3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */
  17281. 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
  17282. 11790 .loc 1 3923 12
  17283. 11791 0012 7B68 ldr r3, [r7, #4]
  17284. 11792 0014 D3F88030 ldr r3, [r3, #128]
  17285. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 299
  17286. 11793 .loc 1 3923 6
  17287. 11794 0018 222B cmp r3, #34
  17288. 11795 001a 40F0B980 bne .L652
  17289. 3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17290. 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
  17291. 11796 .loc 1 3925 25
  17292. 11797 001e 7B68 ldr r3, [r7, #4]
  17293. 11798 0020 1B68 ldr r3, [r3]
  17294. 11799 .loc 1 3925 12
  17295. 11800 0022 9B8C ldrh r3, [r3, #36] @ movhi
  17296. 11801 0024 A7F86C30 strh r3, [r7, #108] @ movhi
  17297. 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
  17298. 11802 .loc 1 3926 9
  17299. 11803 0028 7B68 ldr r3, [r7, #4]
  17300. 11804 002a 5B6D ldr r3, [r3, #84]
  17301. 11805 002c BB66 str r3, [r7, #104]
  17302. 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
  17303. 11806 .loc 1 3927 12
  17304. 11807 002e B7F86C20 ldrh r2, [r7, #108] @ movhi
  17305. 11808 0032 B7F86E30 ldrh r3, [r7, #110] @ movhi
  17306. 11809 0036 1340 ands r3, r3, r2
  17307. 11810 0038 9AB2 uxth r2, r3
  17308. 11811 .loc 1 3927 10
  17309. 11812 003a BB6E ldr r3, [r7, #104]
  17310. 11813 003c 1A80 strh r2, [r3] @ movhi
  17311. 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
  17312. 11814 .loc 1 3928 23
  17313. 11815 003e 7B68 ldr r3, [r7, #4]
  17314. 11816 0040 5B6D ldr r3, [r3, #84]
  17315. 11817 0042 9A1C adds r2, r3, #2
  17316. 11818 0044 7B68 ldr r3, [r7, #4]
  17317. 11819 0046 5A65 str r2, [r3, #84]
  17318. 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--;
  17319. 11820 .loc 1 3929 10
  17320. 11821 0048 7B68 ldr r3, [r7, #4]
  17321. 11822 004a B3F85A30 ldrh r3, [r3, #90] @ movhi
  17322. 11823 004e 9BB2 uxth r3, r3
  17323. 11824 .loc 1 3929 23
  17324. 11825 0050 013B subs r3, r3, #1
  17325. 11826 0052 9AB2 uxth r2, r3
  17326. 11827 0054 7B68 ldr r3, [r7, #4]
  17327. 11828 0056 A3F85A20 strh r2, [r3, #90] @ movhi
  17328. 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17329. 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U)
  17330. 11829 .loc 1 3931 14
  17331. 11830 005a 7B68 ldr r3, [r7, #4]
  17332. 11831 005c B3F85A30 ldrh r3, [r3, #90] @ movhi
  17333. 11832 0060 9BB2 uxth r3, r3
  17334. 11833 .loc 1 3931 8
  17335. 11834 0062 002B cmp r3, #0
  17336. 11835 0064 40F09C80 bne .L669
  17337. 11836 .L656:
  17338. 11837 .LBB808:
  17339. 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17340. 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/
  17341. 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  17342. 11838 .loc 1 3934 7 discriminator 1
  17343. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 300
  17344. 11839 0068 7B68 ldr r3, [r7, #4]
  17345. 11840 006a 1B68 ldr r3, [r3]
  17346. 11841 006c BB64 str r3, [r7, #72]
  17347. 11842 .LBB809:
  17348. 11843 .LBB810:
  17349. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17350. 11844 .loc 2 1072 4 discriminator 1
  17351. 11845 006e BB6C ldr r3, [r7, #72]
  17352. 11846 .syntax unified
  17353. 11847 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17354. 11848 0070 53E8003F ldrex r3, [r3]
  17355. 11849 @ 0 "" 2
  17356. 11850 .thumb
  17357. 11851 .syntax unified
  17358. 11852 0074 7B64 str r3, [r7, #68]
  17359. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  17360. 11853 .loc 2 1073 10 discriminator 1
  17361. 11854 0076 7B6C ldr r3, [r7, #68]
  17362. 11855 .LBE810:
  17363. 11856 .LBE809:
  17364. 11857 .loc 1 3934 7 discriminator 1
  17365. 11858 0078 23F49073 bic r3, r3, #288
  17366. 11859 007c 7B66 str r3, [r7, #100]
  17367. 11860 007e 7B68 ldr r3, [r7, #4]
  17368. 11861 0080 1B68 ldr r3, [r3]
  17369. 11862 0082 1A46 mov r2, r3
  17370. 11863 0084 7B6E ldr r3, [r7, #100]
  17371. 11864 0086 7B65 str r3, [r7, #84]
  17372. 11865 0088 3A65 str r2, [r7, #80]
  17373. 11866 .LBB811:
  17374. 11867 .LBB812:
  17375. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17376. 11868 .loc 2 1123 4 discriminator 1
  17377. 11869 008a 396D ldr r1, [r7, #80]
  17378. 11870 008c 7A6D ldr r2, [r7, #84]
  17379. 11871 .syntax unified
  17380. 11872 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17381. 11873 008e 41E80023 strex r3, r2, [r1]
  17382. 11874 @ 0 "" 2
  17383. 11875 .thumb
  17384. 11876 .syntax unified
  17385. 11877 0092 FB64 str r3, [r7, #76]
  17386. 11878 .loc 2 1124 10 discriminator 1
  17387. 11879 0094 FB6C ldr r3, [r7, #76]
  17388. 11880 .LBE812:
  17389. 11881 .LBE811:
  17390. 11882 .loc 1 3934 7 discriminator 1
  17391. 11883 0096 002B cmp r3, #0
  17392. 11884 0098 E6D1 bne .L656
  17393. 11885 .L659:
  17394. 11886 .LBE808:
  17395. 11887 .LBB813:
  17396. 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17397. 3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  17398. 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  17399. 11888 .loc 1 3937 7 discriminator 1
  17400. 11889 009a 7B68 ldr r3, [r7, #4]
  17401. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 301
  17402. 11890 009c 1B68 ldr r3, [r3]
  17403. 11891 009e 0833 adds r3, r3, #8
  17404. 11892 00a0 7B63 str r3, [r7, #52]
  17405. 11893 .LBB814:
  17406. 11894 .LBB815:
  17407. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17408. 11895 .loc 2 1072 4 discriminator 1
  17409. 11896 00a2 7B6B ldr r3, [r7, #52]
  17410. 11897 .syntax unified
  17411. 11898 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17412. 11899 00a4 53E8003F ldrex r3, [r3]
  17413. 11900 @ 0 "" 2
  17414. 11901 .thumb
  17415. 11902 .syntax unified
  17416. 11903 00a8 3B63 str r3, [r7, #48]
  17417. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  17418. 11904 .loc 2 1073 10 discriminator 1
  17419. 11905 00aa 3B6B ldr r3, [r7, #48]
  17420. 11906 .LBE815:
  17421. 11907 .LBE814:
  17422. 11908 .loc 1 3937 7 discriminator 1
  17423. 11909 00ac 23F00103 bic r3, r3, #1
  17424. 11910 00b0 3B66 str r3, [r7, #96]
  17425. 11911 00b2 7B68 ldr r3, [r7, #4]
  17426. 11912 00b4 1B68 ldr r3, [r3]
  17427. 11913 00b6 0833 adds r3, r3, #8
  17428. 11914 00b8 3A6E ldr r2, [r7, #96]
  17429. 11915 00ba 3A64 str r2, [r7, #64]
  17430. 11916 00bc FB63 str r3, [r7, #60]
  17431. 11917 .LBB816:
  17432. 11918 .LBB817:
  17433. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17434. 11919 .loc 2 1123 4 discriminator 1
  17435. 11920 00be F96B ldr r1, [r7, #60]
  17436. 11921 00c0 3A6C ldr r2, [r7, #64]
  17437. 11922 .syntax unified
  17438. 11923 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17439. 11924 00c2 41E80023 strex r3, r2, [r1]
  17440. 11925 @ 0 "" 2
  17441. 11926 .thumb
  17442. 11927 .syntax unified
  17443. 11928 00c6 BB63 str r3, [r7, #56]
  17444. 11929 .loc 2 1124 10 discriminator 1
  17445. 11930 00c8 BB6B ldr r3, [r7, #56]
  17446. 11931 .LBE817:
  17447. 11932 .LBE816:
  17448. 11933 .loc 1 3937 7 discriminator 1
  17449. 11934 00ca 002B cmp r3, #0
  17450. 11935 00cc E5D1 bne .L659
  17451. 11936 .LBE813:
  17452. 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17453. 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
  17454. 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  17455. 11937 .loc 1 3940 22
  17456. 11938 00ce 7B68 ldr r3, [r7, #4]
  17457. 11939 00d0 2022 movs r2, #32
  17458. 11940 00d2 C3F88020 str r2, [r3, #128]
  17459. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 302
  17460. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17461. 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
  17462. 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
  17463. 11941 .loc 1 3943 20
  17464. 11942 00d6 7B68 ldr r3, [r7, #4]
  17465. 11943 00d8 0022 movs r2, #0
  17466. 11944 00da 9A66 str r2, [r3, #104]
  17467. 3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17468. 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */
  17469. 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
  17470. 11945 .loc 1 3946 26
  17471. 11946 00dc 7B68 ldr r3, [r7, #4]
  17472. 11947 00de 0022 movs r2, #0
  17473. 11948 00e0 5A66 str r2, [r3, #100]
  17474. 3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17475. 3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
  17476. 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
  17477. 11949 .loc 1 3949 11
  17478. 11950 00e2 7B68 ldr r3, [r7, #4]
  17479. 11951 00e4 1B68 ldr r3, [r3]
  17480. 11952 00e6 5B68 ldr r3, [r3, #4]
  17481. 11953 00e8 03F40003 and r3, r3, #8388608
  17482. 11954 .loc 1 3949 10
  17483. 11955 00ec 002B cmp r3, #0
  17484. 11956 00ee 18D0 beq .L660
  17485. 11957 .L663:
  17486. 11958 .LBB818:
  17487. 3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17488. 3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
  17489. 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
  17490. 11959 .loc 1 3952 9 discriminator 1
  17491. 11960 00f0 7B68 ldr r3, [r7, #4]
  17492. 11961 00f2 1B68 ldr r3, [r3]
  17493. 11962 00f4 3B62 str r3, [r7, #32]
  17494. 11963 .LBB819:
  17495. 11964 .LBB820:
  17496. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17497. 11965 .loc 2 1072 4 discriminator 1
  17498. 11966 00f6 3B6A ldr r3, [r7, #32]
  17499. 11967 .syntax unified
  17500. 11968 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17501. 11969 00f8 53E8003F ldrex r3, [r3]
  17502. 11970 @ 0 "" 2
  17503. 11971 .thumb
  17504. 11972 .syntax unified
  17505. 11973 00fc FB61 str r3, [r7, #28]
  17506. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  17507. 11974 .loc 2 1073 10 discriminator 1
  17508. 11975 00fe FB69 ldr r3, [r7, #28]
  17509. 11976 .LBE820:
  17510. 11977 .LBE819:
  17511. 11978 .loc 1 3952 9 discriminator 1
  17512. 11979 0100 23F08063 bic r3, r3, #67108864
  17513. 11980 0104 FB65 str r3, [r7, #92]
  17514. 11981 0106 7B68 ldr r3, [r7, #4]
  17515. 11982 0108 1B68 ldr r3, [r3]
  17516. 11983 010a 1A46 mov r2, r3
  17517. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 303
  17518. 11984 010c FB6D ldr r3, [r7, #92]
  17519. 11985 010e FB62 str r3, [r7, #44]
  17520. 11986 0110 BA62 str r2, [r7, #40]
  17521. 11987 .LBB821:
  17522. 11988 .LBB822:
  17523. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17524. 11989 .loc 2 1123 4 discriminator 1
  17525. 11990 0112 B96A ldr r1, [r7, #40]
  17526. 11991 0114 FA6A ldr r2, [r7, #44]
  17527. 11992 .syntax unified
  17528. 11993 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17529. 11994 0116 41E80023 strex r3, r2, [r1]
  17530. 11995 @ 0 "" 2
  17531. 11996 .thumb
  17532. 11997 .syntax unified
  17533. 11998 011a 7B62 str r3, [r7, #36]
  17534. 11999 .loc 2 1124 10 discriminator 1
  17535. 12000 011c 7B6A ldr r3, [r7, #36]
  17536. 12001 .LBE822:
  17537. 12002 .LBE821:
  17538. 12003 .loc 1 3952 9 discriminator 1
  17539. 12004 011e 002B cmp r3, #0
  17540. 12005 0120 E6D1 bne .L663
  17541. 12006 .L660:
  17542. 12007 .LBE818:
  17543. 3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17544. 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17545. 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
  17546. 3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */
  17547. 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  17548. 12008 .loc 1 3957 16
  17549. 12009 0122 7B68 ldr r3, [r7, #4]
  17550. 12010 0124 1B6E ldr r3, [r3, #96]
  17551. 12011 .loc 1 3957 10
  17552. 12012 0126 012B cmp r3, #1
  17553. 12013 0128 2ED1 bne .L664
  17554. 3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17555. 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */
  17556. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  17557. 12014 .loc 1 3960 30
  17558. 12015 012a 7B68 ldr r3, [r7, #4]
  17559. 12016 012c 0022 movs r2, #0
  17560. 12017 012e 1A66 str r2, [r3, #96]
  17561. 12018 .L667:
  17562. 12019 .LBB823:
  17563. 3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17564. 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */
  17565. 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  17566. 12020 .loc 1 3963 9 discriminator 1
  17567. 12021 0130 7B68 ldr r3, [r7, #4]
  17568. 12022 0132 1B68 ldr r3, [r3]
  17569. 12023 0134 FB60 str r3, [r7, #12]
  17570. 12024 .LBB824:
  17571. 12025 .LBB825:
  17572. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17573. 12026 .loc 2 1072 4 discriminator 1
  17574. 12027 0136 FB68 ldr r3, [r7, #12]
  17575. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 304
  17576. 12028 .syntax unified
  17577. 12029 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17578. 12030 0138 53E8003F ldrex r3, [r3]
  17579. 12031 @ 0 "" 2
  17580. 12032 .thumb
  17581. 12033 .syntax unified
  17582. 12034 013c BB60 str r3, [r7, #8]
  17583. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  17584. 12035 .loc 2 1073 10 discriminator 1
  17585. 12036 013e BB68 ldr r3, [r7, #8]
  17586. 12037 .LBE825:
  17587. 12038 .LBE824:
  17588. 12039 .loc 1 3963 9 discriminator 1
  17589. 12040 0140 23F01003 bic r3, r3, #16
  17590. 12041 0144 BB65 str r3, [r7, #88]
  17591. 12042 0146 7B68 ldr r3, [r7, #4]
  17592. 12043 0148 1B68 ldr r3, [r3]
  17593. 12044 014a 1A46 mov r2, r3
  17594. 12045 014c BB6D ldr r3, [r7, #88]
  17595. 12046 014e BB61 str r3, [r7, #24]
  17596. 12047 0150 7A61 str r2, [r7, #20]
  17597. 12048 .LBB826:
  17598. 12049 .LBB827:
  17599. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  17600. 12050 .loc 2 1123 4 discriminator 1
  17601. 12051 0152 7969 ldr r1, [r7, #20]
  17602. 12052 0154 BA69 ldr r2, [r7, #24]
  17603. 12053 .syntax unified
  17604. 12054 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  17605. 12055 0156 41E80023 strex r3, r2, [r1]
  17606. 12056 @ 0 "" 2
  17607. 12057 .thumb
  17608. 12058 .syntax unified
  17609. 12059 015a 3B61 str r3, [r7, #16]
  17610. 12060 .loc 2 1124 10 discriminator 1
  17611. 12061 015c 3B69 ldr r3, [r7, #16]
  17612. 12062 .LBE827:
  17613. 12063 .LBE826:
  17614. 12064 .loc 1 3963 9 discriminator 1
  17615. 12065 015e 002B cmp r3, #0
  17616. 12066 0160 E6D1 bne .L667
  17617. 12067 .LBE823:
  17618. 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17619. 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
  17620. 12068 .loc 1 3965 13
  17621. 12069 0162 7B68 ldr r3, [r7, #4]
  17622. 12070 0164 1B68 ldr r3, [r3]
  17623. 12071 0166 DB69 ldr r3, [r3, #28]
  17624. 12072 0168 03F01003 and r3, r3, #16
  17625. 12073 .loc 1 3965 12
  17626. 12074 016c 102B cmp r3, #16
  17627. 12075 016e 03D1 bne .L668
  17628. 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17629. 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */
  17630. 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
  17631. 12076 .loc 1 3968 11
  17632. 12077 0170 7B68 ldr r3, [r7, #4]
  17633. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 305
  17634. 12078 0172 1B68 ldr r3, [r3]
  17635. 12079 0174 1022 movs r2, #16
  17636. 12080 0176 1A62 str r2, [r3, #32]
  17637. 12081 .L668:
  17638. 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17639. 3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
  17640. 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  17641. 3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
  17642. 3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
  17643. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  17644. 3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  17645. 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
  17646. 12082 .loc 1 3976 9
  17647. 12083 0178 7B68 ldr r3, [r7, #4]
  17648. 12084 017a B3F85830 ldrh r3, [r3, #88]
  17649. 12085 017e 1946 mov r1, r3
  17650. 12086 0180 7868 ldr r0, [r7, #4]
  17651. 12087 0182 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  17652. 3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  17653. 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17654. 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  17655. 3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17656. 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */
  17657. 3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  17658. 3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
  17659. 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart);
  17660. 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
  17661. 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
  17662. 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
  17663. 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  17664. 3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17665. 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17666. 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17667. 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
  17668. 3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
  17669. 3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */
  17670. 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
  17671. 3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17672. 3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17673. 12088 .loc 1 3997 1
  17674. 12089 0186 0BE0 b .L669
  17675. 12090 .L664:
  17676. 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  17677. 12091 .loc 1 3987 9
  17678. 12092 0188 7868 ldr r0, [r7, #4]
  17679. 12093 018a FFF7FEFF bl HAL_UART_RxCpltCallback
  17680. 12094 .loc 1 3997 1
  17681. 12095 018e 07E0 b .L669
  17682. 12096 .L652:
  17683. 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
  17684. 12097 .loc 1 3995 5
  17685. 12098 0190 7B68 ldr r3, [r7, #4]
  17686. 12099 0192 1B68 ldr r3, [r3]
  17687. 12100 0194 9A69 ldr r2, [r3, #24]
  17688. 12101 0196 7B68 ldr r3, [r7, #4]
  17689. 12102 0198 1B68 ldr r3, [r3]
  17690. 12103 019a 42F00802 orr r2, r2, #8
  17691. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 306
  17692. 12104 019e 9A61 str r2, [r3, #24]
  17693. 12105 .L669:
  17694. 12106 .loc 1 3997 1
  17695. 12107 01a0 00BF nop
  17696. 12108 01a2 7037 adds r7, r7, #112
  17697. 12109 .LCFI354:
  17698. 12110 .cfi_def_cfa_offset 8
  17699. 12111 01a4 BD46 mov sp, r7
  17700. 12112 .LCFI355:
  17701. 12113 .cfi_def_cfa_register 13
  17702. 12114 @ sp needed
  17703. 12115 01a6 80BD pop {r7, pc}
  17704. 12116 .cfi_endproc
  17705. 12117 .LFE195:
  17706. 12119 .text
  17707. 12120 .Letext0:
  17708. 12121 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  17709. 12122 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  17710. 12123 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  17711. 12124 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
  17712. 12125 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  17713. 12126 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
  17714. 12127 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart.h"
  17715. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 307
  17716. DEFINED SYMBOLS
  17717. *ABS*:00000000 stm32f3xx_hal_uart.c
  17718. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:20 .rodata:00000000 $d
  17719. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:25 .text.HAL_UART_Init:00000000 $t
  17720. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:31 .text.HAL_UART_Init:00000000 HAL_UART_Init
  17721. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:938 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit
  17722. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8162 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig
  17723. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7426 .text.UART_SetConfig:00000000 UART_SetConfig
  17724. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8556 .text.UART_CheckIdleState:00000000 UART_CheckIdleState
  17725. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:212 .text.HAL_UART_Init:0000010c $d
  17726. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:222 .text.HAL_HalfDuplex_Init:00000000 $t
  17727. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:228 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init
  17728. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:386 .text.HAL_HalfDuplex_Init:000000e8 $d
  17729. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:396 .text.HAL_LIN_Init:00000000 $t
  17730. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:402 .text.HAL_LIN_Init:00000000 HAL_LIN_Init
  17731. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:604 .text.HAL_LIN_Init:00000130 $d
  17732. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:614 .text.HAL_MultiProcessor_Init:00000000 $t
  17733. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:620 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init
  17734. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:777 .text.HAL_MultiProcessor_Init:000000ec $d
  17735. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:782 .text.HAL_UART_DeInit:00000000 $t
  17736. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:788 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit
  17737. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:980 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit
  17738. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:922 .text.HAL_UART_DeInit:000000b8 $d
  17739. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:932 .text.HAL_UART_MspInit:00000000 $t
  17740. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:974 .text.HAL_UART_MspDeInit:00000000 $t
  17741. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1016 .text.HAL_UART_Transmit:00000000 $t
  17742. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1022 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit
  17743. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8843 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout
  17744. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1230 .text.HAL_UART_Receive:00000000 $t
  17745. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1236 .text.HAL_UART_Receive:00000000 HAL_UART_Receive
  17746. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1490 .text.HAL_UART_Transmit_IT:00000000 $t
  17747. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1496 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT
  17748. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1657 .text.HAL_UART_Transmit_IT:000000b4 $d
  17749. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11122 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT
  17750. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10936 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT
  17751. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1663 .text.HAL_UART_Receive_IT:00000000 $t
  17752. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1669 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT
  17753. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9005 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT
  17754. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1798 .text.HAL_UART_Transmit_DMA:00000000 $t
  17755. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1804 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA
  17756. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2003 .text.HAL_UART_Transmit_DMA:000000ec $d
  17757. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9904 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt
  17758. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10063 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt
  17759. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10461 .text.UART_DMAError:00000000 UART_DMAError
  17760. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2010 .text.HAL_UART_Receive_DMA:00000000 $t
  17761. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2016 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA
  17762. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9312 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA
  17763. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2145 .text.HAL_UART_DMAPause:00000000 $t
  17764. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2151 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause
  17765. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2426 .text.HAL_UART_DMAResume:00000000 $t
  17766. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2432 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume
  17767. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2698 .text.HAL_UART_DMAStop:00000000 $t
  17768. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2704 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop
  17769. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9598 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer
  17770. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9693 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer
  17771. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2945 .text.HAL_UART_Abort:00000000 $t
  17772. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2951 .text.HAL_UART_Abort:00000000 HAL_UART_Abort
  17773. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 308
  17774. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3375 .text.HAL_UART_AbortTransmit:00000000 $t
  17775. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3381 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit
  17776. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3571 .text.HAL_UART_AbortReceive:00000000 $t
  17777. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3577 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive
  17778. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3892 .text.HAL_UART_Abort_IT:00000000 $t
  17779. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3898 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT
  17780. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6183 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback
  17781. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4378 .text.HAL_UART_Abort_IT:00000244 $d
  17782. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10611 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback
  17783. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10709 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback
  17784. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4384 .text.HAL_UART_AbortTransmit_IT:00000000 $t
  17785. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4390 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT
  17786. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6225 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback
  17787. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4600 .text.HAL_UART_AbortTransmit_IT:000000ec $d
  17788. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10815 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback
  17789. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4605 .text.HAL_UART_AbortReceive_IT:00000000 $t
  17790. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4611 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT
  17791. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6267 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback
  17792. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4955 .text.HAL_UART_AbortReceive_IT:0000018c $d
  17793. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10867 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback
  17794. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4960 .text.HAL_UART_IRQHandler:00000000 $t
  17795. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4966 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler
  17796. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6141 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback
  17797. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5362 .text.HAL_UART_IRQHandler:00000298 $d
  17798. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10559 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError
  17799. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5366 .text.HAL_UART_IRQHandler:000002a0 $t
  17800. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6309 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback
  17801. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11310 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT
  17802. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5967 .text.HAL_UART_TxCpltCallback:00000000 $t
  17803. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5973 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback
  17804. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6009 .text.HAL_UART_TxHalfCpltCallback:00000000 $t
  17805. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6015 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback
  17806. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6051 .text.HAL_UART_RxCpltCallback:00000000 $t
  17807. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6057 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback
  17808. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6093 .text.HAL_UART_RxHalfCpltCallback:00000000 $t
  17809. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6099 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback
  17810. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6135 .text.HAL_UART_ErrorCallback:00000000 $t
  17811. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6177 .text.HAL_UART_AbortCpltCallback:00000000 $t
  17812. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6219 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t
  17813. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6261 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t
  17814. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6303 .text.HAL_UARTEx_RxEventCallback:00000000 $t
  17815. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6347 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t
  17816. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6353 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config
  17817. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6404 .text.HAL_UART_ReceiverTimeout_Config:00000038 $d
  17818. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6409 .text.HAL_UART_EnableReceiverTimeout:00000000 $t
  17819. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6415 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout
  17820. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6497 .text.HAL_UART_DisableReceiverTimeout:00000000 $t
  17821. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6503 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout
  17822. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6585 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t
  17823. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6591 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode
  17824. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6699 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t
  17825. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6705 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode
  17826. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6813 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t
  17827. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6819 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode
  17828. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6863 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t
  17829. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6869 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter
  17830. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7033 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t
  17831. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 309
  17832. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7039 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver
  17833. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7203 .text.HAL_LIN_SendBreak:00000000 $t
  17834. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7209 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak
  17835. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7311 .text.HAL_LIN_SendBreak:00000088 $d
  17836. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7321 .text.HAL_UART_GetState:00000000 $t
  17837. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7327 .text.HAL_UART_GetState:00000000 HAL_UART_GetState
  17838. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7375 .text.HAL_UART_GetError:00000000 $t
  17839. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7381 .text.HAL_UART_GetError:00000000 HAL_UART_GetError
  17840. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7420 .text.UART_SetConfig:00000000 $t
  17841. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7668 .text.UART_SetConfig:000001a0 $d
  17842. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7672 .text.UART_SetConfig:000001b0 $t
  17843. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7801 .text.UART_SetConfig:00000278 $d
  17844. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7809 .text.UART_SetConfig:00000290 $t
  17845. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7926 .text.UART_SetConfig:00000354 $d
  17846. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7935 .text.UART_SetConfig:00000378 $t
  17847. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8038 .text.UART_SetConfig:0000040c $d
  17848. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8047 .text.UART_SetConfig:00000430 $t
  17849. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8148 .text.UART_SetConfig:000004b0 $d
  17850. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8156 .text.UART_AdvFeatureConfig:00000000 $t
  17851. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8518 .text.UART_AdvFeatureConfig:00000270 $d
  17852. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8525 .text.UART_AdvFeatureConfig:00000280 $t
  17853. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8550 .text.UART_CheckIdleState:00000000 $t
  17854. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8837 .text.UART_WaitOnFlagUntilTimeout:00000000 $t
  17855. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8999 .text.UART_Start_Receive_IT:00000000 $t
  17856. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9300 .text.UART_Start_Receive_IT:00000160 $d
  17857. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11768 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT
  17858. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11408 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT
  17859. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9306 .text.UART_Start_Receive_DMA:00000000 $t
  17860. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9586 .text.UART_Start_Receive_DMA:00000134 $d
  17861. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10107 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt
  17862. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10394 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt
  17863. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9593 .text.UART_EndTxTransfer:00000000 $t
  17864. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9688 .text.UART_EndRxTransfer:00000000 $t
  17865. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9899 .text.UART_DMATransmitCplt:00000000 $t
  17866. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10058 .text.UART_DMATxHalfCplt:00000000 $t
  17867. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10102 .text.UART_DMAReceiveCplt:00000000 $t
  17868. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10389 .text.UART_DMARxHalfCplt:00000000 $t
  17869. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10456 .text.UART_DMAError:00000000 $t
  17870. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10554 .text.UART_DMAAbortOnError:00000000 $t
  17871. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10606 .text.UART_DMATxAbortCallback:00000000 $t
  17872. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10704 .text.UART_DMARxAbortCallback:00000000 $t
  17873. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10810 .text.UART_DMATxOnlyAbortCallback:00000000 $t
  17874. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10862 .text.UART_DMARxOnlyAbortCallback:00000000 $t
  17875. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10931 .text.UART_TxISR_8BIT:00000000 $t
  17876. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11117 .text.UART_TxISR_16BIT:00000000 $t
  17877. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11305 .text.UART_EndTransmit_IT:00000000 $t
  17878. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11403 .text.UART_RxISR_8BIT:00000000 $t
  17879. C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11763 .text.UART_RxISR_16BIT:00000000 $t
  17880. UNDEFINED SYMBOLS
  17881. assert_failed
  17882. HAL_GetTick
  17883. HAL_DMA_Start_IT
  17884. HAL_DMA_Abort
  17885. HAL_DMA_GetError
  17886. HAL_DMA_Abort_IT
  17887. HAL_UARTEx_WakeupCallback
  17888. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 310
  17889. HAL_RCC_GetPCLK1Freq
  17890. HAL_RCC_GetPCLK2Freq
  17891. HAL_RCC_GetSysClockFreq