stm32f4xx_hal_uart.lst 852 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923
  1. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 6
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f4xx_hal_uart.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.HAL_UART_Init,"ax",%progbits
  21. 20 .align 1
  22. 21 .global HAL_UART_Init
  23. 22 .syntax unified
  24. 23 .thumb
  25. 24 .thumb_func
  26. 26 HAL_UART_Init:
  27. 27 .LFB235:
  28. 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c"
  29. 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  30. 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
  31. 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @file stm32f4xx_hal_uart.c
  32. 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @author MCD Application Team
  33. 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART HAL module driver.
  34. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This file provides firmware functions to manage the following
  35. 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
  36. 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Initialization and de-initialization functions
  37. 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + IO operation functions
  38. 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral Control functions
  39. 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral State and Errors functions
  40. 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  41. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
  42. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @attention
  43. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  44. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Copyright (c) 2016 STMicroelectronics.
  45. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * All rights reserved.
  46. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  47. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file
  48. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * in the root directory of this software component.
  49. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  50. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  51. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
  52. 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
  53. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
  54. 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### How to use this driver #####
  55. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
  56. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  57. 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The UART HAL driver can be used as follows:
  58. 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  59. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 2
  60. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
  61. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
  62. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) Enable the USARTx interface clock.
  63. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) UART pins configuration:
  64. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
  65. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the UART TX/RX pins as alternate function pull-up.
  66. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
  67. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
  68. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
  69. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
  70. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
  71. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
  72. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx stream.
  73. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
  74. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required
  75. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Tx/Rx parameters.
  76. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx stream.
  77. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
  78. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
  79. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** interrupt on the DMA Tx/Rx stream.
  80. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority and enable the NVIC USART IRQ handle
  81. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (used for last byte sending completion detection in DMA non circular mode)
  82. 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  83. 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
  84. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** flow control and Mode(Receiver/Transmitter) in the huart Init structure.
  85. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  86. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
  87. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_Init() API.
  88. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  89. 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
  90. 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
  91. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  92. 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the LIN mode, initialize the UART registers by calling the HAL_LIN_Init() API.
  93. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  94. 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the Multi-Processor mode, initialize the UART registers by calling
  95. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_MultiProcessor_Init() API.
  96. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  97. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  98. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) The specific UART interrupts (Transmission complete interrupt,
  99. 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RXNE interrupt and Error Interrupts) will be managed using the macros
  100. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit
  101. 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process.
  102. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  103. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  104. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) These APIs (HAL_UART_Init() and HAL_HalfDuplex_Init()) configure also the
  105. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** low level Hardware GPIO, CLOCK, CORTEX...etc) by calling the customized
  106. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit() API.
  107. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  108. 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Callback registration #####
  109. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==================================
  110. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  111. 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  112. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
  113. 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
  114. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  115. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  116. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback.
  117. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 3
  118. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks:
  119. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
  120. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
  121. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
  122. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
  123. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
  124. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
  125. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
  126. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
  127. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
  128. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
  129. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
  130. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and a pointer to the user callback function.
  131. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  132. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  133. 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default
  134. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** weak (surcharged) function.
  135. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
  136. 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the Callback ID.
  137. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function allows to reset following callbacks:
  138. 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
  139. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
  140. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
  141. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
  142. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
  143. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
  144. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
  145. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
  146. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
  147. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
  148. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  149. 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  150. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
  151. 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback().
  152. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  153. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  154. 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
  155. 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions:
  156. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback().
  157. 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
  158. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the HAL_UART_Init()
  159. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
  160. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit()
  161. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
  162. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  163. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  164. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
  165. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
  166. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
  167. 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
  168. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
  169. 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit()
  170. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or HAL_UART_Init() function.
  171. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  172. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  173. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
  174. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** not defined, the callback registration feature is not available
  175. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 4
  176. 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and weak (surcharged) callbacks are used.
  177. 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  178. 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  179. 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Three operation modes are available within this driver :
  180. 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  181. 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Polling mode IO operation ***
  182. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =================================
  183. 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  184. 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in blocking mode using HAL_UART_Transmit()
  185. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in blocking mode using HAL_UART_Receive()
  186. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  187. 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Interrupt mode IO operation ***
  188. 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===================================
  189. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  190. 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode using HAL_UART_Transmit_IT()
  191. 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
  192. 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
  193. 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode using HAL_UART_Receive_IT()
  194. 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
  195. 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
  196. 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
  197. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
  198. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  199. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** DMA mode IO operation ***
  200. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================
  201. 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  202. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode (DMA) using HAL_UART_Transmit_DMA()
  203. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of half transfer HAL_UART_TxHalfCpltCallback is executed and user ca
  204. 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxHalfCpltCallback
  205. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
  206. 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
  207. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode (DMA) using HAL_UART_Receive_DMA()
  208. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of half transfer HAL_UART_RxHalfCpltCallback is executed and user can
  209. 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxHalfCpltCallback
  210. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
  211. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
  212. 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
  213. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
  214. 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Pause the DMA Transfer using HAL_UART_DMAPause()
  215. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Resume the DMA Transfer using HAL_UART_DMAResume()
  216. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Stop the DMA Transfer using HAL_UART_DMAStop()
  217. 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  218. 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  219. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] This subsection also provides a set of additional functions providing enhanced reception
  220. 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** services to user. (For example, these functions allow application to handle use cases
  221. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** where number of data to be received is unknown).
  222. 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  223. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Compared to standard reception services which only consider number of received
  224. 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** data elements as reception completion criteria, these functions also consider additional ev
  225. 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** as triggers for updating reception status to caller :
  226. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Detection of inactivity period (RX line has not been active for a given period).
  227. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) RX inactivity detected by IDLE event, i.e. RX line has been in idle state (normally
  228. 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** for 1 frame time, after last received byte.
  229. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  230. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two mode of transfer:
  231. 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The reception is performed in polling mode, until either expected number
  232. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or till IDLE event occurs. Reception is handled only during function execution.
  233. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 5
  234. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When function exits, no data reception could occur. HAL status and number of actually re
  235. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** are returned by function after finishing transfer.
  236. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The reception is performed using Interrupts or DMA.
  237. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** These API's return the HAL status.
  238. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the
  239. 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when using DMA mode.
  240. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UARTEx_RxEventCallback() user callback will be executed during Receive process
  241. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a reception error is det
  242. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  243. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API:
  244. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle()
  245. 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  246. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with Interrupt:
  247. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_IT()
  248. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  249. 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with DMA:
  250. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_DMA()
  251. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  252. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  253. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** UART HAL driver macros list ***
  254. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================
  255. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  256. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Below the list of most used macros in UART HAL driver.
  257. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  258. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE: Enable the UART peripheral
  259. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE: Disable the UART peripheral
  260. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_FLAG : Check whether the specified UART flag is set or not
  261. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_CLEAR_FLAG : Clear the specified UART pending flag
  262. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE_IT: Enable the specified UART interrupt
  263. 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE_IT: Disable the specified UART interrupt
  264. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_IT_SOURCE: Check whether the specified UART interrupt has occurred or not
  265. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  266. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  267. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) You can refer to the UART HAL driver header file for more useful macros
  268. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  269. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
  270. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  271. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) Additional remark: If the parity is enabled, then the MSB bit of the data written
  272. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
  273. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
  274. 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the possible UART frame formats are as listed in the following table:
  275. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
  276. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | M bit | PCE bit | UART frame |
  277. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------------------|---------------------------------------|
  278. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 0 | | SB | 8 bit data | STB | |
  279. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
  280. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 1 | | SB | 7 bit data | PB | STB | |
  281. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
  282. 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 0 | | SB | 9 bit data | STB | |
  283. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
  284. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 1 | | SB | 8 bit data | PB | STB | |
  285. 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
  286. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
  287. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  288. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  289. 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
  290. 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #include "stm32f4xx_hal.h"
  291. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 6
  292. 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  293. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup STM32F4xx_HAL_Driver
  294. 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  295. 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  296. 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  297. 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART UART
  298. 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief HAL UART module driver
  299. 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  300. 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  301. 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
  302. 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  303. 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
  304. 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
  305. 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Constants
  306. 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  307. 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  308. 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  309. 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
  310. 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  311. 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private macro -------------------------------------------------------------*/
  312. 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
  313. 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
  314. 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions UART Private Functions
  315. 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  316. 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  317. 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  318. 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  319. 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart);
  320. 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  321. 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
  322. 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
  323. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
  324. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
  325. 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
  326. 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
  327. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
  328. 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
  329. 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
  330. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
  331. 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
  332. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
  333. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart);
  334. 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart);
  335. 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart);
  336. 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
  337. 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout);
  338. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart);
  339. 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  340. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  341. 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
  342. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  343. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  344. 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Exported functions ---------------------------------------------------------*/
  345. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
  346. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  347. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  348. 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  349. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 7
  350. 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
  351. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialization and Configuration functions
  352. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  353. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
  354. 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
  355. 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Initialization and Configuration functions #####
  356. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
  357. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  358. 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
  359. 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in asynchronous mode.
  360. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) For the asynchronous mode only these parameters can be configured:
  361. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Baud Rate
  362. 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Word Length
  363. 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Stop Bit
  364. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
  365. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
  366. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
  367. 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** please refer to Reference manual for possible UART frame formats.
  368. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Hardware flow control
  369. 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Receiver/transmitter modes
  370. 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Over Sampling Method
  371. 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  372. 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init() and HAL_MultiProcessor_Init() APIs
  373. 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, LIN and Multi-Processor configurat
  374. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** procedures (details for the procedures are available in reference manual
  375. 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (RM0430 for STM32F4X3xx MCUs and RM0402 for STM32F412xx MCUs
  376. 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0383 for STM32F411xC/E MCUs and RM0401 for STM32F410xx MCUs
  377. 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0090 for STM32F4X5xx/STM32F4X7xx/STM32F429xx/STM32F439xx MCUs
  378. 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0390 for STM32F446xx MCUs and RM0386 for STM32F469xx/STM32F479xx MCUs)).
  379. 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  380. 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
  381. 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  382. 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  383. 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  384. 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  385. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the UART mode according to the specified parameters in
  386. 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the UART_InitTypeDef and create the associated handle.
  387. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  388. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  389. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  390. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  391. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
  392. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  393. 29 .loc 1 358 1
  394. 30 .cfi_startproc
  395. 31 @ args = 0, pretend = 0, frame = 8
  396. 32 @ frame_needed = 1, uses_anonymous_args = 0
  397. 33 0000 80B5 push {r7, lr}
  398. 34 .LCFI0:
  399. 35 .cfi_def_cfa_offset 8
  400. 36 .cfi_offset 7, -8
  401. 37 .cfi_offset 14, -4
  402. 38 0002 82B0 sub sp, sp, #8
  403. 39 .LCFI1:
  404. 40 .cfi_def_cfa_offset 16
  405. 41 0004 00AF add r7, sp, #0
  406. 42 .LCFI2:
  407. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 8
  408. 43 .cfi_def_cfa_register 7
  409. 44 0006 7860 str r0, [r7, #4]
  410. 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
  411. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
  412. 45 .loc 1 360 6
  413. 46 0008 7B68 ldr r3, [r7, #4]
  414. 47 000a 002B cmp r3, #0
  415. 48 000c 01D1 bne .L2
  416. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  417. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  418. 49 .loc 1 362 12
  419. 50 000e 0123 movs r3, #1
  420. 51 0010 3FE0 b .L3
  421. 52 .L2:
  422. 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  423. 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  424. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  425. 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
  426. 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  427. 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The hardware flow control is available only for USART1, USART2, USART3 and USART6.
  428. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Except for STM32F446xx devices, that is available for USART1, USART2, USART3, USART6, UART4
  429. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  430. 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
  431. 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
  432. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  433. 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  434. 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  435. 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  436. 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  437. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
  438. 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
  439. 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  440. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  441. 53 .loc 1 381 12
  442. 54 0012 7B68 ldr r3, [r7, #4]
  443. 55 0014 93F83D30 ldrb r3, [r3, #61]
  444. 56 0018 DBB2 uxtb r3, r3
  445. 57 .loc 1 381 6
  446. 58 001a 002B cmp r3, #0
  447. 59 001c 06D1 bne .L4
  448. 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  449. 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  450. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  451. 60 .loc 1 384 17
  452. 61 001e 7B68 ldr r3, [r7, #4]
  453. 62 0020 0022 movs r2, #0
  454. 63 0022 83F83C20 strb r2, [r3, #60]
  455. 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  456. 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  457. 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  458. 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  459. 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  460. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  461. 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  462. 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  463. 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  464. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
  465. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 9
  466. 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
  467. 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  468. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  469. 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
  470. 64 .loc 1 398 5
  471. 65 0026 7868 ldr r0, [r7, #4]
  472. 66 0028 FFF7FEFF bl HAL_UART_MspInit
  473. 67 .L4:
  474. 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  475. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  476. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  477. 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  478. 68 .loc 1 402 17
  479. 69 002c 7B68 ldr r3, [r7, #4]
  480. 70 002e 2422 movs r2, #36
  481. 71 0030 83F83D20 strb r2, [r3, #61]
  482. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  483. 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
  484. 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  485. 72 .loc 1 405 3
  486. 73 0034 7B68 ldr r3, [r7, #4]
  487. 74 0036 1B68 ldr r3, [r3]
  488. 75 0038 DA68 ldr r2, [r3, #12]
  489. 76 003a 7B68 ldr r3, [r7, #4]
  490. 77 003c 1B68 ldr r3, [r3]
  491. 78 003e 22F40052 bic r2, r2, #8192
  492. 79 0042 DA60 str r2, [r3, #12]
  493. 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  494. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
  495. 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
  496. 80 .loc 1 408 3
  497. 81 0044 7868 ldr r0, [r7, #4]
  498. 82 0046 FFF7FEFF bl UART_SetConfig
  499. 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  500. 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
  501. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
  502. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
  503. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
  504. 83 .loc 1 413 3
  505. 84 004a 7B68 ldr r3, [r7, #4]
  506. 85 004c 1B68 ldr r3, [r3]
  507. 86 004e 1A69 ldr r2, [r3, #16]
  508. 87 0050 7B68 ldr r3, [r7, #4]
  509. 88 0052 1B68 ldr r3, [r3]
  510. 89 0054 22F49042 bic r2, r2, #18432
  511. 90 0058 1A61 str r2, [r3, #16]
  512. 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
  513. 91 .loc 1 414 3
  514. 92 005a 7B68 ldr r3, [r7, #4]
  515. 93 005c 1B68 ldr r3, [r3]
  516. 94 005e 5A69 ldr r2, [r3, #20]
  517. 95 0060 7B68 ldr r3, [r7, #4]
  518. 96 0062 1B68 ldr r3, [r3]
  519. 97 0064 22F02A02 bic r2, r2, #42
  520. 98 0068 5A61 str r2, [r3, #20]
  521. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  522. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
  523. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 10
  524. 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  525. 99 .loc 1 417 3
  526. 100 006a 7B68 ldr r3, [r7, #4]
  527. 101 006c 1B68 ldr r3, [r3]
  528. 102 006e DA68 ldr r2, [r3, #12]
  529. 103 0070 7B68 ldr r3, [r7, #4]
  530. 104 0072 1B68 ldr r3, [r3]
  531. 105 0074 42F40052 orr r2, r2, #8192
  532. 106 0078 DA60 str r2, [r3, #12]
  533. 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  534. 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
  535. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  536. 107 .loc 1 420 20
  537. 108 007a 7B68 ldr r3, [r7, #4]
  538. 109 007c 0022 movs r2, #0
  539. 110 007e 1A64 str r2, [r3, #64]
  540. 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  541. 111 .loc 1 421 17
  542. 112 0080 7B68 ldr r3, [r7, #4]
  543. 113 0082 2022 movs r2, #32
  544. 114 0084 83F83D20 strb r2, [r3, #61]
  545. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  546. 115 .loc 1 422 18
  547. 116 0088 7B68 ldr r3, [r7, #4]
  548. 117 008a 2022 movs r2, #32
  549. 118 008c 83F83E20 strb r2, [r3, #62]
  550. 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  551. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  552. 119 .loc 1 424 10
  553. 120 0090 0023 movs r3, #0
  554. 121 .L3:
  555. 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  556. 122 .loc 1 425 1
  557. 123 0092 1846 mov r0, r3
  558. 124 0094 0837 adds r7, r7, #8
  559. 125 .LCFI3:
  560. 126 .cfi_def_cfa_offset 8
  561. 127 0096 BD46 mov sp, r7
  562. 128 .LCFI4:
  563. 129 .cfi_def_cfa_register 13
  564. 130 @ sp needed
  565. 131 0098 80BD pop {r7, pc}
  566. 132 .cfi_endproc
  567. 133 .LFE235:
  568. 135 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
  569. 136 .align 1
  570. 137 .global HAL_HalfDuplex_Init
  571. 138 .syntax unified
  572. 139 .thumb
  573. 140 .thumb_func
  574. 142 HAL_HalfDuplex_Init:
  575. 143 .LFB236:
  576. 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  577. 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  578. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the half-duplex mode according to the specified
  579. 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
  580. 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  581. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 11
  582. 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  583. 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  584. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  585. 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
  586. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  587. 144 .loc 1 435 1
  588. 145 .cfi_startproc
  589. 146 @ args = 0, pretend = 0, frame = 8
  590. 147 @ frame_needed = 1, uses_anonymous_args = 0
  591. 148 0000 80B5 push {r7, lr}
  592. 149 .LCFI5:
  593. 150 .cfi_def_cfa_offset 8
  594. 151 .cfi_offset 7, -8
  595. 152 .cfi_offset 14, -4
  596. 153 0002 82B0 sub sp, sp, #8
  597. 154 .LCFI6:
  598. 155 .cfi_def_cfa_offset 16
  599. 156 0004 00AF add r7, sp, #0
  600. 157 .LCFI7:
  601. 158 .cfi_def_cfa_register 7
  602. 159 0006 7860 str r0, [r7, #4]
  603. 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
  604. 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
  605. 160 .loc 1 437 6
  606. 161 0008 7B68 ldr r3, [r7, #4]
  607. 162 000a 002B cmp r3, #0
  608. 163 000c 01D1 bne .L6
  609. 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  610. 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  611. 164 .loc 1 439 12
  612. 165 000e 0123 movs r3, #1
  613. 166 0010 47E0 b .L7
  614. 167 .L6:
  615. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  616. 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  617. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  618. 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
  619. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
  620. 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
  621. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  622. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  623. 168 .loc 1 447 12
  624. 169 0012 7B68 ldr r3, [r7, #4]
  625. 170 0014 93F83D30 ldrb r3, [r3, #61]
  626. 171 0018 DBB2 uxtb r3, r3
  627. 172 .loc 1 447 6
  628. 173 001a 002B cmp r3, #0
  629. 174 001c 06D1 bne .L8
  630. 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  631. 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  632. 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  633. 175 .loc 1 450 17
  634. 176 001e 7B68 ldr r3, [r7, #4]
  635. 177 0020 0022 movs r2, #0
  636. 178 0022 83F83C20 strb r2, [r3, #60]
  637. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  638. 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  639. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 12
  640. 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  641. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  642. 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  643. 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  644. 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  645. 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  646. 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  647. 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
  648. 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
  649. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  650. 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  651. 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
  652. 179 .loc 1 464 5
  653. 180 0026 7868 ldr r0, [r7, #4]
  654. 181 0028 FFF7FEFF bl HAL_UART_MspInit
  655. 182 .L8:
  656. 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  657. 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  658. 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  659. 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  660. 183 .loc 1 468 17
  661. 184 002c 7B68 ldr r3, [r7, #4]
  662. 185 002e 2422 movs r2, #36
  663. 186 0030 83F83D20 strb r2, [r3, #61]
  664. 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  665. 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
  666. 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  667. 187 .loc 1 471 3
  668. 188 0034 7B68 ldr r3, [r7, #4]
  669. 189 0036 1B68 ldr r3, [r3]
  670. 190 0038 DA68 ldr r2, [r3, #12]
  671. 191 003a 7B68 ldr r3, [r7, #4]
  672. 192 003c 1B68 ldr r3, [r3]
  673. 193 003e 22F40052 bic r2, r2, #8192
  674. 194 0042 DA60 str r2, [r3, #12]
  675. 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  676. 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
  677. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
  678. 195 .loc 1 474 3
  679. 196 0044 7868 ldr r0, [r7, #4]
  680. 197 0046 FFF7FEFF bl UART_SetConfig
  681. 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  682. 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
  683. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
  684. 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
  685. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
  686. 198 .loc 1 479 3
  687. 199 004a 7B68 ldr r3, [r7, #4]
  688. 200 004c 1B68 ldr r3, [r3]
  689. 201 004e 1A69 ldr r2, [r3, #16]
  690. 202 0050 7B68 ldr r3, [r7, #4]
  691. 203 0052 1B68 ldr r3, [r3]
  692. 204 0054 22F49042 bic r2, r2, #18432
  693. 205 0058 1A61 str r2, [r3, #16]
  694. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
  695. 206 .loc 1 480 3
  696. 207 005a 7B68 ldr r3, [r7, #4]
  697. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 13
  698. 208 005c 1B68 ldr r3, [r3]
  699. 209 005e 5A69 ldr r2, [r3, #20]
  700. 210 0060 7B68 ldr r3, [r7, #4]
  701. 211 0062 1B68 ldr r3, [r3]
  702. 212 0064 22F02202 bic r2, r2, #34
  703. 213 0068 5A61 str r2, [r3, #20]
  704. 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  705. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
  706. 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
  707. 214 .loc 1 483 3
  708. 215 006a 7B68 ldr r3, [r7, #4]
  709. 216 006c 1B68 ldr r3, [r3]
  710. 217 006e 5A69 ldr r2, [r3, #20]
  711. 218 0070 7B68 ldr r3, [r7, #4]
  712. 219 0072 1B68 ldr r3, [r3]
  713. 220 0074 42F00802 orr r2, r2, #8
  714. 221 0078 5A61 str r2, [r3, #20]
  715. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  716. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
  717. 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  718. 222 .loc 1 486 3
  719. 223 007a 7B68 ldr r3, [r7, #4]
  720. 224 007c 1B68 ldr r3, [r3]
  721. 225 007e DA68 ldr r2, [r3, #12]
  722. 226 0080 7B68 ldr r3, [r7, #4]
  723. 227 0082 1B68 ldr r3, [r3]
  724. 228 0084 42F40052 orr r2, r2, #8192
  725. 229 0088 DA60 str r2, [r3, #12]
  726. 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  727. 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
  728. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  729. 230 .loc 1 489 20
  730. 231 008a 7B68 ldr r3, [r7, #4]
  731. 232 008c 0022 movs r2, #0
  732. 233 008e 1A64 str r2, [r3, #64]
  733. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  734. 234 .loc 1 490 17
  735. 235 0090 7B68 ldr r3, [r7, #4]
  736. 236 0092 2022 movs r2, #32
  737. 237 0094 83F83D20 strb r2, [r3, #61]
  738. 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  739. 238 .loc 1 491 18
  740. 239 0098 7B68 ldr r3, [r7, #4]
  741. 240 009a 2022 movs r2, #32
  742. 241 009c 83F83E20 strb r2, [r3, #62]
  743. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  744. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  745. 242 .loc 1 493 10
  746. 243 00a0 0023 movs r3, #0
  747. 244 .L7:
  748. 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  749. 245 .loc 1 494 1
  750. 246 00a2 1846 mov r0, r3
  751. 247 00a4 0837 adds r7, r7, #8
  752. 248 .LCFI8:
  753. 249 .cfi_def_cfa_offset 8
  754. 250 00a6 BD46 mov sp, r7
  755. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 14
  756. 251 .LCFI9:
  757. 252 .cfi_def_cfa_register 13
  758. 253 @ sp needed
  759. 254 00a8 80BD pop {r7, pc}
  760. 255 .cfi_endproc
  761. 256 .LFE236:
  762. 258 .section .text.HAL_LIN_Init,"ax",%progbits
  763. 259 .align 1
  764. 260 .global HAL_LIN_Init
  765. 261 .syntax unified
  766. 262 .thumb
  767. 263 .thumb_func
  768. 265 HAL_LIN_Init:
  769. 266 .LFB237:
  770. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  771. 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  772. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the LIN mode according to the specified
  773. 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
  774. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  775. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  776. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
  777. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
  778. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection
  779. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection
  780. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  781. 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  782. 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
  783. 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  784. 267 .loc 1 508 1
  785. 268 .cfi_startproc
  786. 269 @ args = 0, pretend = 0, frame = 8
  787. 270 @ frame_needed = 1, uses_anonymous_args = 0
  788. 271 0000 80B5 push {r7, lr}
  789. 272 .LCFI10:
  790. 273 .cfi_def_cfa_offset 8
  791. 274 .cfi_offset 7, -8
  792. 275 .cfi_offset 14, -4
  793. 276 0002 82B0 sub sp, sp, #8
  794. 277 .LCFI11:
  795. 278 .cfi_def_cfa_offset 16
  796. 279 0004 00AF add r7, sp, #0
  797. 280 .LCFI12:
  798. 281 .cfi_def_cfa_register 7
  799. 282 0006 7860 str r0, [r7, #4]
  800. 283 0008 3960 str r1, [r7]
  801. 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
  802. 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
  803. 284 .loc 1 510 6
  804. 285 000a 7B68 ldr r3, [r7, #4]
  805. 286 000c 002B cmp r3, #0
  806. 287 000e 01D1 bne .L10
  807. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  808. 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  809. 288 .loc 1 512 12
  810. 289 0010 0123 movs r3, #1
  811. 290 0012 57E0 b .L11
  812. 291 .L10:
  813. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 15
  814. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  815. 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  816. 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the LIN UART instance */
  817. 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
  818. 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  819. 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Break detection length parameter */
  820. 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
  821. 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
  822. 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
  823. 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  824. 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  825. 292 .loc 1 523 12
  826. 293 0014 7B68 ldr r3, [r7, #4]
  827. 294 0016 93F83D30 ldrb r3, [r3, #61]
  828. 295 001a DBB2 uxtb r3, r3
  829. 296 .loc 1 523 6
  830. 297 001c 002B cmp r3, #0
  831. 298 001e 06D1 bne .L12
  832. 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  833. 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  834. 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  835. 299 .loc 1 526 17
  836. 300 0020 7B68 ldr r3, [r7, #4]
  837. 301 0022 0022 movs r2, #0
  838. 302 0024 83F83C20 strb r2, [r3, #60]
  839. 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  840. 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  841. 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  842. 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  843. 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  844. 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  845. 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  846. 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  847. 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  848. 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
  849. 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
  850. 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  851. 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  852. 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
  853. 303 .loc 1 540 5
  854. 304 0028 7868 ldr r0, [r7, #4]
  855. 305 002a FFF7FEFF bl HAL_UART_MspInit
  856. 306 .L12:
  857. 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  858. 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  859. 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  860. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  861. 307 .loc 1 544 17
  862. 308 002e 7B68 ldr r3, [r7, #4]
  863. 309 0030 2422 movs r2, #36
  864. 310 0032 83F83D20 strb r2, [r3, #61]
  865. 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  866. 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
  867. 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  868. 311 .loc 1 547 3
  869. 312 0036 7B68 ldr r3, [r7, #4]
  870. 313 0038 1B68 ldr r3, [r3]
  871. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 16
  872. 314 003a DA68 ldr r2, [r3, #12]
  873. 315 003c 7B68 ldr r3, [r7, #4]
  874. 316 003e 1B68 ldr r3, [r3]
  875. 317 0040 22F40052 bic r2, r2, #8192
  876. 318 0044 DA60 str r2, [r3, #12]
  877. 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  878. 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
  879. 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
  880. 319 .loc 1 550 3
  881. 320 0046 7868 ldr r0, [r7, #4]
  882. 321 0048 FFF7FEFF bl UART_SetConfig
  883. 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  884. 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
  885. 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - CLKEN bits in the USART_CR2 register,
  886. 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
  887. 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_CLKEN));
  888. 322 .loc 1 555 3
  889. 323 004c 7B68 ldr r3, [r7, #4]
  890. 324 004e 1B68 ldr r3, [r3]
  891. 325 0050 1A69 ldr r2, [r3, #16]
  892. 326 0052 7B68 ldr r3, [r7, #4]
  893. 327 0054 1B68 ldr r3, [r3]
  894. 328 0056 22F40062 bic r2, r2, #2048
  895. 329 005a 1A61 str r2, [r3, #16]
  896. 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
  897. 330 .loc 1 556 3
  898. 331 005c 7B68 ldr r3, [r7, #4]
  899. 332 005e 1B68 ldr r3, [r3]
  900. 333 0060 5A69 ldr r2, [r3, #20]
  901. 334 0062 7B68 ldr r3, [r7, #4]
  902. 335 0064 1B68 ldr r3, [r3]
  903. 336 0066 22F02A02 bic r2, r2, #42
  904. 337 006a 5A61 str r2, [r3, #20]
  905. 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  906. 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
  907. 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
  908. 338 .loc 1 559 3
  909. 339 006c 7B68 ldr r3, [r7, #4]
  910. 340 006e 1B68 ldr r3, [r3]
  911. 341 0070 1A69 ldr r2, [r3, #16]
  912. 342 0072 7B68 ldr r3, [r7, #4]
  913. 343 0074 1B68 ldr r3, [r3]
  914. 344 0076 42F48042 orr r2, r2, #16384
  915. 345 007a 1A61 str r2, [r3, #16]
  916. 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  917. 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
  918. 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_LBDL);
  919. 346 .loc 1 562 3
  920. 347 007c 7B68 ldr r3, [r7, #4]
  921. 348 007e 1B68 ldr r3, [r3]
  922. 349 0080 1A69 ldr r2, [r3, #16]
  923. 350 0082 7B68 ldr r3, [r7, #4]
  924. 351 0084 1B68 ldr r3, [r3]
  925. 352 0086 22F02002 bic r2, r2, #32
  926. 353 008a 1A61 str r2, [r3, #16]
  927. 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
  928. 354 .loc 1 563 3
  929. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 17
  930. 355 008c 7B68 ldr r3, [r7, #4]
  931. 356 008e 1B68 ldr r3, [r3]
  932. 357 0090 1969 ldr r1, [r3, #16]
  933. 358 0092 7B68 ldr r3, [r7, #4]
  934. 359 0094 1B68 ldr r3, [r3]
  935. 360 0096 3A68 ldr r2, [r7]
  936. 361 0098 0A43 orrs r2, r2, r1
  937. 362 009a 1A61 str r2, [r3, #16]
  938. 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  939. 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
  940. 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  941. 363 .loc 1 566 3
  942. 364 009c 7B68 ldr r3, [r7, #4]
  943. 365 009e 1B68 ldr r3, [r3]
  944. 366 00a0 DA68 ldr r2, [r3, #12]
  945. 367 00a2 7B68 ldr r3, [r7, #4]
  946. 368 00a4 1B68 ldr r3, [r3]
  947. 369 00a6 42F40052 orr r2, r2, #8192
  948. 370 00aa DA60 str r2, [r3, #12]
  949. 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  950. 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
  951. 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  952. 371 .loc 1 569 20
  953. 372 00ac 7B68 ldr r3, [r7, #4]
  954. 373 00ae 0022 movs r2, #0
  955. 374 00b0 1A64 str r2, [r3, #64]
  956. 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  957. 375 .loc 1 570 17
  958. 376 00b2 7B68 ldr r3, [r7, #4]
  959. 377 00b4 2022 movs r2, #32
  960. 378 00b6 83F83D20 strb r2, [r3, #61]
  961. 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  962. 379 .loc 1 571 18
  963. 380 00ba 7B68 ldr r3, [r7, #4]
  964. 381 00bc 2022 movs r2, #32
  965. 382 00be 83F83E20 strb r2, [r3, #62]
  966. 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  967. 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  968. 383 .loc 1 573 10
  969. 384 00c2 0023 movs r3, #0
  970. 385 .L11:
  971. 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  972. 386 .loc 1 574 1
  973. 387 00c4 1846 mov r0, r3
  974. 388 00c6 0837 adds r7, r7, #8
  975. 389 .LCFI13:
  976. 390 .cfi_def_cfa_offset 8
  977. 391 00c8 BD46 mov sp, r7
  978. 392 .LCFI14:
  979. 393 .cfi_def_cfa_register 13
  980. 394 @ sp needed
  981. 395 00ca 80BD pop {r7, pc}
  982. 396 .cfi_endproc
  983. 397 .LFE237:
  984. 399 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
  985. 400 .align 1
  986. 401 .global HAL_MultiProcessor_Init
  987. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 18
  988. 402 .syntax unified
  989. 403 .thumb
  990. 404 .thumb_func
  991. 406 HAL_MultiProcessor_Init:
  992. 407 .LFB238:
  993. 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  994. 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  995. 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the Multi-Processor mode according to the specified
  996. 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
  997. 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  998. 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  999. 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Address USART address
  1000. 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param WakeUpMethod specifies the USART wake-up method.
  1001. 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
  1002. 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_IDLELINE: Wake-up by an idle line detection
  1003. 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_ADDRESSMARK: Wake-up by an address mark
  1004. 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  1005. 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1006. 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
  1007. 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1008. 408 .loc 1 589 1
  1009. 409 .cfi_startproc
  1010. 410 @ args = 0, pretend = 0, frame = 16
  1011. 411 @ frame_needed = 1, uses_anonymous_args = 0
  1012. 412 0000 80B5 push {r7, lr}
  1013. 413 .LCFI15:
  1014. 414 .cfi_def_cfa_offset 8
  1015. 415 .cfi_offset 7, -8
  1016. 416 .cfi_offset 14, -4
  1017. 417 0002 84B0 sub sp, sp, #16
  1018. 418 .LCFI16:
  1019. 419 .cfi_def_cfa_offset 24
  1020. 420 0004 00AF add r7, sp, #0
  1021. 421 .LCFI17:
  1022. 422 .cfi_def_cfa_register 7
  1023. 423 0006 F860 str r0, [r7, #12]
  1024. 424 0008 0B46 mov r3, r1
  1025. 425 000a 7A60 str r2, [r7, #4]
  1026. 426 000c FB72 strb r3, [r7, #11]
  1027. 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
  1028. 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
  1029. 427 .loc 1 591 6
  1030. 428 000e FB68 ldr r3, [r7, #12]
  1031. 429 0010 002B cmp r3, #0
  1032. 430 0012 01D1 bne .L14
  1033. 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1034. 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  1035. 431 .loc 1 593 12
  1036. 432 0014 0123 movs r3, #1
  1037. 433 0016 5FE0 b .L15
  1038. 434 .L14:
  1039. 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1040. 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1041. 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  1042. 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  1043. 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1044. 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Address & wake up method parameters */
  1045. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 19
  1046. 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
  1047. 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
  1048. 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
  1049. 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
  1050. 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1051. 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
  1052. 435 .loc 1 605 12
  1053. 436 0018 FB68 ldr r3, [r7, #12]
  1054. 437 001a 93F83D30 ldrb r3, [r3, #61]
  1055. 438 001e DBB2 uxtb r3, r3
  1056. 439 .loc 1 605 6
  1057. 440 0020 002B cmp r3, #0
  1058. 441 0022 06D1 bne .L16
  1059. 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1060. 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
  1061. 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
  1062. 442 .loc 1 608 17
  1063. 443 0024 FB68 ldr r3, [r7, #12]
  1064. 444 0026 0022 movs r2, #0
  1065. 445 0028 83F83C20 strb r2, [r3, #60]
  1066. 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1067. 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  1068. 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
  1069. 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1070. 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
  1071. 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1072. 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  1073. 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1074. 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1075. 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
  1076. 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
  1077. 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  1078. 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
  1079. 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
  1080. 446 .loc 1 622 5
  1081. 447 002c F868 ldr r0, [r7, #12]
  1082. 448 002e FFF7FEFF bl HAL_UART_MspInit
  1083. 449 .L16:
  1084. 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  1085. 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1086. 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1087. 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  1088. 450 .loc 1 626 17
  1089. 451 0032 FB68 ldr r3, [r7, #12]
  1090. 452 0034 2422 movs r2, #36
  1091. 453 0036 83F83D20 strb r2, [r3, #61]
  1092. 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1093. 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
  1094. 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  1095. 454 .loc 1 629 3
  1096. 455 003a FB68 ldr r3, [r7, #12]
  1097. 456 003c 1B68 ldr r3, [r3]
  1098. 457 003e DA68 ldr r2, [r3, #12]
  1099. 458 0040 FB68 ldr r3, [r7, #12]
  1100. 459 0042 1B68 ldr r3, [r3]
  1101. 460 0044 22F40052 bic r2, r2, #8192
  1102. 461 0048 DA60 str r2, [r3, #12]
  1103. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 20
  1104. 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1105. 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
  1106. 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
  1107. 462 .loc 1 632 3
  1108. 463 004a F868 ldr r0, [r7, #12]
  1109. 464 004c FFF7FEFF bl UART_SetConfig
  1110. 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1111. 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Multi-Processor mode, the following bits must be kept cleared:
  1112. 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
  1113. 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register */
  1114. 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
  1115. 465 .loc 1 637 3
  1116. 466 0050 FB68 ldr r3, [r7, #12]
  1117. 467 0052 1B68 ldr r3, [r3]
  1118. 468 0054 1A69 ldr r2, [r3, #16]
  1119. 469 0056 FB68 ldr r3, [r7, #12]
  1120. 470 0058 1B68 ldr r3, [r3]
  1121. 471 005a 22F49042 bic r2, r2, #18432
  1122. 472 005e 1A61 str r2, [r3, #16]
  1123. 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
  1124. 473 .loc 1 638 3
  1125. 474 0060 FB68 ldr r3, [r7, #12]
  1126. 475 0062 1B68 ldr r3, [r3]
  1127. 476 0064 5A69 ldr r2, [r3, #20]
  1128. 477 0066 FB68 ldr r3, [r7, #12]
  1129. 478 0068 1B68 ldr r3, [r3]
  1130. 479 006a 22F02A02 bic r2, r2, #42
  1131. 480 006e 5A61 str r2, [r3, #20]
  1132. 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1133. 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART address node */
  1134. 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_ADD);
  1135. 481 .loc 1 641 3
  1136. 482 0070 FB68 ldr r3, [r7, #12]
  1137. 483 0072 1B68 ldr r3, [r3]
  1138. 484 0074 1A69 ldr r2, [r3, #16]
  1139. 485 0076 FB68 ldr r3, [r7, #12]
  1140. 486 0078 1B68 ldr r3, [r3]
  1141. 487 007a 22F00F02 bic r2, r2, #15
  1142. 488 007e 1A61 str r2, [r3, #16]
  1143. 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
  1144. 489 .loc 1 642 3
  1145. 490 0080 FB68 ldr r3, [r7, #12]
  1146. 491 0082 1B68 ldr r3, [r3]
  1147. 492 0084 1969 ldr r1, [r3, #16]
  1148. 493 0086 FA7A ldrb r2, [r7, #11] @ zero_extendqisi2
  1149. 494 0088 FB68 ldr r3, [r7, #12]
  1150. 495 008a 1B68 ldr r3, [r3]
  1151. 496 008c 0A43 orrs r2, r2, r1
  1152. 497 008e 1A61 str r2, [r3, #16]
  1153. 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1154. 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
  1155. 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_WAKE);
  1156. 498 .loc 1 645 3
  1157. 499 0090 FB68 ldr r3, [r7, #12]
  1158. 500 0092 1B68 ldr r3, [r3]
  1159. 501 0094 DA68 ldr r2, [r3, #12]
  1160. 502 0096 FB68 ldr r3, [r7, #12]
  1161. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 21
  1162. 503 0098 1B68 ldr r3, [r3]
  1163. 504 009a 22F40062 bic r2, r2, #2048
  1164. 505 009e DA60 str r2, [r3, #12]
  1165. 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
  1166. 506 .loc 1 646 3
  1167. 507 00a0 FB68 ldr r3, [r7, #12]
  1168. 508 00a2 1B68 ldr r3, [r3]
  1169. 509 00a4 D968 ldr r1, [r3, #12]
  1170. 510 00a6 FB68 ldr r3, [r7, #12]
  1171. 511 00a8 1B68 ldr r3, [r3]
  1172. 512 00aa 7A68 ldr r2, [r7, #4]
  1173. 513 00ac 0A43 orrs r2, r2, r1
  1174. 514 00ae DA60 str r2, [r3, #12]
  1175. 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1176. 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
  1177. 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
  1178. 515 .loc 1 649 3
  1179. 516 00b0 FB68 ldr r3, [r7, #12]
  1180. 517 00b2 1B68 ldr r3, [r3]
  1181. 518 00b4 DA68 ldr r2, [r3, #12]
  1182. 519 00b6 FB68 ldr r3, [r7, #12]
  1183. 520 00b8 1B68 ldr r3, [r3]
  1184. 521 00ba 42F40052 orr r2, r2, #8192
  1185. 522 00be DA60 str r2, [r3, #12]
  1186. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1187. 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
  1188. 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  1189. 523 .loc 1 652 20
  1190. 524 00c0 FB68 ldr r3, [r7, #12]
  1191. 525 00c2 0022 movs r2, #0
  1192. 526 00c4 1A64 str r2, [r3, #64]
  1193. 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  1194. 527 .loc 1 653 17
  1195. 528 00c6 FB68 ldr r3, [r7, #12]
  1196. 529 00c8 2022 movs r2, #32
  1197. 530 00ca 83F83D20 strb r2, [r3, #61]
  1198. 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  1199. 531 .loc 1 654 18
  1200. 532 00ce FB68 ldr r3, [r7, #12]
  1201. 533 00d0 2022 movs r2, #32
  1202. 534 00d2 83F83E20 strb r2, [r3, #62]
  1203. 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1204. 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  1205. 535 .loc 1 656 10
  1206. 536 00d6 0023 movs r3, #0
  1207. 537 .L15:
  1208. 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1209. 538 .loc 1 657 1
  1210. 539 00d8 1846 mov r0, r3
  1211. 540 00da 1037 adds r7, r7, #16
  1212. 541 .LCFI18:
  1213. 542 .cfi_def_cfa_offset 8
  1214. 543 00dc BD46 mov sp, r7
  1215. 544 .LCFI19:
  1216. 545 .cfi_def_cfa_register 13
  1217. 546 @ sp needed
  1218. 547 00de 80BD pop {r7, pc}
  1219. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 22
  1220. 548 .cfi_endproc
  1221. 549 .LFE238:
  1222. 551 .section .text.HAL_UART_DeInit,"ax",%progbits
  1223. 552 .align 1
  1224. 553 .global HAL_UART_DeInit
  1225. 554 .syntax unified
  1226. 555 .thumb
  1227. 556 .thumb_func
  1228. 558 HAL_UART_DeInit:
  1229. 559 .LFB239:
  1230. 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1231. 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1232. 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DeInitializes the UART peripheral.
  1233. 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  1234. 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  1235. 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  1236. 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1237. 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
  1238. 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1239. 560 .loc 1 666 1
  1240. 561 .cfi_startproc
  1241. 562 @ args = 0, pretend = 0, frame = 8
  1242. 563 @ frame_needed = 1, uses_anonymous_args = 0
  1243. 564 0000 80B5 push {r7, lr}
  1244. 565 .LCFI20:
  1245. 566 .cfi_def_cfa_offset 8
  1246. 567 .cfi_offset 7, -8
  1247. 568 .cfi_offset 14, -4
  1248. 569 0002 82B0 sub sp, sp, #8
  1249. 570 .LCFI21:
  1250. 571 .cfi_def_cfa_offset 16
  1251. 572 0004 00AF add r7, sp, #0
  1252. 573 .LCFI22:
  1253. 574 .cfi_def_cfa_register 7
  1254. 575 0006 7860 str r0, [r7, #4]
  1255. 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
  1256. 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
  1257. 576 .loc 1 668 6
  1258. 577 0008 7B68 ldr r3, [r7, #4]
  1259. 578 000a 002B cmp r3, #0
  1260. 579 000c 01D1 bne .L18
  1261. 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1262. 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  1263. 580 .loc 1 670 12
  1264. 581 000e 0123 movs r3, #1
  1265. 582 0010 21E0 b .L19
  1266. 583 .L18:
  1267. 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1268. 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1269. 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  1270. 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  1271. 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1272. 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  1273. 584 .loc 1 676 17
  1274. 585 0012 7B68 ldr r3, [r7, #4]
  1275. 586 0014 2422 movs r2, #36
  1276. 587 0016 83F83D20 strb r2, [r3, #61]
  1277. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 23
  1278. 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1279. 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the Peripheral */
  1280. 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
  1281. 588 .loc 1 679 3
  1282. 589 001a 7B68 ldr r3, [r7, #4]
  1283. 590 001c 1B68 ldr r3, [r3]
  1284. 591 001e DA68 ldr r2, [r3, #12]
  1285. 592 0020 7B68 ldr r3, [r7, #4]
  1286. 593 0022 1B68 ldr r3, [r3]
  1287. 594 0024 22F40052 bic r2, r2, #8192
  1288. 595 0028 DA60 str r2, [r3, #12]
  1289. 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1290. 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  1291. 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
  1292. 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1293. 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
  1294. 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1295. 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
  1296. 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback(huart);
  1297. 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  1298. 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
  1299. 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
  1300. 596 .loc 1 690 3
  1301. 597 002a 7868 ldr r0, [r7, #4]
  1302. 598 002c FFF7FEFF bl HAL_UART_MspDeInit
  1303. 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
  1304. 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1305. 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  1306. 599 .loc 1 693 20
  1307. 600 0030 7B68 ldr r3, [r7, #4]
  1308. 601 0032 0022 movs r2, #0
  1309. 602 0034 1A64 str r2, [r3, #64]
  1310. 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
  1311. 603 .loc 1 694 17
  1312. 604 0036 7B68 ldr r3, [r7, #4]
  1313. 605 0038 0022 movs r2, #0
  1314. 606 003a 83F83D20 strb r2, [r3, #61]
  1315. 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
  1316. 607 .loc 1 695 18
  1317. 608 003e 7B68 ldr r3, [r7, #4]
  1318. 609 0040 0022 movs r2, #0
  1319. 610 0042 83F83E20 strb r2, [r3, #62]
  1320. 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  1321. 611 .loc 1 696 24
  1322. 612 0046 7B68 ldr r3, [r7, #4]
  1323. 613 0048 0022 movs r2, #0
  1324. 614 004a 1A63 str r2, [r3, #48]
  1325. 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1326. 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlock */
  1327. 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  1328. 615 .loc 1 699 3
  1329. 616 004c 7B68 ldr r3, [r7, #4]
  1330. 617 004e 0022 movs r2, #0
  1331. 618 0050 83F83C20 strb r2, [r3, #60]
  1332. 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1333. 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  1334. 619 .loc 1 701 10
  1335. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 24
  1336. 620 0054 0023 movs r3, #0
  1337. 621 .L19:
  1338. 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1339. 622 .loc 1 702 1
  1340. 623 0056 1846 mov r0, r3
  1341. 624 0058 0837 adds r7, r7, #8
  1342. 625 .LCFI23:
  1343. 626 .cfi_def_cfa_offset 8
  1344. 627 005a BD46 mov sp, r7
  1345. 628 .LCFI24:
  1346. 629 .cfi_def_cfa_register 13
  1347. 630 @ sp needed
  1348. 631 005c 80BD pop {r7, pc}
  1349. 632 .cfi_endproc
  1350. 633 .LFE239:
  1351. 635 .section .text.HAL_UART_MspInit,"ax",%progbits
  1352. 636 .align 1
  1353. 637 .weak HAL_UART_MspInit
  1354. 638 .syntax unified
  1355. 639 .thumb
  1356. 640 .thumb_func
  1357. 642 HAL_UART_MspInit:
  1358. 643 .LFB240:
  1359. 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1360. 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1361. 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP Init.
  1362. 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  1363. 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  1364. 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  1365. 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1366. 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
  1367. 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1368. 644 .loc 1 711 1
  1369. 645 .cfi_startproc
  1370. 646 @ args = 0, pretend = 0, frame = 8
  1371. 647 @ frame_needed = 1, uses_anonymous_args = 0
  1372. 648 @ link register save eliminated.
  1373. 649 0000 80B4 push {r7}
  1374. 650 .LCFI25:
  1375. 651 .cfi_def_cfa_offset 4
  1376. 652 .cfi_offset 7, -4
  1377. 653 0002 83B0 sub sp, sp, #12
  1378. 654 .LCFI26:
  1379. 655 .cfi_def_cfa_offset 16
  1380. 656 0004 00AF add r7, sp, #0
  1381. 657 .LCFI27:
  1382. 658 .cfi_def_cfa_register 7
  1383. 659 0006 7860 str r0, [r7, #4]
  1384. 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  1385. 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  1386. 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  1387. 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspInit could be implemented in the user file
  1388. 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1389. 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1390. 660 .loc 1 717 1
  1391. 661 0008 00BF nop
  1392. 662 000a 0C37 adds r7, r7, #12
  1393. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 25
  1394. 663 .LCFI28:
  1395. 664 .cfi_def_cfa_offset 4
  1396. 665 000c BD46 mov sp, r7
  1397. 666 .LCFI29:
  1398. 667 .cfi_def_cfa_register 13
  1399. 668 @ sp needed
  1400. 669 000e 5DF8047B ldr r7, [sp], #4
  1401. 670 .LCFI30:
  1402. 671 .cfi_restore 7
  1403. 672 .cfi_def_cfa_offset 0
  1404. 673 0012 7047 bx lr
  1405. 674 .cfi_endproc
  1406. 675 .LFE240:
  1407. 677 .section .text.HAL_UART_MspDeInit,"ax",%progbits
  1408. 678 .align 1
  1409. 679 .weak HAL_UART_MspDeInit
  1410. 680 .syntax unified
  1411. 681 .thumb
  1412. 682 .thumb_func
  1413. 684 HAL_UART_MspDeInit:
  1414. 685 .LFB241:
  1415. 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1416. 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1417. 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP DeInit.
  1418. 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  1419. 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  1420. 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  1421. 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1422. 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
  1423. 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1424. 686 .loc 1 726 1
  1425. 687 .cfi_startproc
  1426. 688 @ args = 0, pretend = 0, frame = 8
  1427. 689 @ frame_needed = 1, uses_anonymous_args = 0
  1428. 690 @ link register save eliminated.
  1429. 691 0000 80B4 push {r7}
  1430. 692 .LCFI31:
  1431. 693 .cfi_def_cfa_offset 4
  1432. 694 .cfi_offset 7, -4
  1433. 695 0002 83B0 sub sp, sp, #12
  1434. 696 .LCFI32:
  1435. 697 .cfi_def_cfa_offset 16
  1436. 698 0004 00AF add r7, sp, #0
  1437. 699 .LCFI33:
  1438. 700 .cfi_def_cfa_register 7
  1439. 701 0006 7860 str r0, [r7, #4]
  1440. 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  1441. 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  1442. 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  1443. 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspDeInit could be implemented in the user file
  1444. 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1445. 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1446. 702 .loc 1 732 1
  1447. 703 0008 00BF nop
  1448. 704 000a 0C37 adds r7, r7, #12
  1449. 705 .LCFI34:
  1450. 706 .cfi_def_cfa_offset 4
  1451. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 26
  1452. 707 000c BD46 mov sp, r7
  1453. 708 .LCFI35:
  1454. 709 .cfi_def_cfa_register 13
  1455. 710 @ sp needed
  1456. 711 000e 5DF8047B ldr r7, [sp], #4
  1457. 712 .LCFI36:
  1458. 713 .cfi_restore 7
  1459. 714 .cfi_def_cfa_offset 0
  1460. 715 0012 7047 bx lr
  1461. 716 .cfi_endproc
  1462. 717 .LFE241:
  1463. 719 .section .text.HAL_UART_Transmit,"ax",%progbits
  1464. 720 .align 1
  1465. 721 .global HAL_UART_Transmit
  1466. 722 .syntax unified
  1467. 723 .thumb
  1468. 724 .thumb_func
  1469. 726 HAL_UART_Transmit:
  1470. 727 .LFB242:
  1471. 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1472. 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  1473. 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1474. 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Callback
  1475. 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback
  1476. 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
  1477. 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
  1478. 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
  1479. 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
  1480. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
  1481. 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
  1482. 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
  1483. 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
  1484. 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
  1485. 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
  1486. 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
  1487. 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
  1488. 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
  1489. 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback pointer to the Callback function
  1490. 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  1491. 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1492. 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
  1493. 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
  1494. 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1495. 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  1496. 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1497. 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
  1498. 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1499. 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
  1500. 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1501. 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1502. 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  1503. 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1504. 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
  1505. 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  1506. 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1507. 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  1508. 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1509. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 27
  1510. 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
  1511. 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1512. 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
  1513. 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
  1514. 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1515. 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1516. 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
  1517. 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
  1518. 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1519. 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1520. 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
  1521. 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
  1522. 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1523. 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1524. 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
  1525. 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
  1526. 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1527. 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1528. 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
  1529. 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = pCallback;
  1530. 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1531. 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1532. 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
  1533. 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
  1534. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1535. 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1536. 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
  1537. 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
  1538. 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1539. 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1540. 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
  1541. 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
  1542. 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1543. 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1544. 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1545. 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
  1546. 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1547. 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1548. 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1549. 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
  1550. 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1551. 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1552. 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
  1553. 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
  1554. 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1555. 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1556. 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
  1557. 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1558. 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1559. 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1560. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1561. 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
  1562. 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1563. 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
  1564. 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1565. 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1566. 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
  1567. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 28
  1568. 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1569. 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1570. 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1571. 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
  1572. 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1573. 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1574. 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
  1575. 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
  1576. 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1577. 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1578. 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
  1579. 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1580. 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1581. 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1582. 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1583. 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  1584. 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1585. 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
  1586. 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1587. 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1588. 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
  1589. 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1590. 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1591. 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1592. 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
  1593. 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  1594. 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1595. 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
  1596. 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1597. 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1598. 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1599. 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Unregister an UART Callback
  1600. 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
  1601. 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
  1602. 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
  1603. 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
  1604. 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
  1605. 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
  1606. 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
  1607. 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
  1608. 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
  1609. 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
  1610. 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
  1611. 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
  1612. 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
  1613. 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
  1614. 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  1615. 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1616. 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
  1617. 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1618. 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  1619. 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1620. 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
  1621. 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  1622. 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1623. 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
  1624. 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1625. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 29
  1626. 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
  1627. 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1628. 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
  1629. 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
  1630. 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1631. 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1632. 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
  1633. 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
  1634. 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1635. 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1636. 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
  1637. 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
  1638. 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1639. 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1640. 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
  1641. 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
  1642. 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1643. 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1644. 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
  1645. 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
  1646. 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1647. 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1648. 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
  1649. 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
  1650. 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1651. 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1652. 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
  1653. 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort
  1654. 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1655. 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1656. 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
  1657. 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak Abort
  1658. 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1659. 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1660. 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1661. 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
  1662. 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1663. 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1664. 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1665. 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
  1666. 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1667. 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1668. 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
  1669. 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
  1670. 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1671. 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1672. 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
  1673. 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1674. 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1675. 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1676. 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1677. 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
  1678. 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1679. 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
  1680. 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1681. 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
  1682. 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
  1683. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 30
  1684. 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1685. 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1686. 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
  1687. 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
  1688. 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1689. 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1690. 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
  1691. 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
  1692. 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1693. 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1694. 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
  1695. 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1696. 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
  1697. 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1698. 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1699. 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  1700. 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1701. 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
  1702. 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1703. 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1704. 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
  1705. 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1706. 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1707. 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1708. 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
  1709. 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  1710. 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1711. 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
  1712. 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1713. 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1714. 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1715. 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
  1716. 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback
  1717. 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle
  1718. 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
  1719. 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  1720. 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1721. 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
  1722. 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1723. 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  1724. 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1725. 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
  1726. 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1727. 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1728. 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1729. 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  1730. 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1731. 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1732. 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
  1733. 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  1734. 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1735. 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  1736. 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1737. 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = pCallback;
  1738. 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1739. 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  1740. 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1741. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 31
  1742. 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1743. 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1744. 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1745. 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1746. 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1747. 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
  1748. 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  1749. 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1750. 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
  1751. 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1752. 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1753. 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1754. 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
  1755. 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
  1756. 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle
  1757. 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  1758. 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1759. 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
  1760. 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1761. 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
  1762. 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1763. 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
  1764. 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  1765. 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1766. 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  1767. 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1768. 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
  1769. 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1770. 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  1771. 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1772. 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
  1773. 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1774. 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  1775. 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1776. 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1777. 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
  1778. 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  1779. 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
  1780. 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1781. 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  1782. 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1783. 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1784. 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
  1785. 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1786. 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1787. 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
  1788. 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Transmit and Receive functions
  1789. 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  1790. 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
  1791. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
  1792. 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### IO operation functions #####
  1793. 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
  1794. 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
  1795. 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and Half duplex data transfers.
  1796. 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1797. 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two modes of transfer:
  1798. 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
  1799. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 32
  1800. 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
  1801. 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** after finishing transfer.
  1802. 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
  1803. 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or DMA, these API's return the HAL status.
  1804. 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the
  1805. 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
  1806. 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using DMA mode.
  1807. 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
  1808. 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will be executed respectively at the end of the transmit or receive process
  1809. 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
  1810. 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1811. 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API's are :
  1812. 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit()
  1813. 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive()
  1814. 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1815. 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
  1816. 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
  1817. 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
  1818. 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
  1819. 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1820. 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
  1821. 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
  1822. 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
  1823. 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAPause()
  1824. 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAResume()
  1825. 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAStop()
  1826. 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1827. 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
  1828. 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
  1829. 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
  1830. 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
  1831. 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
  1832. 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
  1833. 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1834. 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
  1835. 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort()
  1836. 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
  1837. 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
  1838. 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
  1839. 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
  1840. 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
  1841. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1842. 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
  1843. 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
  1844. 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
  1845. 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
  1846. 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1847. 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
  1848. 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
  1849. 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1850. 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
  1851. 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Errors are handled as follows :
  1852. 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
  1853. 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte
  1854. 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
  1855. 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART
  1856. 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
  1857. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 33
  1858. 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
  1859. 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
  1860. 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use
  1861. 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1862. 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
  1863. 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
  1864. 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1865. 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
  1866. 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  1867. 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1868. 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1869. 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  1870. 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in blocking mode.
  1871. 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  1872. 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
  1873. 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
  1874. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  1875. 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  1876. 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  1877. 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
  1878. 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
  1879. 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  1880. 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  1881. 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size,
  1882. 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1883. 728 .loc 1 1137 1
  1884. 729 .cfi_startproc
  1885. 730 @ args = 0, pretend = 0, frame = 32
  1886. 731 @ frame_needed = 1, uses_anonymous_args = 0
  1887. 732 0000 80B5 push {r7, lr}
  1888. 733 .LCFI37:
  1889. 734 .cfi_def_cfa_offset 8
  1890. 735 .cfi_offset 7, -8
  1891. 736 .cfi_offset 14, -4
  1892. 737 0002 8AB0 sub sp, sp, #40
  1893. 738 .LCFI38:
  1894. 739 .cfi_def_cfa_offset 48
  1895. 740 0004 02AF add r7, sp, #8
  1896. 741 .LCFI39:
  1897. 742 .cfi_def_cfa 7, 40
  1898. 743 0006 F860 str r0, [r7, #12]
  1899. 744 0008 B960 str r1, [r7, #8]
  1900. 745 000a 3B60 str r3, [r7]
  1901. 746 000c 1346 mov r3, r2 @ movhi
  1902. 747 000e FB80 strh r3, [r7, #6] @ movhi
  1903. 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits;
  1904. 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *pdata16bits;
  1905. 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
  1906. 748 .loc 1 1140 12
  1907. 749 0010 0023 movs r3, #0
  1908. 750 0012 7B61 str r3, [r7, #20]
  1909. 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1910. 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
  1911. 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  1912. 751 .loc 1 1143 12
  1913. 752 0014 FB68 ldr r3, [r7, #12]
  1914. 753 0016 93F83D30 ldrb r3, [r3, #61]
  1915. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 34
  1916. 754 001a DBB2 uxtb r3, r3
  1917. 755 .loc 1 1143 6
  1918. 756 001c 202B cmp r3, #32
  1919. 757 001e 7CD1 bne .L23
  1920. 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1921. 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  1922. 758 .loc 1 1145 8
  1923. 759 0020 BB68 ldr r3, [r7, #8]
  1924. 760 0022 002B cmp r3, #0
  1925. 761 0024 02D0 beq .L24
  1926. 762 .loc 1 1145 25 discriminator 1
  1927. 763 0026 FB88 ldrh r3, [r7, #6]
  1928. 764 0028 002B cmp r3, #0
  1929. 765 002a 01D1 bne .L25
  1930. 766 .L24:
  1931. 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1932. 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  1933. 767 .loc 1 1147 15
  1934. 768 002c 0123 movs r3, #1
  1935. 769 002e 75E0 b .L26
  1936. 770 .L25:
  1937. 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  1938. 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1939. 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  1940. 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  1941. 771 .loc 1 1151 5
  1942. 772 0030 FB68 ldr r3, [r7, #12]
  1943. 773 0032 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  1944. 774 0036 012B cmp r3, #1
  1945. 775 0038 01D1 bne .L27
  1946. 776 .loc 1 1151 5 is_stmt 0 discriminator 1
  1947. 777 003a 0223 movs r3, #2
  1948. 778 003c 6EE0 b .L26
  1949. 779 .L27:
  1950. 780 .loc 1 1151 5 discriminator 2
  1951. 781 003e FB68 ldr r3, [r7, #12]
  1952. 782 0040 0122 movs r2, #1
  1953. 783 0042 83F83C20 strb r2, [r3, #60]
  1954. 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1955. 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  1956. 784 .loc 1 1153 22 is_stmt 1 discriminator 2
  1957. 785 0046 FB68 ldr r3, [r7, #12]
  1958. 786 0048 0022 movs r2, #0
  1959. 787 004a 1A64 str r2, [r3, #64]
  1960. 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
  1961. 788 .loc 1 1154 19 discriminator 2
  1962. 789 004c FB68 ldr r3, [r7, #12]
  1963. 790 004e 2122 movs r2, #33
  1964. 791 0050 83F83D20 strb r2, [r3, #61]
  1965. 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1966. 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
  1967. 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
  1968. 792 .loc 1 1157 17 discriminator 2
  1969. 793 0054 FFF7FEFF bl HAL_GetTick
  1970. 794 0058 7861 str r0, [r7, #20]
  1971. 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1972. 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
  1973. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 35
  1974. 795 .loc 1 1159 23 discriminator 2
  1975. 796 005a FB68 ldr r3, [r7, #12]
  1976. 797 005c FA88 ldrh r2, [r7, #6] @ movhi
  1977. 798 005e 9A84 strh r2, [r3, #36] @ movhi
  1978. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
  1979. 799 .loc 1 1160 24 discriminator 2
  1980. 800 0060 FB68 ldr r3, [r7, #12]
  1981. 801 0062 FA88 ldrh r2, [r7, #6] @ movhi
  1982. 802 0064 DA84 strh r2, [r3, #38] @ movhi
  1983. 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  1984. 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
  1985. 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  1986. 803 .loc 1 1163 21 discriminator 2
  1987. 804 0066 FB68 ldr r3, [r7, #12]
  1988. 805 0068 9B68 ldr r3, [r3, #8]
  1989. 806 .loc 1 1163 8 discriminator 2
  1990. 807 006a B3F5805F cmp r3, #4096
  1991. 808 006e 08D1 bne .L28
  1992. 809 .loc 1 1163 71 discriminator 1
  1993. 810 0070 FB68 ldr r3, [r7, #12]
  1994. 811 0072 1B69 ldr r3, [r3, #16]
  1995. 812 .loc 1 1163 56 discriminator 1
  1996. 813 0074 002B cmp r3, #0
  1997. 814 0076 04D1 bne .L28
  1998. 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  1999. 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
  2000. 815 .loc 1 1165 19
  2001. 816 0078 0023 movs r3, #0
  2002. 817 007a FB61 str r3, [r7, #28]
  2003. 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
  2004. 818 .loc 1 1166 19
  2005. 819 007c BB68 ldr r3, [r7, #8]
  2006. 820 007e BB61 str r3, [r7, #24]
  2007. 821 0080 03E0 b .L29
  2008. 822 .L28:
  2009. 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2010. 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2011. 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2012. 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
  2013. 823 .loc 1 1170 19
  2014. 824 0082 BB68 ldr r3, [r7, #8]
  2015. 825 0084 FB61 str r3, [r7, #28]
  2016. 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
  2017. 826 .loc 1 1171 19
  2018. 827 0086 0023 movs r3, #0
  2019. 828 0088 BB61 str r3, [r7, #24]
  2020. 829 .L29:
  2021. 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2022. 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2023. 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  2024. 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  2025. 830 .loc 1 1175 5
  2026. 831 008a FB68 ldr r3, [r7, #12]
  2027. 832 008c 0022 movs r2, #0
  2028. 833 008e 83F83C20 strb r2, [r3, #60]
  2029. 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2030. 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
  2031. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 36
  2032. 834 .loc 1 1177 11
  2033. 835 0092 2AE0 b .L30
  2034. 836 .L34:
  2035. 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2036. 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
  2037. 837 .loc 1 1179 11
  2038. 838 0094 3B68 ldr r3, [r7]
  2039. 839 0096 0093 str r3, [sp]
  2040. 840 0098 7B69 ldr r3, [r7, #20]
  2041. 841 009a 0022 movs r2, #0
  2042. 842 009c 8021 movs r1, #128
  2043. 843 009e F868 ldr r0, [r7, #12]
  2044. 844 00a0 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  2045. 845 00a4 0346 mov r3, r0
  2046. 846 .loc 1 1179 10
  2047. 847 00a6 002B cmp r3, #0
  2048. 848 00a8 01D0 beq .L31
  2049. 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2050. 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  2051. 849 .loc 1 1181 16
  2052. 850 00aa 0323 movs r3, #3
  2053. 851 00ac 36E0 b .L26
  2054. 852 .L31:
  2055. 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2056. 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
  2057. 853 .loc 1 1183 10
  2058. 854 00ae FB69 ldr r3, [r7, #28]
  2059. 855 00b0 002B cmp r3, #0
  2060. 856 00b2 0BD1 bne .L32
  2061. 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2062. 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*pdata16bits & 0x01FFU);
  2063. 857 .loc 1 1185 42
  2064. 858 00b4 BB69 ldr r3, [r7, #24]
  2065. 859 00b6 1B88 ldrh r3, [r3]
  2066. 860 .loc 1 1185 31
  2067. 861 00b8 1A46 mov r2, r3
  2068. 862 .loc 1 1185 14
  2069. 863 00ba FB68 ldr r3, [r7, #12]
  2070. 864 00bc 1B68 ldr r3, [r3]
  2071. 865 .loc 1 1185 31
  2072. 866 00be C2F30802 ubfx r2, r2, #0, #9
  2073. 867 .loc 1 1185 29
  2074. 868 00c2 5A60 str r2, [r3, #4]
  2075. 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
  2076. 869 .loc 1 1186 20
  2077. 870 00c4 BB69 ldr r3, [r7, #24]
  2078. 871 00c6 0233 adds r3, r3, #2
  2079. 872 00c8 BB61 str r3, [r7, #24]
  2080. 873 00ca 07E0 b .L33
  2081. 874 .L32:
  2082. 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2083. 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2084. 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2085. 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*pdata8bits & 0xFFU);
  2086. 875 .loc 1 1190 41
  2087. 876 00cc FB69 ldr r3, [r7, #28]
  2088. 877 00ce 1A78 ldrb r2, [r3] @ zero_extendqisi2
  2089. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 37
  2090. 878 .loc 1 1190 14
  2091. 879 00d0 FB68 ldr r3, [r7, #12]
  2092. 880 00d2 1B68 ldr r3, [r3]
  2093. 881 .loc 1 1190 29
  2094. 882 00d4 5A60 str r2, [r3, #4]
  2095. 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
  2096. 883 .loc 1 1191 19
  2097. 884 00d6 FB69 ldr r3, [r7, #28]
  2098. 885 00d8 0133 adds r3, r3, #1
  2099. 886 00da FB61 str r3, [r7, #28]
  2100. 887 .L33:
  2101. 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2102. 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount--;
  2103. 888 .loc 1 1193 12
  2104. 889 00dc FB68 ldr r3, [r7, #12]
  2105. 890 00de DB8C ldrh r3, [r3, #38] @ movhi
  2106. 891 00e0 9BB2 uxth r3, r3
  2107. 892 .loc 1 1193 25
  2108. 893 00e2 013B subs r3, r3, #1
  2109. 894 00e4 9AB2 uxth r2, r3
  2110. 895 00e6 FB68 ldr r3, [r7, #12]
  2111. 896 00e8 DA84 strh r2, [r3, #38] @ movhi
  2112. 897 .L30:
  2113. 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2114. 898 .loc 1 1177 17
  2115. 899 00ea FB68 ldr r3, [r7, #12]
  2116. 900 00ec DB8C ldrh r3, [r3, #38] @ movhi
  2117. 901 00ee 9BB2 uxth r3, r3
  2118. 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2119. 902 .loc 1 1177 11
  2120. 903 00f0 002B cmp r3, #0
  2121. 904 00f2 CFD1 bne .L34
  2122. 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2123. 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2124. 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
  2125. 905 .loc 1 1196 9
  2126. 906 00f4 3B68 ldr r3, [r7]
  2127. 907 00f6 0093 str r3, [sp]
  2128. 908 00f8 7B69 ldr r3, [r7, #20]
  2129. 909 00fa 0022 movs r2, #0
  2130. 910 00fc 4021 movs r1, #64
  2131. 911 00fe F868 ldr r0, [r7, #12]
  2132. 912 0100 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  2133. 913 0104 0346 mov r3, r0
  2134. 914 .loc 1 1196 8
  2135. 915 0106 002B cmp r3, #0
  2136. 916 0108 01D0 beq .L35
  2137. 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2138. 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  2139. 917 .loc 1 1198 14
  2140. 918 010a 0323 movs r3, #3
  2141. 919 010c 06E0 b .L26
  2142. 920 .L35:
  2143. 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2144. 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2145. 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
  2146. 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  2147. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 38
  2148. 921 .loc 1 1202 19
  2149. 922 010e FB68 ldr r3, [r7, #12]
  2150. 923 0110 2022 movs r2, #32
  2151. 924 0112 83F83D20 strb r2, [r3, #61]
  2152. 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2153. 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  2154. 925 .loc 1 1204 12
  2155. 926 0116 0023 movs r3, #0
  2156. 927 0118 00E0 b .L26
  2157. 928 .L23:
  2158. 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2159. 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2160. 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2161. 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  2162. 929 .loc 1 1208 12
  2163. 930 011a 0223 movs r3, #2
  2164. 931 .L26:
  2165. 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2166. 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2167. 932 .loc 1 1210 1
  2168. 933 011c 1846 mov r0, r3
  2169. 934 011e 2037 adds r7, r7, #32
  2170. 935 .LCFI40:
  2171. 936 .cfi_def_cfa_offset 8
  2172. 937 0120 BD46 mov sp, r7
  2173. 938 .LCFI41:
  2174. 939 .cfi_def_cfa_register 13
  2175. 940 @ sp needed
  2176. 941 0122 80BD pop {r7, pc}
  2177. 942 .cfi_endproc
  2178. 943 .LFE242:
  2179. 945 .section .text.HAL_UART_Receive,"ax",%progbits
  2180. 946 .align 1
  2181. 947 .global HAL_UART_Receive
  2182. 948 .syntax unified
  2183. 949 .thumb
  2184. 950 .thumb_func
  2185. 952 HAL_UART_Receive:
  2186. 953 .LFB243:
  2187. 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2188. 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  2189. 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in blocking mode.
  2190. 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  2191. 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
  2192. 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
  2193. 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  2194. 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  2195. 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  2196. 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  2197. 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
  2198. 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  2199. 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  2200. 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
  2201. 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2202. 954 .loc 1 1225 1
  2203. 955 .cfi_startproc
  2204. 956 @ args = 0, pretend = 0, frame = 32
  2205. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 39
  2206. 957 @ frame_needed = 1, uses_anonymous_args = 0
  2207. 958 0000 80B5 push {r7, lr}
  2208. 959 .LCFI42:
  2209. 960 .cfi_def_cfa_offset 8
  2210. 961 .cfi_offset 7, -8
  2211. 962 .cfi_offset 14, -4
  2212. 963 0002 8AB0 sub sp, sp, #40
  2213. 964 .LCFI43:
  2214. 965 .cfi_def_cfa_offset 48
  2215. 966 0004 02AF add r7, sp, #8
  2216. 967 .LCFI44:
  2217. 968 .cfi_def_cfa 7, 40
  2218. 969 0006 F860 str r0, [r7, #12]
  2219. 970 0008 B960 str r1, [r7, #8]
  2220. 971 000a 3B60 str r3, [r7]
  2221. 972 000c 1346 mov r3, r2 @ movhi
  2222. 973 000e FB80 strh r3, [r7, #6] @ movhi
  2223. 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
  2224. 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
  2225. 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
  2226. 974 .loc 1 1228 12
  2227. 975 0010 0023 movs r3, #0
  2228. 976 0012 7B61 str r3, [r7, #20]
  2229. 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2230. 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  2231. 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  2232. 977 .loc 1 1231 12
  2233. 978 0014 FB68 ldr r3, [r7, #12]
  2234. 979 0016 93F83E30 ldrb r3, [r3, #62]
  2235. 980 001a DBB2 uxtb r3, r3
  2236. 981 .loc 1 1231 6
  2237. 982 001c 202B cmp r3, #32
  2238. 983 001e 40F08C80 bne .L37
  2239. 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2240. 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  2241. 984 .loc 1 1233 8
  2242. 985 0022 BB68 ldr r3, [r7, #8]
  2243. 986 0024 002B cmp r3, #0
  2244. 987 0026 02D0 beq .L38
  2245. 988 .loc 1 1233 25 discriminator 1
  2246. 989 0028 FB88 ldrh r3, [r7, #6]
  2247. 990 002a 002B cmp r3, #0
  2248. 991 002c 01D1 bne .L39
  2249. 992 .L38:
  2250. 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2251. 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  2252. 993 .loc 1 1235 15
  2253. 994 002e 0123 movs r3, #1
  2254. 995 0030 84E0 b .L40
  2255. 996 .L39:
  2256. 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2257. 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2258. 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  2259. 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  2260. 997 .loc 1 1239 5
  2261. 998 0032 FB68 ldr r3, [r7, #12]
  2262. 999 0034 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  2263. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 40
  2264. 1000 0038 012B cmp r3, #1
  2265. 1001 003a 01D1 bne .L41
  2266. 1002 .loc 1 1239 5 is_stmt 0 discriminator 1
  2267. 1003 003c 0223 movs r3, #2
  2268. 1004 003e 7DE0 b .L40
  2269. 1005 .L41:
  2270. 1006 .loc 1 1239 5 discriminator 2
  2271. 1007 0040 FB68 ldr r3, [r7, #12]
  2272. 1008 0042 0122 movs r2, #1
  2273. 1009 0044 83F83C20 strb r2, [r3, #60]
  2274. 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2275. 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  2276. 1010 .loc 1 1241 22 is_stmt 1 discriminator 2
  2277. 1011 0048 FB68 ldr r3, [r7, #12]
  2278. 1012 004a 0022 movs r2, #0
  2279. 1013 004c 1A64 str r2, [r3, #64]
  2280. 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
  2281. 1014 .loc 1 1242 20 discriminator 2
  2282. 1015 004e FB68 ldr r3, [r7, #12]
  2283. 1016 0050 2222 movs r2, #34
  2284. 1017 0052 83F83E20 strb r2, [r3, #62]
  2285. 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  2286. 1018 .loc 1 1243 26 discriminator 2
  2287. 1019 0056 FB68 ldr r3, [r7, #12]
  2288. 1020 0058 0022 movs r2, #0
  2289. 1021 005a 1A63 str r2, [r3, #48]
  2290. 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2291. 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
  2292. 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
  2293. 1022 .loc 1 1246 17 discriminator 2
  2294. 1023 005c FFF7FEFF bl HAL_GetTick
  2295. 1024 0060 7861 str r0, [r7, #20]
  2296. 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2297. 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
  2298. 1025 .loc 1 1248 23 discriminator 2
  2299. 1026 0062 FB68 ldr r3, [r7, #12]
  2300. 1027 0064 FA88 ldrh r2, [r7, #6] @ movhi
  2301. 1028 0066 9A85 strh r2, [r3, #44] @ movhi
  2302. 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
  2303. 1029 .loc 1 1249 24 discriminator 2
  2304. 1030 0068 FB68 ldr r3, [r7, #12]
  2305. 1031 006a FA88 ldrh r2, [r7, #6] @ movhi
  2306. 1032 006c DA85 strh r2, [r3, #46] @ movhi
  2307. 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2308. 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
  2309. 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  2310. 1033 .loc 1 1252 21 discriminator 2
  2311. 1034 006e FB68 ldr r3, [r7, #12]
  2312. 1035 0070 9B68 ldr r3, [r3, #8]
  2313. 1036 .loc 1 1252 8 discriminator 2
  2314. 1037 0072 B3F5805F cmp r3, #4096
  2315. 1038 0076 08D1 bne .L42
  2316. 1039 .loc 1 1252 71 discriminator 1
  2317. 1040 0078 FB68 ldr r3, [r7, #12]
  2318. 1041 007a 1B69 ldr r3, [r3, #16]
  2319. 1042 .loc 1 1252 56 discriminator 1
  2320. 1043 007c 002B cmp r3, #0
  2321. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 41
  2322. 1044 007e 04D1 bne .L42
  2323. 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2324. 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
  2325. 1045 .loc 1 1254 19
  2326. 1046 0080 0023 movs r3, #0
  2327. 1047 0082 FB61 str r3, [r7, #28]
  2328. 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
  2329. 1048 .loc 1 1255 19
  2330. 1049 0084 BB68 ldr r3, [r7, #8]
  2331. 1050 0086 BB61 str r3, [r7, #24]
  2332. 1051 0088 03E0 b .L43
  2333. 1052 .L42:
  2334. 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2335. 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2336. 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2337. 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
  2338. 1053 .loc 1 1259 19
  2339. 1054 008a BB68 ldr r3, [r7, #8]
  2340. 1055 008c FB61 str r3, [r7, #28]
  2341. 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
  2342. 1056 .loc 1 1260 19
  2343. 1057 008e 0023 movs r3, #0
  2344. 1058 0090 BB61 str r3, [r7, #24]
  2345. 1059 .L43:
  2346. 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2347. 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2348. 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  2349. 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  2350. 1060 .loc 1 1264 5
  2351. 1061 0092 FB68 ldr r3, [r7, #12]
  2352. 1062 0094 0022 movs r2, #0
  2353. 1063 0096 83F83C20 strb r2, [r3, #60]
  2354. 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2355. 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the remain data to be received */
  2356. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
  2357. 1064 .loc 1 1267 11
  2358. 1065 009a 43E0 b .L44
  2359. 1066 .L51:
  2360. 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2361. 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
  2362. 1067 .loc 1 1269 11
  2363. 1068 009c 3B68 ldr r3, [r7]
  2364. 1069 009e 0093 str r3, [sp]
  2365. 1070 00a0 7B69 ldr r3, [r7, #20]
  2366. 1071 00a2 0022 movs r2, #0
  2367. 1072 00a4 2021 movs r1, #32
  2368. 1073 00a6 F868 ldr r0, [r7, #12]
  2369. 1074 00a8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
  2370. 1075 00ac 0346 mov r3, r0
  2371. 1076 .loc 1 1269 10
  2372. 1077 00ae 002B cmp r3, #0
  2373. 1078 00b0 01D0 beq .L45
  2374. 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2375. 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  2376. 1079 .loc 1 1271 16
  2377. 1080 00b2 0323 movs r3, #3
  2378. 1081 00b4 42E0 b .L40
  2379. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 42
  2380. 1082 .L45:
  2381. 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2382. 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
  2383. 1083 .loc 1 1273 10
  2384. 1084 00b6 FB69 ldr r3, [r7, #28]
  2385. 1085 00b8 002B cmp r3, #0
  2386. 1086 00ba 0CD1 bne .L46
  2387. 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2388. 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & 0x01FF);
  2389. 1087 .loc 1 1275 40
  2390. 1088 00bc FB68 ldr r3, [r7, #12]
  2391. 1089 00be 1B68 ldr r3, [r3]
  2392. 1090 .loc 1 1275 50
  2393. 1091 00c0 5B68 ldr r3, [r3, #4]
  2394. 1092 .loc 1 1275 24
  2395. 1093 00c2 9BB2 uxth r3, r3
  2396. 1094 00c4 C3F30803 ubfx r3, r3, #0, #9
  2397. 1095 00c8 9AB2 uxth r2, r3
  2398. 1096 .loc 1 1275 22
  2399. 1097 00ca BB69 ldr r3, [r7, #24]
  2400. 1098 00cc 1A80 strh r2, [r3] @ movhi
  2401. 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
  2402. 1099 .loc 1 1276 20
  2403. 1100 00ce BB69 ldr r3, [r7, #24]
  2404. 1101 00d0 0233 adds r3, r3, #2
  2405. 1102 00d2 BB61 str r3, [r7, #24]
  2406. 1103 00d4 1FE0 b .L47
  2407. 1104 .L46:
  2408. 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2409. 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2410. 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2411. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORD
  2412. 1105 .loc 1 1280 25
  2413. 1106 00d6 FB68 ldr r3, [r7, #12]
  2414. 1107 00d8 9B68 ldr r3, [r3, #8]
  2415. 1108 .loc 1 1280 12
  2416. 1109 00da B3F5805F cmp r3, #4096
  2417. 1110 00de 07D0 beq .L48
  2418. 1111 .loc 1 1280 76 discriminator 1
  2419. 1112 00e0 FB68 ldr r3, [r7, #12]
  2420. 1113 00e2 9B68 ldr r3, [r3, #8]
  2421. 1114 .loc 1 1280 60 discriminator 1
  2422. 1115 00e4 002B cmp r3, #0
  2423. 1116 00e6 0AD1 bne .L49
  2424. 1117 .loc 1 1280 126 discriminator 2
  2425. 1118 00e8 FB68 ldr r3, [r7, #12]
  2426. 1119 00ea 1B69 ldr r3, [r3, #16]
  2427. 1120 .loc 1 1280 111 discriminator 2
  2428. 1121 00ec 002B cmp r3, #0
  2429. 1122 00ee 06D1 bne .L49
  2430. 1123 .L48:
  2431. 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2432. 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
  2433. 1124 .loc 1 1282 40
  2434. 1125 00f0 FB68 ldr r3, [r7, #12]
  2435. 1126 00f2 1B68 ldr r3, [r3]
  2436. 1127 .loc 1 1282 50
  2437. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 43
  2438. 1128 00f4 5B68 ldr r3, [r3, #4]
  2439. 1129 .loc 1 1282 25
  2440. 1130 00f6 DAB2 uxtb r2, r3
  2441. 1131 .loc 1 1282 23
  2442. 1132 00f8 FB69 ldr r3, [r7, #28]
  2443. 1133 00fa 1A70 strb r2, [r3]
  2444. 1134 00fc 08E0 b .L50
  2445. 1135 .L49:
  2446. 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2447. 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2448. 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2449. 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
  2450. 1136 .loc 1 1286 40
  2451. 1137 00fe FB68 ldr r3, [r7, #12]
  2452. 1138 0100 1B68 ldr r3, [r3]
  2453. 1139 .loc 1 1286 50
  2454. 1140 0102 5B68 ldr r3, [r3, #4]
  2455. 1141 .loc 1 1286 25
  2456. 1142 0104 DBB2 uxtb r3, r3
  2457. 1143 0106 03F07F03 and r3, r3, #127
  2458. 1144 010a DAB2 uxtb r2, r3
  2459. 1145 .loc 1 1286 23
  2460. 1146 010c FB69 ldr r3, [r7, #28]
  2461. 1147 010e 1A70 strb r2, [r3]
  2462. 1148 .L50:
  2463. 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2464. 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
  2465. 1149 .loc 1 1288 19
  2466. 1150 0110 FB69 ldr r3, [r7, #28]
  2467. 1151 0112 0133 adds r3, r3, #1
  2468. 1152 0114 FB61 str r3, [r7, #28]
  2469. 1153 .L47:
  2470. 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2471. 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
  2472. 1154 .loc 1 1290 12
  2473. 1155 0116 FB68 ldr r3, [r7, #12]
  2474. 1156 0118 DB8D ldrh r3, [r3, #46] @ movhi
  2475. 1157 011a 9BB2 uxth r3, r3
  2476. 1158 .loc 1 1290 25
  2477. 1159 011c 013B subs r3, r3, #1
  2478. 1160 011e 9AB2 uxth r2, r3
  2479. 1161 0120 FB68 ldr r3, [r7, #12]
  2480. 1162 0122 DA85 strh r2, [r3, #46] @ movhi
  2481. 1163 .L44:
  2482. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2483. 1164 .loc 1 1267 17
  2484. 1165 0124 FB68 ldr r3, [r7, #12]
  2485. 1166 0126 DB8D ldrh r3, [r3, #46] @ movhi
  2486. 1167 0128 9BB2 uxth r3, r3
  2487. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2488. 1168 .loc 1 1267 11
  2489. 1169 012a 002B cmp r3, #0
  2490. 1170 012c B6D1 bne .L51
  2491. 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2492. 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2493. 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  2494. 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  2495. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 44
  2496. 1171 .loc 1 1294 20
  2497. 1172 012e FB68 ldr r3, [r7, #12]
  2498. 1173 0130 2022 movs r2, #32
  2499. 1174 0132 83F83E20 strb r2, [r3, #62]
  2500. 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2501. 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  2502. 1175 .loc 1 1296 12
  2503. 1176 0136 0023 movs r3, #0
  2504. 1177 0138 00E0 b .L40
  2505. 1178 .L37:
  2506. 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2507. 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2508. 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2509. 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  2510. 1179 .loc 1 1300 12
  2511. 1180 013a 0223 movs r3, #2
  2512. 1181 .L40:
  2513. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2514. 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2515. 1182 .loc 1 1302 1
  2516. 1183 013c 1846 mov r0, r3
  2517. 1184 013e 2037 adds r7, r7, #32
  2518. 1185 .LCFI45:
  2519. 1186 .cfi_def_cfa_offset 8
  2520. 1187 0140 BD46 mov sp, r7
  2521. 1188 .LCFI46:
  2522. 1189 .cfi_def_cfa_register 13
  2523. 1190 @ sp needed
  2524. 1191 0142 80BD pop {r7, pc}
  2525. 1192 .cfi_endproc
  2526. 1193 .LFE243:
  2527. 1195 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
  2528. 1196 .align 1
  2529. 1197 .global HAL_UART_Transmit_IT
  2530. 1198 .syntax unified
  2531. 1199 .thumb
  2532. 1200 .thumb_func
  2533. 1202 HAL_UART_Transmit_IT:
  2534. 1203 .LFB244:
  2535. 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2536. 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  2537. 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
  2538. 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  2539. 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
  2540. 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
  2541. 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  2542. 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  2543. 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  2544. 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
  2545. 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  2546. 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  2547. 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si
  2548. 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2549. 1204 .loc 1 1316 1
  2550. 1205 .cfi_startproc
  2551. 1206 @ args = 0, pretend = 0, frame = 16
  2552. 1207 @ frame_needed = 1, uses_anonymous_args = 0
  2553. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 45
  2554. 1208 @ link register save eliminated.
  2555. 1209 0000 80B4 push {r7}
  2556. 1210 .LCFI47:
  2557. 1211 .cfi_def_cfa_offset 4
  2558. 1212 .cfi_offset 7, -4
  2559. 1213 0002 85B0 sub sp, sp, #20
  2560. 1214 .LCFI48:
  2561. 1215 .cfi_def_cfa_offset 24
  2562. 1216 0004 00AF add r7, sp, #0
  2563. 1217 .LCFI49:
  2564. 1218 .cfi_def_cfa_register 7
  2565. 1219 0006 F860 str r0, [r7, #12]
  2566. 1220 0008 B960 str r1, [r7, #8]
  2567. 1221 000a 1346 mov r3, r2
  2568. 1222 000c FB80 strh r3, [r7, #6] @ movhi
  2569. 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
  2570. 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  2571. 1223 .loc 1 1318 12
  2572. 1224 000e FB68 ldr r3, [r7, #12]
  2573. 1225 0010 93F83D30 ldrb r3, [r3, #61]
  2574. 1226 0014 DBB2 uxtb r3, r3
  2575. 1227 .loc 1 1318 6
  2576. 1228 0016 202B cmp r3, #32
  2577. 1229 0018 30D1 bne .L53
  2578. 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2579. 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  2580. 1230 .loc 1 1320 8
  2581. 1231 001a BB68 ldr r3, [r7, #8]
  2582. 1232 001c 002B cmp r3, #0
  2583. 1233 001e 02D0 beq .L54
  2584. 1234 .loc 1 1320 25 discriminator 1
  2585. 1235 0020 FB88 ldrh r3, [r7, #6]
  2586. 1236 0022 002B cmp r3, #0
  2587. 1237 0024 01D1 bne .L55
  2588. 1238 .L54:
  2589. 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2590. 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  2591. 1239 .loc 1 1322 14
  2592. 1240 0026 0123 movs r3, #1
  2593. 1241 0028 29E0 b .L56
  2594. 1242 .L55:
  2595. 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2596. 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2597. 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  2598. 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  2599. 1243 .loc 1 1326 5
  2600. 1244 002a FB68 ldr r3, [r7, #12]
  2601. 1245 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  2602. 1246 0030 012B cmp r3, #1
  2603. 1247 0032 01D1 bne .L57
  2604. 1248 .loc 1 1326 5 is_stmt 0 discriminator 1
  2605. 1249 0034 0223 movs r3, #2
  2606. 1250 0036 22E0 b .L56
  2607. 1251 .L57:
  2608. 1252 .loc 1 1326 5 discriminator 2
  2609. 1253 0038 FB68 ldr r3, [r7, #12]
  2610. 1254 003a 0122 movs r2, #1
  2611. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 46
  2612. 1255 003c 83F83C20 strb r2, [r3, #60]
  2613. 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2614. 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
  2615. 1256 .loc 1 1328 23 is_stmt 1 discriminator 2
  2616. 1257 0040 FB68 ldr r3, [r7, #12]
  2617. 1258 0042 BA68 ldr r2, [r7, #8]
  2618. 1259 0044 1A62 str r2, [r3, #32]
  2619. 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
  2620. 1260 .loc 1 1329 23 discriminator 2
  2621. 1261 0046 FB68 ldr r3, [r7, #12]
  2622. 1262 0048 FA88 ldrh r2, [r7, #6] @ movhi
  2623. 1263 004a 9A84 strh r2, [r3, #36] @ movhi
  2624. 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
  2625. 1264 .loc 1 1330 24 discriminator 2
  2626. 1265 004c FB68 ldr r3, [r7, #12]
  2627. 1266 004e FA88 ldrh r2, [r7, #6] @ movhi
  2628. 1267 0050 DA84 strh r2, [r3, #38] @ movhi
  2629. 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2630. 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  2631. 1268 .loc 1 1332 22 discriminator 2
  2632. 1269 0052 FB68 ldr r3, [r7, #12]
  2633. 1270 0054 0022 movs r2, #0
  2634. 1271 0056 1A64 str r2, [r3, #64]
  2635. 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
  2636. 1272 .loc 1 1333 19 discriminator 2
  2637. 1273 0058 FB68 ldr r3, [r7, #12]
  2638. 1274 005a 2122 movs r2, #33
  2639. 1275 005c 83F83D20 strb r2, [r3, #61]
  2640. 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2641. 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  2642. 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  2643. 1276 .loc 1 1336 5 discriminator 2
  2644. 1277 0060 FB68 ldr r3, [r7, #12]
  2645. 1278 0062 0022 movs r2, #0
  2646. 1279 0064 83F83C20 strb r2, [r3, #60]
  2647. 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2648. 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit data register empty Interrupt */
  2649. 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
  2650. 1280 .loc 1 1339 5 discriminator 2
  2651. 1281 0068 FB68 ldr r3, [r7, #12]
  2652. 1282 006a 1B68 ldr r3, [r3]
  2653. 1283 006c DA68 ldr r2, [r3, #12]
  2654. 1284 006e FB68 ldr r3, [r7, #12]
  2655. 1285 0070 1B68 ldr r3, [r3]
  2656. 1286 0072 42F08002 orr r2, r2, #128
  2657. 1287 0076 DA60 str r2, [r3, #12]
  2658. 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2659. 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  2660. 1288 .loc 1 1341 12 discriminator 2
  2661. 1289 0078 0023 movs r3, #0
  2662. 1290 007a 00E0 b .L56
  2663. 1291 .L53:
  2664. 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2665. 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2666. 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2667. 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  2668. 1292 .loc 1 1345 12
  2669. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 47
  2670. 1293 007c 0223 movs r3, #2
  2671. 1294 .L56:
  2672. 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2673. 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2674. 1295 .loc 1 1347 1
  2675. 1296 007e 1846 mov r0, r3
  2676. 1297 0080 1437 adds r7, r7, #20
  2677. 1298 .LCFI50:
  2678. 1299 .cfi_def_cfa_offset 4
  2679. 1300 0082 BD46 mov sp, r7
  2680. 1301 .LCFI51:
  2681. 1302 .cfi_def_cfa_register 13
  2682. 1303 @ sp needed
  2683. 1304 0084 5DF8047B ldr r7, [sp], #4
  2684. 1305 .LCFI52:
  2685. 1306 .cfi_restore 7
  2686. 1307 .cfi_def_cfa_offset 0
  2687. 1308 0088 7047 bx lr
  2688. 1309 .cfi_endproc
  2689. 1310 .LFE244:
  2690. 1312 .section .text.HAL_UART_Receive_IT,"ax",%progbits
  2691. 1313 .align 1
  2692. 1314 .global HAL_UART_Receive_IT
  2693. 1315 .syntax unified
  2694. 1316 .thumb
  2695. 1317 .thumb_func
  2696. 1319 HAL_UART_Receive_IT:
  2697. 1320 .LFB245:
  2698. 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2699. 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  2700. 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode.
  2701. 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  2702. 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
  2703. 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
  2704. 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  2705. 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  2706. 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  2707. 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  2708. 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  2709. 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  2710. 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  2711. 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2712. 1321 .loc 1 1361 1
  2713. 1322 .cfi_startproc
  2714. 1323 @ args = 0, pretend = 0, frame = 16
  2715. 1324 @ frame_needed = 1, uses_anonymous_args = 0
  2716. 1325 0000 80B5 push {r7, lr}
  2717. 1326 .LCFI53:
  2718. 1327 .cfi_def_cfa_offset 8
  2719. 1328 .cfi_offset 7, -8
  2720. 1329 .cfi_offset 14, -4
  2721. 1330 0002 84B0 sub sp, sp, #16
  2722. 1331 .LCFI54:
  2723. 1332 .cfi_def_cfa_offset 24
  2724. 1333 0004 00AF add r7, sp, #0
  2725. 1334 .LCFI55:
  2726. 1335 .cfi_def_cfa_register 7
  2727. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 48
  2728. 1336 0006 F860 str r0, [r7, #12]
  2729. 1337 0008 B960 str r1, [r7, #8]
  2730. 1338 000a 1346 mov r3, r2
  2731. 1339 000c FB80 strh r3, [r7, #6] @ movhi
  2732. 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  2733. 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  2734. 1340 .loc 1 1363 12
  2735. 1341 000e FB68 ldr r3, [r7, #12]
  2736. 1342 0010 93F83E30 ldrb r3, [r3, #62]
  2737. 1343 0014 DBB2 uxtb r3, r3
  2738. 1344 .loc 1 1363 6
  2739. 1345 0016 202B cmp r3, #32
  2740. 1346 0018 1DD1 bne .L59
  2741. 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2742. 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  2743. 1347 .loc 1 1365 8
  2744. 1348 001a BB68 ldr r3, [r7, #8]
  2745. 1349 001c 002B cmp r3, #0
  2746. 1350 001e 02D0 beq .L60
  2747. 1351 .loc 1 1365 25 discriminator 1
  2748. 1352 0020 FB88 ldrh r3, [r7, #6]
  2749. 1353 0022 002B cmp r3, #0
  2750. 1354 0024 01D1 bne .L61
  2751. 1355 .L60:
  2752. 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2753. 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  2754. 1356 .loc 1 1367 14
  2755. 1357 0026 0123 movs r3, #1
  2756. 1358 0028 16E0 b .L62
  2757. 1359 .L61:
  2758. 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2759. 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2760. 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  2761. 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  2762. 1360 .loc 1 1371 5
  2763. 1361 002a FB68 ldr r3, [r7, #12]
  2764. 1362 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  2765. 1363 0030 012B cmp r3, #1
  2766. 1364 0032 01D1 bne .L63
  2767. 1365 .loc 1 1371 5 is_stmt 0 discriminator 1
  2768. 1366 0034 0223 movs r3, #2
  2769. 1367 0036 0FE0 b .L62
  2770. 1368 .L63:
  2771. 1369 .loc 1 1371 5 discriminator 2
  2772. 1370 0038 FB68 ldr r3, [r7, #12]
  2773. 1371 003a 0122 movs r2, #1
  2774. 1372 003c 83F83C20 strb r2, [r3, #60]
  2775. 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2776. 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */
  2777. 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  2778. 1373 .loc 1 1374 26 is_stmt 1 discriminator 2
  2779. 1374 0040 FB68 ldr r3, [r7, #12]
  2780. 1375 0042 0022 movs r2, #0
  2781. 1376 0044 1A63 str r2, [r3, #48]
  2782. 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2783. 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
  2784. 1377 .loc 1 1376 13 discriminator 2
  2785. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 49
  2786. 1378 0046 FB88 ldrh r3, [r7, #6]
  2787. 1379 0048 1A46 mov r2, r3
  2788. 1380 004a B968 ldr r1, [r7, #8]
  2789. 1381 004c F868 ldr r0, [r7, #12]
  2790. 1382 004e FFF7FEFF bl UART_Start_Receive_IT
  2791. 1383 0052 0346 mov r3, r0
  2792. 1384 0054 00E0 b .L62
  2793. 1385 .L59:
  2794. 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2795. 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  2796. 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2797. 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  2798. 1386 .loc 1 1380 12
  2799. 1387 0056 0223 movs r3, #2
  2800. 1388 .L62:
  2801. 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2802. 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2803. 1389 .loc 1 1382 1
  2804. 1390 0058 1846 mov r0, r3
  2805. 1391 005a 1037 adds r7, r7, #16
  2806. 1392 .LCFI56:
  2807. 1393 .cfi_def_cfa_offset 8
  2808. 1394 005c BD46 mov sp, r7
  2809. 1395 .LCFI57:
  2810. 1396 .cfi_def_cfa_register 13
  2811. 1397 @ sp needed
  2812. 1398 005e 80BD pop {r7, pc}
  2813. 1399 .cfi_endproc
  2814. 1400 .LFE245:
  2815. 1402 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
  2816. 1403 .align 1
  2817. 1404 .global HAL_UART_Transmit_DMA
  2818. 1405 .syntax unified
  2819. 1406 .thumb
  2820. 1407 .thumb_func
  2821. 1409 HAL_UART_Transmit_DMA:
  2822. 1410 .LFB246:
  2823. 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2824. 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  2825. 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in DMA mode.
  2826. 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  2827. 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
  2828. 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
  2829. 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  2830. 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  2831. 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  2832. 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
  2833. 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  2834. 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  2835. 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S
  2836. 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2837. 1411 .loc 1 1396 1
  2838. 1412 .cfi_startproc
  2839. 1413 @ args = 0, pretend = 0, frame = 48
  2840. 1414 @ frame_needed = 1, uses_anonymous_args = 0
  2841. 1415 0000 80B5 push {r7, lr}
  2842. 1416 .LCFI58:
  2843. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 50
  2844. 1417 .cfi_def_cfa_offset 8
  2845. 1418 .cfi_offset 7, -8
  2846. 1419 .cfi_offset 14, -4
  2847. 1420 0002 8CB0 sub sp, sp, #48
  2848. 1421 .LCFI59:
  2849. 1422 .cfi_def_cfa_offset 56
  2850. 1423 0004 00AF add r7, sp, #0
  2851. 1424 .LCFI60:
  2852. 1425 .cfi_def_cfa_register 7
  2853. 1426 0006 F860 str r0, [r7, #12]
  2854. 1427 0008 B960 str r1, [r7, #8]
  2855. 1428 000a 1346 mov r3, r2
  2856. 1429 000c FB80 strh r3, [r7, #6] @ movhi
  2857. 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp;
  2858. 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2859. 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
  2860. 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
  2861. 1430 .loc 1 1400 12
  2862. 1431 000e FB68 ldr r3, [r7, #12]
  2863. 1432 0010 93F83D30 ldrb r3, [r3, #61]
  2864. 1433 0014 DBB2 uxtb r3, r3
  2865. 1434 .loc 1 1400 6
  2866. 1435 0016 202B cmp r3, #32
  2867. 1436 0018 65D1 bne .L65
  2868. 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2869. 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  2870. 1437 .loc 1 1402 16
  2871. 1438 001a BB68 ldr r3, [r7, #8]
  2872. 1439 .loc 1 1402 8
  2873. 1440 001c 002B cmp r3, #0
  2874. 1441 001e 02D0 beq .L66
  2875. 1442 .loc 1 1402 25 discriminator 1
  2876. 1443 0020 FB88 ldrh r3, [r7, #6]
  2877. 1444 0022 002B cmp r3, #0
  2878. 1445 0024 01D1 bne .L67
  2879. 1446 .L66:
  2880. 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  2881. 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  2882. 1447 .loc 1 1404 14
  2883. 1448 0026 0123 movs r3, #1
  2884. 1449 0028 5EE0 b .L68
  2885. 1450 .L67:
  2886. 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  2887. 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2888. 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  2889. 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  2890. 1451 .loc 1 1408 5
  2891. 1452 002a FB68 ldr r3, [r7, #12]
  2892. 1453 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  2893. 1454 0030 012B cmp r3, #1
  2894. 1455 0032 01D1 bne .L69
  2895. 1456 .loc 1 1408 5 is_stmt 0 discriminator 1
  2896. 1457 0034 0223 movs r3, #2
  2897. 1458 0036 57E0 b .L68
  2898. 1459 .L69:
  2899. 1460 .loc 1 1408 5 discriminator 2
  2900. 1461 0038 FB68 ldr r3, [r7, #12]
  2901. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 51
  2902. 1462 003a 0122 movs r2, #1
  2903. 1463 003c 83F83C20 strb r2, [r3, #60]
  2904. 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2905. 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
  2906. 1464 .loc 1 1410 23 is_stmt 1 discriminator 2
  2907. 1465 0040 BA68 ldr r2, [r7, #8]
  2908. 1466 0042 FB68 ldr r3, [r7, #12]
  2909. 1467 0044 1A62 str r2, [r3, #32]
  2910. 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
  2911. 1468 .loc 1 1411 23 discriminator 2
  2912. 1469 0046 FB68 ldr r3, [r7, #12]
  2913. 1470 0048 FA88 ldrh r2, [r7, #6] @ movhi
  2914. 1471 004a 9A84 strh r2, [r3, #36] @ movhi
  2915. 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
  2916. 1472 .loc 1 1412 24 discriminator 2
  2917. 1473 004c FB68 ldr r3, [r7, #12]
  2918. 1474 004e FA88 ldrh r2, [r7, #6] @ movhi
  2919. 1475 0050 DA84 strh r2, [r3, #38] @ movhi
  2920. 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2921. 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  2922. 1476 .loc 1 1414 22 discriminator 2
  2923. 1477 0052 FB68 ldr r3, [r7, #12]
  2924. 1478 0054 0022 movs r2, #0
  2925. 1479 0056 1A64 str r2, [r3, #64]
  2926. 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
  2927. 1480 .loc 1 1415 19 discriminator 2
  2928. 1481 0058 FB68 ldr r3, [r7, #12]
  2929. 1482 005a 2122 movs r2, #33
  2930. 1483 005c 83F83D20 strb r2, [r3, #61]
  2931. 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2932. 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
  2933. 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
  2934. 1484 .loc 1 1418 10 discriminator 2
  2935. 1485 0060 FB68 ldr r3, [r7, #12]
  2936. 1486 0062 5B6B ldr r3, [r3, #52]
  2937. 1487 .loc 1 1418 37 discriminator 2
  2938. 1488 0064 224A ldr r2, .L73
  2939. 1489 0066 DA63 str r2, [r3, #60]
  2940. 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2941. 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
  2942. 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
  2943. 1490 .loc 1 1421 10 discriminator 2
  2944. 1491 0068 FB68 ldr r3, [r7, #12]
  2945. 1492 006a 5B6B ldr r3, [r3, #52]
  2946. 1493 .loc 1 1421 41 discriminator 2
  2947. 1494 006c 214A ldr r2, .L73+4
  2948. 1495 006e 1A64 str r2, [r3, #64]
  2949. 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2950. 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
  2951. 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
  2952. 1496 .loc 1 1424 10 discriminator 2
  2953. 1497 0070 FB68 ldr r3, [r7, #12]
  2954. 1498 0072 5B6B ldr r3, [r3, #52]
  2955. 1499 .loc 1 1424 38 discriminator 2
  2956. 1500 0074 204A ldr r2, .L73+8
  2957. 1501 0076 DA64 str r2, [r3, #76]
  2958. 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2959. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 52
  2960. 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
  2961. 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  2962. 1502 .loc 1 1427 10 discriminator 2
  2963. 1503 0078 FB68 ldr r3, [r7, #12]
  2964. 1504 007a 5B6B ldr r3, [r3, #52]
  2965. 1505 .loc 1 1427 38 discriminator 2
  2966. 1506 007c 0022 movs r2, #0
  2967. 1507 007e 1A65 str r2, [r3, #80]
  2968. 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2969. 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART transmit DMA stream */
  2970. 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint32_t *)&pData;
  2971. 1508 .loc 1 1430 9 discriminator 2
  2972. 1509 0080 07F10803 add r3, r7, #8
  2973. 1510 0084 FB62 str r3, [r7, #44]
  2974. 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(const uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
  2975. 1511 .loc 1 1431 5 discriminator 2
  2976. 1512 0086 FB68 ldr r3, [r7, #12]
  2977. 1513 0088 586B ldr r0, [r3, #52]
  2978. 1514 008a FB6A ldr r3, [r7, #44]
  2979. 1515 008c 1968 ldr r1, [r3]
  2980. 1516 .loc 1 1431 77 discriminator 2
  2981. 1517 008e FB68 ldr r3, [r7, #12]
  2982. 1518 0090 1B68 ldr r3, [r3]
  2983. 1519 .loc 1 1431 71 discriminator 2
  2984. 1520 0092 0433 adds r3, r3, #4
  2985. 1521 .loc 1 1431 5 discriminator 2
  2986. 1522 0094 1A46 mov r2, r3
  2987. 1523 0096 FB88 ldrh r3, [r7, #6]
  2988. 1524 0098 FFF7FEFF bl HAL_DMA_Start_IT
  2989. 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2990. 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the TC flag in the SR register by writing 0 to it */
  2991. 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC);
  2992. 1525 .loc 1 1434 5 discriminator 2
  2993. 1526 009c FB68 ldr r3, [r7, #12]
  2994. 1527 009e 1B68 ldr r3, [r3]
  2995. 1528 00a0 6FF04002 mvn r2, #64
  2996. 1529 00a4 1A60 str r2, [r3]
  2997. 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  2998. 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  2999. 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  3000. 1530 .loc 1 1437 5 discriminator 2
  3001. 1531 00a6 FB68 ldr r3, [r7, #12]
  3002. 1532 00a8 0022 movs r2, #0
  3003. 1533 00aa 83F83C20 strb r2, [r3, #60]
  3004. 1534 .L72:
  3005. 1535 .LBB320:
  3006. 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  3007. 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
  3008. 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
  3009. 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  3010. 1536 .loc 1 1441 5 discriminator 1
  3011. 1537 00ae FB68 ldr r3, [r7, #12]
  3012. 1538 00b0 1B68 ldr r3, [r3]
  3013. 1539 00b2 1433 adds r3, r3, #20
  3014. 1540 00b4 BB61 str r3, [r7, #24]
  3015. 1541 .LBB321:
  3016. 1542 .LBB322:
  3017. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 53
  3018. 1543 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  3019. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  3020. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  3021. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  3022. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  3023. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  3024. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  3025. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  3026. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  3027. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3028. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  3029. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3030. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  3031. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  3032. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  3033. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3034. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  3035. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3036. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  3037. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  3038. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3039. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  3040. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  3041. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3042. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3043. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  3044. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  3045. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3046. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  3047. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3048. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  3049. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  3050. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  3051. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3052. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  3053. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  3054. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  3055. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3056. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3057. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  3058. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  3059. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  3060. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3061. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  3062. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  3063. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3064. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  3065. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  3066. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3067. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  3068. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  3069. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3070. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  3071. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  3072. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3073. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  3074. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  3075. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 54
  3076. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3077. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  3078. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  3079. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3080. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  3081. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  3082. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3083. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  3084. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  3085. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3086. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  3087. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  3088. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3089. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  3090. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3091. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3092. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3093. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  3094. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3095. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  3096. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3097. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  3098. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3099. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3100. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3101. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  3102. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3103. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  3104. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3105. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  3106. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3107. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3108. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3109. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  3110. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3111. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  3112. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3113. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  3114. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3115. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3116. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3117. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  3118. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3119. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  3120. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3121. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  3122. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3123. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3124. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3125. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  3126. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3127. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  3128. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3129. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  3130. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  3131. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3132. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  3133. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 55
  3134. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  3135. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3136. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3137. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3138. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  3139. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  3140. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  3141. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  3142. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3143. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3144. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3145. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  3146. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  3147. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3148. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3149. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  3150. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3151. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  3152. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3153. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3154. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3155. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3156. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  3157. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  3158. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3159. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3160. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  3161. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3162. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  3163. 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3164. 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3165. 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3166. 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3167. 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
  3168. 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
  3169. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
  3170. 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3171. 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  3172. 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3173. 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3174. 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3175. 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
  3176. 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3177. 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3178. 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3179. 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3180. 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3181. 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3182. 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
  3183. 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
  3184. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
  3185. 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3186. 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  3187. 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3188. 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3189. 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3190. 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
  3191. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 56
  3192. 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3193. 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3194. 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3195. 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3196. 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3197. 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3198. 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
  3199. 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
  3200. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  3201. 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3202. 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  3203. 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3204. 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
  3205. 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3206. 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3207. 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3208. 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3209. 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3210. 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
  3211. 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
  3212. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  3213. 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3214. 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  3215. 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3216. 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
  3217. 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3218. 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3219. 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3220. 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3221. 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3222. 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
  3223. 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
  3224. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
  3225. 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3226. 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  3227. 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3228. 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3229. 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3230. 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
  3231. 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3232. 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3233. 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3234. 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3235. 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3236. 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
  3237. 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
  3238. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
  3239. 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3240. 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  3241. 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3242. 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3243. 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3244. 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
  3245. 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3246. 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3247. 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3248. 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3249. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 57
  3250. 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3251. 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
  3252. 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
  3253. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
  3254. 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3255. 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  3256. 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3257. 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3258. 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3259. 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
  3260. 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3261. 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3262. 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3263. 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3264. 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3265. 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
  3266. 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
  3267. 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  3268. 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3269. 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  3270. 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3271. 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3272. 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3273. 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
  3274. 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3275. 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3276. 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3277. 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3278. 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3279. 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3280. 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
  3281. 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
  3282. 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  3283. 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3284. 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  3285. 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3286. 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3287. 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3288. 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
  3289. 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3290. 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3291. 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3292. 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3293. 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3294. 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3295. 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
  3296. 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
  3297. 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  3298. 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3299. 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  3300. 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3301. 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
  3302. 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3303. 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3304. 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3305. 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3306. 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3307. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 58
  3308. 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  3309. 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
  3310. 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  3311. 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3312. 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  3313. 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3314. 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
  3315. 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3316. 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3317. 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3318. 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3319. 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3320. 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
  3321. 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
  3322. 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  3323. 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3324. 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  3325. 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3326. 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3327. 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3328. 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
  3329. 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3330. 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3331. 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3332. 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3333. 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3334. 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3335. 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
  3336. 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
  3337. 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  3338. 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3339. 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  3340. 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3341. 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3342. 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3343. 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
  3344. 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3345. 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3346. 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3347. 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3348. 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3349. 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3350. 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
  3351. 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
  3352. 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  3353. 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3354. 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  3355. 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3356. 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
  3357. 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3358. 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3359. 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3360. 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3361. 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3362. 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
  3363. 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
  3364. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  3365. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 59
  3366. 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3367. 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  3368. 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3369. 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
  3370. 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3371. 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3372. 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3373. 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3374. 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3375. 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3376. 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
  3377. 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
  3378. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
  3379. 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3380. 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  3381. 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3382. 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3383. 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3384. 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
  3385. 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3386. 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3387. 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3388. 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3389. 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3390. 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
  3391. 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
  3392. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
  3393. 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3394. 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  3395. 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3396. 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
  3397. 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3398. 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3399. 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3400. 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3401. 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3402. 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
  3403. 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
  3404. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  3405. 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3406. 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  3407. 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3408. 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3409. 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3410. 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
  3411. 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3412. 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3413. 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3414. 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3415. 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3416. 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3417. 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
  3418. 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
  3419. 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  3420. 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3421. 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  3422. 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3423. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 60
  3424. 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3425. 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3426. 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
  3427. 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3428. 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3429. 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3430. 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3431. 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3432. 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3433. 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
  3434. 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
  3435. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  3436. 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3437. 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  3438. 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3439. 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
  3440. 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3441. 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3442. 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3443. 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3444. 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3445. 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
  3446. 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
  3447. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  3448. 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3449. 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  3450. 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3451. 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
  3452. 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3453. 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3454. 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3455. 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3456. 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  3457. 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  3458. 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  3459. 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3460. 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
  3461. 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
  3462. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3463. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3464. 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
  3465. 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3466. 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
  3467. 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3468. 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3469. 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3470. 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3471. 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
  3472. 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
  3473. 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3474. 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3475. 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
  3476. 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3477. 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
  3478. 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3479. 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3480. 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3481. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 61
  3482. 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3483. 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
  3484. 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
  3485. 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  3486. 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3487. 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
  3488. 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3489. 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3490. 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3491. 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
  3492. 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3493. 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3494. 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3495. 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3496. 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3497. 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3498. 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
  3499. 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
  3500. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  3501. 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3502. 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  3503. 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3504. 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3505. 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3506. 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
  3507. 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3508. 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3509. 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3510. 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3511. 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3512. 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3513. 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
  3514. 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
  3515. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  3516. 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3517. 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  3518. 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3519. 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
  3520. 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3521. 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3522. 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3523. 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3524. 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3525. 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
  3526. 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
  3527. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  3528. 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3529. 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  3530. 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3531. 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
  3532. 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3533. 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3534. 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3535. 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3536. 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3537. 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
  3538. 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
  3539. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 62
  3540. 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
  3541. 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  3542. 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3543. 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  3544. 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3545. 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
  3546. 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3547. 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3548. 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3549. 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3550. 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
  3551. 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
  3552. 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  3553. 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3554. 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  3555. 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3556. 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3557. 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3558. 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
  3559. 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3560. 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3561. 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3562. 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3563. 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3564. 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3565. 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
  3566. 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
  3567. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  3568. 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3569. 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  3570. 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3571. 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3572. 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3573. 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
  3574. 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3575. 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3576. 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3577. 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3578. 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3579. 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3580. 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
  3581. 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
  3582. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  3583. 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3584. 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  3585. 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3586. 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
  3587. 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3588. 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3589. 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3590. 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3591. 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3592. 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
  3593. 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
  3594. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  3595. 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3596. 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  3597. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 63
  3598. 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3599. 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
  3600. 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3601. 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3602. 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3603. 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  3604. 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  3605. 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
  3606. 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3607. 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3608. 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  3609. 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  3610. 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3611. 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3612. 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
  3613. 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3614. 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  3615. 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3616. 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3617. 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
  3618. 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  3619. 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3620. 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  3621. 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3622. 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3623. 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3624. 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3625. 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3626. 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3627. 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3628. 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
  3629. 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3630. 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3631. 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3632. 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3633. 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
  3634. 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3635. 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
  3636. 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3637. 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  3638. 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3639. 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
  3640. 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  3641. 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3642. 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  3643. 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3644. 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3645. 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3646. 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3647. 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3648. 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3649. 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
  3650. 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3651. 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3652. 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3653. 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3654. 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3655. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 64
  3656. 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3657. 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3658. 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
  3659. 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3660. 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  3661. 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3662. 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3663. 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
  3664. 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  3665. 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3666. 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  3667. 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3668. 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3669. 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3670. 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3671. 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  3672. 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3673. 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
  3674. 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3675. 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3676. 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3677. 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3678. 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3679. 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3680. 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  3681. 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3682. 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  3683. 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3684. 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
  3685. 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  3686. 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3687. 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  3688. 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3689. 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3690. 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  3691. 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  3692. 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3693. 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
  3694. 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3695. 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3696. 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3697. 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3698. 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3699. 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3700. 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
  3701. 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3702. 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  3703. 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3704. 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3705. 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
  3706. 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  3707. 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3708. 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  3709. 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3710. 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3711. 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3712. 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3713. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 65
  3714. 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3715. 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3716. 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3717. 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
  3718. 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3719. 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3720. 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3721. 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3722. 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3723. 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3724. 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3725. 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
  3726. 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3727. 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  3728. 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3729. 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
  3730. 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  3731. 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3732. 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  3733. 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3734. 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3735. 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3736. 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  3737. 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3738. 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3739. 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
  3740. 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3741. 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3742. 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3743. 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3744. 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3745. 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3746. 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3747. 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
  3748. 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3749. 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  3750. 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  3751. 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3752. 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
  3753. 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
  3754. 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3755. 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  3756. 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3757. 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  3758. 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  3759. 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3760. 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  3761. 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3762. 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
  3763. 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3764. 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3765. 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3766. 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3767. 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3768. 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3769. 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
  3770. 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  3771. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 66
  3772. 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  3773. 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3774. 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
  3775. 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
  3776. 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3777. 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  3778. 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3779. 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  3780. 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  3781. 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  3782. 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3783. 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
  3784. 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3785. 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3786. 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3787. 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3788. 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  3789. 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
  3790. 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3791. 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3792. 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3793. 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
  3794. 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
  3795. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
  3796. 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3797. 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
  3798. 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3799. 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  3800. 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  3801. 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
  3802. 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  3803. 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  3804. 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  3805. 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
  3806. 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3807. 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3808. 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3809. 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
  3810. 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3811. 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3812. 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3813. 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
  3814. 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3815. 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3816. 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3817. 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3818. 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3819. 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
  3820. 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
  3821. 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
  3822. 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3823. 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
  3824. 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3825. 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  3826. 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  3827. 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
  3828. 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  3829. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 67
  3830. 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  3831. 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  3832. 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
  3833. 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3834. 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
  3835. 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3836. 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3837. 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
  3838. 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3839. 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3840. 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3841. 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3842. 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
  3843. 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3844. 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3845. 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
  3846. 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
  3847. 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
  3848. 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  3849. 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3850. 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3851. 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
  3852. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
  3853. 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
  3854. 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
  3855. 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
  3856. 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
  3857. 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
  3858. 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3859. 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
  3860. 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
  3861. 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
  3862. 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3863. 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3864. 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3865. 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
  3866. 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
  3867. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3868. 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
  3869. 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3870. 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3871. 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
  3872. 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
  3873. 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3874. 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
  3875. 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3876. 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3877. 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3878. 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
  3879. 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
  3880. 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
  3881. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3882. 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
  3883. 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3884. 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3885. 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3886. 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
  3887. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 68
  3888. 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
  3889. 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3890. 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
  3891. 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3892. 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3893. 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3894. 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
  3895. 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
  3896. 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
  3897. 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
  3898. 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3899. 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
  3900. 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3901. 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
  3902. 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3903. 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3904. 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3905. 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3906. 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
  3907. 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
  3908. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
  3909. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3910. 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
  3911. 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3912. 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
  3913. 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3914. 881:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3915. 882:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3916. 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3917. 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
  3918. 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
  3919. 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
  3920. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3921. 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
  3922. 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3923. 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
  3924. 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3925. 892:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3926. 893:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3927. 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3928. 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
  3929. 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
  3930. 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  3931. 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  3932. 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3933. 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
  3934. 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3935. 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
  3936. 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
  3937. 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3938. 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3939. 906:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3940. 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  3941. 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3942. 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3943. 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3944. 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3945. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 69
  3946. 912:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3947. 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3948. 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  3949. 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
  3950. 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  3951. 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  3952. 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3953. 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
  3954. 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3955. 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3956. 922:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3957. 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  3958. 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3959. 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3960. 926:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3961. 927:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3962. 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3963. 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  3964. 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
  3965. 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  3966. 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  3967. 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3968. 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
  3969. 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3970. 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  3971. 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
  3972. 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  3973. 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
  3974. 940:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3975. 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  3976. 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  3977. 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3978. 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3979. 945:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3980. 946:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3981. 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3982. 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
  3983. 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
  3984. 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
  3985. 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
  3986. 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
  3987. 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3988. 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  3989. 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3990. 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
  3991. 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
  3992. 958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3993. 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
  3994. 960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3995. 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
  3996. 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3997. 963:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3998. 964:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3999. 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4000. 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
  4001. 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
  4002. 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
  4003. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 70
  4004. 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
  4005. 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
  4006. 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4007. 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
  4008. 973:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4009. 974:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4010. 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4011. 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
  4012. 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
  4013. 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4014. 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4015. 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4016. 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
  4017. 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4018. 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4019. 984:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4020. 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4021. 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4022. 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  4023. 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
  4024. 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4025. 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
  4026. 991:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4027. 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
  4028. 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
  4029. 994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4030. 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
  4031. 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
  4032. 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
  4033. 998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4034. 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
  4035. 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4036. 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4037. 1002:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4038. 1003:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4039. 1004:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4040. 1005:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4041. 1006:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros
  4042. 1007:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value.
  4043. 1008:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros
  4044. 1009:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value
  4045. 1010:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4046. 1011:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CLZ (uint8_t)__builtin_clz
  4047. 1012:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4048. 1013:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4049. 1014:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4050. 1015:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4051. 1016:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  4052. 1017:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  4053. 1018:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4054. 1019:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit)
  4055. 1020:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value.
  4056. 1021:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
  4057. 1022:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr)
  4058. 1023:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4059. 1024:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
  4060. 1025:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4061. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 71
  4062. 1026:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4063. 1027:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4064. 1028:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  4065. 1029:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
  4066. 1030:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4067. 1031:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
  4068. 1032:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
  4069. 1033:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4070. 1034:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
  4071. 1035:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4072. 1036:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */
  4073. 1037:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4074. 1038:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4075. 1039:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4076. 1040:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4077. 1041:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit)
  4078. 1042:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values.
  4079. 1043:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
  4080. 1044:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr)
  4081. 1045:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4082. 1046:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
  4083. 1047:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4084. 1048:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4085. 1049:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4086. 1050:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  4087. 1051:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
  4088. 1052:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4089. 1053:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
  4090. 1054:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
  4091. 1055:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4092. 1056:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
  4093. 1057:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4094. 1058:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */
  4095. 1059:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4096. 1060:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4097. 1061:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4098. 1062:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4099. 1063:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit)
  4100. 1064:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values.
  4101. 1065:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
  4102. 1066:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr)
  4103. 1067:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4104. 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
  4105. 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4106. 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4107. 1071:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4108. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
  4109. 1544 .loc 2 1072 4 discriminator 1
  4110. 1545 00b6 BB69 ldr r3, [r7, #24]
  4111. 1546 .syntax unified
  4112. 1547 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4113. 1548 00b8 53E8003F ldrex r3, [r3]
  4114. 1549 @ 0 "" 2
  4115. 1550 .thumb
  4116. 1551 .syntax unified
  4117. 1552 00bc 7B61 str r3, [r7, #20]
  4118. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4119. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 72
  4120. 1553 .loc 2 1073 10 discriminator 1
  4121. 1554 00be 7B69 ldr r3, [r7, #20]
  4122. 1555 .LBE322:
  4123. 1556 .LBE321:
  4124. 1557 .loc 1 1441 5 discriminator 1
  4125. 1558 00c0 43F08003 orr r3, r3, #128
  4126. 1559 00c4 BB62 str r3, [r7, #40]
  4127. 1560 00c6 FB68 ldr r3, [r7, #12]
  4128. 1561 00c8 1B68 ldr r3, [r3]
  4129. 1562 00ca 1433 adds r3, r3, #20
  4130. 1563 00cc BA6A ldr r2, [r7, #40]
  4131. 1564 00ce 7A62 str r2, [r7, #36]
  4132. 1565 00d0 3B62 str r3, [r7, #32]
  4133. 1566 .LBB323:
  4134. 1567 .LBB324:
  4135. 1074:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4136. 1075:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4137. 1076:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4138. 1077:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4139. 1078:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit)
  4140. 1079:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values.
  4141. 1080:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
  4142. 1081:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
  4143. 1082:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
  4144. 1083:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
  4145. 1084:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4146. 1085:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
  4147. 1086:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4148. 1087:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4149. 1088:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4150. 1089:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
  4151. 1090:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4152. 1091:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4153. 1092:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4154. 1093:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4155. 1094:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4156. 1095:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit)
  4157. 1096:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values.
  4158. 1097:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
  4159. 1098:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
  4160. 1099:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
  4161. 1100:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
  4162. 1101:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4163. 1102:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
  4164. 1103:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4165. 1104:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4166. 1105:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4167. 1106:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
  4168. 1107:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4169. 1108:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4170. 1109:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4171. 1110:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4172. 1111:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4173. 1112:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit)
  4174. 1113:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values.
  4175. 1114:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
  4176. 1115:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
  4177. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 73
  4178. 1116:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
  4179. 1117:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
  4180. 1118:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4181. 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
  4182. 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4183. 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4184. 1122:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4185. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
  4186. 1568 .loc 2 1123 4 discriminator 1
  4187. 1569 00d2 396A ldr r1, [r7, #32]
  4188. 1570 00d4 7A6A ldr r2, [r7, #36]
  4189. 1571 .syntax unified
  4190. 1572 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4191. 1573 00d6 41E80023 strex r3, r2, [r1]
  4192. 1574 @ 0 "" 2
  4193. 1575 .thumb
  4194. 1576 .syntax unified
  4195. 1577 00da FB61 str r3, [r7, #28]
  4196. 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4197. 1578 .loc 2 1124 10 discriminator 1
  4198. 1579 00dc FB69 ldr r3, [r7, #28]
  4199. 1580 .LBE324:
  4200. 1581 .LBE323:
  4201. 1582 .loc 1 1441 5 discriminator 1
  4202. 1583 00de 002B cmp r3, #0
  4203. 1584 00e0 E5D1 bne .L72
  4204. 1585 .LBE320:
  4205. 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4206. 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  4207. 1586 .loc 1 1443 12
  4208. 1587 00e2 0023 movs r3, #0
  4209. 1588 00e4 00E0 b .L68
  4210. 1589 .L65:
  4211. 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4212. 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  4213. 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4214. 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  4215. 1590 .loc 1 1447 12
  4216. 1591 00e6 0223 movs r3, #2
  4217. 1592 .L68:
  4218. 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4219. 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4220. 1593 .loc 1 1449 1
  4221. 1594 00e8 1846 mov r0, r3
  4222. 1595 00ea 3037 adds r7, r7, #48
  4223. 1596 .LCFI61:
  4224. 1597 .cfi_def_cfa_offset 8
  4225. 1598 00ec BD46 mov sp, r7
  4226. 1599 .LCFI62:
  4227. 1600 .cfi_def_cfa_register 13
  4228. 1601 @ sp needed
  4229. 1602 00ee 80BD pop {r7, pc}
  4230. 1603 .L74:
  4231. 1604 .align 2
  4232. 1605 .L73:
  4233. 1606 00f0 00000000 .word UART_DMATransmitCplt
  4234. 1607 00f4 00000000 .word UART_DMATxHalfCplt
  4235. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 74
  4236. 1608 00f8 00000000 .word UART_DMAError
  4237. 1609 .cfi_endproc
  4238. 1610 .LFE246:
  4239. 1612 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
  4240. 1613 .align 1
  4241. 1614 .global HAL_UART_Receive_DMA
  4242. 1615 .syntax unified
  4243. 1616 .thumb
  4244. 1617 .thumb_func
  4245. 1619 HAL_UART_Receive_DMA:
  4246. 1620 .LFB247:
  4247. 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4248. 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  4249. 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in DMA mode.
  4250. 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
  4251. 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
  4252. 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
  4253. 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  4254. 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  4255. 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  4256. 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  4257. 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1) the received data contains the parity bit.
  4258. 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  4259. 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  4260. 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  4261. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4262. 1621 .loc 1 1464 1
  4263. 1622 .cfi_startproc
  4264. 1623 @ args = 0, pretend = 0, frame = 16
  4265. 1624 @ frame_needed = 1, uses_anonymous_args = 0
  4266. 1625 0000 80B5 push {r7, lr}
  4267. 1626 .LCFI63:
  4268. 1627 .cfi_def_cfa_offset 8
  4269. 1628 .cfi_offset 7, -8
  4270. 1629 .cfi_offset 14, -4
  4271. 1630 0002 84B0 sub sp, sp, #16
  4272. 1631 .LCFI64:
  4273. 1632 .cfi_def_cfa_offset 24
  4274. 1633 0004 00AF add r7, sp, #0
  4275. 1634 .LCFI65:
  4276. 1635 .cfi_def_cfa_register 7
  4277. 1636 0006 F860 str r0, [r7, #12]
  4278. 1637 0008 B960 str r1, [r7, #8]
  4279. 1638 000a 1346 mov r3, r2
  4280. 1639 000c FB80 strh r3, [r7, #6] @ movhi
  4281. 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  4282. 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  4283. 1640 .loc 1 1466 12
  4284. 1641 000e FB68 ldr r3, [r7, #12]
  4285. 1642 0010 93F83E30 ldrb r3, [r3, #62]
  4286. 1643 0014 DBB2 uxtb r3, r3
  4287. 1644 .loc 1 1466 6
  4288. 1645 0016 202B cmp r3, #32
  4289. 1646 0018 1DD1 bne .L76
  4290. 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4291. 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  4292. 1647 .loc 1 1468 8
  4293. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 75
  4294. 1648 001a BB68 ldr r3, [r7, #8]
  4295. 1649 001c 002B cmp r3, #0
  4296. 1650 001e 02D0 beq .L77
  4297. 1651 .loc 1 1468 25 discriminator 1
  4298. 1652 0020 FB88 ldrh r3, [r7, #6]
  4299. 1653 0022 002B cmp r3, #0
  4300. 1654 0024 01D1 bne .L78
  4301. 1655 .L77:
  4302. 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4303. 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  4304. 1656 .loc 1 1470 14
  4305. 1657 0026 0123 movs r3, #1
  4306. 1658 0028 16E0 b .L79
  4307. 1659 .L78:
  4308. 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4309. 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4310. 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  4311. 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  4312. 1660 .loc 1 1474 5
  4313. 1661 002a FB68 ldr r3, [r7, #12]
  4314. 1662 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  4315. 1663 0030 012B cmp r3, #1
  4316. 1664 0032 01D1 bne .L80
  4317. 1665 .loc 1 1474 5 is_stmt 0 discriminator 1
  4318. 1666 0034 0223 movs r3, #2
  4319. 1667 0036 0FE0 b .L79
  4320. 1668 .L80:
  4321. 1669 .loc 1 1474 5 discriminator 2
  4322. 1670 0038 FB68 ldr r3, [r7, #12]
  4323. 1671 003a 0122 movs r2, #1
  4324. 1672 003c 83F83C20 strb r2, [r3, #60]
  4325. 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4326. 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */
  4327. 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  4328. 1673 .loc 1 1477 26 is_stmt 1 discriminator 2
  4329. 1674 0040 FB68 ldr r3, [r7, #12]
  4330. 1675 0042 0022 movs r2, #0
  4331. 1676 0044 1A63 str r2, [r3, #48]
  4332. 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4333. 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
  4334. 1677 .loc 1 1479 13 discriminator 2
  4335. 1678 0046 FB88 ldrh r3, [r7, #6]
  4336. 1679 0048 1A46 mov r2, r3
  4337. 1680 004a B968 ldr r1, [r7, #8]
  4338. 1681 004c F868 ldr r0, [r7, #12]
  4339. 1682 004e FFF7FEFF bl UART_Start_Receive_DMA
  4340. 1683 0052 0346 mov r3, r0
  4341. 1684 0054 00E0 b .L79
  4342. 1685 .L76:
  4343. 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4344. 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  4345. 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4346. 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  4347. 1686 .loc 1 1483 12
  4348. 1687 0056 0223 movs r3, #2
  4349. 1688 .L79:
  4350. 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4351. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 76
  4352. 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4353. 1689 .loc 1 1485 1
  4354. 1690 0058 1846 mov r0, r3
  4355. 1691 005a 1037 adds r7, r7, #16
  4356. 1692 .LCFI66:
  4357. 1693 .cfi_def_cfa_offset 8
  4358. 1694 005c BD46 mov sp, r7
  4359. 1695 .LCFI67:
  4360. 1696 .cfi_def_cfa_register 13
  4361. 1697 @ sp needed
  4362. 1698 005e 80BD pop {r7, pc}
  4363. 1699 .cfi_endproc
  4364. 1700 .LFE247:
  4365. 1702 .section .text.HAL_UART_DMAPause,"ax",%progbits
  4366. 1703 .align 1
  4367. 1704 .global HAL_UART_DMAPause
  4368. 1705 .syntax unified
  4369. 1706 .thumb
  4370. 1707 .thumb_func
  4371. 1709 HAL_UART_DMAPause:
  4372. 1710 .LFB248:
  4373. 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4374. 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  4375. 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Pauses the DMA Transfer.
  4376. 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  4377. 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  4378. 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  4379. 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  4380. 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
  4381. 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4382. 1711 .loc 1 1494 1
  4383. 1712 .cfi_startproc
  4384. 1713 @ args = 0, pretend = 0, frame = 112
  4385. 1714 @ frame_needed = 1, uses_anonymous_args = 0
  4386. 1715 @ link register save eliminated.
  4387. 1716 0000 80B4 push {r7}
  4388. 1717 .LCFI68:
  4389. 1718 .cfi_def_cfa_offset 4
  4390. 1719 .cfi_offset 7, -4
  4391. 1720 0002 9DB0 sub sp, sp, #116
  4392. 1721 .LCFI69:
  4393. 1722 .cfi_def_cfa_offset 120
  4394. 1723 0004 00AF add r7, sp, #0
  4395. 1724 .LCFI70:
  4396. 1725 .cfi_def_cfa_register 7
  4397. 1726 0006 7860 str r0, [r7, #4]
  4398. 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
  4399. 1727 .loc 1 1495 12
  4400. 1728 0008 0023 movs r3, #0
  4401. 1729 000a FB66 str r3, [r7, #108]
  4402. 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4403. 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  4404. 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  4405. 1730 .loc 1 1498 3
  4406. 1731 000c 7B68 ldr r3, [r7, #4]
  4407. 1732 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  4408. 1733 0012 012B cmp r3, #1
  4409. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 77
  4410. 1734 0014 01D1 bne .L82
  4411. 1735 .loc 1 1498 3 is_stmt 0 discriminator 1
  4412. 1736 0016 0223 movs r3, #2
  4413. 1737 0018 98E0 b .L83
  4414. 1738 .L82:
  4415. 1739 .loc 1 1498 3 discriminator 2
  4416. 1740 001a 7B68 ldr r3, [r7, #4]
  4417. 1741 001c 0122 movs r2, #1
  4418. 1742 001e 83F83C20 strb r2, [r3, #60]
  4419. 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4420. 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
  4421. 1743 .loc 1 1500 16 is_stmt 1 discriminator 2
  4422. 1744 0022 7B68 ldr r3, [r7, #4]
  4423. 1745 0024 1B68 ldr r3, [r3]
  4424. 1746 0026 5B69 ldr r3, [r3, #20]
  4425. 1747 0028 03F08003 and r3, r3, #128
  4426. 1748 002c 802B cmp r3, #128
  4427. 1749 002e 0CBF ite eq
  4428. 1750 0030 0123 moveq r3, #1
  4429. 1751 0032 0023 movne r3, #0
  4430. 1752 0034 DBB2 uxtb r3, r3
  4431. 1753 .loc 1 1500 14 discriminator 2
  4432. 1754 0036 FB66 str r3, [r7, #108]
  4433. 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
  4434. 1755 .loc 1 1501 13 discriminator 2
  4435. 1756 0038 7B68 ldr r3, [r7, #4]
  4436. 1757 003a 93F83D30 ldrb r3, [r3, #61]
  4437. 1758 003e DBB2 uxtb r3, r3
  4438. 1759 .loc 1 1501 6 discriminator 2
  4439. 1760 0040 212B cmp r3, #33
  4440. 1761 0042 1CD1 bne .L84
  4441. 1762 .loc 1 1501 49 discriminator 1
  4442. 1763 0044 FB6E ldr r3, [r7, #108]
  4443. 1764 0046 002B cmp r3, #0
  4444. 1765 0048 19D0 beq .L84
  4445. 1766 .L87:
  4446. 1767 .LBB325:
  4447. 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4448. 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request */
  4449. 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  4450. 1768 .loc 1 1504 5 discriminator 1
  4451. 1769 004a 7B68 ldr r3, [r7, #4]
  4452. 1770 004c 1B68 ldr r3, [r3]
  4453. 1771 004e 1433 adds r3, r3, #20
  4454. 1772 0050 FB64 str r3, [r7, #76]
  4455. 1773 .LBB326:
  4456. 1774 .LBB327:
  4457. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4458. 1775 .loc 2 1072 4 discriminator 1
  4459. 1776 0052 FB6C ldr r3, [r7, #76]
  4460. 1777 .syntax unified
  4461. 1778 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4462. 1779 0054 53E8003F ldrex r3, [r3]
  4463. 1780 @ 0 "" 2
  4464. 1781 .thumb
  4465. 1782 .syntax unified
  4466. 1783 0058 BB64 str r3, [r7, #72]
  4467. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 78
  4468. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4469. 1784 .loc 2 1073 10 discriminator 1
  4470. 1785 005a BB6C ldr r3, [r7, #72]
  4471. 1786 .LBE327:
  4472. 1787 .LBE326:
  4473. 1788 .loc 1 1504 5 discriminator 1
  4474. 1789 005c 23F08003 bic r3, r3, #128
  4475. 1790 0060 BB66 str r3, [r7, #104]
  4476. 1791 0062 7B68 ldr r3, [r7, #4]
  4477. 1792 0064 1B68 ldr r3, [r3]
  4478. 1793 0066 1433 adds r3, r3, #20
  4479. 1794 0068 BA6E ldr r2, [r7, #104]
  4480. 1795 006a BA65 str r2, [r7, #88]
  4481. 1796 006c 7B65 str r3, [r7, #84]
  4482. 1797 .LBB328:
  4483. 1798 .LBB329:
  4484. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4485. 1799 .loc 2 1123 4 discriminator 1
  4486. 1800 006e 796D ldr r1, [r7, #84]
  4487. 1801 0070 BA6D ldr r2, [r7, #88]
  4488. 1802 .syntax unified
  4489. 1803 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4490. 1804 0072 41E80023 strex r3, r2, [r1]
  4491. 1805 @ 0 "" 2
  4492. 1806 .thumb
  4493. 1807 .syntax unified
  4494. 1808 0076 3B65 str r3, [r7, #80]
  4495. 1809 .loc 2 1124 10 discriminator 1
  4496. 1810 0078 3B6D ldr r3, [r7, #80]
  4497. 1811 .LBE329:
  4498. 1812 .LBE328:
  4499. 1813 .loc 1 1504 5 discriminator 1
  4500. 1814 007a 002B cmp r3, #0
  4501. 1815 007c E5D1 bne .L87
  4502. 1816 .L84:
  4503. 1817 .LBE325:
  4504. 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4505. 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4506. 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
  4507. 1818 .loc 1 1507 16
  4508. 1819 007e 7B68 ldr r3, [r7, #4]
  4509. 1820 0080 1B68 ldr r3, [r3]
  4510. 1821 0082 5B69 ldr r3, [r3, #20]
  4511. 1822 0084 03F04003 and r3, r3, #64
  4512. 1823 0088 402B cmp r3, #64
  4513. 1824 008a 0CBF ite eq
  4514. 1825 008c 0123 moveq r3, #1
  4515. 1826 008e 0023 movne r3, #0
  4516. 1827 0090 DBB2 uxtb r3, r3
  4517. 1828 .loc 1 1507 14
  4518. 1829 0092 FB66 str r3, [r7, #108]
  4519. 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
  4520. 1830 .loc 1 1508 13
  4521. 1831 0094 7B68 ldr r3, [r7, #4]
  4522. 1832 0096 93F83E30 ldrb r3, [r3, #62]
  4523. 1833 009a DBB2 uxtb r3, r3
  4524. 1834 .loc 1 1508 6
  4525. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 79
  4526. 1835 009c 222B cmp r3, #34
  4527. 1836 009e 50D1 bne .L88
  4528. 1837 .loc 1 1508 50 discriminator 1
  4529. 1838 00a0 FB6E ldr r3, [r7, #108]
  4530. 1839 00a2 002B cmp r3, #0
  4531. 1840 00a4 4DD0 beq .L88
  4532. 1841 .L91:
  4533. 1842 .LBB330:
  4534. 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4535. 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  4536. 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  4537. 1843 .loc 1 1511 5 discriminator 1
  4538. 1844 00a6 7B68 ldr r3, [r7, #4]
  4539. 1845 00a8 1B68 ldr r3, [r3]
  4540. 1846 00aa 0C33 adds r3, r3, #12
  4541. 1847 00ac BB63 str r3, [r7, #56]
  4542. 1848 .LBB331:
  4543. 1849 .LBB332:
  4544. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4545. 1850 .loc 2 1072 4 discriminator 1
  4546. 1851 00ae BB6B ldr r3, [r7, #56]
  4547. 1852 .syntax unified
  4548. 1853 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4549. 1854 00b0 53E8003F ldrex r3, [r3]
  4550. 1855 @ 0 "" 2
  4551. 1856 .thumb
  4552. 1857 .syntax unified
  4553. 1858 00b4 7B63 str r3, [r7, #52]
  4554. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4555. 1859 .loc 2 1073 10 discriminator 1
  4556. 1860 00b6 7B6B ldr r3, [r7, #52]
  4557. 1861 .LBE332:
  4558. 1862 .LBE331:
  4559. 1863 .loc 1 1511 5 discriminator 1
  4560. 1864 00b8 23F48073 bic r3, r3, #256
  4561. 1865 00bc 7B66 str r3, [r7, #100]
  4562. 1866 00be 7B68 ldr r3, [r7, #4]
  4563. 1867 00c0 1B68 ldr r3, [r3]
  4564. 1868 00c2 0C33 adds r3, r3, #12
  4565. 1869 00c4 7A6E ldr r2, [r7, #100]
  4566. 1870 00c6 7A64 str r2, [r7, #68]
  4567. 1871 00c8 3B64 str r3, [r7, #64]
  4568. 1872 .LBB333:
  4569. 1873 .LBB334:
  4570. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4571. 1874 .loc 2 1123 4 discriminator 1
  4572. 1875 00ca 396C ldr r1, [r7, #64]
  4573. 1876 00cc 7A6C ldr r2, [r7, #68]
  4574. 1877 .syntax unified
  4575. 1878 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4576. 1879 00ce 41E80023 strex r3, r2, [r1]
  4577. 1880 @ 0 "" 2
  4578. 1881 .thumb
  4579. 1882 .syntax unified
  4580. 1883 00d2 FB63 str r3, [r7, #60]
  4581. 1884 .loc 2 1124 10 discriminator 1
  4582. 1885 00d4 FB6B ldr r3, [r7, #60]
  4583. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 80
  4584. 1886 .LBE334:
  4585. 1887 .LBE333:
  4586. 1888 .loc 1 1511 5 discriminator 1
  4587. 1889 00d6 002B cmp r3, #0
  4588. 1890 00d8 E5D1 bne .L91
  4589. 1891 .L94:
  4590. 1892 .LBE330:
  4591. 1893 .LBB335:
  4592. 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  4593. 1894 .loc 1 1512 5 discriminator 1
  4594. 1895 00da 7B68 ldr r3, [r7, #4]
  4595. 1896 00dc 1B68 ldr r3, [r3]
  4596. 1897 00de 1433 adds r3, r3, #20
  4597. 1898 00e0 7B62 str r3, [r7, #36]
  4598. 1899 .LBB336:
  4599. 1900 .LBB337:
  4600. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4601. 1901 .loc 2 1072 4 discriminator 1
  4602. 1902 00e2 7B6A ldr r3, [r7, #36]
  4603. 1903 .syntax unified
  4604. 1904 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4605. 1905 00e4 53E8003F ldrex r3, [r3]
  4606. 1906 @ 0 "" 2
  4607. 1907 .thumb
  4608. 1908 .syntax unified
  4609. 1909 00e8 3B62 str r3, [r7, #32]
  4610. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4611. 1910 .loc 2 1073 10 discriminator 1
  4612. 1911 00ea 3B6A ldr r3, [r7, #32]
  4613. 1912 .LBE337:
  4614. 1913 .LBE336:
  4615. 1914 .loc 1 1512 5 discriminator 1
  4616. 1915 00ec 23F00103 bic r3, r3, #1
  4617. 1916 00f0 3B66 str r3, [r7, #96]
  4618. 1917 00f2 7B68 ldr r3, [r7, #4]
  4619. 1918 00f4 1B68 ldr r3, [r3]
  4620. 1919 00f6 1433 adds r3, r3, #20
  4621. 1920 00f8 3A6E ldr r2, [r7, #96]
  4622. 1921 00fa 3A63 str r2, [r7, #48]
  4623. 1922 00fc FB62 str r3, [r7, #44]
  4624. 1923 .LBB338:
  4625. 1924 .LBB339:
  4626. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4627. 1925 .loc 2 1123 4 discriminator 1
  4628. 1926 00fe F96A ldr r1, [r7, #44]
  4629. 1927 0100 3A6B ldr r2, [r7, #48]
  4630. 1928 .syntax unified
  4631. 1929 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4632. 1930 0102 41E80023 strex r3, r2, [r1]
  4633. 1931 @ 0 "" 2
  4634. 1932 .thumb
  4635. 1933 .syntax unified
  4636. 1934 0106 BB62 str r3, [r7, #40]
  4637. 1935 .loc 2 1124 10 discriminator 1
  4638. 1936 0108 BB6A ldr r3, [r7, #40]
  4639. 1937 .LBE339:
  4640. 1938 .LBE338:
  4641. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 81
  4642. 1939 .loc 1 1512 5 discriminator 1
  4643. 1940 010a 002B cmp r3, #0
  4644. 1941 010c E5D1 bne .L94
  4645. 1942 .L97:
  4646. 1943 .LBE335:
  4647. 1944 .LBB340:
  4648. 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4649. 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request */
  4650. 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  4651. 1945 .loc 1 1515 5 discriminator 1
  4652. 1946 010e 7B68 ldr r3, [r7, #4]
  4653. 1947 0110 1B68 ldr r3, [r3]
  4654. 1948 0112 1433 adds r3, r3, #20
  4655. 1949 0114 3B61 str r3, [r7, #16]
  4656. 1950 .LBB341:
  4657. 1951 .LBB342:
  4658. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4659. 1952 .loc 2 1072 4 discriminator 1
  4660. 1953 0116 3B69 ldr r3, [r7, #16]
  4661. 1954 .syntax unified
  4662. 1955 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4663. 1956 0118 53E8003F ldrex r3, [r3]
  4664. 1957 @ 0 "" 2
  4665. 1958 .thumb
  4666. 1959 .syntax unified
  4667. 1960 011c FB60 str r3, [r7, #12]
  4668. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4669. 1961 .loc 2 1073 10 discriminator 1
  4670. 1962 011e FB68 ldr r3, [r7, #12]
  4671. 1963 .LBE342:
  4672. 1964 .LBE341:
  4673. 1965 .loc 1 1515 5 discriminator 1
  4674. 1966 0120 23F04003 bic r3, r3, #64
  4675. 1967 0124 FB65 str r3, [r7, #92]
  4676. 1968 0126 7B68 ldr r3, [r7, #4]
  4677. 1969 0128 1B68 ldr r3, [r3]
  4678. 1970 012a 1433 adds r3, r3, #20
  4679. 1971 012c FA6D ldr r2, [r7, #92]
  4680. 1972 012e FA61 str r2, [r7, #28]
  4681. 1973 0130 BB61 str r3, [r7, #24]
  4682. 1974 .LBB343:
  4683. 1975 .LBB344:
  4684. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4685. 1976 .loc 2 1123 4 discriminator 1
  4686. 1977 0132 B969 ldr r1, [r7, #24]
  4687. 1978 0134 FA69 ldr r2, [r7, #28]
  4688. 1979 .syntax unified
  4689. 1980 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4690. 1981 0136 41E80023 strex r3, r2, [r1]
  4691. 1982 @ 0 "" 2
  4692. 1983 .thumb
  4693. 1984 .syntax unified
  4694. 1985 013a 7B61 str r3, [r7, #20]
  4695. 1986 .loc 2 1124 10 discriminator 1
  4696. 1987 013c 7B69 ldr r3, [r7, #20]
  4697. 1988 .LBE344:
  4698. 1989 .LBE343:
  4699. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 82
  4700. 1990 .loc 1 1515 5 discriminator 1
  4701. 1991 013e 002B cmp r3, #0
  4702. 1992 0140 E5D1 bne .L97
  4703. 1993 .L88:
  4704. 1994 .LBE340:
  4705. 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4706. 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4707. 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  4708. 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  4709. 1995 .loc 1 1519 3
  4710. 1996 0142 7B68 ldr r3, [r7, #4]
  4711. 1997 0144 0022 movs r2, #0
  4712. 1998 0146 83F83C20 strb r2, [r3, #60]
  4713. 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4714. 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  4715. 1999 .loc 1 1521 10
  4716. 2000 014a 0023 movs r3, #0
  4717. 2001 .L83:
  4718. 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4719. 2002 .loc 1 1522 1
  4720. 2003 014c 1846 mov r0, r3
  4721. 2004 014e 7437 adds r7, r7, #116
  4722. 2005 .LCFI71:
  4723. 2006 .cfi_def_cfa_offset 4
  4724. 2007 0150 BD46 mov sp, r7
  4725. 2008 .LCFI72:
  4726. 2009 .cfi_def_cfa_register 13
  4727. 2010 @ sp needed
  4728. 2011 0152 5DF8047B ldr r7, [sp], #4
  4729. 2012 .LCFI73:
  4730. 2013 .cfi_restore 7
  4731. 2014 .cfi_def_cfa_offset 0
  4732. 2015 0156 7047 bx lr
  4733. 2016 .cfi_endproc
  4734. 2017 .LFE248:
  4735. 2019 .section .text.HAL_UART_DMAResume,"ax",%progbits
  4736. 2020 .align 1
  4737. 2021 .global HAL_UART_DMAResume
  4738. 2022 .syntax unified
  4739. 2023 .thumb
  4740. 2024 .thumb_func
  4741. 2026 HAL_UART_DMAResume:
  4742. 2027 .LFB249:
  4743. 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4744. 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  4745. 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Resumes the DMA Transfer.
  4746. 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  4747. 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  4748. 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  4749. 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  4750. 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
  4751. 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4752. 2028 .loc 1 1531 1
  4753. 2029 .cfi_startproc
  4754. 2030 @ args = 0, pretend = 0, frame = 112
  4755. 2031 @ frame_needed = 1, uses_anonymous_args = 0
  4756. 2032 @ link register save eliminated.
  4757. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 83
  4758. 2033 0000 80B4 push {r7}
  4759. 2034 .LCFI74:
  4760. 2035 .cfi_def_cfa_offset 4
  4761. 2036 .cfi_offset 7, -4
  4762. 2037 0002 9DB0 sub sp, sp, #116
  4763. 2038 .LCFI75:
  4764. 2039 .cfi_def_cfa_offset 120
  4765. 2040 0004 00AF add r7, sp, #0
  4766. 2041 .LCFI76:
  4767. 2042 .cfi_def_cfa_register 7
  4768. 2043 0006 7860 str r0, [r7, #4]
  4769. 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  4770. 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  4771. 2044 .loc 1 1533 3
  4772. 2045 0008 7B68 ldr r3, [r7, #4]
  4773. 2046 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  4774. 2047 000e 012B cmp r3, #1
  4775. 2048 0010 01D1 bne .L99
  4776. 2049 .loc 1 1533 3 is_stmt 0 discriminator 1
  4777. 2050 0012 0223 movs r3, #2
  4778. 2051 0014 8BE0 b .L100
  4779. 2052 .L99:
  4780. 2053 .loc 1 1533 3 discriminator 2
  4781. 2054 0016 7B68 ldr r3, [r7, #4]
  4782. 2055 0018 0122 movs r2, #1
  4783. 2056 001a 83F83C20 strb r2, [r3, #60]
  4784. 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4785. 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
  4786. 2057 .loc 1 1535 12 is_stmt 1 discriminator 2
  4787. 2058 001e 7B68 ldr r3, [r7, #4]
  4788. 2059 0020 93F83D30 ldrb r3, [r3, #61]
  4789. 2060 0024 DBB2 uxtb r3, r3
  4790. 2061 .loc 1 1535 6 discriminator 2
  4791. 2062 0026 212B cmp r3, #33
  4792. 2063 0028 19D1 bne .L101
  4793. 2064 .L104:
  4794. 2065 .LBB345:
  4795. 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4796. 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Tx request */
  4797. 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  4798. 2066 .loc 1 1538 5 discriminator 1
  4799. 2067 002a 7B68 ldr r3, [r7, #4]
  4800. 2068 002c 1B68 ldr r3, [r3]
  4801. 2069 002e 1433 adds r3, r3, #20
  4802. 2070 0030 3B65 str r3, [r7, #80]
  4803. 2071 .LBB346:
  4804. 2072 .LBB347:
  4805. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4806. 2073 .loc 2 1072 4 discriminator 1
  4807. 2074 0032 3B6D ldr r3, [r7, #80]
  4808. 2075 .syntax unified
  4809. 2076 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4810. 2077 0034 53E8003F ldrex r3, [r3]
  4811. 2078 @ 0 "" 2
  4812. 2079 .thumb
  4813. 2080 .syntax unified
  4814. 2081 0038 FB64 str r3, [r7, #76]
  4815. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 84
  4816. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4817. 2082 .loc 2 1073 10 discriminator 1
  4818. 2083 003a FB6C ldr r3, [r7, #76]
  4819. 2084 .LBE347:
  4820. 2085 .LBE346:
  4821. 2086 .loc 1 1538 5 discriminator 1
  4822. 2087 003c 43F08003 orr r3, r3, #128
  4823. 2088 0040 FB66 str r3, [r7, #108]
  4824. 2089 0042 7B68 ldr r3, [r7, #4]
  4825. 2090 0044 1B68 ldr r3, [r3]
  4826. 2091 0046 1433 adds r3, r3, #20
  4827. 2092 0048 FA6E ldr r2, [r7, #108]
  4828. 2093 004a FA65 str r2, [r7, #92]
  4829. 2094 004c BB65 str r3, [r7, #88]
  4830. 2095 .LBB348:
  4831. 2096 .LBB349:
  4832. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4833. 2097 .loc 2 1123 4 discriminator 1
  4834. 2098 004e B96D ldr r1, [r7, #88]
  4835. 2099 0050 FA6D ldr r2, [r7, #92]
  4836. 2100 .syntax unified
  4837. 2101 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4838. 2102 0052 41E80023 strex r3, r2, [r1]
  4839. 2103 @ 0 "" 2
  4840. 2104 .thumb
  4841. 2105 .syntax unified
  4842. 2106 0056 7B65 str r3, [r7, #84]
  4843. 2107 .loc 2 1124 10 discriminator 1
  4844. 2108 0058 7B6D ldr r3, [r7, #84]
  4845. 2109 .LBE349:
  4846. 2110 .LBE348:
  4847. 2111 .loc 1 1538 5 discriminator 1
  4848. 2112 005a 002B cmp r3, #0
  4849. 2113 005c E5D1 bne .L104
  4850. 2114 .L101:
  4851. 2115 .LBE345:
  4852. 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4853. 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4854. 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
  4855. 2116 .loc 1 1541 12
  4856. 2117 005e 7B68 ldr r3, [r7, #4]
  4857. 2118 0060 93F83E30 ldrb r3, [r3, #62]
  4858. 2119 0064 DBB2 uxtb r3, r3
  4859. 2120 .loc 1 1541 6
  4860. 2121 0066 222B cmp r3, #34
  4861. 2122 0068 5CD1 bne .L105
  4862. 2123 .LBB350:
  4863. 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4864. 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer*/
  4865. 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
  4866. 2124 .loc 1 1544 5
  4867. 2125 006a 0023 movs r3, #0
  4868. 2126 006c FB60 str r3, [r7, #12]
  4869. 2127 006e 7B68 ldr r3, [r7, #4]
  4870. 2128 0070 1B68 ldr r3, [r3]
  4871. 2129 0072 1B68 ldr r3, [r3]
  4872. 2130 0074 FB60 str r3, [r7, #12]
  4873. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 85
  4874. 2131 0076 7B68 ldr r3, [r7, #4]
  4875. 2132 0078 1B68 ldr r3, [r3]
  4876. 2133 007a 5B68 ldr r3, [r3, #4]
  4877. 2134 007c FB60 str r3, [r7, #12]
  4878. 2135 007e FB68 ldr r3, [r7, #12]
  4879. 2136 .LBE350:
  4880. 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  4881. 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
  4882. 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
  4883. 2137 .loc 1 1547 20
  4884. 2138 0080 7B68 ldr r3, [r7, #4]
  4885. 2139 0082 1B69 ldr r3, [r3, #16]
  4886. 2140 .loc 1 1547 8
  4887. 2141 0084 002B cmp r3, #0
  4888. 2142 0086 19D0 beq .L112
  4889. 2143 .L109:
  4890. 2144 .LBB351:
  4891. 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  4892. 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  4893. 2145 .loc 1 1549 7 discriminator 1
  4894. 2146 0088 7B68 ldr r3, [r7, #4]
  4895. 2147 008a 1B68 ldr r3, [r3]
  4896. 2148 008c 0C33 adds r3, r3, #12
  4897. 2149 008e FB63 str r3, [r7, #60]
  4898. 2150 .LBB352:
  4899. 2151 .LBB353:
  4900. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4901. 2152 .loc 2 1072 4 discriminator 1
  4902. 2153 0090 FB6B ldr r3, [r7, #60]
  4903. 2154 .syntax unified
  4904. 2155 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4905. 2156 0092 53E8003F ldrex r3, [r3]
  4906. 2157 @ 0 "" 2
  4907. 2158 .thumb
  4908. 2159 .syntax unified
  4909. 2160 0096 BB63 str r3, [r7, #56]
  4910. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4911. 2161 .loc 2 1073 10 discriminator 1
  4912. 2162 0098 BB6B ldr r3, [r7, #56]
  4913. 2163 .LBE353:
  4914. 2164 .LBE352:
  4915. 2165 .loc 1 1549 7 discriminator 1
  4916. 2166 009a 43F48073 orr r3, r3, #256
  4917. 2167 009e BB66 str r3, [r7, #104]
  4918. 2168 00a0 7B68 ldr r3, [r7, #4]
  4919. 2169 00a2 1B68 ldr r3, [r3]
  4920. 2170 00a4 0C33 adds r3, r3, #12
  4921. 2171 00a6 BA6E ldr r2, [r7, #104]
  4922. 2172 00a8 BA64 str r2, [r7, #72]
  4923. 2173 00aa 7B64 str r3, [r7, #68]
  4924. 2174 .LBB354:
  4925. 2175 .LBB355:
  4926. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4927. 2176 .loc 2 1123 4 discriminator 1
  4928. 2177 00ac 796C ldr r1, [r7, #68]
  4929. 2178 00ae BA6C ldr r2, [r7, #72]
  4930. 2179 .syntax unified
  4931. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 86
  4932. 2180 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4933. 2181 00b0 41E80023 strex r3, r2, [r1]
  4934. 2182 @ 0 "" 2
  4935. 2183 .thumb
  4936. 2184 .syntax unified
  4937. 2185 00b4 3B64 str r3, [r7, #64]
  4938. 2186 .loc 2 1124 10 discriminator 1
  4939. 2187 00b6 3B6C ldr r3, [r7, #64]
  4940. 2188 .LBE355:
  4941. 2189 .LBE354:
  4942. 2190 .loc 1 1549 7 discriminator 1
  4943. 2191 00b8 002B cmp r3, #0
  4944. 2192 00ba E5D1 bne .L109
  4945. 2193 .L112:
  4946. 2194 .LBE351:
  4947. 2195 .LBB356:
  4948. 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  4949. 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
  4950. 2196 .loc 1 1551 5 discriminator 1
  4951. 2197 00bc 7B68 ldr r3, [r7, #4]
  4952. 2198 00be 1B68 ldr r3, [r3]
  4953. 2199 00c0 1433 adds r3, r3, #20
  4954. 2200 00c2 BB62 str r3, [r7, #40]
  4955. 2201 .LBB357:
  4956. 2202 .LBB358:
  4957. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4958. 2203 .loc 2 1072 4 discriminator 1
  4959. 2204 00c4 BB6A ldr r3, [r7, #40]
  4960. 2205 .syntax unified
  4961. 2206 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4962. 2207 00c6 53E8003F ldrex r3, [r3]
  4963. 2208 @ 0 "" 2
  4964. 2209 .thumb
  4965. 2210 .syntax unified
  4966. 2211 00ca 7B62 str r3, [r7, #36]
  4967. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4968. 2212 .loc 2 1073 10 discriminator 1
  4969. 2213 00cc 7B6A ldr r3, [r7, #36]
  4970. 2214 .LBE358:
  4971. 2215 .LBE357:
  4972. 2216 .loc 1 1551 5 discriminator 1
  4973. 2217 00ce 43F00103 orr r3, r3, #1
  4974. 2218 00d2 7B66 str r3, [r7, #100]
  4975. 2219 00d4 7B68 ldr r3, [r7, #4]
  4976. 2220 00d6 1B68 ldr r3, [r3]
  4977. 2221 00d8 1433 adds r3, r3, #20
  4978. 2222 00da 7A6E ldr r2, [r7, #100]
  4979. 2223 00dc 7A63 str r2, [r7, #52]
  4980. 2224 00de 3B63 str r3, [r7, #48]
  4981. 2225 .LBB359:
  4982. 2226 .LBB360:
  4983. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4984. 2227 .loc 2 1123 4 discriminator 1
  4985. 2228 00e0 396B ldr r1, [r7, #48]
  4986. 2229 00e2 7A6B ldr r2, [r7, #52]
  4987. 2230 .syntax unified
  4988. 2231 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4989. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 87
  4990. 2232 00e4 41E80023 strex r3, r2, [r1]
  4991. 2233 @ 0 "" 2
  4992. 2234 .thumb
  4993. 2235 .syntax unified
  4994. 2236 00e8 FB62 str r3, [r7, #44]
  4995. 2237 .loc 2 1124 10 discriminator 1
  4996. 2238 00ea FB6A ldr r3, [r7, #44]
  4997. 2239 .LBE360:
  4998. 2240 .LBE359:
  4999. 2241 .loc 1 1551 5 discriminator 1
  5000. 2242 00ec 002B cmp r3, #0
  5001. 2243 00ee E5D1 bne .L112
  5002. 2244 .L115:
  5003. 2245 .LBE356:
  5004. 2246 .LBB361:
  5005. 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5006. 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Rx request */
  5007. 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  5008. 2247 .loc 1 1554 5 discriminator 1
  5009. 2248 00f0 7B68 ldr r3, [r7, #4]
  5010. 2249 00f2 1B68 ldr r3, [r3]
  5011. 2250 00f4 1433 adds r3, r3, #20
  5012. 2251 00f6 7B61 str r3, [r7, #20]
  5013. 2252 .LBB362:
  5014. 2253 .LBB363:
  5015. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5016. 2254 .loc 2 1072 4 discriminator 1
  5017. 2255 00f8 7B69 ldr r3, [r7, #20]
  5018. 2256 .syntax unified
  5019. 2257 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5020. 2258 00fa 53E8003F ldrex r3, [r3]
  5021. 2259 @ 0 "" 2
  5022. 2260 .thumb
  5023. 2261 .syntax unified
  5024. 2262 00fe 3B61 str r3, [r7, #16]
  5025. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5026. 2263 .loc 2 1073 10 discriminator 1
  5027. 2264 0100 3B69 ldr r3, [r7, #16]
  5028. 2265 .LBE363:
  5029. 2266 .LBE362:
  5030. 2267 .loc 1 1554 5 discriminator 1
  5031. 2268 0102 43F04003 orr r3, r3, #64
  5032. 2269 0106 3B66 str r3, [r7, #96]
  5033. 2270 0108 7B68 ldr r3, [r7, #4]
  5034. 2271 010a 1B68 ldr r3, [r3]
  5035. 2272 010c 1433 adds r3, r3, #20
  5036. 2273 010e 3A6E ldr r2, [r7, #96]
  5037. 2274 0110 3A62 str r2, [r7, #32]
  5038. 2275 0112 FB61 str r3, [r7, #28]
  5039. 2276 .LBB364:
  5040. 2277 .LBB365:
  5041. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5042. 2278 .loc 2 1123 4 discriminator 1
  5043. 2279 0114 F969 ldr r1, [r7, #28]
  5044. 2280 0116 3A6A ldr r2, [r7, #32]
  5045. 2281 .syntax unified
  5046. 2282 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5047. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 88
  5048. 2283 0118 41E80023 strex r3, r2, [r1]
  5049. 2284 @ 0 "" 2
  5050. 2285 .thumb
  5051. 2286 .syntax unified
  5052. 2287 011c BB61 str r3, [r7, #24]
  5053. 2288 .loc 2 1124 10 discriminator 1
  5054. 2289 011e BB69 ldr r3, [r7, #24]
  5055. 2290 .LBE365:
  5056. 2291 .LBE364:
  5057. 2292 .loc 1 1554 5 discriminator 1
  5058. 2293 0120 002B cmp r3, #0
  5059. 2294 0122 E5D1 bne .L115
  5060. 2295 .L105:
  5061. 2296 .LBE361:
  5062. 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5063. 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5064. 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  5065. 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  5066. 2297 .loc 1 1558 3
  5067. 2298 0124 7B68 ldr r3, [r7, #4]
  5068. 2299 0126 0022 movs r2, #0
  5069. 2300 0128 83F83C20 strb r2, [r3, #60]
  5070. 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5071. 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  5072. 2301 .loc 1 1560 10
  5073. 2302 012c 0023 movs r3, #0
  5074. 2303 .L100:
  5075. 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5076. 2304 .loc 1 1561 1
  5077. 2305 012e 1846 mov r0, r3
  5078. 2306 0130 7437 adds r7, r7, #116
  5079. 2307 .LCFI77:
  5080. 2308 .cfi_def_cfa_offset 4
  5081. 2309 0132 BD46 mov sp, r7
  5082. 2310 .LCFI78:
  5083. 2311 .cfi_def_cfa_register 13
  5084. 2312 @ sp needed
  5085. 2313 0134 5DF8047B ldr r7, [sp], #4
  5086. 2314 .LCFI79:
  5087. 2315 .cfi_restore 7
  5088. 2316 .cfi_def_cfa_offset 0
  5089. 2317 0138 7047 bx lr
  5090. 2318 .cfi_endproc
  5091. 2319 .LFE249:
  5092. 2321 .section .text.HAL_UART_DMAStop,"ax",%progbits
  5093. 2322 .align 1
  5094. 2323 .global HAL_UART_DMAStop
  5095. 2324 .syntax unified
  5096. 2325 .thumb
  5097. 2326 .thumb_func
  5098. 2328 HAL_UART_DMAStop:
  5099. 2329 .LFB250:
  5100. 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5101. 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  5102. 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Stops the DMA Transfer.
  5103. 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  5104. 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  5105. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 89
  5106. 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  5107. 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  5108. 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
  5109. 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5110. 2330 .loc 1 1570 1
  5111. 2331 .cfi_startproc
  5112. 2332 @ args = 0, pretend = 0, frame = 64
  5113. 2333 @ frame_needed = 1, uses_anonymous_args = 0
  5114. 2334 0000 80B5 push {r7, lr}
  5115. 2335 .LCFI80:
  5116. 2336 .cfi_def_cfa_offset 8
  5117. 2337 .cfi_offset 7, -8
  5118. 2338 .cfi_offset 14, -4
  5119. 2339 0002 90B0 sub sp, sp, #64
  5120. 2340 .LCFI81:
  5121. 2341 .cfi_def_cfa_offset 72
  5122. 2342 0004 00AF add r7, sp, #0
  5123. 2343 .LCFI82:
  5124. 2344 .cfi_def_cfa_register 7
  5125. 2345 0006 7860 str r0, [r7, #4]
  5126. 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
  5127. 2346 .loc 1 1571 12
  5128. 2347 0008 0023 movs r3, #0
  5129. 2348 000a FB63 str r3, [r7, #60]
  5130. 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
  5131. 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
  5132. 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
  5133. 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the correspond call back is executed HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
  5134. 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  5135. 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5136. 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
  5137. 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
  5138. 2349 .loc 1 1579 16
  5139. 2350 000c 7B68 ldr r3, [r7, #4]
  5140. 2351 000e 1B68 ldr r3, [r3]
  5141. 2352 0010 5B69 ldr r3, [r3, #20]
  5142. 2353 0012 03F08003 and r3, r3, #128
  5143. 2354 0016 802B cmp r3, #128
  5144. 2355 0018 0CBF ite eq
  5145. 2356 001a 0123 moveq r3, #1
  5146. 2357 001c 0023 movne r3, #0
  5147. 2358 001e DBB2 uxtb r3, r3
  5148. 2359 .loc 1 1579 14
  5149. 2360 0020 FB63 str r3, [r7, #60]
  5150. 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
  5151. 2361 .loc 1 1580 13
  5152. 2362 0022 7B68 ldr r3, [r7, #4]
  5153. 2363 0024 93F83D30 ldrb r3, [r3, #61]
  5154. 2364 0028 DBB2 uxtb r3, r3
  5155. 2365 .loc 1 1580 6
  5156. 2366 002a 212B cmp r3, #33
  5157. 2367 002c 28D1 bne .L117
  5158. 2368 .loc 1 1580 49 discriminator 1
  5159. 2369 002e FB6B ldr r3, [r7, #60]
  5160. 2370 0030 002B cmp r3, #0
  5161. 2371 0032 25D0 beq .L117
  5162. 2372 .L120:
  5163. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 90
  5164. 2373 .LBB366:
  5165. 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5166. 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  5167. 2374 .loc 1 1582 5 discriminator 1
  5168. 2375 0034 7B68 ldr r3, [r7, #4]
  5169. 2376 0036 1B68 ldr r3, [r3]
  5170. 2377 0038 1433 adds r3, r3, #20
  5171. 2378 003a 7B62 str r3, [r7, #36]
  5172. 2379 .LBB367:
  5173. 2380 .LBB368:
  5174. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5175. 2381 .loc 2 1072 4 discriminator 1
  5176. 2382 003c 7B6A ldr r3, [r7, #36]
  5177. 2383 .syntax unified
  5178. 2384 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5179. 2385 003e 53E8003F ldrex r3, [r3]
  5180. 2386 @ 0 "" 2
  5181. 2387 .thumb
  5182. 2388 .syntax unified
  5183. 2389 0042 3B62 str r3, [r7, #32]
  5184. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5185. 2390 .loc 2 1073 10 discriminator 1
  5186. 2391 0044 3B6A ldr r3, [r7, #32]
  5187. 2392 .LBE368:
  5188. 2393 .LBE367:
  5189. 2394 .loc 1 1582 5 discriminator 1
  5190. 2395 0046 23F08003 bic r3, r3, #128
  5191. 2396 004a BB63 str r3, [r7, #56]
  5192. 2397 004c 7B68 ldr r3, [r7, #4]
  5193. 2398 004e 1B68 ldr r3, [r3]
  5194. 2399 0050 1433 adds r3, r3, #20
  5195. 2400 0052 BA6B ldr r2, [r7, #56]
  5196. 2401 0054 3A63 str r2, [r7, #48]
  5197. 2402 0056 FB62 str r3, [r7, #44]
  5198. 2403 .LBB369:
  5199. 2404 .LBB370:
  5200. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5201. 2405 .loc 2 1123 4 discriminator 1
  5202. 2406 0058 F96A ldr r1, [r7, #44]
  5203. 2407 005a 3A6B ldr r2, [r7, #48]
  5204. 2408 .syntax unified
  5205. 2409 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5206. 2410 005c 41E80023 strex r3, r2, [r1]
  5207. 2411 @ 0 "" 2
  5208. 2412 .thumb
  5209. 2413 .syntax unified
  5210. 2414 0060 BB62 str r3, [r7, #40]
  5211. 2415 .loc 2 1124 10 discriminator 1
  5212. 2416 0062 BB6A ldr r3, [r7, #40]
  5213. 2417 .LBE370:
  5214. 2418 .LBE369:
  5215. 2419 .loc 1 1582 5 discriminator 1
  5216. 2420 0064 002B cmp r3, #0
  5217. 2421 0066 E5D1 bne .L120
  5218. 2422 .LBE366:
  5219. 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5220. 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream */
  5221. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 91
  5222. 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
  5223. 2423 .loc 1 1585 14
  5224. 2424 0068 7B68 ldr r3, [r7, #4]
  5225. 2425 006a 5B6B ldr r3, [r3, #52]
  5226. 2426 .loc 1 1585 8
  5227. 2427 006c 002B cmp r3, #0
  5228. 2428 006e 04D0 beq .L121
  5229. 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5230. 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
  5231. 2429 .loc 1 1587 7
  5232. 2430 0070 7B68 ldr r3, [r7, #4]
  5233. 2431 0072 5B6B ldr r3, [r3, #52]
  5234. 2432 0074 1846 mov r0, r3
  5235. 2433 0076 FFF7FEFF bl HAL_DMA_Abort
  5236. 2434 .L121:
  5237. 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5238. 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
  5239. 2435 .loc 1 1589 5
  5240. 2436 007a 7868 ldr r0, [r7, #4]
  5241. 2437 007c FFF7FEFF bl UART_EndTxTransfer
  5242. 2438 .L117:
  5243. 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5244. 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5245. 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
  5246. 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
  5247. 2439 .loc 1 1593 16
  5248. 2440 0080 7B68 ldr r3, [r7, #4]
  5249. 2441 0082 1B68 ldr r3, [r3]
  5250. 2442 0084 5B69 ldr r3, [r3, #20]
  5251. 2443 0086 03F04003 and r3, r3, #64
  5252. 2444 008a 402B cmp r3, #64
  5253. 2445 008c 0CBF ite eq
  5254. 2446 008e 0123 moveq r3, #1
  5255. 2447 0090 0023 movne r3, #0
  5256. 2448 0092 DBB2 uxtb r3, r3
  5257. 2449 .loc 1 1593 14
  5258. 2450 0094 FB63 str r3, [r7, #60]
  5259. 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
  5260. 2451 .loc 1 1594 13
  5261. 2452 0096 7B68 ldr r3, [r7, #4]
  5262. 2453 0098 93F83E30 ldrb r3, [r3, #62]
  5263. 2454 009c DBB2 uxtb r3, r3
  5264. 2455 .loc 1 1594 6
  5265. 2456 009e 222B cmp r3, #34
  5266. 2457 00a0 28D1 bne .L122
  5267. 2458 .loc 1 1594 50 discriminator 1
  5268. 2459 00a2 FB6B ldr r3, [r7, #60]
  5269. 2460 00a4 002B cmp r3, #0
  5270. 2461 00a6 25D0 beq .L122
  5271. 2462 .L125:
  5272. 2463 .LBB371:
  5273. 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5274. 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  5275. 2464 .loc 1 1596 5 discriminator 1
  5276. 2465 00a8 7B68 ldr r3, [r7, #4]
  5277. 2466 00aa 1B68 ldr r3, [r3]
  5278. 2467 00ac 1433 adds r3, r3, #20
  5279. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 92
  5280. 2468 00ae 3B61 str r3, [r7, #16]
  5281. 2469 .LBB372:
  5282. 2470 .LBB373:
  5283. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5284. 2471 .loc 2 1072 4 discriminator 1
  5285. 2472 00b0 3B69 ldr r3, [r7, #16]
  5286. 2473 .syntax unified
  5287. 2474 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5288. 2475 00b2 53E8003F ldrex r3, [r3]
  5289. 2476 @ 0 "" 2
  5290. 2477 .thumb
  5291. 2478 .syntax unified
  5292. 2479 00b6 FB60 str r3, [r7, #12]
  5293. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5294. 2480 .loc 2 1073 10 discriminator 1
  5295. 2481 00b8 FB68 ldr r3, [r7, #12]
  5296. 2482 .LBE373:
  5297. 2483 .LBE372:
  5298. 2484 .loc 1 1596 5 discriminator 1
  5299. 2485 00ba 23F04003 bic r3, r3, #64
  5300. 2486 00be 7B63 str r3, [r7, #52]
  5301. 2487 00c0 7B68 ldr r3, [r7, #4]
  5302. 2488 00c2 1B68 ldr r3, [r3]
  5303. 2489 00c4 1433 adds r3, r3, #20
  5304. 2490 00c6 7A6B ldr r2, [r7, #52]
  5305. 2491 00c8 FA61 str r2, [r7, #28]
  5306. 2492 00ca BB61 str r3, [r7, #24]
  5307. 2493 .LBB374:
  5308. 2494 .LBB375:
  5309. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5310. 2495 .loc 2 1123 4 discriminator 1
  5311. 2496 00cc B969 ldr r1, [r7, #24]
  5312. 2497 00ce FA69 ldr r2, [r7, #28]
  5313. 2498 .syntax unified
  5314. 2499 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5315. 2500 00d0 41E80023 strex r3, r2, [r1]
  5316. 2501 @ 0 "" 2
  5317. 2502 .thumb
  5318. 2503 .syntax unified
  5319. 2504 00d4 7B61 str r3, [r7, #20]
  5320. 2505 .loc 2 1124 10 discriminator 1
  5321. 2506 00d6 7B69 ldr r3, [r7, #20]
  5322. 2507 .LBE375:
  5323. 2508 .LBE374:
  5324. 2509 .loc 1 1596 5 discriminator 1
  5325. 2510 00d8 002B cmp r3, #0
  5326. 2511 00da E5D1 bne .L125
  5327. 2512 .LBE371:
  5328. 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5329. 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
  5330. 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  5331. 2513 .loc 1 1599 14
  5332. 2514 00dc 7B68 ldr r3, [r7, #4]
  5333. 2515 00de 9B6B ldr r3, [r3, #56]
  5334. 2516 .loc 1 1599 8
  5335. 2517 00e0 002B cmp r3, #0
  5336. 2518 00e2 04D0 beq .L126
  5337. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 93
  5338. 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5339. 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
  5340. 2519 .loc 1 1601 7
  5341. 2520 00e4 7B68 ldr r3, [r7, #4]
  5342. 2521 00e6 9B6B ldr r3, [r3, #56]
  5343. 2522 00e8 1846 mov r0, r3
  5344. 2523 00ea FFF7FEFF bl HAL_DMA_Abort
  5345. 2524 .L126:
  5346. 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5347. 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
  5348. 2525 .loc 1 1603 5
  5349. 2526 00ee 7868 ldr r0, [r7, #4]
  5350. 2527 00f0 FFF7FEFF bl UART_EndRxTransfer
  5351. 2528 .L122:
  5352. 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5353. 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5354. 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  5355. 2529 .loc 1 1606 10
  5356. 2530 00f4 0023 movs r3, #0
  5357. 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5358. 2531 .loc 1 1607 1
  5359. 2532 00f6 1846 mov r0, r3
  5360. 2533 00f8 4037 adds r7, r7, #64
  5361. 2534 .LCFI83:
  5362. 2535 .cfi_def_cfa_offset 8
  5363. 2536 00fa BD46 mov sp, r7
  5364. 2537 .LCFI84:
  5365. 2538 .cfi_def_cfa_register 13
  5366. 2539 @ sp needed
  5367. 2540 00fc 80BD pop {r7, pc}
  5368. 2541 .cfi_endproc
  5369. 2542 .LFE250:
  5370. 2544 .section .text.HAL_UARTEx_ReceiveToIdle,"ax",%progbits
  5371. 2545 .align 1
  5372. 2546 .global HAL_UARTEx_ReceiveToIdle
  5373. 2547 .syntax unified
  5374. 2548 .thumb
  5375. 2549 .thumb_func
  5376. 2551 HAL_UARTEx_ReceiveToIdle:
  5377. 2552 .LFB251:
  5378. 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5379. 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  5380. 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode till either the expected number of data is re
  5381. 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note HAL_OK is returned if reception is completed (expected number of data has been received
  5382. 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * or if reception is stopped after IDLE event (less than the expected number of data has
  5383. 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In this case, RxLen output parameter indicates number of data available in reception bu
  5384. 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
  5385. 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
  5386. 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
  5387. 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  5388. 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
  5389. 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
  5390. 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param RxLen Number of data elements finally received (could be lower than Size, in case rece
  5391. 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration expressed in ms (covers the whole reception sequence).
  5392. 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  5393. 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  5394. 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size
  5395. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 94
  5396. 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Timeout)
  5397. 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5398. 2553 .loc 1 1626 1
  5399. 2554 .cfi_startproc
  5400. 2555 @ args = 4, pretend = 0, frame = 32
  5401. 2556 @ frame_needed = 1, uses_anonymous_args = 0
  5402. 2557 0000 80B5 push {r7, lr}
  5403. 2558 .LCFI85:
  5404. 2559 .cfi_def_cfa_offset 8
  5405. 2560 .cfi_offset 7, -8
  5406. 2561 .cfi_offset 14, -4
  5407. 2562 0002 88B0 sub sp, sp, #32
  5408. 2563 .LCFI86:
  5409. 2564 .cfi_def_cfa_offset 40
  5410. 2565 0004 00AF add r7, sp, #0
  5411. 2566 .LCFI87:
  5412. 2567 .cfi_def_cfa_register 7
  5413. 2568 0006 F860 str r0, [r7, #12]
  5414. 2569 0008 B960 str r1, [r7, #8]
  5415. 2570 000a 3B60 str r3, [r7]
  5416. 2571 000c 1346 mov r3, r2 @ movhi
  5417. 2572 000e FB80 strh r3, [r7, #6] @ movhi
  5418. 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
  5419. 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
  5420. 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart;
  5421. 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5422. 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  5423. 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  5424. 2573 .loc 1 1632 12
  5425. 2574 0010 FB68 ldr r3, [r7, #12]
  5426. 2575 0012 93F83E30 ldrb r3, [r3, #62]
  5427. 2576 0016 DBB2 uxtb r3, r3
  5428. 2577 .loc 1 1632 6
  5429. 2578 0018 202B cmp r3, #32
  5430. 2579 001a 40F0C980 bne .L129
  5431. 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5432. 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  5433. 2580 .loc 1 1634 8
  5434. 2581 001e BB68 ldr r3, [r7, #8]
  5435. 2582 0020 002B cmp r3, #0
  5436. 2583 0022 02D0 beq .L130
  5437. 2584 .loc 1 1634 25 discriminator 1
  5438. 2585 0024 FB88 ldrh r3, [r7, #6]
  5439. 2586 0026 002B cmp r3, #0
  5440. 2587 0028 01D1 bne .L131
  5441. 2588 .L130:
  5442. 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5443. 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  5444. 2589 .loc 1 1636 15
  5445. 2590 002a 0123 movs r3, #1
  5446. 2591 002c C1E0 b .L132
  5447. 2592 .L131:
  5448. 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5449. 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5450. 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  5451. 2593 .loc 1 1639 5
  5452. 2594 002e FB68 ldr r3, [r7, #12]
  5453. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 95
  5454. 2595 0030 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  5455. 2596 0034 012B cmp r3, #1
  5456. 2597 0036 01D1 bne .L133
  5457. 2598 .loc 1 1639 5 is_stmt 0 discriminator 1
  5458. 2599 0038 0223 movs r3, #2
  5459. 2600 003a BAE0 b .L132
  5460. 2601 .L133:
  5461. 2602 .loc 1 1639 5 discriminator 2
  5462. 2603 003c FB68 ldr r3, [r7, #12]
  5463. 2604 003e 0122 movs r2, #1
  5464. 2605 0040 83F83C20 strb r2, [r3, #60]
  5465. 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5466. 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  5467. 2606 .loc 1 1641 22 is_stmt 1 discriminator 2
  5468. 2607 0044 FB68 ldr r3, [r7, #12]
  5469. 2608 0046 0022 movs r2, #0
  5470. 2609 0048 1A64 str r2, [r3, #64]
  5471. 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
  5472. 2610 .loc 1 1642 20 discriminator 2
  5473. 2611 004a FB68 ldr r3, [r7, #12]
  5474. 2612 004c 2222 movs r2, #34
  5475. 2613 004e 83F83E20 strb r2, [r3, #62]
  5476. 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
  5477. 2614 .loc 1 1643 26 discriminator 2
  5478. 2615 0052 FB68 ldr r3, [r7, #12]
  5479. 2616 0054 0122 movs r2, #1
  5480. 2617 0056 1A63 str r2, [r3, #48]
  5481. 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5482. 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
  5483. 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
  5484. 2618 .loc 1 1646 17 discriminator 2
  5485. 2619 0058 FFF7FEFF bl HAL_GetTick
  5486. 2620 005c 7861 str r0, [r7, #20]
  5487. 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5488. 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
  5489. 2621 .loc 1 1648 24 discriminator 2
  5490. 2622 005e FB68 ldr r3, [r7, #12]
  5491. 2623 0060 FA88 ldrh r2, [r7, #6] @ movhi
  5492. 2624 0062 9A85 strh r2, [r3, #44] @ movhi
  5493. 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
  5494. 2625 .loc 1 1649 24 discriminator 2
  5495. 2626 0064 FB68 ldr r3, [r7, #12]
  5496. 2627 0066 FA88 ldrh r2, [r7, #6] @ movhi
  5497. 2628 0068 DA85 strh r2, [r3, #46] @ movhi
  5498. 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5499. 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
  5500. 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  5501. 2629 .loc 1 1652 21 discriminator 2
  5502. 2630 006a FB68 ldr r3, [r7, #12]
  5503. 2631 006c 9B68 ldr r3, [r3, #8]
  5504. 2632 .loc 1 1652 8 discriminator 2
  5505. 2633 006e B3F5805F cmp r3, #4096
  5506. 2634 0072 08D1 bne .L134
  5507. 2635 .loc 1 1652 71 discriminator 1
  5508. 2636 0074 FB68 ldr r3, [r7, #12]
  5509. 2637 0076 1B69 ldr r3, [r3, #16]
  5510. 2638 .loc 1 1652 56 discriminator 1
  5511. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 96
  5512. 2639 0078 002B cmp r3, #0
  5513. 2640 007a 04D1 bne .L134
  5514. 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5515. 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
  5516. 2641 .loc 1 1654 19
  5517. 2642 007c 0023 movs r3, #0
  5518. 2643 007e FB61 str r3, [r7, #28]
  5519. 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
  5520. 2644 .loc 1 1655 19
  5521. 2645 0080 BB68 ldr r3, [r7, #8]
  5522. 2646 0082 BB61 str r3, [r7, #24]
  5523. 2647 0084 03E0 b .L135
  5524. 2648 .L134:
  5525. 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5526. 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  5527. 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5528. 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
  5529. 2649 .loc 1 1659 19
  5530. 2650 0086 BB68 ldr r3, [r7, #8]
  5531. 2651 0088 FB61 str r3, [r7, #28]
  5532. 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
  5533. 2652 .loc 1 1660 19
  5534. 2653 008a 0023 movs r3, #0
  5535. 2654 008c BB61 str r3, [r7, #24]
  5536. 2655 .L135:
  5537. 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5538. 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5539. 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  5540. 2656 .loc 1 1663 5
  5541. 2657 008e FB68 ldr r3, [r7, #12]
  5542. 2658 0090 0022 movs r2, #0
  5543. 2659 0092 83F83C20 strb r2, [r3, #60]
  5544. 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5545. 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize output number of received elements */
  5546. 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = 0U;
  5547. 2660 .loc 1 1666 12
  5548. 2661 0096 3B68 ldr r3, [r7]
  5549. 2662 0098 0022 movs r2, #0
  5550. 2663 009a 1A80 strh r2, [r3] @ movhi
  5551. 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5552. 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* as long as data have to be received */
  5553. 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
  5554. 2664 .loc 1 1669 11
  5555. 2665 009c 74E0 b .L136
  5556. 2666 .L145:
  5557. 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5558. 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */
  5559. 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE))
  5560. 2667 .loc 1 1672 11
  5561. 2668 009e FB68 ldr r3, [r7, #12]
  5562. 2669 00a0 1B68 ldr r3, [r3]
  5563. 2670 00a2 1B68 ldr r3, [r3]
  5564. 2671 00a4 03F01003 and r3, r3, #16
  5565. 2672 .loc 1 1672 10
  5566. 2673 00a8 102B cmp r3, #16
  5567. 2674 00aa 14D1 bne .L137
  5568. 2675 .LBB376:
  5569. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 97
  5570. 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5571. 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */
  5572. 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
  5573. 2676 .loc 1 1675 9
  5574. 2677 00ac 0023 movs r3, #0
  5575. 2678 00ae 3B61 str r3, [r7, #16]
  5576. 2679 00b0 FB68 ldr r3, [r7, #12]
  5577. 2680 00b2 1B68 ldr r3, [r3]
  5578. 2681 00b4 1B68 ldr r3, [r3]
  5579. 2682 00b6 3B61 str r3, [r7, #16]
  5580. 2683 00b8 FB68 ldr r3, [r7, #12]
  5581. 2684 00ba 1B68 ldr r3, [r3]
  5582. 2685 00bc 5B68 ldr r3, [r3, #4]
  5583. 2686 00be 3B61 str r3, [r7, #16]
  5584. 2687 00c0 3B69 ldr r3, [r7, #16]
  5585. 2688 .LBE376:
  5586. 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5587. 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, but no data ever received, clear flag without exiting loop */
  5588. 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, and data has already been received, this means Idle Event is valid : End recepti
  5589. 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (*RxLen > 0U)
  5590. 2689 .loc 1 1679 13
  5591. 2690 00c2 3B68 ldr r3, [r7]
  5592. 2691 00c4 1B88 ldrh r3, [r3]
  5593. 2692 .loc 1 1679 12
  5594. 2693 00c6 002B cmp r3, #0
  5595. 2694 00c8 05D0 beq .L137
  5596. 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5597. 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  5598. 2695 .loc 1 1681 26
  5599. 2696 00ca FB68 ldr r3, [r7, #12]
  5600. 2697 00cc 2022 movs r2, #32
  5601. 2698 00ce 83F83E20 strb r2, [r3, #62]
  5602. 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5603. 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  5604. 2699 .loc 1 1683 18
  5605. 2700 00d2 0023 movs r3, #0
  5606. 2701 00d4 6DE0 b .L132
  5607. 2702 .L137:
  5608. 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5609. 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5610. 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5611. 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if RXNE flag is set */
  5612. 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RXNE))
  5613. 2703 .loc 1 1688 11
  5614. 2704 00d6 FB68 ldr r3, [r7, #12]
  5615. 2705 00d8 1B68 ldr r3, [r3]
  5616. 2706 00da 1B68 ldr r3, [r3]
  5617. 2707 00dc 03F02003 and r3, r3, #32
  5618. 2708 .loc 1 1688 10
  5619. 2709 00e0 202B cmp r3, #32
  5620. 2710 00e2 3CD1 bne .L138
  5621. 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5622. 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
  5623. 2711 .loc 1 1690 12
  5624. 2712 00e4 FB69 ldr r3, [r7, #28]
  5625. 2713 00e6 002B cmp r3, #0
  5626. 2714 00e8 0CD1 bne .L139
  5627. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 98
  5628. 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5629. 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
  5630. 2715 .loc 1 1692 42
  5631. 2716 00ea FB68 ldr r3, [r7, #12]
  5632. 2717 00ec 1B68 ldr r3, [r3]
  5633. 2718 .loc 1 1692 52
  5634. 2719 00ee 5B68 ldr r3, [r3, #4]
  5635. 2720 .loc 1 1692 26
  5636. 2721 00f0 9BB2 uxth r3, r3
  5637. 2722 00f2 C3F30803 ubfx r3, r3, #0, #9
  5638. 2723 00f6 9AB2 uxth r2, r3
  5639. 2724 .loc 1 1692 24
  5640. 2725 00f8 BB69 ldr r3, [r7, #24]
  5641. 2726 00fa 1A80 strh r2, [r3] @ movhi
  5642. 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
  5643. 2727 .loc 1 1693 22
  5644. 2728 00fc BB69 ldr r3, [r7, #24]
  5645. 2729 00fe 0233 adds r3, r3, #2
  5646. 2730 0100 BB61 str r3, [r7, #24]
  5647. 2731 0102 1FE0 b .L140
  5648. 2732 .L139:
  5649. 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5650. 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  5651. 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5652. 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WO
  5653. 2733 .loc 1 1697 27
  5654. 2734 0104 FB68 ldr r3, [r7, #12]
  5655. 2735 0106 9B68 ldr r3, [r3, #8]
  5656. 2736 .loc 1 1697 14
  5657. 2737 0108 B3F5805F cmp r3, #4096
  5658. 2738 010c 07D0 beq .L141
  5659. 2739 .loc 1 1697 78 discriminator 1
  5660. 2740 010e FB68 ldr r3, [r7, #12]
  5661. 2741 0110 9B68 ldr r3, [r3, #8]
  5662. 2742 .loc 1 1697 62 discriminator 1
  5663. 2743 0112 002B cmp r3, #0
  5664. 2744 0114 0AD1 bne .L142
  5665. 2745 .loc 1 1697 128 discriminator 2
  5666. 2746 0116 FB68 ldr r3, [r7, #12]
  5667. 2747 0118 1B69 ldr r3, [r3, #16]
  5668. 2748 .loc 1 1697 113 discriminator 2
  5669. 2749 011a 002B cmp r3, #0
  5670. 2750 011c 06D1 bne .L142
  5671. 2751 .L141:
  5672. 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5673. 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
  5674. 2752 .loc 1 1699 42
  5675. 2753 011e FB68 ldr r3, [r7, #12]
  5676. 2754 0120 1B68 ldr r3, [r3]
  5677. 2755 .loc 1 1699 52
  5678. 2756 0122 5B68 ldr r3, [r3, #4]
  5679. 2757 .loc 1 1699 27
  5680. 2758 0124 DAB2 uxtb r2, r3
  5681. 2759 .loc 1 1699 25
  5682. 2760 0126 FB69 ldr r3, [r7, #28]
  5683. 2761 0128 1A70 strb r2, [r3]
  5684. 2762 012a 08E0 b .L143
  5685. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 99
  5686. 2763 .L142:
  5687. 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5688. 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  5689. 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5690. 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
  5691. 2764 .loc 1 1703 42
  5692. 2765 012c FB68 ldr r3, [r7, #12]
  5693. 2766 012e 1B68 ldr r3, [r3]
  5694. 2767 .loc 1 1703 52
  5695. 2768 0130 5B68 ldr r3, [r3, #4]
  5696. 2769 .loc 1 1703 27
  5697. 2770 0132 DBB2 uxtb r3, r3
  5698. 2771 0134 03F07F03 and r3, r3, #127
  5699. 2772 0138 DAB2 uxtb r2, r3
  5700. 2773 .loc 1 1703 25
  5701. 2774 013a FB69 ldr r3, [r7, #28]
  5702. 2775 013c 1A70 strb r2, [r3]
  5703. 2776 .L143:
  5704. 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5705. 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5706. 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
  5707. 2777 .loc 1 1706 21
  5708. 2778 013e FB69 ldr r3, [r7, #28]
  5709. 2779 0140 0133 adds r3, r3, #1
  5710. 2780 0142 FB61 str r3, [r7, #28]
  5711. 2781 .L140:
  5712. 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5713. 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Increment number of received elements */
  5714. 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen += 1U;
  5715. 2782 .loc 1 1709 16
  5716. 2783 0144 3B68 ldr r3, [r7]
  5717. 2784 0146 1B88 ldrh r3, [r3]
  5718. 2785 0148 0133 adds r3, r3, #1
  5719. 2786 014a 9AB2 uxth r2, r3
  5720. 2787 014c 3B68 ldr r3, [r7]
  5721. 2788 014e 1A80 strh r2, [r3] @ movhi
  5722. 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
  5723. 2789 .loc 1 1710 14
  5724. 2790 0150 FB68 ldr r3, [r7, #12]
  5725. 2791 0152 DB8D ldrh r3, [r3, #46] @ movhi
  5726. 2792 0154 9BB2 uxth r3, r3
  5727. 2793 .loc 1 1710 27
  5728. 2794 0156 013B subs r3, r3, #1
  5729. 2795 0158 9AB2 uxth r2, r3
  5730. 2796 015a FB68 ldr r3, [r7, #12]
  5731. 2797 015c DA85 strh r2, [r3, #46] @ movhi
  5732. 2798 .L138:
  5733. 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5734. 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5735. 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */
  5736. 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
  5737. 2799 .loc 1 1714 10
  5738. 2800 015e BB6A ldr r3, [r7, #40]
  5739. 2801 0160 B3F1FF3F cmp r3, #-1
  5740. 2802 0164 10D0 beq .L136
  5741. 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5742. 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
  5743. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 100
  5744. 2803 .loc 1 1716 15
  5745. 2804 0166 FFF7FEFF bl HAL_GetTick
  5746. 2805 016a 0246 mov r2, r0
  5747. 2806 .loc 1 1716 29
  5748. 2807 016c 7B69 ldr r3, [r7, #20]
  5749. 2808 016e D31A subs r3, r2, r3
  5750. 2809 .loc 1 1716 12
  5751. 2810 0170 BA6A ldr r2, [r7, #40]
  5752. 2811 0172 9A42 cmp r2, r3
  5753. 2812 0174 02D3 bcc .L144
  5754. 2813 .loc 1 1716 53 discriminator 1
  5755. 2814 0176 BB6A ldr r3, [r7, #40]
  5756. 2815 0178 002B cmp r3, #0
  5757. 2816 017a 05D1 bne .L136
  5758. 2817 .L144:
  5759. 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5760. 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  5761. 2818 .loc 1 1718 26
  5762. 2819 017c FB68 ldr r3, [r7, #12]
  5763. 2820 017e 2022 movs r2, #32
  5764. 2821 0180 83F83E20 strb r2, [r3, #62]
  5765. 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5766. 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  5767. 2822 .loc 1 1720 18
  5768. 2823 0184 0323 movs r3, #3
  5769. 2824 0186 14E0 b .L132
  5770. 2825 .L136:
  5771. 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5772. 2826 .loc 1 1669 17
  5773. 2827 0188 FB68 ldr r3, [r7, #12]
  5774. 2828 018a DB8D ldrh r3, [r3, #46] @ movhi
  5775. 2829 018c 9BB2 uxth r3, r3
  5776. 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5777. 2830 .loc 1 1669 11
  5778. 2831 018e 002B cmp r3, #0
  5779. 2832 0190 85D1 bne .L145
  5780. 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5781. 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5782. 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5783. 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5784. 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set number of received elements in output parameter : RxLen */
  5785. 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = huart->RxXferSize - huart->RxXferCount;
  5786. 2833 .loc 1 1726 19
  5787. 2834 0192 FB68 ldr r3, [r7, #12]
  5788. 2835 0194 9A8D ldrh r2, [r3, #44]
  5789. 2836 .loc 1 1726 39
  5790. 2837 0196 FB68 ldr r3, [r7, #12]
  5791. 2838 0198 DB8D ldrh r3, [r3, #46] @ movhi
  5792. 2839 019a 9BB2 uxth r3, r3
  5793. 2840 .loc 1 1726 32
  5794. 2841 019c D31A subs r3, r2, r3
  5795. 2842 019e 9AB2 uxth r2, r3
  5796. 2843 .loc 1 1726 12
  5797. 2844 01a0 3B68 ldr r3, [r7]
  5798. 2845 01a2 1A80 strh r2, [r3] @ movhi
  5799. 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  5800. 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  5801. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 101
  5802. 2846 .loc 1 1728 20
  5803. 2847 01a4 FB68 ldr r3, [r7, #12]
  5804. 2848 01a6 2022 movs r2, #32
  5805. 2849 01a8 83F83E20 strb r2, [r3, #62]
  5806. 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5807. 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  5808. 2850 .loc 1 1730 12
  5809. 2851 01ac 0023 movs r3, #0
  5810. 2852 01ae 00E0 b .L132
  5811. 2853 .L129:
  5812. 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5813. 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  5814. 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5815. 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  5816. 2854 .loc 1 1734 12
  5817. 2855 01b0 0223 movs r3, #2
  5818. 2856 .L132:
  5819. 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5820. 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5821. 2857 .loc 1 1736 1
  5822. 2858 01b2 1846 mov r0, r3
  5823. 2859 01b4 2037 adds r7, r7, #32
  5824. 2860 .LCFI88:
  5825. 2861 .cfi_def_cfa_offset 8
  5826. 2862 01b6 BD46 mov sp, r7
  5827. 2863 .LCFI89:
  5828. 2864 .cfi_def_cfa_register 13
  5829. 2865 @ sp needed
  5830. 2866 01b8 80BD pop {r7, pc}
  5831. 2867 .cfi_endproc
  5832. 2868 .LFE251:
  5833. 2870 .section .text.HAL_UARTEx_ReceiveToIdle_IT,"ax",%progbits
  5834. 2871 .align 1
  5835. 2872 .global HAL_UARTEx_ReceiveToIdle_IT
  5836. 2873 .syntax unified
  5837. 2874 .thumb
  5838. 2875 .thumb_func
  5839. 2877 HAL_UARTEx_ReceiveToIdle_IT:
  5840. 2878 .LFB252:
  5841. 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5842. 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  5843. 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode till either the expected number of data is r
  5844. 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
  5845. 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to UART interrupts raised by RXNE and IDLE events. Callback is called at end of recepti
  5846. 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * number of received data elements.
  5847. 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
  5848. 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
  5849. 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
  5850. 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  5851. 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
  5852. 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
  5853. 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  5854. 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  5855. 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t S
  5856. 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5857. 2879 .loc 1 1752 1
  5858. 2880 .cfi_startproc
  5859. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 102
  5860. 2881 @ args = 0, pretend = 0, frame = 48
  5861. 2882 @ frame_needed = 1, uses_anonymous_args = 0
  5862. 2883 0000 80B5 push {r7, lr}
  5863. 2884 .LCFI90:
  5864. 2885 .cfi_def_cfa_offset 8
  5865. 2886 .cfi_offset 7, -8
  5866. 2887 .cfi_offset 14, -4
  5867. 2888 0002 8CB0 sub sp, sp, #48
  5868. 2889 .LCFI91:
  5869. 2890 .cfi_def_cfa_offset 56
  5870. 2891 0004 00AF add r7, sp, #0
  5871. 2892 .LCFI92:
  5872. 2893 .cfi_def_cfa_register 7
  5873. 2894 0006 F860 str r0, [r7, #12]
  5874. 2895 0008 B960 str r1, [r7, #8]
  5875. 2896 000a 1346 mov r3, r2
  5876. 2897 000c FB80 strh r3, [r7, #6] @ movhi
  5877. 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
  5878. 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5879. 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  5880. 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  5881. 2898 .loc 1 1756 12
  5882. 2899 000e FB68 ldr r3, [r7, #12]
  5883. 2900 0010 93F83E30 ldrb r3, [r3, #62]
  5884. 2901 0014 DBB2 uxtb r3, r3
  5885. 2902 .loc 1 1756 6
  5886. 2903 0016 202B cmp r3, #32
  5887. 2904 0018 52D1 bne .L147
  5888. 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5889. 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  5890. 2905 .loc 1 1758 8
  5891. 2906 001a BB68 ldr r3, [r7, #8]
  5892. 2907 001c 002B cmp r3, #0
  5893. 2908 001e 02D0 beq .L148
  5894. 2909 .loc 1 1758 25 discriminator 1
  5895. 2910 0020 FB88 ldrh r3, [r7, #6]
  5896. 2911 0022 002B cmp r3, #0
  5897. 2912 0024 01D1 bne .L149
  5898. 2913 .L148:
  5899. 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5900. 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  5901. 2914 .loc 1 1760 14
  5902. 2915 0026 0123 movs r3, #1
  5903. 2916 0028 4BE0 b .L150
  5904. 2917 .L149:
  5905. 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  5906. 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5907. 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  5908. 2918 .loc 1 1763 5
  5909. 2919 002a FB68 ldr r3, [r7, #12]
  5910. 2920 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  5911. 2921 0030 012B cmp r3, #1
  5912. 2922 0032 01D1 bne .L151
  5913. 2923 .loc 1 1763 5 is_stmt 0 discriminator 1
  5914. 2924 0034 0223 movs r3, #2
  5915. 2925 0036 44E0 b .L150
  5916. 2926 .L151:
  5917. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 103
  5918. 2927 .loc 1 1763 5 discriminator 2
  5919. 2928 0038 FB68 ldr r3, [r7, #12]
  5920. 2929 003a 0122 movs r2, #1
  5921. 2930 003c 83F83C20 strb r2, [r3, #60]
  5922. 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5923. 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/
  5924. 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
  5925. 2931 .loc 1 1766 26 is_stmt 1 discriminator 2
  5926. 2932 0040 FB68 ldr r3, [r7, #12]
  5927. 2933 0042 0122 movs r2, #1
  5928. 2934 0044 1A63 str r2, [r3, #48]
  5929. 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5930. 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_IT(huart, pData, Size);
  5931. 2935 .loc 1 1768 15 discriminator 2
  5932. 2936 0046 FB88 ldrh r3, [r7, #6]
  5933. 2937 0048 1A46 mov r2, r3
  5934. 2938 004a B968 ldr r1, [r7, #8]
  5935. 2939 004c F868 ldr r0, [r7, #12]
  5936. 2940 004e FFF7FEFF bl UART_Start_Receive_IT
  5937. 2941 0052 0346 mov r3, r0
  5938. 2942 0054 87F82F30 strb r3, [r7, #47]
  5939. 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  5940. 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */
  5941. 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (status == HAL_OK)
  5942. 2943 .loc 1 1771 8 discriminator 2
  5943. 2944 0058 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  5944. 2945 005c 002B cmp r3, #0
  5945. 2946 005e 2CD1 bne .L152
  5946. 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5947. 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  5948. 2947 .loc 1 1773 16
  5949. 2948 0060 FB68 ldr r3, [r7, #12]
  5950. 2949 0062 1B6B ldr r3, [r3, #48]
  5951. 2950 .loc 1 1773 10
  5952. 2951 0064 012B cmp r3, #1
  5953. 2952 0066 25D1 bne .L153
  5954. 2953 .LBB377:
  5955. 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  5956. 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
  5957. 2954 .loc 1 1775 9
  5958. 2955 0068 0023 movs r3, #0
  5959. 2956 006a 3B61 str r3, [r7, #16]
  5960. 2957 006c FB68 ldr r3, [r7, #12]
  5961. 2958 006e 1B68 ldr r3, [r3]
  5962. 2959 0070 1B68 ldr r3, [r3]
  5963. 2960 0072 3B61 str r3, [r7, #16]
  5964. 2961 0074 FB68 ldr r3, [r7, #12]
  5965. 2962 0076 1B68 ldr r3, [r3]
  5966. 2963 0078 5B68 ldr r3, [r3, #4]
  5967. 2964 007a 3B61 str r3, [r7, #16]
  5968. 2965 007c 3B69 ldr r3, [r7, #16]
  5969. 2966 .L156:
  5970. 2967 .LBE377:
  5971. 2968 .LBB378:
  5972. 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  5973. 2969 .loc 1 1776 9 discriminator 1
  5974. 2970 007e FB68 ldr r3, [r7, #12]
  5975. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 104
  5976. 2971 0080 1B68 ldr r3, [r3]
  5977. 2972 0082 0C33 adds r3, r3, #12
  5978. 2973 0084 BB61 str r3, [r7, #24]
  5979. 2974 .LBB379:
  5980. 2975 .LBB380:
  5981. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  5982. 2976 .loc 2 1072 4 discriminator 1
  5983. 2977 0086 BB69 ldr r3, [r7, #24]
  5984. 2978 .syntax unified
  5985. 2979 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  5986. 2980 0088 53E8003F ldrex r3, [r3]
  5987. 2981 @ 0 "" 2
  5988. 2982 .thumb
  5989. 2983 .syntax unified
  5990. 2984 008c 7B61 str r3, [r7, #20]
  5991. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  5992. 2985 .loc 2 1073 10 discriminator 1
  5993. 2986 008e 7B69 ldr r3, [r7, #20]
  5994. 2987 .LBE380:
  5995. 2988 .LBE379:
  5996. 2989 .loc 1 1776 9 discriminator 1
  5997. 2990 0090 43F01003 orr r3, r3, #16
  5998. 2991 0094 BB62 str r3, [r7, #40]
  5999. 2992 0096 FB68 ldr r3, [r7, #12]
  6000. 2993 0098 1B68 ldr r3, [r3]
  6001. 2994 009a 0C33 adds r3, r3, #12
  6002. 2995 009c BA6A ldr r2, [r7, #40]
  6003. 2996 009e 7A62 str r2, [r7, #36]
  6004. 2997 00a0 3B62 str r3, [r7, #32]
  6005. 2998 .LBB381:
  6006. 2999 .LBB382:
  6007. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6008. 3000 .loc 2 1123 4 discriminator 1
  6009. 3001 00a2 396A ldr r1, [r7, #32]
  6010. 3002 00a4 7A6A ldr r2, [r7, #36]
  6011. 3003 .syntax unified
  6012. 3004 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6013. 3005 00a6 41E80023 strex r3, r2, [r1]
  6014. 3006 @ 0 "" 2
  6015. 3007 .thumb
  6016. 3008 .syntax unified
  6017. 3009 00aa FB61 str r3, [r7, #28]
  6018. 3010 .loc 2 1124 10 discriminator 1
  6019. 3011 00ac FB69 ldr r3, [r7, #28]
  6020. 3012 .LBE382:
  6021. 3013 .LBE381:
  6022. 3014 .loc 1 1776 9 discriminator 1
  6023. 3015 00ae 002B cmp r3, #0
  6024. 3016 00b0 E5D1 bne .L156
  6025. 3017 00b2 02E0 b .L152
  6026. 3018 .L153:
  6027. 3019 .LBE378:
  6028. 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6029. 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  6030. 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6031. 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started,
  6032. 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion.
  6033. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 105
  6034. 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance).
  6035. 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
  6036. 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  6037. 3020 .loc 1 1784 16
  6038. 3021 00b4 0123 movs r3, #1
  6039. 3022 00b6 87F82F30 strb r3, [r7, #47]
  6040. 3023 .L152:
  6041. 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6042. 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6043. 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6044. 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
  6045. 3024 .loc 1 1788 12
  6046. 3025 00ba 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  6047. 3026 00be 00E0 b .L150
  6048. 3027 .L147:
  6049. 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6050. 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  6051. 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6052. 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  6053. 3028 .loc 1 1792 12
  6054. 3029 00c0 0223 movs r3, #2
  6055. 3030 .L150:
  6056. 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6057. 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6058. 3031 .loc 1 1794 1
  6059. 3032 00c2 1846 mov r0, r3
  6060. 3033 00c4 3037 adds r7, r7, #48
  6061. 3034 .LCFI93:
  6062. 3035 .cfi_def_cfa_offset 8
  6063. 3036 00c6 BD46 mov sp, r7
  6064. 3037 .LCFI94:
  6065. 3038 .cfi_def_cfa_register 13
  6066. 3039 @ sp needed
  6067. 3040 00c8 80BD pop {r7, pc}
  6068. 3041 .cfi_endproc
  6069. 3042 .LFE252:
  6070. 3044 .section .text.HAL_UARTEx_ReceiveToIdle_DMA,"ax",%progbits
  6071. 3045 .align 1
  6072. 3046 .global HAL_UARTEx_ReceiveToIdle_DMA
  6073. 3047 .syntax unified
  6074. 3048 .thumb
  6075. 3049 .thumb_func
  6076. 3051 HAL_UARTEx_ReceiveToIdle_DMA:
  6077. 3052 .LFB253:
  6078. 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6079. 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  6080. 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode till either the expected number of data is receive
  6081. 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
  6082. 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to DMA services, transferring automatically received data elements in user reception bu
  6083. 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * calling registered callbacks at half/end of reception. UART IDLE events are also used t
  6084. 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception phase as ended. In all cases, callback execution will indicate number of rece
  6085. 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
  6086. 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the parity bit (MSB position).
  6087. 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
  6088. 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
  6089. 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
  6090. 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  6091. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 106
  6092. 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
  6093. 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
  6094. 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  6095. 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  6096. 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t
  6097. 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6098. 3053 .loc 1 1813 1
  6099. 3054 .cfi_startproc
  6100. 3055 @ args = 0, pretend = 0, frame = 48
  6101. 3056 @ frame_needed = 1, uses_anonymous_args = 0
  6102. 3057 0000 80B5 push {r7, lr}
  6103. 3058 .LCFI95:
  6104. 3059 .cfi_def_cfa_offset 8
  6105. 3060 .cfi_offset 7, -8
  6106. 3061 .cfi_offset 14, -4
  6107. 3062 0002 8CB0 sub sp, sp, #48
  6108. 3063 .LCFI96:
  6109. 3064 .cfi_def_cfa_offset 56
  6110. 3065 0004 00AF add r7, sp, #0
  6111. 3066 .LCFI97:
  6112. 3067 .cfi_def_cfa_register 7
  6113. 3068 0006 F860 str r0, [r7, #12]
  6114. 3069 0008 B960 str r1, [r7, #8]
  6115. 3070 000a 1346 mov r3, r2
  6116. 3071 000c FB80 strh r3, [r7, #6] @ movhi
  6117. 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
  6118. 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6119. 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
  6120. 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
  6121. 3072 .loc 1 1817 12
  6122. 3073 000e FB68 ldr r3, [r7, #12]
  6123. 3074 0010 93F83E30 ldrb r3, [r3, #62]
  6124. 3075 0014 DBB2 uxtb r3, r3
  6125. 3076 .loc 1 1817 6
  6126. 3077 0016 202B cmp r3, #32
  6127. 3078 0018 52D1 bne .L158
  6128. 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6129. 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
  6130. 3079 .loc 1 1819 8
  6131. 3080 001a BB68 ldr r3, [r7, #8]
  6132. 3081 001c 002B cmp r3, #0
  6133. 3082 001e 02D0 beq .L159
  6134. 3083 .loc 1 1819 25 discriminator 1
  6135. 3084 0020 FB88 ldrh r3, [r7, #6]
  6136. 3085 0022 002B cmp r3, #0
  6137. 3086 0024 01D1 bne .L160
  6138. 3087 .L159:
  6139. 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6140. 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
  6141. 3088 .loc 1 1821 14
  6142. 3089 0026 0123 movs r3, #1
  6143. 3090 0028 4BE0 b .L161
  6144. 3091 .L160:
  6145. 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6146. 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6147. 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  6148. 3092 .loc 1 1824 5
  6149. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 107
  6150. 3093 002a FB68 ldr r3, [r7, #12]
  6151. 3094 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  6152. 3095 0030 012B cmp r3, #1
  6153. 3096 0032 01D1 bne .L162
  6154. 3097 .loc 1 1824 5 is_stmt 0 discriminator 1
  6155. 3098 0034 0223 movs r3, #2
  6156. 3099 0036 44E0 b .L161
  6157. 3100 .L162:
  6158. 3101 .loc 1 1824 5 discriminator 2
  6159. 3102 0038 FB68 ldr r3, [r7, #12]
  6160. 3103 003a 0122 movs r2, #1
  6161. 3104 003c 83F83C20 strb r2, [r3, #60]
  6162. 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6163. 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/
  6164. 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
  6165. 3105 .loc 1 1827 26 is_stmt 1 discriminator 2
  6166. 3106 0040 FB68 ldr r3, [r7, #12]
  6167. 3107 0042 0122 movs r2, #1
  6168. 3108 0044 1A63 str r2, [r3, #48]
  6169. 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6170. 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_DMA(huart, pData, Size);
  6171. 3109 .loc 1 1829 15 discriminator 2
  6172. 3110 0046 FB88 ldrh r3, [r7, #6]
  6173. 3111 0048 1A46 mov r2, r3
  6174. 3112 004a B968 ldr r1, [r7, #8]
  6175. 3113 004c F868 ldr r0, [r7, #12]
  6176. 3114 004e FFF7FEFF bl UART_Start_Receive_DMA
  6177. 3115 0052 0346 mov r3, r0
  6178. 3116 0054 87F82F30 strb r3, [r7, #47]
  6179. 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6180. 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */
  6181. 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (status == HAL_OK)
  6182. 3117 .loc 1 1832 8 discriminator 2
  6183. 3118 0058 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  6184. 3119 005c 002B cmp r3, #0
  6185. 3120 005e 2CD1 bne .L163
  6186. 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6187. 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  6188. 3121 .loc 1 1834 16
  6189. 3122 0060 FB68 ldr r3, [r7, #12]
  6190. 3123 0062 1B6B ldr r3, [r3, #48]
  6191. 3124 .loc 1 1834 10
  6192. 3125 0064 012B cmp r3, #1
  6193. 3126 0066 25D1 bne .L164
  6194. 3127 .LBB383:
  6195. 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6196. 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
  6197. 3128 .loc 1 1836 9
  6198. 3129 0068 0023 movs r3, #0
  6199. 3130 006a 3B61 str r3, [r7, #16]
  6200. 3131 006c FB68 ldr r3, [r7, #12]
  6201. 3132 006e 1B68 ldr r3, [r3]
  6202. 3133 0070 1B68 ldr r3, [r3]
  6203. 3134 0072 3B61 str r3, [r7, #16]
  6204. 3135 0074 FB68 ldr r3, [r7, #12]
  6205. 3136 0076 1B68 ldr r3, [r3]
  6206. 3137 0078 5B68 ldr r3, [r3, #4]
  6207. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 108
  6208. 3138 007a 3B61 str r3, [r7, #16]
  6209. 3139 007c 3B69 ldr r3, [r7, #16]
  6210. 3140 .L167:
  6211. 3141 .LBE383:
  6212. 3142 .LBB384:
  6213. 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  6214. 3143 .loc 1 1837 9 discriminator 1
  6215. 3144 007e FB68 ldr r3, [r7, #12]
  6216. 3145 0080 1B68 ldr r3, [r3]
  6217. 3146 0082 0C33 adds r3, r3, #12
  6218. 3147 0084 BB61 str r3, [r7, #24]
  6219. 3148 .LBB385:
  6220. 3149 .LBB386:
  6221. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6222. 3150 .loc 2 1072 4 discriminator 1
  6223. 3151 0086 BB69 ldr r3, [r7, #24]
  6224. 3152 .syntax unified
  6225. 3153 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6226. 3154 0088 53E8003F ldrex r3, [r3]
  6227. 3155 @ 0 "" 2
  6228. 3156 .thumb
  6229. 3157 .syntax unified
  6230. 3158 008c 7B61 str r3, [r7, #20]
  6231. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6232. 3159 .loc 2 1073 10 discriminator 1
  6233. 3160 008e 7B69 ldr r3, [r7, #20]
  6234. 3161 .LBE386:
  6235. 3162 .LBE385:
  6236. 3163 .loc 1 1837 9 discriminator 1
  6237. 3164 0090 43F01003 orr r3, r3, #16
  6238. 3165 0094 BB62 str r3, [r7, #40]
  6239. 3166 0096 FB68 ldr r3, [r7, #12]
  6240. 3167 0098 1B68 ldr r3, [r3]
  6241. 3168 009a 0C33 adds r3, r3, #12
  6242. 3169 009c BA6A ldr r2, [r7, #40]
  6243. 3170 009e 7A62 str r2, [r7, #36]
  6244. 3171 00a0 3B62 str r3, [r7, #32]
  6245. 3172 .LBB387:
  6246. 3173 .LBB388:
  6247. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6248. 3174 .loc 2 1123 4 discriminator 1
  6249. 3175 00a2 396A ldr r1, [r7, #32]
  6250. 3176 00a4 7A6A ldr r2, [r7, #36]
  6251. 3177 .syntax unified
  6252. 3178 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6253. 3179 00a6 41E80023 strex r3, r2, [r1]
  6254. 3180 @ 0 "" 2
  6255. 3181 .thumb
  6256. 3182 .syntax unified
  6257. 3183 00aa FB61 str r3, [r7, #28]
  6258. 3184 .loc 2 1124 10 discriminator 1
  6259. 3185 00ac FB69 ldr r3, [r7, #28]
  6260. 3186 .LBE388:
  6261. 3187 .LBE387:
  6262. 3188 .loc 1 1837 9 discriminator 1
  6263. 3189 00ae 002B cmp r3, #0
  6264. 3190 00b0 E5D1 bne .L167
  6265. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 109
  6266. 3191 00b2 02E0 b .L163
  6267. 3192 .L164:
  6268. 3193 .LBE384:
  6269. 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6270. 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  6271. 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6272. 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started,
  6273. 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion.
  6274. 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance).
  6275. 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
  6276. 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
  6277. 3194 .loc 1 1845 16
  6278. 3195 00b4 0123 movs r3, #1
  6279. 3196 00b6 87F82F30 strb r3, [r7, #47]
  6280. 3197 .L163:
  6281. 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6282. 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6283. 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6284. 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
  6285. 3198 .loc 1 1849 12
  6286. 3199 00ba 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  6287. 3200 00be 00E0 b .L161
  6288. 3201 .L158:
  6289. 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6290. 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  6291. 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6292. 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  6293. 3202 .loc 1 1853 12
  6294. 3203 00c0 0223 movs r3, #2
  6295. 3204 .L161:
  6296. 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6297. 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6298. 3205 .loc 1 1855 1
  6299. 3206 00c2 1846 mov r0, r3
  6300. 3207 00c4 3037 adds r7, r7, #48
  6301. 3208 .LCFI98:
  6302. 3209 .cfi_def_cfa_offset 8
  6303. 3210 00c6 BD46 mov sp, r7
  6304. 3211 .LCFI99:
  6305. 3212 .cfi_def_cfa_register 13
  6306. 3213 @ sp needed
  6307. 3214 00c8 80BD pop {r7, pc}
  6308. 3215 .cfi_endproc
  6309. 3216 .LFE253:
  6310. 3218 .section .text.HAL_UART_Abort,"ax",%progbits
  6311. 3219 .align 1
  6312. 3220 .global HAL_UART_Abort
  6313. 3221 .syntax unified
  6314. 3222 .thumb
  6315. 3223 .thumb_func
  6316. 3225 HAL_UART_Abort:
  6317. 3226 .LFB254:
  6318. 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6319. 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  6320. 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
  6321. 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  6322. 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
  6323. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 110
  6324. 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
  6325. 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
  6326. 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  6327. 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
  6328. 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
  6329. 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
  6330. 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  6331. 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  6332. 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
  6333. 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6334. 3227 .loc 1 1870 1
  6335. 3228 .cfi_startproc
  6336. 3229 @ args = 0, pretend = 0, frame = 128
  6337. 3230 @ frame_needed = 1, uses_anonymous_args = 0
  6338. 3231 0000 80B5 push {r7, lr}
  6339. 3232 .LCFI100:
  6340. 3233 .cfi_def_cfa_offset 8
  6341. 3234 .cfi_offset 7, -8
  6342. 3235 .cfi_offset 14, -4
  6343. 3236 0002 A0B0 sub sp, sp, #128
  6344. 3237 .LCFI101:
  6345. 3238 .cfi_def_cfa_offset 136
  6346. 3239 0004 00AF add r7, sp, #0
  6347. 3240 .LCFI102:
  6348. 3241 .cfi_def_cfa_register 7
  6349. 3242 0006 7860 str r0, [r7, #4]
  6350. 3243 .L171:
  6351. 3244 .LBB389:
  6352. 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  6353. 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
  6354. 3245 .loc 1 1872 3 discriminator 1
  6355. 3246 0008 7B68 ldr r3, [r7, #4]
  6356. 3247 000a 1B68 ldr r3, [r3]
  6357. 3248 000c 0C33 adds r3, r3, #12
  6358. 3249 000e FB65 str r3, [r7, #92]
  6359. 3250 .LBB390:
  6360. 3251 .LBB391:
  6361. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6362. 3252 .loc 2 1072 4 discriminator 1
  6363. 3253 0010 FB6D ldr r3, [r7, #92]
  6364. 3254 .syntax unified
  6365. 3255 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6366. 3256 0012 53E8003F ldrex r3, [r3]
  6367. 3257 @ 0 "" 2
  6368. 3258 .thumb
  6369. 3259 .syntax unified
  6370. 3260 0016 BB65 str r3, [r7, #88]
  6371. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6372. 3261 .loc 2 1073 10 discriminator 1
  6373. 3262 0018 BB6D ldr r3, [r7, #88]
  6374. 3263 .LBE391:
  6375. 3264 .LBE390:
  6376. 3265 .loc 1 1872 3 discriminator 1
  6377. 3266 001a 23F4F073 bic r3, r3, #480
  6378. 3267 001e FB67 str r3, [r7, #124]
  6379. 3268 0020 7B68 ldr r3, [r7, #4]
  6380. 3269 0022 1B68 ldr r3, [r3]
  6381. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 111
  6382. 3270 0024 0C33 adds r3, r3, #12
  6383. 3271 0026 FA6F ldr r2, [r7, #124]
  6384. 3272 0028 BA66 str r2, [r7, #104]
  6385. 3273 002a 7B66 str r3, [r7, #100]
  6386. 3274 .LBB392:
  6387. 3275 .LBB393:
  6388. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6389. 3276 .loc 2 1123 4 discriminator 1
  6390. 3277 002c 796E ldr r1, [r7, #100]
  6391. 3278 002e BA6E ldr r2, [r7, #104]
  6392. 3279 .syntax unified
  6393. 3280 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6394. 3281 0030 41E80023 strex r3, r2, [r1]
  6395. 3282 @ 0 "" 2
  6396. 3283 .thumb
  6397. 3284 .syntax unified
  6398. 3285 0034 3B66 str r3, [r7, #96]
  6399. 3286 .loc 2 1124 10 discriminator 1
  6400. 3287 0036 3B6E ldr r3, [r7, #96]
  6401. 3288 .LBE393:
  6402. 3289 .LBE392:
  6403. 3290 .loc 1 1872 3 discriminator 1
  6404. 3291 0038 002B cmp r3, #0
  6405. 3292 003a E5D1 bne .L171
  6406. 3293 .L174:
  6407. 3294 .LBE389:
  6408. 3295 .LBB394:
  6409. 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  6410. 3296 .loc 1 1873 3 discriminator 1
  6411. 3297 003c 7B68 ldr r3, [r7, #4]
  6412. 3298 003e 1B68 ldr r3, [r3]
  6413. 3299 0040 1433 adds r3, r3, #20
  6414. 3300 0042 BB64 str r3, [r7, #72]
  6415. 3301 .LBB395:
  6416. 3302 .LBB396:
  6417. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6418. 3303 .loc 2 1072 4 discriminator 1
  6419. 3304 0044 BB6C ldr r3, [r7, #72]
  6420. 3305 .syntax unified
  6421. 3306 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6422. 3307 0046 53E8003F ldrex r3, [r3]
  6423. 3308 @ 0 "" 2
  6424. 3309 .thumb
  6425. 3310 .syntax unified
  6426. 3311 004a 7B64 str r3, [r7, #68]
  6427. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6428. 3312 .loc 2 1073 10 discriminator 1
  6429. 3313 004c 7B6C ldr r3, [r7, #68]
  6430. 3314 .LBE396:
  6431. 3315 .LBE395:
  6432. 3316 .loc 1 1873 3 discriminator 1
  6433. 3317 004e 23F00103 bic r3, r3, #1
  6434. 3318 0052 BB67 str r3, [r7, #120]
  6435. 3319 0054 7B68 ldr r3, [r7, #4]
  6436. 3320 0056 1B68 ldr r3, [r3]
  6437. 3321 0058 1433 adds r3, r3, #20
  6438. 3322 005a BA6F ldr r2, [r7, #120]
  6439. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 112
  6440. 3323 005c 7A65 str r2, [r7, #84]
  6441. 3324 005e 3B65 str r3, [r7, #80]
  6442. 3325 .LBB397:
  6443. 3326 .LBB398:
  6444. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6445. 3327 .loc 2 1123 4 discriminator 1
  6446. 3328 0060 396D ldr r1, [r7, #80]
  6447. 3329 0062 7A6D ldr r2, [r7, #84]
  6448. 3330 .syntax unified
  6449. 3331 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6450. 3332 0064 41E80023 strex r3, r2, [r1]
  6451. 3333 @ 0 "" 2
  6452. 3334 .thumb
  6453. 3335 .syntax unified
  6454. 3336 0068 FB64 str r3, [r7, #76]
  6455. 3337 .loc 2 1124 10 discriminator 1
  6456. 3338 006a FB6C ldr r3, [r7, #76]
  6457. 3339 .LBE398:
  6458. 3340 .LBE397:
  6459. 3341 .loc 1 1873 3 discriminator 1
  6460. 3342 006c 002B cmp r3, #0
  6461. 3343 006e E5D1 bne .L174
  6462. 3344 .LBE394:
  6463. 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6464. 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  6465. 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  6466. 3345 .loc 1 1876 12
  6467. 3346 0070 7B68 ldr r3, [r7, #4]
  6468. 3347 0072 1B6B ldr r3, [r3, #48]
  6469. 3348 .loc 1 1876 6
  6470. 3349 0074 012B cmp r3, #1
  6471. 3350 0076 19D1 bne .L175
  6472. 3351 .L178:
  6473. 3352 .LBB399:
  6474. 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6475. 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  6476. 3353 .loc 1 1878 5 discriminator 1
  6477. 3354 0078 7B68 ldr r3, [r7, #4]
  6478. 3355 007a 1B68 ldr r3, [r3]
  6479. 3356 007c 0C33 adds r3, r3, #12
  6480. 3357 007e 7B63 str r3, [r7, #52]
  6481. 3358 .LBB400:
  6482. 3359 .LBB401:
  6483. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6484. 3360 .loc 2 1072 4 discriminator 1
  6485. 3361 0080 7B6B ldr r3, [r7, #52]
  6486. 3362 .syntax unified
  6487. 3363 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6488. 3364 0082 53E8003F ldrex r3, [r3]
  6489. 3365 @ 0 "" 2
  6490. 3366 .thumb
  6491. 3367 .syntax unified
  6492. 3368 0086 3B63 str r3, [r7, #48]
  6493. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6494. 3369 .loc 2 1073 10 discriminator 1
  6495. 3370 0088 3B6B ldr r3, [r7, #48]
  6496. 3371 .LBE401:
  6497. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 113
  6498. 3372 .LBE400:
  6499. 3373 .loc 1 1878 5 discriminator 1
  6500. 3374 008a 23F01003 bic r3, r3, #16
  6501. 3375 008e 7B67 str r3, [r7, #116]
  6502. 3376 0090 7B68 ldr r3, [r7, #4]
  6503. 3377 0092 1B68 ldr r3, [r3]
  6504. 3378 0094 0C33 adds r3, r3, #12
  6505. 3379 0096 7A6F ldr r2, [r7, #116]
  6506. 3380 0098 3A64 str r2, [r7, #64]
  6507. 3381 009a FB63 str r3, [r7, #60]
  6508. 3382 .LBB402:
  6509. 3383 .LBB403:
  6510. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6511. 3384 .loc 2 1123 4 discriminator 1
  6512. 3385 009c F96B ldr r1, [r7, #60]
  6513. 3386 009e 3A6C ldr r2, [r7, #64]
  6514. 3387 .syntax unified
  6515. 3388 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6516. 3389 00a0 41E80023 strex r3, r2, [r1]
  6517. 3390 @ 0 "" 2
  6518. 3391 .thumb
  6519. 3392 .syntax unified
  6520. 3393 00a4 BB63 str r3, [r7, #56]
  6521. 3394 .loc 2 1124 10 discriminator 1
  6522. 3395 00a6 BB6B ldr r3, [r7, #56]
  6523. 3396 .LBE403:
  6524. 3397 .LBE402:
  6525. 3398 .loc 1 1878 5 discriminator 1
  6526. 3399 00a8 002B cmp r3, #0
  6527. 3400 00aa E5D1 bne .L178
  6528. 3401 .L175:
  6529. 3402 .LBE399:
  6530. 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6531. 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6532. 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
  6533. 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  6534. 3403 .loc 1 1882 7
  6535. 3404 00ac 7B68 ldr r3, [r7, #4]
  6536. 3405 00ae 1B68 ldr r3, [r3]
  6537. 3406 00b0 5B69 ldr r3, [r3, #20]
  6538. 3407 00b2 03F08003 and r3, r3, #128
  6539. 3408 .loc 1 1882 6
  6540. 3409 00b6 802B cmp r3, #128
  6541. 3410 00b8 36D1 bne .L179
  6542. 3411 .L182:
  6543. 3412 .LBB404:
  6544. 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6545. 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  6546. 3413 .loc 1 1884 5 discriminator 1
  6547. 3414 00ba 7B68 ldr r3, [r7, #4]
  6548. 3415 00bc 1B68 ldr r3, [r3]
  6549. 3416 00be 1433 adds r3, r3, #20
  6550. 3417 00c0 3B62 str r3, [r7, #32]
  6551. 3418 .LBB405:
  6552. 3419 .LBB406:
  6553. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6554. 3420 .loc 2 1072 4 discriminator 1
  6555. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 114
  6556. 3421 00c2 3B6A ldr r3, [r7, #32]
  6557. 3422 .syntax unified
  6558. 3423 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6559. 3424 00c4 53E8003F ldrex r3, [r3]
  6560. 3425 @ 0 "" 2
  6561. 3426 .thumb
  6562. 3427 .syntax unified
  6563. 3428 00c8 FB61 str r3, [r7, #28]
  6564. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6565. 3429 .loc 2 1073 10 discriminator 1
  6566. 3430 00ca FB69 ldr r3, [r7, #28]
  6567. 3431 .LBE406:
  6568. 3432 .LBE405:
  6569. 3433 .loc 1 1884 5 discriminator 1
  6570. 3434 00cc 23F08003 bic r3, r3, #128
  6571. 3435 00d0 3B67 str r3, [r7, #112]
  6572. 3436 00d2 7B68 ldr r3, [r7, #4]
  6573. 3437 00d4 1B68 ldr r3, [r3]
  6574. 3438 00d6 1433 adds r3, r3, #20
  6575. 3439 00d8 3A6F ldr r2, [r7, #112]
  6576. 3440 00da FA62 str r2, [r7, #44]
  6577. 3441 00dc BB62 str r3, [r7, #40]
  6578. 3442 .LBB407:
  6579. 3443 .LBB408:
  6580. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6581. 3444 .loc 2 1123 4 discriminator 1
  6582. 3445 00de B96A ldr r1, [r7, #40]
  6583. 3446 00e0 FA6A ldr r2, [r7, #44]
  6584. 3447 .syntax unified
  6585. 3448 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6586. 3449 00e2 41E80023 strex r3, r2, [r1]
  6587. 3450 @ 0 "" 2
  6588. 3451 .thumb
  6589. 3452 .syntax unified
  6590. 3453 00e6 7B62 str r3, [r7, #36]
  6591. 3454 .loc 2 1124 10 discriminator 1
  6592. 3455 00e8 7B6A ldr r3, [r7, #36]
  6593. 3456 .LBE408:
  6594. 3457 .LBE407:
  6595. 3458 .loc 1 1884 5 discriminator 1
  6596. 3459 00ea 002B cmp r3, #0
  6597. 3460 00ec E5D1 bne .L182
  6598. 3461 .LBE404:
  6599. 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6600. 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream: use blocking DMA Abort API (no callback) */
  6601. 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
  6602. 3462 .loc 1 1887 14
  6603. 3463 00ee 7B68 ldr r3, [r7, #4]
  6604. 3464 00f0 5B6B ldr r3, [r3, #52]
  6605. 3465 .loc 1 1887 8
  6606. 3466 00f2 002B cmp r3, #0
  6607. 3467 00f4 18D0 beq .L179
  6608. 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6609. 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  6610. 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  6611. 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  6612. 3468 .loc 1 1891 12
  6613. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 115
  6614. 3469 00f6 7B68 ldr r3, [r7, #4]
  6615. 3470 00f8 5B6B ldr r3, [r3, #52]
  6616. 3471 .loc 1 1891 40
  6617. 3472 00fa 0022 movs r2, #0
  6618. 3473 00fc 1A65 str r2, [r3, #80]
  6619. 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6620. 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
  6621. 3474 .loc 1 1893 11
  6622. 3475 00fe 7B68 ldr r3, [r7, #4]
  6623. 3476 0100 5B6B ldr r3, [r3, #52]
  6624. 3477 0102 1846 mov r0, r3
  6625. 3478 0104 FFF7FEFF bl HAL_DMA_Abort
  6626. 3479 0108 0346 mov r3, r0
  6627. 3480 .loc 1 1893 10
  6628. 3481 010a 002B cmp r3, #0
  6629. 3482 010c 0CD0 beq .L179
  6630. 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6631. 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
  6632. 3483 .loc 1 1895 13
  6633. 3484 010e 7B68 ldr r3, [r7, #4]
  6634. 3485 0110 5B6B ldr r3, [r3, #52]
  6635. 3486 0112 1846 mov r0, r3
  6636. 3487 0114 FFF7FEFF bl HAL_DMA_GetError
  6637. 3488 0118 0346 mov r3, r0
  6638. 3489 .loc 1 1895 12
  6639. 3490 011a 202B cmp r3, #32
  6640. 3491 011c 04D1 bne .L179
  6641. 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6642. 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
  6643. 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  6644. 3492 .loc 1 1898 28
  6645. 3493 011e 7B68 ldr r3, [r7, #4]
  6646. 3494 0120 1022 movs r2, #16
  6647. 3495 0122 1A64 str r2, [r3, #64]
  6648. 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6649. 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  6650. 3496 .loc 1 1900 18
  6651. 3497 0124 0323 movs r3, #3
  6652. 3498 0126 52E0 b .L183
  6653. 3499 .L179:
  6654. 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6655. 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6656. 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6657. 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6658. 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6659. 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  6660. 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  6661. 3500 .loc 1 1907 7
  6662. 3501 0128 7B68 ldr r3, [r7, #4]
  6663. 3502 012a 1B68 ldr r3, [r3]
  6664. 3503 012c 5B69 ldr r3, [r3, #20]
  6665. 3504 012e 03F04003 and r3, r3, #64
  6666. 3505 .loc 1 1907 6
  6667. 3506 0132 402B cmp r3, #64
  6668. 3507 0134 36D1 bne .L184
  6669. 3508 .L187:
  6670. 3509 .LBB409:
  6671. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 116
  6672. 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6673. 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  6674. 3510 .loc 1 1909 5 discriminator 1
  6675. 3511 0136 7B68 ldr r3, [r7, #4]
  6676. 3512 0138 1B68 ldr r3, [r3]
  6677. 3513 013a 1433 adds r3, r3, #20
  6678. 3514 013c FB60 str r3, [r7, #12]
  6679. 3515 .LBB410:
  6680. 3516 .LBB411:
  6681. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6682. 3517 .loc 2 1072 4 discriminator 1
  6683. 3518 013e FB68 ldr r3, [r7, #12]
  6684. 3519 .syntax unified
  6685. 3520 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6686. 3521 0140 53E8003F ldrex r3, [r3]
  6687. 3522 @ 0 "" 2
  6688. 3523 .thumb
  6689. 3524 .syntax unified
  6690. 3525 0144 BB60 str r3, [r7, #8]
  6691. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6692. 3526 .loc 2 1073 10 discriminator 1
  6693. 3527 0146 BB68 ldr r3, [r7, #8]
  6694. 3528 .LBE411:
  6695. 3529 .LBE410:
  6696. 3530 .loc 1 1909 5 discriminator 1
  6697. 3531 0148 23F04003 bic r3, r3, #64
  6698. 3532 014c FB66 str r3, [r7, #108]
  6699. 3533 014e 7B68 ldr r3, [r7, #4]
  6700. 3534 0150 1B68 ldr r3, [r3]
  6701. 3535 0152 1433 adds r3, r3, #20
  6702. 3536 0154 FA6E ldr r2, [r7, #108]
  6703. 3537 0156 BA61 str r2, [r7, #24]
  6704. 3538 0158 7B61 str r3, [r7, #20]
  6705. 3539 .LBB412:
  6706. 3540 .LBB413:
  6707. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6708. 3541 .loc 2 1123 4 discriminator 1
  6709. 3542 015a 7969 ldr r1, [r7, #20]
  6710. 3543 015c BA69 ldr r2, [r7, #24]
  6711. 3544 .syntax unified
  6712. 3545 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6713. 3546 015e 41E80023 strex r3, r2, [r1]
  6714. 3547 @ 0 "" 2
  6715. 3548 .thumb
  6716. 3549 .syntax unified
  6717. 3550 0162 3B61 str r3, [r7, #16]
  6718. 3551 .loc 2 1124 10 discriminator 1
  6719. 3552 0164 3B69 ldr r3, [r7, #16]
  6720. 3553 .LBE413:
  6721. 3554 .LBE412:
  6722. 3555 .loc 1 1909 5 discriminator 1
  6723. 3556 0166 002B cmp r3, #0
  6724. 3557 0168 E5D1 bne .L187
  6725. 3558 .LBE409:
  6726. 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6727. 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream: use blocking DMA Abort API (no callback) */
  6728. 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  6729. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 117
  6730. 3559 .loc 1 1912 14
  6731. 3560 016a 7B68 ldr r3, [r7, #4]
  6732. 3561 016c 9B6B ldr r3, [r3, #56]
  6733. 3562 .loc 1 1912 8
  6734. 3563 016e 002B cmp r3, #0
  6735. 3564 0170 18D0 beq .L184
  6736. 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6737. 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  6738. 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  6739. 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  6740. 3565 .loc 1 1916 12
  6741. 3566 0172 7B68 ldr r3, [r7, #4]
  6742. 3567 0174 9B6B ldr r3, [r3, #56]
  6743. 3568 .loc 1 1916 40
  6744. 3569 0176 0022 movs r2, #0
  6745. 3570 0178 1A65 str r2, [r3, #80]
  6746. 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6747. 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
  6748. 3571 .loc 1 1918 11
  6749. 3572 017a 7B68 ldr r3, [r7, #4]
  6750. 3573 017c 9B6B ldr r3, [r3, #56]
  6751. 3574 017e 1846 mov r0, r3
  6752. 3575 0180 FFF7FEFF bl HAL_DMA_Abort
  6753. 3576 0184 0346 mov r3, r0
  6754. 3577 .loc 1 1918 10
  6755. 3578 0186 002B cmp r3, #0
  6756. 3579 0188 0CD0 beq .L184
  6757. 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6758. 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
  6759. 3580 .loc 1 1920 13
  6760. 3581 018a 7B68 ldr r3, [r7, #4]
  6761. 3582 018c 9B6B ldr r3, [r3, #56]
  6762. 3583 018e 1846 mov r0, r3
  6763. 3584 0190 FFF7FEFF bl HAL_DMA_GetError
  6764. 3585 0194 0346 mov r3, r0
  6765. 3586 .loc 1 1920 12
  6766. 3587 0196 202B cmp r3, #32
  6767. 3588 0198 04D1 bne .L184
  6768. 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6769. 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
  6770. 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  6771. 3589 .loc 1 1923 28
  6772. 3590 019a 7B68 ldr r3, [r7, #4]
  6773. 3591 019c 1022 movs r2, #16
  6774. 3592 019e 1A64 str r2, [r3, #64]
  6775. 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6776. 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  6777. 3593 .loc 1 1925 18
  6778. 3594 01a0 0323 movs r3, #3
  6779. 3595 01a2 14E0 b .L183
  6780. 3596 .L184:
  6781. 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6782. 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6783. 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6784. 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6785. 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6786. 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
  6787. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 118
  6788. 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  6789. 3597 .loc 1 1932 22
  6790. 3598 01a4 7B68 ldr r3, [r7, #4]
  6791. 3599 01a6 0022 movs r2, #0
  6792. 3600 01a8 DA84 strh r2, [r3, #38] @ movhi
  6793. 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  6794. 3601 .loc 1 1933 22
  6795. 3602 01aa 7B68 ldr r3, [r7, #4]
  6796. 3603 01ac 0022 movs r2, #0
  6797. 3604 01ae DA85 strh r2, [r3, #46] @ movhi
  6798. 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6799. 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
  6800. 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  6801. 3605 .loc 1 1936 20
  6802. 3606 01b0 7B68 ldr r3, [r7, #4]
  6803. 3607 01b2 0022 movs r2, #0
  6804. 3608 01b4 1A64 str r2, [r3, #64]
  6805. 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6806. 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState and huart->gState to Ready */
  6807. 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  6808. 3609 .loc 1 1939 18
  6809. 3610 01b6 7B68 ldr r3, [r7, #4]
  6810. 3611 01b8 2022 movs r2, #32
  6811. 3612 01ba 83F83E20 strb r2, [r3, #62]
  6812. 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  6813. 3613 .loc 1 1940 17
  6814. 3614 01be 7B68 ldr r3, [r7, #4]
  6815. 3615 01c0 2022 movs r2, #32
  6816. 3616 01c2 83F83D20 strb r2, [r3, #61]
  6817. 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  6818. 3617 .loc 1 1941 24
  6819. 3618 01c6 7B68 ldr r3, [r7, #4]
  6820. 3619 01c8 0022 movs r2, #0
  6821. 3620 01ca 1A63 str r2, [r3, #48]
  6822. 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6823. 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  6824. 3621 .loc 1 1943 10
  6825. 3622 01cc 0023 movs r3, #0
  6826. 3623 .L183:
  6827. 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  6828. 3624 .loc 1 1944 1
  6829. 3625 01ce 1846 mov r0, r3
  6830. 3626 01d0 8037 adds r7, r7, #128
  6831. 3627 .LCFI103:
  6832. 3628 .cfi_def_cfa_offset 8
  6833. 3629 01d2 BD46 mov sp, r7
  6834. 3630 .LCFI104:
  6835. 3631 .cfi_def_cfa_register 13
  6836. 3632 @ sp needed
  6837. 3633 01d4 80BD pop {r7, pc}
  6838. 3634 .cfi_endproc
  6839. 3635 .LFE254:
  6840. 3637 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
  6841. 3638 .align 1
  6842. 3639 .global HAL_UART_AbortTransmit
  6843. 3640 .syntax unified
  6844. 3641 .thumb
  6845. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 119
  6846. 3642 .thumb_func
  6847. 3644 HAL_UART_AbortTransmit:
  6848. 3645 .LFB255:
  6849. 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6850. 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  6851. 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
  6852. 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  6853. 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
  6854. 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
  6855. 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
  6856. 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  6857. 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
  6858. 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
  6859. 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
  6860. 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  6861. 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  6862. 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
  6863. 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6864. 3646 .loc 1 1959 1
  6865. 3647 .cfi_startproc
  6866. 3648 @ args = 0, pretend = 0, frame = 56
  6867. 3649 @ frame_needed = 1, uses_anonymous_args = 0
  6868. 3650 0000 80B5 push {r7, lr}
  6869. 3651 .LCFI105:
  6870. 3652 .cfi_def_cfa_offset 8
  6871. 3653 .cfi_offset 7, -8
  6872. 3654 .cfi_offset 14, -4
  6873. 3655 0002 8EB0 sub sp, sp, #56
  6874. 3656 .LCFI106:
  6875. 3657 .cfi_def_cfa_offset 64
  6876. 3658 0004 00AF add r7, sp, #0
  6877. 3659 .LCFI107:
  6878. 3660 .cfi_def_cfa_register 7
  6879. 3661 0006 7860 str r0, [r7, #4]
  6880. 3662 .L191:
  6881. 3663 .LBB414:
  6882. 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
  6883. 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
  6884. 3664 .loc 1 1961 3 discriminator 1
  6885. 3665 0008 7B68 ldr r3, [r7, #4]
  6886. 3666 000a 1B68 ldr r3, [r3]
  6887. 3667 000c 0C33 adds r3, r3, #12
  6888. 3668 000e 3B62 str r3, [r7, #32]
  6889. 3669 .LBB415:
  6890. 3670 .LBB416:
  6891. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6892. 3671 .loc 2 1072 4 discriminator 1
  6893. 3672 0010 3B6A ldr r3, [r7, #32]
  6894. 3673 .syntax unified
  6895. 3674 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6896. 3675 0012 53E8003F ldrex r3, [r3]
  6897. 3676 @ 0 "" 2
  6898. 3677 .thumb
  6899. 3678 .syntax unified
  6900. 3679 0016 FB61 str r3, [r7, #28]
  6901. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6902. 3680 .loc 2 1073 10 discriminator 1
  6903. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 120
  6904. 3681 0018 FB69 ldr r3, [r7, #28]
  6905. 3682 .LBE416:
  6906. 3683 .LBE415:
  6907. 3684 .loc 1 1961 3 discriminator 1
  6908. 3685 001a 23F0C003 bic r3, r3, #192
  6909. 3686 001e 7B63 str r3, [r7, #52]
  6910. 3687 0020 7B68 ldr r3, [r7, #4]
  6911. 3688 0022 1B68 ldr r3, [r3]
  6912. 3689 0024 0C33 adds r3, r3, #12
  6913. 3690 0026 7A6B ldr r2, [r7, #52]
  6914. 3691 0028 FA62 str r2, [r7, #44]
  6915. 3692 002a BB62 str r3, [r7, #40]
  6916. 3693 .LBB417:
  6917. 3694 .LBB418:
  6918. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6919. 3695 .loc 2 1123 4 discriminator 1
  6920. 3696 002c B96A ldr r1, [r7, #40]
  6921. 3697 002e FA6A ldr r2, [r7, #44]
  6922. 3698 .syntax unified
  6923. 3699 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6924. 3700 0030 41E80023 strex r3, r2, [r1]
  6925. 3701 @ 0 "" 2
  6926. 3702 .thumb
  6927. 3703 .syntax unified
  6928. 3704 0034 7B62 str r3, [r7, #36]
  6929. 3705 .loc 2 1124 10 discriminator 1
  6930. 3706 0036 7B6A ldr r3, [r7, #36]
  6931. 3707 .LBE418:
  6932. 3708 .LBE417:
  6933. 3709 .loc 1 1961 3 discriminator 1
  6934. 3710 0038 002B cmp r3, #0
  6935. 3711 003a E5D1 bne .L191
  6936. 3712 .LBE414:
  6937. 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  6938. 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
  6939. 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  6940. 3713 .loc 1 1964 7
  6941. 3714 003c 7B68 ldr r3, [r7, #4]
  6942. 3715 003e 1B68 ldr r3, [r3]
  6943. 3716 0040 5B69 ldr r3, [r3, #20]
  6944. 3717 0042 03F08003 and r3, r3, #128
  6945. 3718 .loc 1 1964 6
  6946. 3719 0046 802B cmp r3, #128
  6947. 3720 0048 36D1 bne .L192
  6948. 3721 .L195:
  6949. 3722 .LBB419:
  6950. 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  6951. 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  6952. 3723 .loc 1 1966 5 discriminator 1
  6953. 3724 004a 7B68 ldr r3, [r7, #4]
  6954. 3725 004c 1B68 ldr r3, [r3]
  6955. 3726 004e 1433 adds r3, r3, #20
  6956. 3727 0050 FB60 str r3, [r7, #12]
  6957. 3728 .LBB420:
  6958. 3729 .LBB421:
  6959. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6960. 3730 .loc 2 1072 4 discriminator 1
  6961. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 121
  6962. 3731 0052 FB68 ldr r3, [r7, #12]
  6963. 3732 .syntax unified
  6964. 3733 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6965. 3734 0054 53E8003F ldrex r3, [r3]
  6966. 3735 @ 0 "" 2
  6967. 3736 .thumb
  6968. 3737 .syntax unified
  6969. 3738 0058 BB60 str r3, [r7, #8]
  6970. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  6971. 3739 .loc 2 1073 10 discriminator 1
  6972. 3740 005a BB68 ldr r3, [r7, #8]
  6973. 3741 .LBE421:
  6974. 3742 .LBE420:
  6975. 3743 .loc 1 1966 5 discriminator 1
  6976. 3744 005c 23F08003 bic r3, r3, #128
  6977. 3745 0060 3B63 str r3, [r7, #48]
  6978. 3746 0062 7B68 ldr r3, [r7, #4]
  6979. 3747 0064 1B68 ldr r3, [r3]
  6980. 3748 0066 1433 adds r3, r3, #20
  6981. 3749 0068 3A6B ldr r2, [r7, #48]
  6982. 3750 006a BA61 str r2, [r7, #24]
  6983. 3751 006c 7B61 str r3, [r7, #20]
  6984. 3752 .LBB422:
  6985. 3753 .LBB423:
  6986. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  6987. 3754 .loc 2 1123 4 discriminator 1
  6988. 3755 006e 7969 ldr r1, [r7, #20]
  6989. 3756 0070 BA69 ldr r2, [r7, #24]
  6990. 3757 .syntax unified
  6991. 3758 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  6992. 3759 0072 41E80023 strex r3, r2, [r1]
  6993. 3760 @ 0 "" 2
  6994. 3761 .thumb
  6995. 3762 .syntax unified
  6996. 3763 0076 3B61 str r3, [r7, #16]
  6997. 3764 .loc 2 1124 10 discriminator 1
  6998. 3765 0078 3B69 ldr r3, [r7, #16]
  6999. 3766 .LBE423:
  7000. 3767 .LBE422:
  7001. 3768 .loc 1 1966 5 discriminator 1
  7002. 3769 007a 002B cmp r3, #0
  7003. 3770 007c E5D1 bne .L195
  7004. 3771 .LBE419:
  7005. 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7006. 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
  7007. 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
  7008. 3772 .loc 1 1969 14
  7009. 3773 007e 7B68 ldr r3, [r7, #4]
  7010. 3774 0080 5B6B ldr r3, [r3, #52]
  7011. 3775 .loc 1 1969 8
  7012. 3776 0082 002B cmp r3, #0
  7013. 3777 0084 18D0 beq .L192
  7014. 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7015. 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  7016. 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  7017. 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  7018. 3778 .loc 1 1973 12
  7019. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 122
  7020. 3779 0086 7B68 ldr r3, [r7, #4]
  7021. 3780 0088 5B6B ldr r3, [r3, #52]
  7022. 3781 .loc 1 1973 40
  7023. 3782 008a 0022 movs r2, #0
  7024. 3783 008c 1A65 str r2, [r3, #80]
  7025. 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7026. 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
  7027. 3784 .loc 1 1975 11
  7028. 3785 008e 7B68 ldr r3, [r7, #4]
  7029. 3786 0090 5B6B ldr r3, [r3, #52]
  7030. 3787 0092 1846 mov r0, r3
  7031. 3788 0094 FFF7FEFF bl HAL_DMA_Abort
  7032. 3789 0098 0346 mov r3, r0
  7033. 3790 .loc 1 1975 10
  7034. 3791 009a 002B cmp r3, #0
  7035. 3792 009c 0CD0 beq .L192
  7036. 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7037. 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
  7038. 3793 .loc 1 1977 13
  7039. 3794 009e 7B68 ldr r3, [r7, #4]
  7040. 3795 00a0 5B6B ldr r3, [r3, #52]
  7041. 3796 00a2 1846 mov r0, r3
  7042. 3797 00a4 FFF7FEFF bl HAL_DMA_GetError
  7043. 3798 00a8 0346 mov r3, r0
  7044. 3799 .loc 1 1977 12
  7045. 3800 00aa 202B cmp r3, #32
  7046. 3801 00ac 04D1 bne .L192
  7047. 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7048. 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
  7049. 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  7050. 3802 .loc 1 1980 28
  7051. 3803 00ae 7B68 ldr r3, [r7, #4]
  7052. 3804 00b0 1022 movs r2, #16
  7053. 3805 00b2 1A64 str r2, [r3, #64]
  7054. 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7055. 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  7056. 3806 .loc 1 1982 18
  7057. 3807 00b4 0323 movs r3, #3
  7058. 3808 00b6 07E0 b .L196
  7059. 3809 .L192:
  7060. 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7061. 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7062. 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7063. 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7064. 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7065. 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
  7066. 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  7067. 3810 .loc 1 1989 22
  7068. 3811 00b8 7B68 ldr r3, [r7, #4]
  7069. 3812 00ba 0022 movs r2, #0
  7070. 3813 00bc DA84 strh r2, [r3, #38] @ movhi
  7071. 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7072. 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
  7073. 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  7074. 3814 .loc 1 1992 17
  7075. 3815 00be 7B68 ldr r3, [r7, #4]
  7076. 3816 00c0 2022 movs r2, #32
  7077. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 123
  7078. 3817 00c2 83F83D20 strb r2, [r3, #61]
  7079. 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7080. 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  7081. 3818 .loc 1 1994 10
  7082. 3819 00c6 0023 movs r3, #0
  7083. 3820 .L196:
  7084. 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7085. 3821 .loc 1 1995 1
  7086. 3822 00c8 1846 mov r0, r3
  7087. 3823 00ca 3837 adds r7, r7, #56
  7088. 3824 .LCFI108:
  7089. 3825 .cfi_def_cfa_offset 8
  7090. 3826 00cc BD46 mov sp, r7
  7091. 3827 .LCFI109:
  7092. 3828 .cfi_def_cfa_register 13
  7093. 3829 @ sp needed
  7094. 3830 00ce 80BD pop {r7, pc}
  7095. 3831 .cfi_endproc
  7096. 3832 .LFE255:
  7097. 3834 .section .text.HAL_UART_AbortReceive,"ax",%progbits
  7098. 3835 .align 1
  7099. 3836 .global HAL_UART_AbortReceive
  7100. 3837 .syntax unified
  7101. 3838 .thumb
  7102. 3839 .thumb_func
  7103. 3841 HAL_UART_AbortReceive:
  7104. 3842 .LFB256:
  7105. 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7106. 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  7107. 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
  7108. 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  7109. 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
  7110. 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
  7111. 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
  7112. 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  7113. 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
  7114. 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
  7115. 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
  7116. 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  7117. 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  7118. 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
  7119. 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7120. 3843 .loc 1 2010 1
  7121. 3844 .cfi_startproc
  7122. 3845 @ args = 0, pretend = 0, frame = 104
  7123. 3846 @ frame_needed = 1, uses_anonymous_args = 0
  7124. 3847 0000 80B5 push {r7, lr}
  7125. 3848 .LCFI110:
  7126. 3849 .cfi_def_cfa_offset 8
  7127. 3850 .cfi_offset 7, -8
  7128. 3851 .cfi_offset 14, -4
  7129. 3852 0002 9AB0 sub sp, sp, #104
  7130. 3853 .LCFI111:
  7131. 3854 .cfi_def_cfa_offset 112
  7132. 3855 0004 00AF add r7, sp, #0
  7133. 3856 .LCFI112:
  7134. 3857 .cfi_def_cfa_register 7
  7135. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 124
  7136. 3858 0006 7860 str r0, [r7, #4]
  7137. 3859 .L200:
  7138. 3860 .LBB424:
  7139. 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  7140. 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  7141. 3861 .loc 1 2012 3 discriminator 1
  7142. 3862 0008 7B68 ldr r3, [r7, #4]
  7143. 3863 000a 1B68 ldr r3, [r3]
  7144. 3864 000c 0C33 adds r3, r3, #12
  7145. 3865 000e BB64 str r3, [r7, #72]
  7146. 3866 .LBB425:
  7147. 3867 .LBB426:
  7148. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7149. 3868 .loc 2 1072 4 discriminator 1
  7150. 3869 0010 BB6C ldr r3, [r7, #72]
  7151. 3870 .syntax unified
  7152. 3871 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7153. 3872 0012 53E8003F ldrex r3, [r3]
  7154. 3873 @ 0 "" 2
  7155. 3874 .thumb
  7156. 3875 .syntax unified
  7157. 3876 0016 7B64 str r3, [r7, #68]
  7158. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7159. 3877 .loc 2 1073 10 discriminator 1
  7160. 3878 0018 7B6C ldr r3, [r7, #68]
  7161. 3879 .LBE426:
  7162. 3880 .LBE425:
  7163. 3881 .loc 1 2012 3 discriminator 1
  7164. 3882 001a 23F49073 bic r3, r3, #288
  7165. 3883 001e 7B66 str r3, [r7, #100]
  7166. 3884 0020 7B68 ldr r3, [r7, #4]
  7167. 3885 0022 1B68 ldr r3, [r3]
  7168. 3886 0024 0C33 adds r3, r3, #12
  7169. 3887 0026 7A6E ldr r2, [r7, #100]
  7170. 3888 0028 7A65 str r2, [r7, #84]
  7171. 3889 002a 3B65 str r3, [r7, #80]
  7172. 3890 .LBB427:
  7173. 3891 .LBB428:
  7174. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7175. 3892 .loc 2 1123 4 discriminator 1
  7176. 3893 002c 396D ldr r1, [r7, #80]
  7177. 3894 002e 7A6D ldr r2, [r7, #84]
  7178. 3895 .syntax unified
  7179. 3896 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7180. 3897 0030 41E80023 strex r3, r2, [r1]
  7181. 3898 @ 0 "" 2
  7182. 3899 .thumb
  7183. 3900 .syntax unified
  7184. 3901 0034 FB64 str r3, [r7, #76]
  7185. 3902 .loc 2 1124 10 discriminator 1
  7186. 3903 0036 FB6C ldr r3, [r7, #76]
  7187. 3904 .LBE428:
  7188. 3905 .LBE427:
  7189. 3906 .loc 1 2012 3 discriminator 1
  7190. 3907 0038 002B cmp r3, #0
  7191. 3908 003a E5D1 bne .L200
  7192. 3909 .L203:
  7193. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 125
  7194. 3910 .LBE424:
  7195. 3911 .LBB429:
  7196. 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  7197. 3912 .loc 1 2013 3 discriminator 1
  7198. 3913 003c 7B68 ldr r3, [r7, #4]
  7199. 3914 003e 1B68 ldr r3, [r3]
  7200. 3915 0040 1433 adds r3, r3, #20
  7201. 3916 0042 7B63 str r3, [r7, #52]
  7202. 3917 .LBB430:
  7203. 3918 .LBB431:
  7204. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7205. 3919 .loc 2 1072 4 discriminator 1
  7206. 3920 0044 7B6B ldr r3, [r7, #52]
  7207. 3921 .syntax unified
  7208. 3922 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7209. 3923 0046 53E8003F ldrex r3, [r3]
  7210. 3924 @ 0 "" 2
  7211. 3925 .thumb
  7212. 3926 .syntax unified
  7213. 3927 004a 3B63 str r3, [r7, #48]
  7214. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7215. 3928 .loc 2 1073 10 discriminator 1
  7216. 3929 004c 3B6B ldr r3, [r7, #48]
  7217. 3930 .LBE431:
  7218. 3931 .LBE430:
  7219. 3932 .loc 1 2013 3 discriminator 1
  7220. 3933 004e 23F00103 bic r3, r3, #1
  7221. 3934 0052 3B66 str r3, [r7, #96]
  7222. 3935 0054 7B68 ldr r3, [r7, #4]
  7223. 3936 0056 1B68 ldr r3, [r3]
  7224. 3937 0058 1433 adds r3, r3, #20
  7225. 3938 005a 3A6E ldr r2, [r7, #96]
  7226. 3939 005c 3A64 str r2, [r7, #64]
  7227. 3940 005e FB63 str r3, [r7, #60]
  7228. 3941 .LBB432:
  7229. 3942 .LBB433:
  7230. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7231. 3943 .loc 2 1123 4 discriminator 1
  7232. 3944 0060 F96B ldr r1, [r7, #60]
  7233. 3945 0062 3A6C ldr r2, [r7, #64]
  7234. 3946 .syntax unified
  7235. 3947 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7236. 3948 0064 41E80023 strex r3, r2, [r1]
  7237. 3949 @ 0 "" 2
  7238. 3950 .thumb
  7239. 3951 .syntax unified
  7240. 3952 0068 BB63 str r3, [r7, #56]
  7241. 3953 .loc 2 1124 10 discriminator 1
  7242. 3954 006a BB6B ldr r3, [r7, #56]
  7243. 3955 .LBE433:
  7244. 3956 .LBE432:
  7245. 3957 .loc 1 2013 3 discriminator 1
  7246. 3958 006c 002B cmp r3, #0
  7247. 3959 006e E5D1 bne .L203
  7248. 3960 .LBE429:
  7249. 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7250. 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  7251. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 126
  7252. 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  7253. 3961 .loc 1 2016 12
  7254. 3962 0070 7B68 ldr r3, [r7, #4]
  7255. 3963 0072 1B6B ldr r3, [r3, #48]
  7256. 3964 .loc 1 2016 6
  7257. 3965 0074 012B cmp r3, #1
  7258. 3966 0076 19D1 bne .L204
  7259. 3967 .L207:
  7260. 3968 .LBB434:
  7261. 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7262. 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  7263. 3969 .loc 1 2018 5 discriminator 1
  7264. 3970 0078 7B68 ldr r3, [r7, #4]
  7265. 3971 007a 1B68 ldr r3, [r3]
  7266. 3972 007c 0C33 adds r3, r3, #12
  7267. 3973 007e 3B62 str r3, [r7, #32]
  7268. 3974 .LBB435:
  7269. 3975 .LBB436:
  7270. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7271. 3976 .loc 2 1072 4 discriminator 1
  7272. 3977 0080 3B6A ldr r3, [r7, #32]
  7273. 3978 .syntax unified
  7274. 3979 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7275. 3980 0082 53E8003F ldrex r3, [r3]
  7276. 3981 @ 0 "" 2
  7277. 3982 .thumb
  7278. 3983 .syntax unified
  7279. 3984 0086 FB61 str r3, [r7, #28]
  7280. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7281. 3985 .loc 2 1073 10 discriminator 1
  7282. 3986 0088 FB69 ldr r3, [r7, #28]
  7283. 3987 .LBE436:
  7284. 3988 .LBE435:
  7285. 3989 .loc 1 2018 5 discriminator 1
  7286. 3990 008a 23F01003 bic r3, r3, #16
  7287. 3991 008e FB65 str r3, [r7, #92]
  7288. 3992 0090 7B68 ldr r3, [r7, #4]
  7289. 3993 0092 1B68 ldr r3, [r3]
  7290. 3994 0094 0C33 adds r3, r3, #12
  7291. 3995 0096 FA6D ldr r2, [r7, #92]
  7292. 3996 0098 FA62 str r2, [r7, #44]
  7293. 3997 009a BB62 str r3, [r7, #40]
  7294. 3998 .LBB437:
  7295. 3999 .LBB438:
  7296. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7297. 4000 .loc 2 1123 4 discriminator 1
  7298. 4001 009c B96A ldr r1, [r7, #40]
  7299. 4002 009e FA6A ldr r2, [r7, #44]
  7300. 4003 .syntax unified
  7301. 4004 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7302. 4005 00a0 41E80023 strex r3, r2, [r1]
  7303. 4006 @ 0 "" 2
  7304. 4007 .thumb
  7305. 4008 .syntax unified
  7306. 4009 00a4 7B62 str r3, [r7, #36]
  7307. 4010 .loc 2 1124 10 discriminator 1
  7308. 4011 00a6 7B6A ldr r3, [r7, #36]
  7309. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 127
  7310. 4012 .LBE438:
  7311. 4013 .LBE437:
  7312. 4014 .loc 1 2018 5 discriminator 1
  7313. 4015 00a8 002B cmp r3, #0
  7314. 4016 00aa E5D1 bne .L207
  7315. 4017 .L204:
  7316. 4018 .LBE434:
  7317. 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7318. 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7319. 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  7320. 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  7321. 4019 .loc 1 2022 7
  7322. 4020 00ac 7B68 ldr r3, [r7, #4]
  7323. 4021 00ae 1B68 ldr r3, [r3]
  7324. 4022 00b0 5B69 ldr r3, [r3, #20]
  7325. 4023 00b2 03F04003 and r3, r3, #64
  7326. 4024 .loc 1 2022 6
  7327. 4025 00b6 402B cmp r3, #64
  7328. 4026 00b8 36D1 bne .L208
  7329. 4027 .L211:
  7330. 4028 .LBB439:
  7331. 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7332. 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  7333. 4029 .loc 1 2024 5 discriminator 1
  7334. 4030 00ba 7B68 ldr r3, [r7, #4]
  7335. 4031 00bc 1B68 ldr r3, [r3]
  7336. 4032 00be 1433 adds r3, r3, #20
  7337. 4033 00c0 FB60 str r3, [r7, #12]
  7338. 4034 .LBB440:
  7339. 4035 .LBB441:
  7340. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7341. 4036 .loc 2 1072 4 discriminator 1
  7342. 4037 00c2 FB68 ldr r3, [r7, #12]
  7343. 4038 .syntax unified
  7344. 4039 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7345. 4040 00c4 53E8003F ldrex r3, [r3]
  7346. 4041 @ 0 "" 2
  7347. 4042 .thumb
  7348. 4043 .syntax unified
  7349. 4044 00c8 BB60 str r3, [r7, #8]
  7350. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7351. 4045 .loc 2 1073 10 discriminator 1
  7352. 4046 00ca BB68 ldr r3, [r7, #8]
  7353. 4047 .LBE441:
  7354. 4048 .LBE440:
  7355. 4049 .loc 1 2024 5 discriminator 1
  7356. 4050 00cc 23F04003 bic r3, r3, #64
  7357. 4051 00d0 BB65 str r3, [r7, #88]
  7358. 4052 00d2 7B68 ldr r3, [r7, #4]
  7359. 4053 00d4 1B68 ldr r3, [r3]
  7360. 4054 00d6 1433 adds r3, r3, #20
  7361. 4055 00d8 BA6D ldr r2, [r7, #88]
  7362. 4056 00da BA61 str r2, [r7, #24]
  7363. 4057 00dc 7B61 str r3, [r7, #20]
  7364. 4058 .LBB442:
  7365. 4059 .LBB443:
  7366. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7367. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 128
  7368. 4060 .loc 2 1123 4 discriminator 1
  7369. 4061 00de 7969 ldr r1, [r7, #20]
  7370. 4062 00e0 BA69 ldr r2, [r7, #24]
  7371. 4063 .syntax unified
  7372. 4064 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7373. 4065 00e2 41E80023 strex r3, r2, [r1]
  7374. 4066 @ 0 "" 2
  7375. 4067 .thumb
  7376. 4068 .syntax unified
  7377. 4069 00e6 3B61 str r3, [r7, #16]
  7378. 4070 .loc 2 1124 10 discriminator 1
  7379. 4071 00e8 3B69 ldr r3, [r7, #16]
  7380. 4072 .LBE443:
  7381. 4073 .LBE442:
  7382. 4074 .loc 1 2024 5 discriminator 1
  7383. 4075 00ea 002B cmp r3, #0
  7384. 4076 00ec E5D1 bne .L211
  7385. 4077 .LBE439:
  7386. 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7387. 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
  7388. 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  7389. 4078 .loc 1 2027 14
  7390. 4079 00ee 7B68 ldr r3, [r7, #4]
  7391. 4080 00f0 9B6B ldr r3, [r3, #56]
  7392. 4081 .loc 1 2027 8
  7393. 4082 00f2 002B cmp r3, #0
  7394. 4083 00f4 18D0 beq .L208
  7395. 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7396. 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
  7397. 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
  7398. 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  7399. 4084 .loc 1 2031 12
  7400. 4085 00f6 7B68 ldr r3, [r7, #4]
  7401. 4086 00f8 9B6B ldr r3, [r3, #56]
  7402. 4087 .loc 1 2031 40
  7403. 4088 00fa 0022 movs r2, #0
  7404. 4089 00fc 1A65 str r2, [r3, #80]
  7405. 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7406. 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
  7407. 4090 .loc 1 2033 11
  7408. 4091 00fe 7B68 ldr r3, [r7, #4]
  7409. 4092 0100 9B6B ldr r3, [r3, #56]
  7410. 4093 0102 1846 mov r0, r3
  7411. 4094 0104 FFF7FEFF bl HAL_DMA_Abort
  7412. 4095 0108 0346 mov r3, r0
  7413. 4096 .loc 1 2033 10
  7414. 4097 010a 002B cmp r3, #0
  7415. 4098 010c 0CD0 beq .L208
  7416. 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7417. 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
  7418. 4099 .loc 1 2035 13
  7419. 4100 010e 7B68 ldr r3, [r7, #4]
  7420. 4101 0110 9B6B ldr r3, [r3, #56]
  7421. 4102 0112 1846 mov r0, r3
  7422. 4103 0114 FFF7FEFF bl HAL_DMA_GetError
  7423. 4104 0118 0346 mov r3, r0
  7424. 4105 .loc 1 2035 12
  7425. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 129
  7426. 4106 011a 202B cmp r3, #32
  7427. 4107 011c 04D1 bne .L208
  7428. 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7429. 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
  7430. 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
  7431. 4108 .loc 1 2038 28
  7432. 4109 011e 7B68 ldr r3, [r7, #4]
  7433. 4110 0120 1022 movs r2, #16
  7434. 4111 0122 1A64 str r2, [r3, #64]
  7435. 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7436. 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  7437. 4112 .loc 1 2040 18
  7438. 4113 0124 0323 movs r3, #3
  7439. 4114 0126 0AE0 b .L212
  7440. 4115 .L208:
  7441. 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7442. 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7443. 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7444. 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7445. 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7446. 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
  7447. 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  7448. 4116 .loc 1 2047 22
  7449. 4117 0128 7B68 ldr r3, [r7, #4]
  7450. 4118 012a 0022 movs r2, #0
  7451. 4119 012c DA85 strh r2, [r3, #46] @ movhi
  7452. 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7453. 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  7454. 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  7455. 4120 .loc 1 2050 18
  7456. 4121 012e 7B68 ldr r3, [r7, #4]
  7457. 4122 0130 2022 movs r2, #32
  7458. 4123 0132 83F83E20 strb r2, [r3, #62]
  7459. 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  7460. 4124 .loc 1 2051 24
  7461. 4125 0136 7B68 ldr r3, [r7, #4]
  7462. 4126 0138 0022 movs r2, #0
  7463. 4127 013a 1A63 str r2, [r3, #48]
  7464. 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7465. 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  7466. 4128 .loc 1 2053 10
  7467. 4129 013c 0023 movs r3, #0
  7468. 4130 .L212:
  7469. 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7470. 4131 .loc 1 2054 1
  7471. 4132 013e 1846 mov r0, r3
  7472. 4133 0140 6837 adds r7, r7, #104
  7473. 4134 .LCFI113:
  7474. 4135 .cfi_def_cfa_offset 8
  7475. 4136 0142 BD46 mov sp, r7
  7476. 4137 .LCFI114:
  7477. 4138 .cfi_def_cfa_register 13
  7478. 4139 @ sp needed
  7479. 4140 0144 80BD pop {r7, pc}
  7480. 4141 .cfi_endproc
  7481. 4142 .LFE256:
  7482. 4144 .section .text.HAL_UART_Abort_IT,"ax",%progbits
  7483. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 130
  7484. 4145 .align 1
  7485. 4146 .global HAL_UART_Abort_IT
  7486. 4147 .syntax unified
  7487. 4148 .thumb
  7488. 4149 .thumb_func
  7489. 4151 HAL_UART_Abort_IT:
  7490. 4152 .LFB257:
  7491. 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7492. 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  7493. 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
  7494. 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  7495. 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
  7496. 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
  7497. 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
  7498. 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  7499. 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
  7500. 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
  7501. 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
  7502. 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
  7503. 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
  7504. 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  7505. 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  7506. 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
  7507. 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7508. 4153 .loc 1 2071 1
  7509. 4154 .cfi_startproc
  7510. 4155 @ args = 0, pretend = 0, frame = 136
  7511. 4156 @ frame_needed = 1, uses_anonymous_args = 0
  7512. 4157 0000 80B5 push {r7, lr}
  7513. 4158 .LCFI115:
  7514. 4159 .cfi_def_cfa_offset 8
  7515. 4160 .cfi_offset 7, -8
  7516. 4161 .cfi_offset 14, -4
  7517. 4162 0002 A2B0 sub sp, sp, #136
  7518. 4163 .LCFI116:
  7519. 4164 .cfi_def_cfa_offset 144
  7520. 4165 0004 00AF add r7, sp, #0
  7521. 4166 .LCFI117:
  7522. 4167 .cfi_def_cfa_register 7
  7523. 4168 0006 7860 str r0, [r7, #4]
  7524. 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
  7525. 4169 .loc 1 2072 12
  7526. 4170 0008 0123 movs r3, #1
  7527. 4171 000a C7F88430 str r3, [r7, #132]
  7528. 4172 .L216:
  7529. 4173 .LBB444:
  7530. 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7531. 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  7532. 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
  7533. 4174 .loc 1 2075 3 discriminator 1
  7534. 4175 000e 7B68 ldr r3, [r7, #4]
  7535. 4176 0010 1B68 ldr r3, [r3]
  7536. 4177 0012 0C33 adds r3, r3, #12
  7537. 4178 0014 3B66 str r3, [r7, #96]
  7538. 4179 .LBB445:
  7539. 4180 .LBB446:
  7540. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7541. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 131
  7542. 4181 .loc 2 1072 4 discriminator 1
  7543. 4182 0016 3B6E ldr r3, [r7, #96]
  7544. 4183 .syntax unified
  7545. 4184 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7546. 4185 0018 53E8003F ldrex r3, [r3]
  7547. 4186 @ 0 "" 2
  7548. 4187 .thumb
  7549. 4188 .syntax unified
  7550. 4189 001c FB65 str r3, [r7, #92]
  7551. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7552. 4190 .loc 2 1073 10 discriminator 1
  7553. 4191 001e FB6D ldr r3, [r7, #92]
  7554. 4192 .LBE446:
  7555. 4193 .LBE445:
  7556. 4194 .loc 1 2075 3 discriminator 1
  7557. 4195 0020 23F4F073 bic r3, r3, #480
  7558. 4196 0024 C7F88030 str r3, [r7, #128]
  7559. 4197 0028 7B68 ldr r3, [r7, #4]
  7560. 4198 002a 1B68 ldr r3, [r3]
  7561. 4199 002c 0C33 adds r3, r3, #12
  7562. 4200 002e D7F88020 ldr r2, [r7, #128]
  7563. 4201 0032 FA66 str r2, [r7, #108]
  7564. 4202 0034 BB66 str r3, [r7, #104]
  7565. 4203 .LBB447:
  7566. 4204 .LBB448:
  7567. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7568. 4205 .loc 2 1123 4 discriminator 1
  7569. 4206 0036 B96E ldr r1, [r7, #104]
  7570. 4207 0038 FA6E ldr r2, [r7, #108]
  7571. 4208 .syntax unified
  7572. 4209 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7573. 4210 003a 41E80023 strex r3, r2, [r1]
  7574. 4211 @ 0 "" 2
  7575. 4212 .thumb
  7576. 4213 .syntax unified
  7577. 4214 003e 7B66 str r3, [r7, #100]
  7578. 4215 .loc 2 1124 10 discriminator 1
  7579. 4216 0040 7B6E ldr r3, [r7, #100]
  7580. 4217 .LBE448:
  7581. 4218 .LBE447:
  7582. 4219 .loc 1 2075 3 discriminator 1
  7583. 4220 0042 002B cmp r3, #0
  7584. 4221 0044 E3D1 bne .L216
  7585. 4222 .L219:
  7586. 4223 .LBE444:
  7587. 4224 .LBB449:
  7588. 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  7589. 4225 .loc 1 2076 3 discriminator 1
  7590. 4226 0046 7B68 ldr r3, [r7, #4]
  7591. 4227 0048 1B68 ldr r3, [r3]
  7592. 4228 004a 1433 adds r3, r3, #20
  7593. 4229 004c FB64 str r3, [r7, #76]
  7594. 4230 .LBB450:
  7595. 4231 .LBB451:
  7596. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7597. 4232 .loc 2 1072 4 discriminator 1
  7598. 4233 004e FB6C ldr r3, [r7, #76]
  7599. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 132
  7600. 4234 .syntax unified
  7601. 4235 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7602. 4236 0050 53E8003F ldrex r3, [r3]
  7603. 4237 @ 0 "" 2
  7604. 4238 .thumb
  7605. 4239 .syntax unified
  7606. 4240 0054 BB64 str r3, [r7, #72]
  7607. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7608. 4241 .loc 2 1073 10 discriminator 1
  7609. 4242 0056 BB6C ldr r3, [r7, #72]
  7610. 4243 .LBE451:
  7611. 4244 .LBE450:
  7612. 4245 .loc 1 2076 3 discriminator 1
  7613. 4246 0058 23F00103 bic r3, r3, #1
  7614. 4247 005c FB67 str r3, [r7, #124]
  7615. 4248 005e 7B68 ldr r3, [r7, #4]
  7616. 4249 0060 1B68 ldr r3, [r3]
  7617. 4250 0062 1433 adds r3, r3, #20
  7618. 4251 0064 FA6F ldr r2, [r7, #124]
  7619. 4252 0066 BA65 str r2, [r7, #88]
  7620. 4253 0068 7B65 str r3, [r7, #84]
  7621. 4254 .LBB452:
  7622. 4255 .LBB453:
  7623. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7624. 4256 .loc 2 1123 4 discriminator 1
  7625. 4257 006a 796D ldr r1, [r7, #84]
  7626. 4258 006c BA6D ldr r2, [r7, #88]
  7627. 4259 .syntax unified
  7628. 4260 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7629. 4261 006e 41E80023 strex r3, r2, [r1]
  7630. 4262 @ 0 "" 2
  7631. 4263 .thumb
  7632. 4264 .syntax unified
  7633. 4265 0072 3B65 str r3, [r7, #80]
  7634. 4266 .loc 2 1124 10 discriminator 1
  7635. 4267 0074 3B6D ldr r3, [r7, #80]
  7636. 4268 .LBE453:
  7637. 4269 .LBE452:
  7638. 4270 .loc 1 2076 3 discriminator 1
  7639. 4271 0076 002B cmp r3, #0
  7640. 4272 0078 E5D1 bne .L219
  7641. 4273 .LBE449:
  7642. 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7643. 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  7644. 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  7645. 4274 .loc 1 2079 12
  7646. 4275 007a 7B68 ldr r3, [r7, #4]
  7647. 4276 007c 1B6B ldr r3, [r3, #48]
  7648. 4277 .loc 1 2079 6
  7649. 4278 007e 012B cmp r3, #1
  7650. 4279 0080 19D1 bne .L220
  7651. 4280 .L223:
  7652. 4281 .LBB454:
  7653. 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7654. 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  7655. 4282 .loc 1 2081 5 discriminator 1
  7656. 4283 0082 7B68 ldr r3, [r7, #4]
  7657. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 133
  7658. 4284 0084 1B68 ldr r3, [r3]
  7659. 4285 0086 0C33 adds r3, r3, #12
  7660. 4286 0088 BB63 str r3, [r7, #56]
  7661. 4287 .LBB455:
  7662. 4288 .LBB456:
  7663. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7664. 4289 .loc 2 1072 4 discriminator 1
  7665. 4290 008a BB6B ldr r3, [r7, #56]
  7666. 4291 .syntax unified
  7667. 4292 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7668. 4293 008c 53E8003F ldrex r3, [r3]
  7669. 4294 @ 0 "" 2
  7670. 4295 .thumb
  7671. 4296 .syntax unified
  7672. 4297 0090 7B63 str r3, [r7, #52]
  7673. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7674. 4298 .loc 2 1073 10 discriminator 1
  7675. 4299 0092 7B6B ldr r3, [r7, #52]
  7676. 4300 .LBE456:
  7677. 4301 .LBE455:
  7678. 4302 .loc 1 2081 5 discriminator 1
  7679. 4303 0094 23F01003 bic r3, r3, #16
  7680. 4304 0098 BB67 str r3, [r7, #120]
  7681. 4305 009a 7B68 ldr r3, [r7, #4]
  7682. 4306 009c 1B68 ldr r3, [r3]
  7683. 4307 009e 0C33 adds r3, r3, #12
  7684. 4308 00a0 BA6F ldr r2, [r7, #120]
  7685. 4309 00a2 7A64 str r2, [r7, #68]
  7686. 4310 00a4 3B64 str r3, [r7, #64]
  7687. 4311 .LBB457:
  7688. 4312 .LBB458:
  7689. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7690. 4313 .loc 2 1123 4 discriminator 1
  7691. 4314 00a6 396C ldr r1, [r7, #64]
  7692. 4315 00a8 7A6C ldr r2, [r7, #68]
  7693. 4316 .syntax unified
  7694. 4317 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7695. 4318 00aa 41E80023 strex r3, r2, [r1]
  7696. 4319 @ 0 "" 2
  7697. 4320 .thumb
  7698. 4321 .syntax unified
  7699. 4322 00ae FB63 str r3, [r7, #60]
  7700. 4323 .loc 2 1124 10 discriminator 1
  7701. 4324 00b0 FB6B ldr r3, [r7, #60]
  7702. 4325 .LBE458:
  7703. 4326 .LBE457:
  7704. 4327 .loc 1 2081 5 discriminator 1
  7705. 4328 00b2 002B cmp r3, #0
  7706. 4329 00b4 E5D1 bne .L223
  7707. 4330 .L220:
  7708. 4331 .LBE454:
  7709. 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7710. 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7711. 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
  7712. 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** before any call to DMA Abort functions */
  7713. 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Tx Handle is valid */
  7714. 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
  7715. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 134
  7716. 4332 .loc 1 2087 12
  7717. 4333 00b6 7B68 ldr r3, [r7, #4]
  7718. 4334 00b8 5B6B ldr r3, [r3, #52]
  7719. 4335 .loc 1 2087 6
  7720. 4336 00ba 002B cmp r3, #0
  7721. 4337 00bc 0FD0 beq .L224
  7722. 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7723. 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
  7724. 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
  7725. 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  7726. 4338 .loc 1 2091 9
  7727. 4339 00be 7B68 ldr r3, [r7, #4]
  7728. 4340 00c0 1B68 ldr r3, [r3]
  7729. 4341 00c2 5B69 ldr r3, [r3, #20]
  7730. 4342 00c4 03F08003 and r3, r3, #128
  7731. 4343 .loc 1 2091 8
  7732. 4344 00c8 802B cmp r3, #128
  7733. 4345 00ca 04D1 bne .L225
  7734. 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7735. 2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
  7736. 4346 .loc 1 2093 12
  7737. 4347 00cc 7B68 ldr r3, [r7, #4]
  7738. 4348 00ce 5B6B ldr r3, [r3, #52]
  7739. 4349 .loc 1 2093 40
  7740. 4350 00d0 534A ldr r2, .L240
  7741. 4351 00d2 1A65 str r2, [r3, #80]
  7742. 4352 00d4 03E0 b .L224
  7743. 4353 .L225:
  7744. 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7745. 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  7746. 2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7747. 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  7748. 4354 .loc 1 2097 12
  7749. 4355 00d6 7B68 ldr r3, [r7, #4]
  7750. 4356 00d8 5B6B ldr r3, [r3, #52]
  7751. 4357 .loc 1 2097 40
  7752. 4358 00da 0022 movs r2, #0
  7753. 4359 00dc 1A65 str r2, [r3, #80]
  7754. 4360 .L224:
  7755. 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7756. 2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7757. 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Rx Handle is valid */
  7758. 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  7759. 4361 .loc 1 2101 12
  7760. 4362 00de 7B68 ldr r3, [r7, #4]
  7761. 4363 00e0 9B6B ldr r3, [r3, #56]
  7762. 4364 .loc 1 2101 6
  7763. 4365 00e2 002B cmp r3, #0
  7764. 4366 00e4 0FD0 beq .L226
  7765. 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7766. 2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
  7767. 2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
  7768. 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  7769. 4367 .loc 1 2105 9
  7770. 4368 00e6 7B68 ldr r3, [r7, #4]
  7771. 4369 00e8 1B68 ldr r3, [r3]
  7772. 4370 00ea 5B69 ldr r3, [r3, #20]
  7773. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 135
  7774. 4371 00ec 03F04003 and r3, r3, #64
  7775. 4372 .loc 1 2105 8
  7776. 4373 00f0 402B cmp r3, #64
  7777. 4374 00f2 04D1 bne .L227
  7778. 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7779. 2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
  7780. 4375 .loc 1 2107 12
  7781. 4376 00f4 7B68 ldr r3, [r7, #4]
  7782. 4377 00f6 9B6B ldr r3, [r3, #56]
  7783. 4378 .loc 1 2107 40
  7784. 4379 00f8 4A4A ldr r2, .L240+4
  7785. 4380 00fa 1A65 str r2, [r3, #80]
  7786. 4381 00fc 03E0 b .L226
  7787. 4382 .L227:
  7788. 2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7789. 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  7790. 2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7791. 2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  7792. 4383 .loc 1 2111 12
  7793. 4384 00fe 7B68 ldr r3, [r7, #4]
  7794. 4385 0100 9B6B ldr r3, [r3, #56]
  7795. 4386 .loc 1 2111 40
  7796. 4387 0102 0022 movs r2, #0
  7797. 4388 0104 1A65 str r2, [r3, #80]
  7798. 4389 .L226:
  7799. 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7800. 2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7801. 2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7802. 2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
  7803. 2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  7804. 4390 .loc 1 2116 7
  7805. 4391 0106 7B68 ldr r3, [r7, #4]
  7806. 4392 0108 1B68 ldr r3, [r3]
  7807. 4393 010a 5B69 ldr r3, [r3, #20]
  7808. 4394 010c 03F08003 and r3, r3, #128
  7809. 4395 .loc 1 2116 6
  7810. 4396 0110 802B cmp r3, #128
  7811. 4397 0112 2DD1 bne .L228
  7812. 4398 .L231:
  7813. 4399 .LBB459:
  7814. 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7815. 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable DMA Tx at UART level */
  7816. 2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  7817. 4400 .loc 1 2119 5 discriminator 1
  7818. 4401 0114 7B68 ldr r3, [r7, #4]
  7819. 4402 0116 1B68 ldr r3, [r3]
  7820. 4403 0118 1433 adds r3, r3, #20
  7821. 4404 011a 7B62 str r3, [r7, #36]
  7822. 4405 .LBB460:
  7823. 4406 .LBB461:
  7824. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7825. 4407 .loc 2 1072 4 discriminator 1
  7826. 4408 011c 7B6A ldr r3, [r7, #36]
  7827. 4409 .syntax unified
  7828. 4410 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7829. 4411 011e 53E8003F ldrex r3, [r3]
  7830. 4412 @ 0 "" 2
  7831. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 136
  7832. 4413 .thumb
  7833. 4414 .syntax unified
  7834. 4415 0122 3B62 str r3, [r7, #32]
  7835. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7836. 4416 .loc 2 1073 10 discriminator 1
  7837. 4417 0124 3B6A ldr r3, [r7, #32]
  7838. 4418 .LBE461:
  7839. 4419 .LBE460:
  7840. 4420 .loc 1 2119 5 discriminator 1
  7841. 4421 0126 23F08003 bic r3, r3, #128
  7842. 4422 012a 7B67 str r3, [r7, #116]
  7843. 4423 012c 7B68 ldr r3, [r7, #4]
  7844. 4424 012e 1B68 ldr r3, [r3]
  7845. 4425 0130 1433 adds r3, r3, #20
  7846. 4426 0132 7A6F ldr r2, [r7, #116]
  7847. 4427 0134 3A63 str r2, [r7, #48]
  7848. 4428 0136 FB62 str r3, [r7, #44]
  7849. 4429 .LBB462:
  7850. 4430 .LBB463:
  7851. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7852. 4431 .loc 2 1123 4 discriminator 1
  7853. 4432 0138 F96A ldr r1, [r7, #44]
  7854. 4433 013a 3A6B ldr r2, [r7, #48]
  7855. 4434 .syntax unified
  7856. 4435 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7857. 4436 013c 41E80023 strex r3, r2, [r1]
  7858. 4437 @ 0 "" 2
  7859. 4438 .thumb
  7860. 4439 .syntax unified
  7861. 4440 0140 BB62 str r3, [r7, #40]
  7862. 4441 .loc 2 1124 10 discriminator 1
  7863. 4442 0142 BB6A ldr r3, [r7, #40]
  7864. 4443 .LBE463:
  7865. 4444 .LBE462:
  7866. 4445 .loc 1 2119 5 discriminator 1
  7867. 4446 0144 002B cmp r3, #0
  7868. 4447 0146 E5D1 bne .L231
  7869. 4448 .LBE459:
  7870. 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7871. 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use non blocking DMA Abort API (callback) */
  7872. 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
  7873. 4449 .loc 1 2122 14
  7874. 4450 0148 7B68 ldr r3, [r7, #4]
  7875. 4451 014a 5B6B ldr r3, [r3, #52]
  7876. 4452 .loc 1 2122 8
  7877. 4453 014c 002B cmp r3, #0
  7878. 4454 014e 0FD0 beq .L228
  7879. 2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7880. 2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
  7881. 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  7882. 2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7883. 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
  7884. 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
  7885. 4455 .loc 1 2128 11
  7886. 4456 0150 7B68 ldr r3, [r7, #4]
  7887. 4457 0152 5B6B ldr r3, [r3, #52]
  7888. 4458 0154 1846 mov r0, r3
  7889. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 137
  7890. 4459 0156 FFF7FEFF bl HAL_DMA_Abort_IT
  7891. 4460 015a 0346 mov r3, r0
  7892. 4461 .loc 1 2128 10
  7893. 4462 015c 002B cmp r3, #0
  7894. 4463 015e 04D0 beq .L232
  7895. 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7896. 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  7897. 4464 .loc 1 2130 14
  7898. 4465 0160 7B68 ldr r3, [r7, #4]
  7899. 4466 0162 5B6B ldr r3, [r3, #52]
  7900. 4467 .loc 1 2130 42
  7901. 4468 0164 0022 movs r2, #0
  7902. 4469 0166 1A65 str r2, [r3, #80]
  7903. 4470 0168 02E0 b .L228
  7904. 4471 .L232:
  7905. 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7906. 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  7907. 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7908. 2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
  7909. 4472 .loc 1 2134 19
  7910. 4473 016a 0023 movs r3, #0
  7911. 4474 016c C7F88430 str r3, [r7, #132]
  7912. 4475 .L228:
  7913. 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7914. 2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7915. 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  7916. 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7917. 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  7918. 2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  7919. 4476 .loc 1 2140 7
  7920. 4477 0170 7B68 ldr r3, [r7, #4]
  7921. 4478 0172 1B68 ldr r3, [r3]
  7922. 4479 0174 5B69 ldr r3, [r3, #20]
  7923. 4480 0176 03F04003 and r3, r3, #64
  7924. 4481 .loc 1 2140 6
  7925. 4482 017a 402B cmp r3, #64
  7926. 4483 017c 30D1 bne .L233
  7927. 4484 .L236:
  7928. 4485 .LBB464:
  7929. 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7930. 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  7931. 4486 .loc 1 2142 5 discriminator 1
  7932. 4487 017e 7B68 ldr r3, [r7, #4]
  7933. 4488 0180 1B68 ldr r3, [r3]
  7934. 4489 0182 1433 adds r3, r3, #20
  7935. 4490 0184 3B61 str r3, [r7, #16]
  7936. 4491 .LBB465:
  7937. 4492 .LBB466:
  7938. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7939. 4493 .loc 2 1072 4 discriminator 1
  7940. 4494 0186 3B69 ldr r3, [r7, #16]
  7941. 4495 .syntax unified
  7942. 4496 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7943. 4497 0188 53E8003F ldrex r3, [r3]
  7944. 4498 @ 0 "" 2
  7945. 4499 .thumb
  7946. 4500 .syntax unified
  7947. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 138
  7948. 4501 018c FB60 str r3, [r7, #12]
  7949. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  7950. 4502 .loc 2 1073 10 discriminator 1
  7951. 4503 018e FB68 ldr r3, [r7, #12]
  7952. 4504 .LBE466:
  7953. 4505 .LBE465:
  7954. 4506 .loc 1 2142 5 discriminator 1
  7955. 4507 0190 23F04003 bic r3, r3, #64
  7956. 4508 0194 3B67 str r3, [r7, #112]
  7957. 4509 0196 7B68 ldr r3, [r7, #4]
  7958. 4510 0198 1B68 ldr r3, [r3]
  7959. 4511 019a 1433 adds r3, r3, #20
  7960. 4512 019c 3A6F ldr r2, [r7, #112]
  7961. 4513 019e FA61 str r2, [r7, #28]
  7962. 4514 01a0 BB61 str r3, [r7, #24]
  7963. 4515 .LBB467:
  7964. 4516 .LBB468:
  7965. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  7966. 4517 .loc 2 1123 4 discriminator 1
  7967. 4518 01a2 B969 ldr r1, [r7, #24]
  7968. 4519 01a4 FA69 ldr r2, [r7, #28]
  7969. 4520 .syntax unified
  7970. 4521 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  7971. 4522 01a6 41E80023 strex r3, r2, [r1]
  7972. 4523 @ 0 "" 2
  7973. 4524 .thumb
  7974. 4525 .syntax unified
  7975. 4526 01aa 7B61 str r3, [r7, #20]
  7976. 4527 .loc 2 1124 10 discriminator 1
  7977. 4528 01ac 7B69 ldr r3, [r7, #20]
  7978. 4529 .LBE468:
  7979. 4530 .LBE467:
  7980. 4531 .loc 1 2142 5 discriminator 1
  7981. 4532 01ae 002B cmp r3, #0
  7982. 4533 01b0 E5D1 bne .L236
  7983. 4534 .LBE464:
  7984. 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7985. 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use non blocking DMA Abort API (callback) */
  7986. 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  7987. 4535 .loc 1 2145 14
  7988. 4536 01b2 7B68 ldr r3, [r7, #4]
  7989. 4537 01b4 9B6B ldr r3, [r3, #56]
  7990. 4538 .loc 1 2145 8
  7991. 4539 01b6 002B cmp r3, #0
  7992. 4540 01b8 12D0 beq .L233
  7993. 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  7994. 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
  7995. 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  7996. 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  7997. 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
  7998. 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
  7999. 4541 .loc 1 2151 11
  8000. 4542 01ba 7B68 ldr r3, [r7, #4]
  8001. 4543 01bc 9B6B ldr r3, [r3, #56]
  8002. 4544 01be 1846 mov r0, r3
  8003. 4545 01c0 FFF7FEFF bl HAL_DMA_Abort_IT
  8004. 4546 01c4 0346 mov r3, r0
  8005. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 139
  8006. 4547 .loc 1 2151 10
  8007. 4548 01c6 002B cmp r3, #0
  8008. 4549 01c8 07D0 beq .L237
  8009. 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8010. 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  8011. 4550 .loc 1 2153 14
  8012. 4551 01ca 7B68 ldr r3, [r7, #4]
  8013. 4552 01cc 9B6B ldr r3, [r3, #56]
  8014. 4553 .loc 1 2153 42
  8015. 4554 01ce 0022 movs r2, #0
  8016. 4555 01d0 1A65 str r2, [r3, #80]
  8017. 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
  8018. 4556 .loc 1 2154 19
  8019. 4557 01d2 0123 movs r3, #1
  8020. 4558 01d4 C7F88430 str r3, [r7, #132]
  8021. 4559 01d8 02E0 b .L233
  8022. 4560 .L237:
  8023. 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8024. 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  8025. 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8026. 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
  8027. 4561 .loc 1 2158 19
  8028. 4562 01da 0023 movs r3, #0
  8029. 4563 01dc C7F88430 str r3, [r7, #132]
  8030. 4564 .L233:
  8031. 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8032. 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8033. 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8034. 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8035. 2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
  8036. 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (AbortCplt == 0x01U)
  8037. 4565 .loc 1 2164 6
  8038. 4566 01e0 D7F88430 ldr r3, [r7, #132]
  8039. 4567 01e4 012B cmp r3, #1
  8040. 4568 01e6 16D1 bne .L238
  8041. 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8042. 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
  8043. 2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  8044. 4569 .loc 1 2167 24
  8045. 4570 01e8 7B68 ldr r3, [r7, #4]
  8046. 4571 01ea 0022 movs r2, #0
  8047. 4572 01ec DA84 strh r2, [r3, #38] @ movhi
  8048. 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  8049. 4573 .loc 1 2168 24
  8050. 4574 01ee 7B68 ldr r3, [r7, #4]
  8051. 4575 01f0 0022 movs r2, #0
  8052. 4576 01f2 DA85 strh r2, [r3, #46] @ movhi
  8053. 2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8054. 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
  8055. 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  8056. 4577 .loc 1 2171 22
  8057. 4578 01f4 7B68 ldr r3, [r7, #4]
  8058. 4579 01f6 0022 movs r2, #0
  8059. 4580 01f8 1A64 str r2, [r3, #64]
  8060. 2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8061. 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
  8062. 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  8063. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 140
  8064. 4581 .loc 1 2174 20
  8065. 4582 01fa 7B68 ldr r3, [r7, #4]
  8066. 4583 01fc 2022 movs r2, #32
  8067. 4584 01fe 83F83D20 strb r2, [r3, #61]
  8068. 2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  8069. 4585 .loc 1 2175 20
  8070. 4586 0202 7B68 ldr r3, [r7, #4]
  8071. 4587 0204 2022 movs r2, #32
  8072. 4588 0206 83F83E20 strb r2, [r3, #62]
  8073. 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  8074. 4589 .loc 1 2176 26
  8075. 4590 020a 7B68 ldr r3, [r7, #4]
  8076. 4591 020c 0022 movs r2, #0
  8077. 4592 020e 1A63 str r2, [r3, #48]
  8078. 2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8079. 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  8080. 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8081. 2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
  8082. 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
  8083. 2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  8084. 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
  8085. 2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
  8086. 4593 .loc 1 2184 5
  8087. 4594 0210 7868 ldr r0, [r7, #4]
  8088. 4595 0212 FFF7FEFF bl HAL_UART_AbortCpltCallback
  8089. 4596 .L238:
  8090. 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8091. 2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8092. 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8093. 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  8094. 4597 .loc 1 2188 10
  8095. 4598 0216 0023 movs r3, #0
  8096. 2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8097. 4599 .loc 1 2189 1
  8098. 4600 0218 1846 mov r0, r3
  8099. 4601 021a 8837 adds r7, r7, #136
  8100. 4602 .LCFI118:
  8101. 4603 .cfi_def_cfa_offset 8
  8102. 4604 021c BD46 mov sp, r7
  8103. 4605 .LCFI119:
  8104. 4606 .cfi_def_cfa_register 13
  8105. 4607 @ sp needed
  8106. 4608 021e 80BD pop {r7, pc}
  8107. 4609 .L241:
  8108. 4610 .align 2
  8109. 4611 .L240:
  8110. 4612 0220 00000000 .word UART_DMATxAbortCallback
  8111. 4613 0224 00000000 .word UART_DMARxAbortCallback
  8112. 4614 .cfi_endproc
  8113. 4615 .LFE257:
  8114. 4617 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
  8115. 4618 .align 1
  8116. 4619 .global HAL_UART_AbortTransmit_IT
  8117. 4620 .syntax unified
  8118. 4621 .thumb
  8119. 4622 .thumb_func
  8120. 4624 HAL_UART_AbortTransmit_IT:
  8121. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 141
  8122. 4625 .LFB258:
  8123. 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8124. 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  8125. 2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
  8126. 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  8127. 2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
  8128. 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
  8129. 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
  8130. 2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  8131. 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
  8132. 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
  8133. 2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
  8134. 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
  8135. 2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
  8136. 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  8137. 2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  8138. 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
  8139. 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8140. 4626 .loc 1 2206 1
  8141. 4627 .cfi_startproc
  8142. 4628 @ args = 0, pretend = 0, frame = 56
  8143. 4629 @ frame_needed = 1, uses_anonymous_args = 0
  8144. 4630 0000 80B5 push {r7, lr}
  8145. 4631 .LCFI120:
  8146. 4632 .cfi_def_cfa_offset 8
  8147. 4633 .cfi_offset 7, -8
  8148. 4634 .cfi_offset 14, -4
  8149. 4635 0002 8EB0 sub sp, sp, #56
  8150. 4636 .LCFI121:
  8151. 4637 .cfi_def_cfa_offset 64
  8152. 4638 0004 00AF add r7, sp, #0
  8153. 4639 .LCFI122:
  8154. 4640 .cfi_def_cfa_register 7
  8155. 4641 0006 7860 str r0, [r7, #4]
  8156. 4642 .L245:
  8157. 4643 .LBB469:
  8158. 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
  8159. 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
  8160. 4644 .loc 1 2208 3 discriminator 1
  8161. 4645 0008 7B68 ldr r3, [r7, #4]
  8162. 4646 000a 1B68 ldr r3, [r3]
  8163. 4647 000c 0C33 adds r3, r3, #12
  8164. 4648 000e 3B62 str r3, [r7, #32]
  8165. 4649 .LBB470:
  8166. 4650 .LBB471:
  8167. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8168. 4651 .loc 2 1072 4 discriminator 1
  8169. 4652 0010 3B6A ldr r3, [r7, #32]
  8170. 4653 .syntax unified
  8171. 4654 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8172. 4655 0012 53E8003F ldrex r3, [r3]
  8173. 4656 @ 0 "" 2
  8174. 4657 .thumb
  8175. 4658 .syntax unified
  8176. 4659 0016 FB61 str r3, [r7, #28]
  8177. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8178. 4660 .loc 2 1073 10 discriminator 1
  8179. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 142
  8180. 4661 0018 FB69 ldr r3, [r7, #28]
  8181. 4662 .LBE471:
  8182. 4663 .LBE470:
  8183. 4664 .loc 1 2208 3 discriminator 1
  8184. 4665 001a 23F0C003 bic r3, r3, #192
  8185. 4666 001e 7B63 str r3, [r7, #52]
  8186. 4667 0020 7B68 ldr r3, [r7, #4]
  8187. 4668 0022 1B68 ldr r3, [r3]
  8188. 4669 0024 0C33 adds r3, r3, #12
  8189. 4670 0026 7A6B ldr r2, [r7, #52]
  8190. 4671 0028 FA62 str r2, [r7, #44]
  8191. 4672 002a BB62 str r3, [r7, #40]
  8192. 4673 .LBB472:
  8193. 4674 .LBB473:
  8194. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8195. 4675 .loc 2 1123 4 discriminator 1
  8196. 4676 002c B96A ldr r1, [r7, #40]
  8197. 4677 002e FA6A ldr r2, [r7, #44]
  8198. 4678 .syntax unified
  8199. 4679 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8200. 4680 0030 41E80023 strex r3, r2, [r1]
  8201. 4681 @ 0 "" 2
  8202. 4682 .thumb
  8203. 4683 .syntax unified
  8204. 4684 0034 7B62 str r3, [r7, #36]
  8205. 4685 .loc 2 1124 10 discriminator 1
  8206. 4686 0036 7B6A ldr r3, [r7, #36]
  8207. 4687 .LBE473:
  8208. 4688 .LBE472:
  8209. 4689 .loc 1 2208 3 discriminator 1
  8210. 4690 0038 002B cmp r3, #0
  8211. 4691 003a E5D1 bne .L245
  8212. 4692 .LBE469:
  8213. 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8214. 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
  8215. 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
  8216. 4693 .loc 1 2211 7
  8217. 4694 003c 7B68 ldr r3, [r7, #4]
  8218. 4695 003e 1B68 ldr r3, [r3]
  8219. 4696 0040 5B69 ldr r3, [r3, #20]
  8220. 4697 0042 03F08003 and r3, r3, #128
  8221. 4698 .loc 1 2211 6
  8222. 4699 0046 802B cmp r3, #128
  8223. 4700 0048 3CD1 bne .L246
  8224. 4701 .L249:
  8225. 4702 .LBB474:
  8226. 2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8227. 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  8228. 4703 .loc 1 2213 5 discriminator 1
  8229. 4704 004a 7B68 ldr r3, [r7, #4]
  8230. 4705 004c 1B68 ldr r3, [r3]
  8231. 4706 004e 1433 adds r3, r3, #20
  8232. 4707 0050 FB60 str r3, [r7, #12]
  8233. 4708 .LBB475:
  8234. 4709 .LBB476:
  8235. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8236. 4710 .loc 2 1072 4 discriminator 1
  8237. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 143
  8238. 4711 0052 FB68 ldr r3, [r7, #12]
  8239. 4712 .syntax unified
  8240. 4713 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8241. 4714 0054 53E8003F ldrex r3, [r3]
  8242. 4715 @ 0 "" 2
  8243. 4716 .thumb
  8244. 4717 .syntax unified
  8245. 4718 0058 BB60 str r3, [r7, #8]
  8246. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8247. 4719 .loc 2 1073 10 discriminator 1
  8248. 4720 005a BB68 ldr r3, [r7, #8]
  8249. 4721 .LBE476:
  8250. 4722 .LBE475:
  8251. 4723 .loc 1 2213 5 discriminator 1
  8252. 4724 005c 23F08003 bic r3, r3, #128
  8253. 4725 0060 3B63 str r3, [r7, #48]
  8254. 4726 0062 7B68 ldr r3, [r7, #4]
  8255. 4727 0064 1B68 ldr r3, [r3]
  8256. 4728 0066 1433 adds r3, r3, #20
  8257. 4729 0068 3A6B ldr r2, [r7, #48]
  8258. 4730 006a BA61 str r2, [r7, #24]
  8259. 4731 006c 7B61 str r3, [r7, #20]
  8260. 4732 .LBB477:
  8261. 4733 .LBB478:
  8262. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8263. 4734 .loc 2 1123 4 discriminator 1
  8264. 4735 006e 7969 ldr r1, [r7, #20]
  8265. 4736 0070 BA69 ldr r2, [r7, #24]
  8266. 4737 .syntax unified
  8267. 4738 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8268. 4739 0072 41E80023 strex r3, r2, [r1]
  8269. 4740 @ 0 "" 2
  8270. 4741 .thumb
  8271. 4742 .syntax unified
  8272. 4743 0076 3B61 str r3, [r7, #16]
  8273. 4744 .loc 2 1124 10 discriminator 1
  8274. 4745 0078 3B69 ldr r3, [r7, #16]
  8275. 4746 .LBE478:
  8276. 4747 .LBE477:
  8277. 4748 .loc 1 2213 5 discriminator 1
  8278. 4749 007a 002B cmp r3, #0
  8279. 4750 007c E5D1 bne .L249
  8280. 4751 .LBE474:
  8281. 2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8282. 2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
  8283. 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
  8284. 4752 .loc 1 2216 14
  8285. 4753 007e 7B68 ldr r3, [r7, #4]
  8286. 4754 0080 5B6B ldr r3, [r3, #52]
  8287. 4755 .loc 1 2216 8
  8288. 4756 0082 002B cmp r3, #0
  8289. 4757 0084 13D0 beq .L250
  8290. 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8291. 2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
  8292. 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  8293. 2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
  8294. 4758 .loc 1 2220 12
  8295. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 144
  8296. 4759 0086 7B68 ldr r3, [r7, #4]
  8297. 4760 0088 5B6B ldr r3, [r3, #52]
  8298. 4761 .loc 1 2220 40
  8299. 4762 008a 164A ldr r2, .L253
  8300. 4763 008c 1A65 str r2, [r3, #80]
  8301. 2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8302. 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
  8303. 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
  8304. 4764 .loc 1 2223 11
  8305. 4765 008e 7B68 ldr r3, [r7, #4]
  8306. 4766 0090 5B6B ldr r3, [r3, #52]
  8307. 4767 0092 1846 mov r0, r3
  8308. 4768 0094 FFF7FEFF bl HAL_DMA_Abort_IT
  8309. 4769 0098 0346 mov r3, r0
  8310. 4770 .loc 1 2223 10
  8311. 4771 009a 002B cmp r3, #0
  8312. 4772 009c 1CD0 beq .L251
  8313. 2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8314. 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
  8315. 2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
  8316. 4773 .loc 1 2226 14
  8317. 4774 009e 7B68 ldr r3, [r7, #4]
  8318. 4775 00a0 5B6B ldr r3, [r3, #52]
  8319. 4776 .loc 1 2226 22
  8320. 4777 00a2 1B6D ldr r3, [r3, #80]
  8321. 4778 .loc 1 2226 47
  8322. 4779 00a4 7A68 ldr r2, [r7, #4]
  8323. 4780 00a6 526B ldr r2, [r2, #52]
  8324. 4781 .loc 1 2226 9
  8325. 4782 00a8 1046 mov r0, r2
  8326. 4783 00aa 9847 blx r3
  8327. 4784 .LVL0:
  8328. 4785 00ac 14E0 b .L251
  8329. 4786 .L250:
  8330. 2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8331. 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8332. 2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  8333. 2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8334. 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
  8335. 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  8336. 4787 .loc 1 2232 26
  8337. 4788 00ae 7B68 ldr r3, [r7, #4]
  8338. 4789 00b0 0022 movs r2, #0
  8339. 4790 00b2 DA84 strh r2, [r3, #38] @ movhi
  8340. 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8341. 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
  8342. 2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  8343. 4791 .loc 1 2235 21
  8344. 4792 00b4 7B68 ldr r3, [r7, #4]
  8345. 4793 00b6 2022 movs r2, #32
  8346. 4794 00b8 83F83D20 strb r2, [r3, #61]
  8347. 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8348. 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  8349. 2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8350. 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
  8351. 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
  8352. 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  8353. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 145
  8354. 2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
  8355. 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
  8356. 4795 .loc 1 2243 7
  8357. 4796 00bc 7868 ldr r0, [r7, #4]
  8358. 4797 00be FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
  8359. 4798 00c2 09E0 b .L251
  8360. 4799 .L246:
  8361. 2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8362. 2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8363. 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8364. 2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  8365. 2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8366. 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
  8367. 2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  8368. 4800 .loc 1 2250 24
  8369. 4801 00c4 7B68 ldr r3, [r7, #4]
  8370. 4802 00c6 0022 movs r2, #0
  8371. 4803 00c8 DA84 strh r2, [r3, #38] @ movhi
  8372. 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8373. 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
  8374. 2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  8375. 4804 .loc 1 2253 19
  8376. 4805 00ca 7B68 ldr r3, [r7, #4]
  8377. 4806 00cc 2022 movs r2, #32
  8378. 4807 00ce 83F83D20 strb r2, [r3, #61]
  8379. 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8380. 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  8381. 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8382. 2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
  8383. 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
  8384. 2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  8385. 2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
  8386. 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
  8387. 4808 .loc 1 2261 5
  8388. 4809 00d2 7868 ldr r0, [r7, #4]
  8389. 4810 00d4 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
  8390. 4811 .L251:
  8391. 2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8392. 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8393. 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8394. 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  8395. 4812 .loc 1 2265 10
  8396. 4813 00d8 0023 movs r3, #0
  8397. 2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8398. 4814 .loc 1 2266 1
  8399. 4815 00da 1846 mov r0, r3
  8400. 4816 00dc 3837 adds r7, r7, #56
  8401. 4817 .LCFI123:
  8402. 4818 .cfi_def_cfa_offset 8
  8403. 4819 00de BD46 mov sp, r7
  8404. 4820 .LCFI124:
  8405. 4821 .cfi_def_cfa_register 13
  8406. 4822 @ sp needed
  8407. 4823 00e0 80BD pop {r7, pc}
  8408. 4824 .L254:
  8409. 4825 00e2 00BF .align 2
  8410. 4826 .L253:
  8411. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 146
  8412. 4827 00e4 00000000 .word UART_DMATxOnlyAbortCallback
  8413. 4828 .cfi_endproc
  8414. 4829 .LFE258:
  8415. 4831 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
  8416. 4832 .align 1
  8417. 4833 .global HAL_UART_AbortReceive_IT
  8418. 4834 .syntax unified
  8419. 4835 .thumb
  8420. 4836 .thumb_func
  8421. 4838 HAL_UART_AbortReceive_IT:
  8422. 4839 .LFB259:
  8423. 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8424. 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  8425. 2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
  8426. 2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  8427. 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
  8428. 2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
  8429. 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
  8430. 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
  8431. 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
  8432. 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
  8433. 2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
  8434. 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
  8435. 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
  8436. 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  8437. 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  8438. 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
  8439. 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8440. 4840 .loc 1 2283 1
  8441. 4841 .cfi_startproc
  8442. 4842 @ args = 0, pretend = 0, frame = 104
  8443. 4843 @ frame_needed = 1, uses_anonymous_args = 0
  8444. 4844 0000 80B5 push {r7, lr}
  8445. 4845 .LCFI125:
  8446. 4846 .cfi_def_cfa_offset 8
  8447. 4847 .cfi_offset 7, -8
  8448. 4848 .cfi_offset 14, -4
  8449. 4849 0002 9AB0 sub sp, sp, #104
  8450. 4850 .LCFI126:
  8451. 4851 .cfi_def_cfa_offset 112
  8452. 4852 0004 00AF add r7, sp, #0
  8453. 4853 .LCFI127:
  8454. 4854 .cfi_def_cfa_register 7
  8455. 4855 0006 7860 str r0, [r7, #4]
  8456. 4856 .L258:
  8457. 4857 .LBB479:
  8458. 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  8459. 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  8460. 4858 .loc 1 2285 3 discriminator 1
  8461. 4859 0008 7B68 ldr r3, [r7, #4]
  8462. 4860 000a 1B68 ldr r3, [r3]
  8463. 4861 000c 0C33 adds r3, r3, #12
  8464. 4862 000e BB64 str r3, [r7, #72]
  8465. 4863 .LBB480:
  8466. 4864 .LBB481:
  8467. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8468. 4865 .loc 2 1072 4 discriminator 1
  8469. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 147
  8470. 4866 0010 BB6C ldr r3, [r7, #72]
  8471. 4867 .syntax unified
  8472. 4868 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8473. 4869 0012 53E8003F ldrex r3, [r3]
  8474. 4870 @ 0 "" 2
  8475. 4871 .thumb
  8476. 4872 .syntax unified
  8477. 4873 0016 7B64 str r3, [r7, #68]
  8478. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8479. 4874 .loc 2 1073 10 discriminator 1
  8480. 4875 0018 7B6C ldr r3, [r7, #68]
  8481. 4876 .LBE481:
  8482. 4877 .LBE480:
  8483. 4878 .loc 1 2285 3 discriminator 1
  8484. 4879 001a 23F49073 bic r3, r3, #288
  8485. 4880 001e 7B66 str r3, [r7, #100]
  8486. 4881 0020 7B68 ldr r3, [r7, #4]
  8487. 4882 0022 1B68 ldr r3, [r3]
  8488. 4883 0024 0C33 adds r3, r3, #12
  8489. 4884 0026 7A6E ldr r2, [r7, #100]
  8490. 4885 0028 7A65 str r2, [r7, #84]
  8491. 4886 002a 3B65 str r3, [r7, #80]
  8492. 4887 .LBB482:
  8493. 4888 .LBB483:
  8494. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8495. 4889 .loc 2 1123 4 discriminator 1
  8496. 4890 002c 396D ldr r1, [r7, #80]
  8497. 4891 002e 7A6D ldr r2, [r7, #84]
  8498. 4892 .syntax unified
  8499. 4893 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8500. 4894 0030 41E80023 strex r3, r2, [r1]
  8501. 4895 @ 0 "" 2
  8502. 4896 .thumb
  8503. 4897 .syntax unified
  8504. 4898 0034 FB64 str r3, [r7, #76]
  8505. 4899 .loc 2 1124 10 discriminator 1
  8506. 4900 0036 FB6C ldr r3, [r7, #76]
  8507. 4901 .LBE483:
  8508. 4902 .LBE482:
  8509. 4903 .loc 1 2285 3 discriminator 1
  8510. 4904 0038 002B cmp r3, #0
  8511. 4905 003a E5D1 bne .L258
  8512. 4906 .L261:
  8513. 4907 .LBE479:
  8514. 4908 .LBB484:
  8515. 2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  8516. 4909 .loc 1 2286 3 discriminator 1
  8517. 4910 003c 7B68 ldr r3, [r7, #4]
  8518. 4911 003e 1B68 ldr r3, [r3]
  8519. 4912 0040 1433 adds r3, r3, #20
  8520. 4913 0042 7B63 str r3, [r7, #52]
  8521. 4914 .LBB485:
  8522. 4915 .LBB486:
  8523. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8524. 4916 .loc 2 1072 4 discriminator 1
  8525. 4917 0044 7B6B ldr r3, [r7, #52]
  8526. 4918 .syntax unified
  8527. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 148
  8528. 4919 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8529. 4920 0046 53E8003F ldrex r3, [r3]
  8530. 4921 @ 0 "" 2
  8531. 4922 .thumb
  8532. 4923 .syntax unified
  8533. 4924 004a 3B63 str r3, [r7, #48]
  8534. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8535. 4925 .loc 2 1073 10 discriminator 1
  8536. 4926 004c 3B6B ldr r3, [r7, #48]
  8537. 4927 .LBE486:
  8538. 4928 .LBE485:
  8539. 4929 .loc 1 2286 3 discriminator 1
  8540. 4930 004e 23F00103 bic r3, r3, #1
  8541. 4931 0052 3B66 str r3, [r7, #96]
  8542. 4932 0054 7B68 ldr r3, [r7, #4]
  8543. 4933 0056 1B68 ldr r3, [r3]
  8544. 4934 0058 1433 adds r3, r3, #20
  8545. 4935 005a 3A6E ldr r2, [r7, #96]
  8546. 4936 005c 3A64 str r2, [r7, #64]
  8547. 4937 005e FB63 str r3, [r7, #60]
  8548. 4938 .LBB487:
  8549. 4939 .LBB488:
  8550. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8551. 4940 .loc 2 1123 4 discriminator 1
  8552. 4941 0060 F96B ldr r1, [r7, #60]
  8553. 4942 0062 3A6C ldr r2, [r7, #64]
  8554. 4943 .syntax unified
  8555. 4944 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8556. 4945 0064 41E80023 strex r3, r2, [r1]
  8557. 4946 @ 0 "" 2
  8558. 4947 .thumb
  8559. 4948 .syntax unified
  8560. 4949 0068 BB63 str r3, [r7, #56]
  8561. 4950 .loc 2 1124 10 discriminator 1
  8562. 4951 006a BB6B ldr r3, [r7, #56]
  8563. 4952 .LBE488:
  8564. 4953 .LBE487:
  8565. 4954 .loc 1 2286 3 discriminator 1
  8566. 4955 006c 002B cmp r3, #0
  8567. 4956 006e E5D1 bne .L261
  8568. 4957 .LBE484:
  8569. 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8570. 2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
  8571. 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  8572. 4958 .loc 1 2289 12
  8573. 4959 0070 7B68 ldr r3, [r7, #4]
  8574. 4960 0072 1B6B ldr r3, [r3, #48]
  8575. 4961 .loc 1 2289 6
  8576. 4962 0074 012B cmp r3, #1
  8577. 4963 0076 19D1 bne .L262
  8578. 4964 .L265:
  8579. 4965 .LBB489:
  8580. 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8581. 2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
  8582. 4966 .loc 1 2291 5 discriminator 1
  8583. 4967 0078 7B68 ldr r3, [r7, #4]
  8584. 4968 007a 1B68 ldr r3, [r3]
  8585. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 149
  8586. 4969 007c 0C33 adds r3, r3, #12
  8587. 4970 007e 3B62 str r3, [r7, #32]
  8588. 4971 .LBB490:
  8589. 4972 .LBB491:
  8590. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8591. 4973 .loc 2 1072 4 discriminator 1
  8592. 4974 0080 3B6A ldr r3, [r7, #32]
  8593. 4975 .syntax unified
  8594. 4976 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8595. 4977 0082 53E8003F ldrex r3, [r3]
  8596. 4978 @ 0 "" 2
  8597. 4979 .thumb
  8598. 4980 .syntax unified
  8599. 4981 0086 FB61 str r3, [r7, #28]
  8600. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8601. 4982 .loc 2 1073 10 discriminator 1
  8602. 4983 0088 FB69 ldr r3, [r7, #28]
  8603. 4984 .LBE491:
  8604. 4985 .LBE490:
  8605. 4986 .loc 1 2291 5 discriminator 1
  8606. 4987 008a 23F01003 bic r3, r3, #16
  8607. 4988 008e FB65 str r3, [r7, #92]
  8608. 4989 0090 7B68 ldr r3, [r7, #4]
  8609. 4990 0092 1B68 ldr r3, [r3]
  8610. 4991 0094 0C33 adds r3, r3, #12
  8611. 4992 0096 FA6D ldr r2, [r7, #92]
  8612. 4993 0098 FA62 str r2, [r7, #44]
  8613. 4994 009a BB62 str r3, [r7, #40]
  8614. 4995 .LBB492:
  8615. 4996 .LBB493:
  8616. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8617. 4997 .loc 2 1123 4 discriminator 1
  8618. 4998 009c B96A ldr r1, [r7, #40]
  8619. 4999 009e FA6A ldr r2, [r7, #44]
  8620. 5000 .syntax unified
  8621. 5001 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8622. 5002 00a0 41E80023 strex r3, r2, [r1]
  8623. 5003 @ 0 "" 2
  8624. 5004 .thumb
  8625. 5005 .syntax unified
  8626. 5006 00a4 7B62 str r3, [r7, #36]
  8627. 5007 .loc 2 1124 10 discriminator 1
  8628. 5008 00a6 7B6A ldr r3, [r7, #36]
  8629. 5009 .LBE493:
  8630. 5010 .LBE492:
  8631. 5011 .loc 1 2291 5 discriminator 1
  8632. 5012 00a8 002B cmp r3, #0
  8633. 5013 00aa E5D1 bne .L265
  8634. 5014 .L262:
  8635. 5015 .LBE489:
  8636. 2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8637. 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8638. 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  8639. 2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  8640. 5016 .loc 1 2295 7
  8641. 5017 00ac 7B68 ldr r3, [r7, #4]
  8642. 5018 00ae 1B68 ldr r3, [r3]
  8643. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 150
  8644. 5019 00b0 5B69 ldr r3, [r3, #20]
  8645. 5020 00b2 03F04003 and r3, r3, #64
  8646. 5021 .loc 1 2295 6
  8647. 5022 00b6 402B cmp r3, #64
  8648. 5023 00b8 3FD1 bne .L266
  8649. 5024 .L269:
  8650. 5025 .LBB494:
  8651. 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8652. 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  8653. 5026 .loc 1 2297 5 discriminator 1
  8654. 5027 00ba 7B68 ldr r3, [r7, #4]
  8655. 5028 00bc 1B68 ldr r3, [r3]
  8656. 5029 00be 1433 adds r3, r3, #20
  8657. 5030 00c0 FB60 str r3, [r7, #12]
  8658. 5031 .LBB495:
  8659. 5032 .LBB496:
  8660. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8661. 5033 .loc 2 1072 4 discriminator 1
  8662. 5034 00c2 FB68 ldr r3, [r7, #12]
  8663. 5035 .syntax unified
  8664. 5036 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8665. 5037 00c4 53E8003F ldrex r3, [r3]
  8666. 5038 @ 0 "" 2
  8667. 5039 .thumb
  8668. 5040 .syntax unified
  8669. 5041 00c8 BB60 str r3, [r7, #8]
  8670. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  8671. 5042 .loc 2 1073 10 discriminator 1
  8672. 5043 00ca BB68 ldr r3, [r7, #8]
  8673. 5044 .LBE496:
  8674. 5045 .LBE495:
  8675. 5046 .loc 1 2297 5 discriminator 1
  8676. 5047 00cc 23F04003 bic r3, r3, #64
  8677. 5048 00d0 BB65 str r3, [r7, #88]
  8678. 5049 00d2 7B68 ldr r3, [r7, #4]
  8679. 5050 00d4 1B68 ldr r3, [r3]
  8680. 5051 00d6 1433 adds r3, r3, #20
  8681. 5052 00d8 BA6D ldr r2, [r7, #88]
  8682. 5053 00da BA61 str r2, [r7, #24]
  8683. 5054 00dc 7B61 str r3, [r7, #20]
  8684. 5055 .LBB497:
  8685. 5056 .LBB498:
  8686. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  8687. 5057 .loc 2 1123 4 discriminator 1
  8688. 5058 00de 7969 ldr r1, [r7, #20]
  8689. 5059 00e0 BA69 ldr r2, [r7, #24]
  8690. 5060 .syntax unified
  8691. 5061 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  8692. 5062 00e2 41E80023 strex r3, r2, [r1]
  8693. 5063 @ 0 "" 2
  8694. 5064 .thumb
  8695. 5065 .syntax unified
  8696. 5066 00e6 3B61 str r3, [r7, #16]
  8697. 5067 .loc 2 1124 10 discriminator 1
  8698. 5068 00e8 3B69 ldr r3, [r7, #16]
  8699. 5069 .LBE498:
  8700. 5070 .LBE497:
  8701. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 151
  8702. 5071 .loc 1 2297 5 discriminator 1
  8703. 5072 00ea 002B cmp r3, #0
  8704. 5073 00ec E5D1 bne .L269
  8705. 5074 .LBE494:
  8706. 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8707. 2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
  8708. 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  8709. 5075 .loc 1 2300 14
  8710. 5076 00ee 7B68 ldr r3, [r7, #4]
  8711. 5077 00f0 9B6B ldr r3, [r3, #56]
  8712. 5078 .loc 1 2300 8
  8713. 5079 00f2 002B cmp r3, #0
  8714. 5080 00f4 13D0 beq .L270
  8715. 2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8716. 2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
  8717. 2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
  8718. 2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
  8719. 5081 .loc 1 2304 12
  8720. 5082 00f6 7B68 ldr r3, [r7, #4]
  8721. 5083 00f8 9B6B ldr r3, [r3, #56]
  8722. 5084 .loc 1 2304 40
  8723. 5085 00fa 194A ldr r2, .L273
  8724. 5086 00fc 1A65 str r2, [r3, #80]
  8725. 2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8726. 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
  8727. 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
  8728. 5087 .loc 1 2307 11
  8729. 5088 00fe 7B68 ldr r3, [r7, #4]
  8730. 5089 0100 9B6B ldr r3, [r3, #56]
  8731. 5090 0102 1846 mov r0, r3
  8732. 5091 0104 FFF7FEFF bl HAL_DMA_Abort_IT
  8733. 5092 0108 0346 mov r3, r0
  8734. 5093 .loc 1 2307 10
  8735. 5094 010a 002B cmp r3, #0
  8736. 5095 010c 22D0 beq .L271
  8737. 2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8738. 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
  8739. 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
  8740. 5096 .loc 1 2310 14
  8741. 5097 010e 7B68 ldr r3, [r7, #4]
  8742. 5098 0110 9B6B ldr r3, [r3, #56]
  8743. 5099 .loc 1 2310 22
  8744. 5100 0112 1B6D ldr r3, [r3, #80]
  8745. 5101 .loc 1 2310 47
  8746. 5102 0114 7A68 ldr r2, [r7, #4]
  8747. 5103 0116 926B ldr r2, [r2, #56]
  8748. 5104 .loc 1 2310 9
  8749. 5105 0118 1046 mov r0, r2
  8750. 5106 011a 9847 blx r3
  8751. 5107 .LVL1:
  8752. 5108 011c 1AE0 b .L271
  8753. 5109 .L270:
  8754. 2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8755. 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8756. 2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  8757. 2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8758. 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
  8759. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 152
  8760. 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  8761. 5110 .loc 1 2316 26
  8762. 5111 011e 7B68 ldr r3, [r7, #4]
  8763. 5112 0120 0022 movs r2, #0
  8764. 5113 0122 DA85 strh r2, [r3, #46] @ movhi
  8765. 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8766. 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  8767. 2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  8768. 5114 .loc 1 2319 22
  8769. 5115 0124 7B68 ldr r3, [r7, #4]
  8770. 5116 0126 2022 movs r2, #32
  8771. 5117 0128 83F83E20 strb r2, [r3, #62]
  8772. 2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  8773. 5118 .loc 1 2320 28
  8774. 5119 012c 7B68 ldr r3, [r7, #4]
  8775. 5120 012e 0022 movs r2, #0
  8776. 5121 0130 1A63 str r2, [r3, #48]
  8777. 2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8778. 2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  8779. 2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8780. 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
  8781. 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
  8782. 2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  8783. 2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
  8784. 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
  8785. 5122 .loc 1 2328 7
  8786. 5123 0132 7868 ldr r0, [r7, #4]
  8787. 5124 0134 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
  8788. 5125 0138 0CE0 b .L271
  8789. 5126 .L266:
  8790. 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8791. 2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8792. 2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8793. 2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  8794. 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8795. 2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
  8796. 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  8797. 5127 .loc 1 2335 24
  8798. 5128 013a 7B68 ldr r3, [r7, #4]
  8799. 5129 013c 0022 movs r2, #0
  8800. 5130 013e DA85 strh r2, [r3, #46] @ movhi
  8801. 2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8802. 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  8803. 2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  8804. 5131 .loc 1 2338 20
  8805. 5132 0140 7B68 ldr r3, [r7, #4]
  8806. 5133 0142 2022 movs r2, #32
  8807. 5134 0144 83F83E20 strb r2, [r3, #62]
  8808. 2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  8809. 5135 .loc 1 2339 26
  8810. 5136 0148 7B68 ldr r3, [r7, #4]
  8811. 5137 014a 0022 movs r2, #0
  8812. 5138 014c 1A63 str r2, [r3, #48]
  8813. 2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8814. 2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
  8815. 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  8816. 2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
  8817. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 153
  8818. 2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
  8819. 2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  8820. 2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
  8821. 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
  8822. 5139 .loc 1 2347 5
  8823. 5140 014e 7868 ldr r0, [r7, #4]
  8824. 5141 0150 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
  8825. 5142 .L271:
  8826. 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  8827. 2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8828. 2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8829. 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  8830. 5143 .loc 1 2351 10
  8831. 5144 0154 0023 movs r3, #0
  8832. 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8833. 5145 .loc 1 2352 1
  8834. 5146 0156 1846 mov r0, r3
  8835. 5147 0158 6837 adds r7, r7, #104
  8836. 5148 .LCFI128:
  8837. 5149 .cfi_def_cfa_offset 8
  8838. 5150 015a BD46 mov sp, r7
  8839. 5151 .LCFI129:
  8840. 5152 .cfi_def_cfa_register 13
  8841. 5153 @ sp needed
  8842. 5154 015c 80BD pop {r7, pc}
  8843. 5155 .L274:
  8844. 5156 015e 00BF .align 2
  8845. 5157 .L273:
  8846. 5158 0160 00000000 .word UART_DMARxOnlyAbortCallback
  8847. 5159 .cfi_endproc
  8848. 5160 .LFE259:
  8849. 5162 .section .text.HAL_UART_IRQHandler,"ax",%progbits
  8850. 5163 .align 1
  8851. 5164 .global HAL_UART_IRQHandler
  8852. 5165 .syntax unified
  8853. 5166 .thumb
  8854. 5167 .thumb_func
  8855. 5169 HAL_UART_IRQHandler:
  8856. 5170 .LFB260:
  8857. 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8858. 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  8859. 2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART interrupt request.
  8860. 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  8861. 2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  8862. 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  8863. 2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  8864. 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
  8865. 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8866. 5171 .loc 1 2361 1
  8867. 5172 .cfi_startproc
  8868. 5173 @ args = 0, pretend = 0, frame = 232
  8869. 5174 @ frame_needed = 1, uses_anonymous_args = 0
  8870. 5175 0000 80B5 push {r7, lr}
  8871. 5176 .LCFI130:
  8872. 5177 .cfi_def_cfa_offset 8
  8873. 5178 .cfi_offset 7, -8
  8874. 5179 .cfi_offset 14, -4
  8875. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 154
  8876. 5180 0002 BAB0 sub sp, sp, #232
  8877. 5181 .LCFI131:
  8878. 5182 .cfi_def_cfa_offset 240
  8879. 5183 0004 00AF add r7, sp, #0
  8880. 5184 .LCFI132:
  8881. 5185 .cfi_def_cfa_register 7
  8882. 5186 0006 7860 str r0, [r7, #4]
  8883. 2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
  8884. 5187 .loc 1 2362 25
  8885. 5188 0008 7B68 ldr r3, [r7, #4]
  8886. 5189 000a 1B68 ldr r3, [r3]
  8887. 5190 .loc 1 2362 12
  8888. 5191 000c 1B68 ldr r3, [r3]
  8889. 5192 000e C7F8E430 str r3, [r7, #228]
  8890. 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
  8891. 5193 .loc 1 2363 25
  8892. 5194 0012 7B68 ldr r3, [r7, #4]
  8893. 5195 0014 1B68 ldr r3, [r3]
  8894. 5196 .loc 1 2363 12
  8895. 5197 0016 DB68 ldr r3, [r3, #12]
  8896. 5198 0018 C7F8E030 str r3, [r7, #224]
  8897. 2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
  8898. 5199 .loc 1 2364 25
  8899. 5200 001c 7B68 ldr r3, [r7, #4]
  8900. 5201 001e 1B68 ldr r3, [r3]
  8901. 5202 .loc 1 2364 12
  8902. 5203 0020 5B69 ldr r3, [r3, #20]
  8903. 5204 0022 C7F8DC30 str r3, [r7, #220]
  8904. 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
  8905. 5205 .loc 1 2365 12
  8906. 5206 0026 0023 movs r3, #0
  8907. 5207 0028 C7F8D830 str r3, [r7, #216]
  8908. 2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
  8909. 5208 .loc 1 2366 12
  8910. 5209 002c 0023 movs r3, #0
  8911. 5210 002e C7F8D430 str r3, [r7, #212]
  8912. 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8913. 2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If no error occurs */
  8914. 2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
  8915. 5211 .loc 1 2369 14
  8916. 5212 0032 D7F8E430 ldr r3, [r7, #228]
  8917. 5213 0036 03F00F03 and r3, r3, #15
  8918. 5214 003a C7F8D830 str r3, [r7, #216]
  8919. 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET)
  8920. 5215 .loc 1 2370 6
  8921. 5216 003e D7F8D830 ldr r3, [r7, #216]
  8922. 5217 0042 002B cmp r3, #0
  8923. 5218 0044 0FD1 bne .L276
  8924. 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8925. 2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -------------------------------------------------*/
  8926. 2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
  8927. 5219 .loc 1 2373 20
  8928. 5220 0046 D7F8E430 ldr r3, [r7, #228]
  8929. 5221 004a 03F02003 and r3, r3, #32
  8930. 5222 .loc 1 2373 8
  8931. 5223 004e 002B cmp r3, #0
  8932. 5224 0050 09D0 beq .L276
  8933. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 155
  8934. 5225 .loc 1 2373 59 discriminator 1
  8935. 5226 0052 D7F8E030 ldr r3, [r7, #224]
  8936. 5227 0056 03F02003 and r3, r3, #32
  8937. 5228 .loc 1 2373 47 discriminator 1
  8938. 5229 005a 002B cmp r3, #0
  8939. 5230 005c 03D0 beq .L276
  8940. 2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8941. 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
  8942. 5231 .loc 1 2375 7
  8943. 5232 005e 7868 ldr r0, [r7, #4]
  8944. 5233 0060 FFF7FEFF bl UART_Receive_IT
  8945. 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  8946. 5234 .loc 1 2376 7
  8947. 5235 0064 56E2 b .L275
  8948. 5236 .L276:
  8949. 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8950. 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8951. 2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8952. 2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If some errors occur */
  8953. 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET)
  8954. 5237 .loc 1 2381 6
  8955. 5238 0066 D7F8D830 ldr r3, [r7, #216]
  8956. 5239 006a 002B cmp r3, #0
  8957. 5240 006c 00F0DE80 beq .L278
  8958. 5241 .loc 1 2381 42 discriminator 1
  8959. 5242 0070 D7F8DC30 ldr r3, [r7, #220]
  8960. 5243 0074 03F00103 and r3, r3, #1
  8961. 5244 .loc 1 2381 29 discriminator 1
  8962. 5245 0078 002B cmp r3, #0
  8963. 5246 007a 06D1 bne .L279
  8964. 2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
  8965. 5247 .loc 1 2382 45
  8966. 5248 007c D7F8E030 ldr r3, [r7, #224]
  8967. 5249 0080 03F49073 and r3, r3, #288
  8968. 5250 .loc 1 2382 33
  8969. 5251 0084 002B cmp r3, #0
  8970. 5252 0086 00F0D180 beq .L278
  8971. 5253 .L279:
  8972. 2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8973. 2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART parity error interrupt occurred ----------------------------------*/
  8974. 2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
  8975. 5254 .loc 1 2385 20
  8976. 5255 008a D7F8E430 ldr r3, [r7, #228]
  8977. 5256 008e 03F00103 and r3, r3, #1
  8978. 5257 .loc 1 2385 8
  8979. 5258 0092 002B cmp r3, #0
  8980. 5259 0094 0BD0 beq .L280
  8981. 5260 .loc 1 2385 57 discriminator 1
  8982. 5261 0096 D7F8E030 ldr r3, [r7, #224]
  8983. 5262 009a 03F48073 and r3, r3, #256
  8984. 5263 .loc 1 2385 45 discriminator 1
  8985. 5264 009e 002B cmp r3, #0
  8986. 5265 00a0 05D0 beq .L280
  8987. 2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  8988. 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
  8989. 5266 .loc 1 2387 24
  8990. 5267 00a2 7B68 ldr r3, [r7, #4]
  8991. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 156
  8992. 5268 00a4 1B6C ldr r3, [r3, #64]
  8993. 5269 00a6 43F00102 orr r2, r3, #1
  8994. 5270 00aa 7B68 ldr r3, [r7, #4]
  8995. 5271 00ac 1A64 str r2, [r3, #64]
  8996. 5272 .L280:
  8997. 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  8998. 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  8999. 2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART noise error interrupt occurred -----------------------------------*/
  9000. 2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
  9001. 5273 .loc 1 2391 20
  9002. 5274 00ae D7F8E430 ldr r3, [r7, #228]
  9003. 5275 00b2 03F00403 and r3, r3, #4
  9004. 5276 .loc 1 2391 8
  9005. 5277 00b6 002B cmp r3, #0
  9006. 5278 00b8 0BD0 beq .L281
  9007. 5279 .loc 1 2391 57 discriminator 1
  9008. 5280 00ba D7F8DC30 ldr r3, [r7, #220]
  9009. 5281 00be 03F00103 and r3, r3, #1
  9010. 5282 .loc 1 2391 45 discriminator 1
  9011. 5283 00c2 002B cmp r3, #0
  9012. 5284 00c4 05D0 beq .L281
  9013. 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9014. 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
  9015. 5285 .loc 1 2393 24
  9016. 5286 00c6 7B68 ldr r3, [r7, #4]
  9017. 5287 00c8 1B6C ldr r3, [r3, #64]
  9018. 5288 00ca 43F00202 orr r2, r3, #2
  9019. 5289 00ce 7B68 ldr r3, [r7, #4]
  9020. 5290 00d0 1A64 str r2, [r3, #64]
  9021. 5291 .L281:
  9022. 2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9023. 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9024. 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART frame error interrupt occurred -----------------------------------*/
  9025. 2397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
  9026. 5292 .loc 1 2397 20
  9027. 5293 00d2 D7F8E430 ldr r3, [r7, #228]
  9028. 5294 00d6 03F00203 and r3, r3, #2
  9029. 5295 .loc 1 2397 8
  9030. 5296 00da 002B cmp r3, #0
  9031. 5297 00dc 0BD0 beq .L282
  9032. 5298 .loc 1 2397 57 discriminator 1
  9033. 5299 00de D7F8DC30 ldr r3, [r7, #220]
  9034. 5300 00e2 03F00103 and r3, r3, #1
  9035. 5301 .loc 1 2397 45 discriminator 1
  9036. 5302 00e6 002B cmp r3, #0
  9037. 5303 00e8 05D0 beq .L282
  9038. 2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9039. 2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
  9040. 5304 .loc 1 2399 24
  9041. 5305 00ea 7B68 ldr r3, [r7, #4]
  9042. 5306 00ec 1B6C ldr r3, [r3, #64]
  9043. 5307 00ee 43F00402 orr r2, r3, #4
  9044. 5308 00f2 7B68 ldr r3, [r7, #4]
  9045. 5309 00f4 1A64 str r2, [r3, #64]
  9046. 5310 .L282:
  9047. 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9048. 2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9049. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 157
  9050. 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Over-Run interrupt occurred --------------------------------------*/
  9051. 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET)
  9052. 5311 .loc 1 2403 20
  9053. 5312 00f6 D7F8E430 ldr r3, [r7, #228]
  9054. 5313 00fa 03F00803 and r3, r3, #8
  9055. 5314 .loc 1 2403 8
  9056. 5315 00fe 002B cmp r3, #0
  9057. 5316 0100 11D0 beq .L283
  9058. 5317 .loc 1 2403 59 discriminator 1
  9059. 5318 0102 D7F8E030 ldr r3, [r7, #224]
  9060. 5319 0106 03F02003 and r3, r3, #32
  9061. 5320 .loc 1 2403 46 discriminator 1
  9062. 5321 010a 002B cmp r3, #0
  9063. 5322 010c 05D1 bne .L284
  9064. 2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
  9065. 5323 .loc 1 2404 62
  9066. 5324 010e D7F8DC30 ldr r3, [r7, #220]
  9067. 5325 0112 03F00103 and r3, r3, #1
  9068. 5326 .loc 1 2404 50
  9069. 5327 0116 002B cmp r3, #0
  9070. 5328 0118 05D0 beq .L283
  9071. 5329 .L284:
  9072. 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9073. 2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
  9074. 5330 .loc 1 2406 24
  9075. 5331 011a 7B68 ldr r3, [r7, #4]
  9076. 5332 011c 1B6C ldr r3, [r3, #64]
  9077. 5333 011e 43F00802 orr r2, r3, #8
  9078. 5334 0122 7B68 ldr r3, [r7, #4]
  9079. 5335 0124 1A64 str r2, [r3, #64]
  9080. 5336 .L283:
  9081. 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9082. 2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9083. 2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call UART Error Call back function if need be --------------------------*/
  9084. 2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
  9085. 5337 .loc 1 2410 14
  9086. 5338 0126 7B68 ldr r3, [r7, #4]
  9087. 5339 0128 1B6C ldr r3, [r3, #64]
  9088. 5340 .loc 1 2410 8
  9089. 5341 012a 002B cmp r3, #0
  9090. 5342 012c 00F0ED81 beq .L322
  9091. 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9092. 2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -----------------------------------------------*/
  9093. 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
  9094. 5343 .loc 1 2413 22
  9095. 5344 0130 D7F8E430 ldr r3, [r7, #228]
  9096. 5345 0134 03F02003 and r3, r3, #32
  9097. 5346 .loc 1 2413 10
  9098. 5347 0138 002B cmp r3, #0
  9099. 5348 013a 08D0 beq .L286
  9100. 5349 .loc 1 2413 61 discriminator 1
  9101. 5350 013c D7F8E030 ldr r3, [r7, #224]
  9102. 5351 0140 03F02003 and r3, r3, #32
  9103. 5352 .loc 1 2413 49 discriminator 1
  9104. 5353 0144 002B cmp r3, #0
  9105. 5354 0146 02D0 beq .L286
  9106. 2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9107. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 158
  9108. 2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
  9109. 5355 .loc 1 2415 9
  9110. 5356 0148 7868 ldr r0, [r7, #4]
  9111. 5357 014a FFF7FEFF bl UART_Receive_IT
  9112. 5358 .L286:
  9113. 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9114. 2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9115. 2418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Overrun error occurs, or if any error occurs in DMA mode reception,
  9116. 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** consider error as blocking */
  9117. 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
  9118. 5359 .loc 1 2420 20
  9119. 5360 014e 7B68 ldr r3, [r7, #4]
  9120. 5361 0150 1B68 ldr r3, [r3]
  9121. 5362 0152 5B69 ldr r3, [r3, #20]
  9122. 5363 0154 03F04003 and r3, r3, #64
  9123. 5364 0158 402B cmp r3, #64
  9124. 5365 015a 0CBF ite eq
  9125. 5366 015c 0123 moveq r3, #1
  9126. 5367 015e 0023 movne r3, #0
  9127. 5368 0160 DBB2 uxtb r3, r3
  9128. 5369 .loc 1 2420 18
  9129. 5370 0162 C7F8D430 str r3, [r7, #212]
  9130. 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
  9131. 5371 .loc 1 2421 18
  9132. 5372 0166 7B68 ldr r3, [r7, #4]
  9133. 5373 0168 1B6C ldr r3, [r3, #64]
  9134. 5374 .loc 1 2421 30
  9135. 5375 016a 03F00803 and r3, r3, #8
  9136. 5376 .loc 1 2421 10
  9137. 5377 016e 002B cmp r3, #0
  9138. 5378 0170 03D1 bne .L287
  9139. 5379 .loc 1 2421 62 discriminator 1
  9140. 5380 0172 D7F8D430 ldr r3, [r7, #212]
  9141. 5381 0176 002B cmp r3, #0
  9142. 5382 0178 4FD0 beq .L288
  9143. 5383 .L287:
  9144. 2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9145. 2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Blocking error : transfer is aborted
  9146. 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
  9147. 2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
  9148. 2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
  9149. 5384 .loc 1 2426 9
  9150. 5385 017a 7868 ldr r0, [r7, #4]
  9151. 5386 017c FFF7FEFF bl UART_EndRxTransfer
  9152. 2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9153. 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
  9154. 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  9155. 5387 .loc 1 2429 13
  9156. 5388 0180 7B68 ldr r3, [r7, #4]
  9157. 5389 0182 1B68 ldr r3, [r3]
  9158. 5390 0184 5B69 ldr r3, [r3, #20]
  9159. 5391 0186 03F04003 and r3, r3, #64
  9160. 5392 .loc 1 2429 12
  9161. 5393 018a 402B cmp r3, #64
  9162. 5394 018c 41D1 bne .L289
  9163. 5395 .L292:
  9164. 5396 .LBB499:
  9165. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 159
  9166. 2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9167. 2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  9168. 5397 .loc 1 2431 11 discriminator 1
  9169. 5398 018e 7B68 ldr r3, [r7, #4]
  9170. 5399 0190 1B68 ldr r3, [r3]
  9171. 5400 0192 1433 adds r3, r3, #20
  9172. 5401 0194 C7F89C30 str r3, [r7, #156]
  9173. 5402 .LBB500:
  9174. 5403 .LBB501:
  9175. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9176. 5404 .loc 2 1072 4 discriminator 1
  9177. 5405 0198 D7F89C30 ldr r3, [r7, #156]
  9178. 5406 .syntax unified
  9179. 5407 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9180. 5408 019c 53E8003F ldrex r3, [r3]
  9181. 5409 @ 0 "" 2
  9182. 5410 .thumb
  9183. 5411 .syntax unified
  9184. 5412 01a0 C7F89830 str r3, [r7, #152]
  9185. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9186. 5413 .loc 2 1073 10 discriminator 1
  9187. 5414 01a4 D7F89830 ldr r3, [r7, #152]
  9188. 5415 .LBE501:
  9189. 5416 .LBE500:
  9190. 5417 .loc 1 2431 11 discriminator 1
  9191. 5418 01a8 23F04003 bic r3, r3, #64
  9192. 5419 01ac C7F8D030 str r3, [r7, #208]
  9193. 5420 01b0 7B68 ldr r3, [r7, #4]
  9194. 5421 01b2 1B68 ldr r3, [r3]
  9195. 5422 01b4 1433 adds r3, r3, #20
  9196. 5423 01b6 D7F8D020 ldr r2, [r7, #208]
  9197. 5424 01ba C7F8A820 str r2, [r7, #168]
  9198. 5425 01be C7F8A430 str r3, [r7, #164]
  9199. 5426 .LBB502:
  9200. 5427 .LBB503:
  9201. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9202. 5428 .loc 2 1123 4 discriminator 1
  9203. 5429 01c2 D7F8A410 ldr r1, [r7, #164]
  9204. 5430 01c6 D7F8A820 ldr r2, [r7, #168]
  9205. 5431 .syntax unified
  9206. 5432 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9207. 5433 01ca 41E80023 strex r3, r2, [r1]
  9208. 5434 @ 0 "" 2
  9209. 5435 .thumb
  9210. 5436 .syntax unified
  9211. 5437 01ce C7F8A030 str r3, [r7, #160]
  9212. 5438 .loc 2 1124 10 discriminator 1
  9213. 5439 01d2 D7F8A030 ldr r3, [r7, #160]
  9214. 5440 .LBE503:
  9215. 5441 .LBE502:
  9216. 5442 .loc 1 2431 11 discriminator 1
  9217. 5443 01d6 002B cmp r3, #0
  9218. 5444 01d8 D9D1 bne .L292
  9219. 5445 .LBE499:
  9220. 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9221. 2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
  9222. 2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  9223. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 160
  9224. 5446 .loc 1 2434 20
  9225. 5447 01da 7B68 ldr r3, [r7, #4]
  9226. 5448 01dc 9B6B ldr r3, [r3, #56]
  9227. 5449 .loc 1 2434 14
  9228. 5450 01de 002B cmp r3, #0
  9229. 5451 01e0 13D0 beq .L293
  9230. 2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9231. 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
  9232. 2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
  9233. 2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
  9234. 5452 .loc 1 2438 18
  9235. 5453 01e2 7B68 ldr r3, [r7, #4]
  9236. 5454 01e4 9B6B ldr r3, [r3, #56]
  9237. 5455 .loc 1 2438 46
  9238. 5456 01e6 7D4A ldr r2, .L326
  9239. 5457 01e8 1A65 str r2, [r3, #80]
  9240. 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
  9241. 5458 .loc 1 2439 17
  9242. 5459 01ea 7B68 ldr r3, [r7, #4]
  9243. 5460 01ec 9B6B ldr r3, [r3, #56]
  9244. 5461 01ee 1846 mov r0, r3
  9245. 5462 01f0 FFF7FEFF bl HAL_DMA_Abort_IT
  9246. 5463 01f4 0346 mov r3, r0
  9247. 5464 .loc 1 2439 16
  9248. 5465 01f6 002B cmp r3, #0
  9249. 5466 01f8 16D0 beq .L323
  9250. 2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9251. 2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly XferAbortCallback function in case of error */
  9252. 2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
  9253. 5467 .loc 1 2442 20
  9254. 5468 01fa 7B68 ldr r3, [r7, #4]
  9255. 5469 01fc 9B6B ldr r3, [r3, #56]
  9256. 5470 .loc 1 2442 28
  9257. 5471 01fe 1B6D ldr r3, [r3, #80]
  9258. 5472 .loc 1 2442 53
  9259. 5473 0200 7A68 ldr r2, [r7, #4]
  9260. 5474 0202 926B ldr r2, [r2, #56]
  9261. 5475 .loc 1 2442 15
  9262. 5476 0204 1046 mov r0, r2
  9263. 5477 0206 9847 blx r3
  9264. 5478 .LVL2:
  9265. 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9266. 5479 .loc 1 2429 12
  9267. 5480 0208 0EE0 b .L323
  9268. 5481 .L293:
  9269. 2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9270. 2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9271. 2445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  9272. 2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9273. 2447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
  9274. 2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9275. 2449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
  9276. 2450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
  9277. 2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  9278. 2452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
  9279. 2453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  9280. 5482 .loc 1 2453 13
  9281. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 161
  9282. 5483 020a 7868 ldr r0, [r7, #4]
  9283. 5484 020c FFF7FEFF bl HAL_UART_ErrorCallback
  9284. 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9285. 5485 .loc 1 2429 12
  9286. 5486 0210 0AE0 b .L323
  9287. 5487 .L289:
  9288. 2454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  9289. 2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9290. 2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9291. 2457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  9292. 2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9293. 2459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
  9294. 2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9295. 2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
  9296. 2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
  9297. 2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  9298. 2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
  9299. 2465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  9300. 5488 .loc 1 2465 11
  9301. 5489 0212 7868 ldr r0, [r7, #4]
  9302. 5490 0214 FFF7FEFF bl HAL_UART_ErrorCallback
  9303. 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9304. 5491 .loc 1 2429 12
  9305. 5492 0218 06E0 b .L323
  9306. 5493 .L288:
  9307. 2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  9308. 2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9309. 2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9310. 2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  9311. 2470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9312. 2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
  9313. 2472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error is notified to user through user error callback */
  9314. 2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9315. 2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
  9316. 2475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
  9317. 2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  9318. 2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
  9319. 2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  9320. 5494 .loc 1 2478 9
  9321. 5495 021a 7868 ldr r0, [r7, #4]
  9322. 5496 021c FFF7FEFF bl HAL_UART_ErrorCallback
  9323. 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  9324. 2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9325. 2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  9326. 5497 .loc 1 2481 26
  9327. 5498 0220 7B68 ldr r3, [r7, #4]
  9328. 5499 0222 0022 movs r2, #0
  9329. 5500 0224 1A64 str r2, [r3, #64]
  9330. 2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9331. 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9332. 2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  9333. 5501 .loc 1 2484 5
  9334. 5502 0226 70E1 b .L322
  9335. 5503 .L323:
  9336. 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9337. 5504 .loc 1 2429 12
  9338. 5505 0228 00BF nop
  9339. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 162
  9340. 5506 .loc 1 2484 5
  9341. 5507 022a 6EE1 b .L322
  9342. 5508 .L278:
  9343. 2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
  9344. 2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9345. 2487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
  9346. 2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
  9347. 2489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  9348. 5509 .loc 1 2489 13
  9349. 5510 022c 7B68 ldr r3, [r7, #4]
  9350. 5511 022e 1B6B ldr r3, [r3, #48]
  9351. 5512 .loc 1 2489 6
  9352. 5513 0230 012B cmp r3, #1
  9353. 5514 0232 40F04A81 bne .L295
  9354. 2490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
  9355. 5515 .loc 1 2490 21
  9356. 5516 0236 D7F8E430 ldr r3, [r7, #228]
  9357. 5517 023a 03F01003 and r3, r3, #16
  9358. 5518 .loc 1 2490 7
  9359. 5519 023e 002B cmp r3, #0
  9360. 5520 0240 00F04381 beq .L295
  9361. 2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((cr1its & USART_SR_IDLE) != 0U))
  9362. 5521 .loc 1 2491 19
  9363. 5522 0244 D7F8E030 ldr r3, [r7, #224]
  9364. 5523 0248 03F01003 and r3, r3, #16
  9365. 5524 .loc 1 2491 7
  9366. 5525 024c 002B cmp r3, #0
  9367. 5526 024e 00F03C81 beq .L295
  9368. 5527 .LBB504:
  9369. 2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9370. 2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
  9371. 5528 .loc 1 2493 5
  9372. 5529 0252 0023 movs r3, #0
  9373. 5530 0254 BB60 str r3, [r7, #8]
  9374. 5531 0256 7B68 ldr r3, [r7, #4]
  9375. 5532 0258 1B68 ldr r3, [r3]
  9376. 5533 025a 1B68 ldr r3, [r3]
  9377. 5534 025c BB60 str r3, [r7, #8]
  9378. 5535 025e 7B68 ldr r3, [r7, #4]
  9379. 5536 0260 1B68 ldr r3, [r3]
  9380. 5537 0262 5B68 ldr r3, [r3, #4]
  9381. 5538 0264 BB60 str r3, [r7, #8]
  9382. 5539 0266 BB68 ldr r3, [r7, #8]
  9383. 5540 .LBE504:
  9384. 2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9385. 2495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
  9386. 2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
  9387. 5541 .loc 1 2496 9
  9388. 5542 0268 7B68 ldr r3, [r7, #4]
  9389. 5543 026a 1B68 ldr r3, [r3]
  9390. 5544 026c 5B69 ldr r3, [r3, #20]
  9391. 5545 026e 03F04003 and r3, r3, #64
  9392. 5546 .loc 1 2496 8
  9393. 5547 0272 402B cmp r3, #64
  9394. 5548 0274 40F0B480 bne .L296
  9395. 5549 .LBB505:
  9396. 2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9397. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 163
  9398. 2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode enabled */
  9399. 2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
  9400. 2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (DMA cplt callback will be called).
  9401. 2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
  9402. 2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
  9403. 5550 .loc 1 2502 50
  9404. 5551 0278 7B68 ldr r3, [r7, #4]
  9405. 5552 027a 9B6B ldr r3, [r3, #56]
  9406. 5553 027c 1B68 ldr r3, [r3]
  9407. 5554 027e 5B68 ldr r3, [r3, #4]
  9408. 5555 .loc 1 2502 16
  9409. 5556 0280 A7F8BE30 strh r3, [r7, #190] @ movhi
  9410. 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
  9411. 5557 .loc 1 2503 10
  9412. 5558 0284 B7F8BE30 ldrh r3, [r7, #190]
  9413. 5559 0288 002B cmp r3, #0
  9414. 5560 028a 00F04081 beq .L324
  9415. 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
  9416. 5561 .loc 1 2504 43
  9417. 5562 028e 7B68 ldr r3, [r7, #4]
  9418. 5563 0290 9B8D ldrh r3, [r3, #44]
  9419. 5564 .loc 1 2504 11
  9420. 5565 0292 B7F8BE20 ldrh r2, [r7, #190]
  9421. 5566 0296 9A42 cmp r2, r3
  9422. 5567 0298 80F03981 bcs .L324
  9423. 2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9424. 2506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reception is not complete */
  9425. 2507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
  9426. 5568 .loc 1 2507 28
  9427. 5569 029c 7B68 ldr r3, [r7, #4]
  9428. 5570 029e B7F8BE20 ldrh r2, [r7, #190] @ movhi
  9429. 5571 02a2 DA85 strh r2, [r3, #46] @ movhi
  9430. 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9431. 2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
  9432. 2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR)
  9433. 5572 .loc 1 2510 18
  9434. 5573 02a4 7B68 ldr r3, [r7, #4]
  9435. 5574 02a6 9B6B ldr r3, [r3, #56]
  9436. 5575 .loc 1 2510 32
  9437. 5576 02a8 DB69 ldr r3, [r3, #28]
  9438. 5577 .loc 1 2510 12
  9439. 5578 02aa B3F5807F cmp r3, #256
  9440. 5579 02ae 00F08880 beq .L298
  9441. 5580 .L301:
  9442. 5581 .LBB506:
  9443. 2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9444. 2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
  9445. 2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  9446. 5582 .loc 1 2513 11 discriminator 1
  9447. 5583 02b2 7B68 ldr r3, [r7, #4]
  9448. 5584 02b4 1B68 ldr r3, [r3]
  9449. 5585 02b6 0C33 adds r3, r3, #12
  9450. 5586 02b8 C7F88830 str r3, [r7, #136]
  9451. 5587 .LBB507:
  9452. 5588 .LBB508:
  9453. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9454. 5589 .loc 2 1072 4 discriminator 1
  9455. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 164
  9456. 5590 02bc D7F88830 ldr r3, [r7, #136]
  9457. 5591 .syntax unified
  9458. 5592 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9459. 5593 02c0 53E8003F ldrex r3, [r3]
  9460. 5594 @ 0 "" 2
  9461. 5595 .thumb
  9462. 5596 .syntax unified
  9463. 5597 02c4 C7F88430 str r3, [r7, #132]
  9464. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9465. 5598 .loc 2 1073 10 discriminator 1
  9466. 5599 02c8 D7F88430 ldr r3, [r7, #132]
  9467. 5600 .LBE508:
  9468. 5601 .LBE507:
  9469. 5602 .loc 1 2513 11 discriminator 1
  9470. 5603 02cc 23F48073 bic r3, r3, #256
  9471. 5604 02d0 C7F8B830 str r3, [r7, #184]
  9472. 5605 02d4 7B68 ldr r3, [r7, #4]
  9473. 5606 02d6 1B68 ldr r3, [r3]
  9474. 5607 02d8 0C33 adds r3, r3, #12
  9475. 5608 02da D7F8B820 ldr r2, [r7, #184]
  9476. 5609 02de C7F89420 str r2, [r7, #148]
  9477. 5610 02e2 C7F89030 str r3, [r7, #144]
  9478. 5611 .LBB509:
  9479. 5612 .LBB510:
  9480. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9481. 5613 .loc 2 1123 4 discriminator 1
  9482. 5614 02e6 D7F89010 ldr r1, [r7, #144]
  9483. 5615 02ea D7F89420 ldr r2, [r7, #148]
  9484. 5616 .syntax unified
  9485. 5617 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9486. 5618 02ee 41E80023 strex r3, r2, [r1]
  9487. 5619 @ 0 "" 2
  9488. 5620 .thumb
  9489. 5621 .syntax unified
  9490. 5622 02f2 C7F88C30 str r3, [r7, #140]
  9491. 5623 .loc 2 1124 10 discriminator 1
  9492. 5624 02f6 D7F88C30 ldr r3, [r7, #140]
  9493. 5625 .LBE510:
  9494. 5626 .LBE509:
  9495. 5627 .loc 1 2513 11 discriminator 1
  9496. 5628 02fa 002B cmp r3, #0
  9497. 5629 02fc D9D1 bne .L301
  9498. 5630 .L304:
  9499. 5631 .LBE506:
  9500. 5632 .LBB511:
  9501. 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  9502. 5633 .loc 1 2514 11 discriminator 1
  9503. 5634 02fe 7B68 ldr r3, [r7, #4]
  9504. 5635 0300 1B68 ldr r3, [r3]
  9505. 5636 0302 1433 adds r3, r3, #20
  9506. 5637 0304 7B67 str r3, [r7, #116]
  9507. 5638 .LBB512:
  9508. 5639 .LBB513:
  9509. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9510. 5640 .loc 2 1072 4 discriminator 1
  9511. 5641 0306 7B6F ldr r3, [r7, #116]
  9512. 5642 .syntax unified
  9513. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 165
  9514. 5643 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9515. 5644 0308 53E8003F ldrex r3, [r3]
  9516. 5645 @ 0 "" 2
  9517. 5646 .thumb
  9518. 5647 .syntax unified
  9519. 5648 030c 3B67 str r3, [r7, #112]
  9520. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9521. 5649 .loc 2 1073 10 discriminator 1
  9522. 5650 030e 3B6F ldr r3, [r7, #112]
  9523. 5651 .LBE513:
  9524. 5652 .LBE512:
  9525. 5653 .loc 1 2514 11 discriminator 1
  9526. 5654 0310 23F00103 bic r3, r3, #1
  9527. 5655 0314 C7F8B430 str r3, [r7, #180]
  9528. 5656 0318 7B68 ldr r3, [r7, #4]
  9529. 5657 031a 1B68 ldr r3, [r3]
  9530. 5658 031c 1433 adds r3, r3, #20
  9531. 5659 031e D7F8B420 ldr r2, [r7, #180]
  9532. 5660 0322 C7F88020 str r2, [r7, #128]
  9533. 5661 0326 FB67 str r3, [r7, #124]
  9534. 5662 .LBB514:
  9535. 5663 .LBB515:
  9536. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9537. 5664 .loc 2 1123 4 discriminator 1
  9538. 5665 0328 F96F ldr r1, [r7, #124]
  9539. 5666 032a D7F88020 ldr r2, [r7, #128]
  9540. 5667 .syntax unified
  9541. 5668 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9542. 5669 032e 41E80023 strex r3, r2, [r1]
  9543. 5670 @ 0 "" 2
  9544. 5671 .thumb
  9545. 5672 .syntax unified
  9546. 5673 0332 BB67 str r3, [r7, #120]
  9547. 5674 .loc 2 1124 10 discriminator 1
  9548. 5675 0334 BB6F ldr r3, [r7, #120]
  9549. 5676 .LBE515:
  9550. 5677 .LBE514:
  9551. 5678 .loc 1 2514 11 discriminator 1
  9552. 5679 0336 002B cmp r3, #0
  9553. 5680 0338 E1D1 bne .L304
  9554. 5681 .L307:
  9555. 5682 .LBE511:
  9556. 5683 .LBB516:
  9557. 2515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9558. 2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
  9559. 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
  9560. 2518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  9561. 5684 .loc 1 2518 11 discriminator 1
  9562. 5685 033a 7B68 ldr r3, [r7, #4]
  9563. 5686 033c 1B68 ldr r3, [r3]
  9564. 5687 033e 1433 adds r3, r3, #20
  9565. 5688 0340 3B66 str r3, [r7, #96]
  9566. 5689 .LBB517:
  9567. 5690 .LBB518:
  9568. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9569. 5691 .loc 2 1072 4 discriminator 1
  9570. 5692 0342 3B6E ldr r3, [r7, #96]
  9571. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 166
  9572. 5693 .syntax unified
  9573. 5694 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9574. 5695 0344 53E8003F ldrex r3, [r3]
  9575. 5696 @ 0 "" 2
  9576. 5697 .thumb
  9577. 5698 .syntax unified
  9578. 5699 0348 FB65 str r3, [r7, #92]
  9579. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9580. 5700 .loc 2 1073 10 discriminator 1
  9581. 5701 034a FB6D ldr r3, [r7, #92]
  9582. 5702 .LBE518:
  9583. 5703 .LBE517:
  9584. 5704 .loc 1 2518 11 discriminator 1
  9585. 5705 034c 23F04003 bic r3, r3, #64
  9586. 5706 0350 C7F8B030 str r3, [r7, #176]
  9587. 5707 0354 7B68 ldr r3, [r7, #4]
  9588. 5708 0356 1B68 ldr r3, [r3]
  9589. 5709 0358 1433 adds r3, r3, #20
  9590. 5710 035a D7F8B020 ldr r2, [r7, #176]
  9591. 5711 035e FA66 str r2, [r7, #108]
  9592. 5712 0360 BB66 str r3, [r7, #104]
  9593. 5713 .LBB519:
  9594. 5714 .LBB520:
  9595. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9596. 5715 .loc 2 1123 4 discriminator 1
  9597. 5716 0362 B96E ldr r1, [r7, #104]
  9598. 5717 0364 FA6E ldr r2, [r7, #108]
  9599. 5718 .syntax unified
  9600. 5719 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9601. 5720 0366 41E80023 strex r3, r2, [r1]
  9602. 5721 @ 0 "" 2
  9603. 5722 .thumb
  9604. 5723 .syntax unified
  9605. 5724 036a 7B66 str r3, [r7, #100]
  9606. 5725 .loc 2 1124 10 discriminator 1
  9607. 5726 036c 7B6E ldr r3, [r7, #100]
  9608. 5727 .LBE520:
  9609. 5728 .LBE519:
  9610. 5729 .loc 1 2518 11 discriminator 1
  9611. 5730 036e 002B cmp r3, #0
  9612. 5731 0370 E3D1 bne .L307
  9613. 5732 .LBE516:
  9614. 2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9615. 2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  9616. 2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  9617. 5733 .loc 1 2521 26
  9618. 5734 0372 7B68 ldr r3, [r7, #4]
  9619. 5735 0374 2022 movs r2, #32
  9620. 5736 0376 83F83E20 strb r2, [r3, #62]
  9621. 2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  9622. 5737 .loc 1 2522 32
  9623. 5738 037a 7B68 ldr r3, [r7, #4]
  9624. 5739 037c 0022 movs r2, #0
  9625. 5740 037e 1A63 str r2, [r3, #48]
  9626. 5741 .L310:
  9627. 5742 .LBB521:
  9628. 2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9629. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 167
  9630. 2524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  9631. 5743 .loc 1 2524 11 discriminator 1
  9632. 5744 0380 7B68 ldr r3, [r7, #4]
  9633. 5745 0382 1B68 ldr r3, [r3]
  9634. 5746 0384 0C33 adds r3, r3, #12
  9635. 5747 0386 FB64 str r3, [r7, #76]
  9636. 5748 .LBB522:
  9637. 5749 .LBB523:
  9638. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9639. 5750 .loc 2 1072 4 discriminator 1
  9640. 5751 0388 FB6C ldr r3, [r7, #76]
  9641. 5752 .syntax unified
  9642. 5753 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9643. 5754 038a 53E8003F ldrex r3, [r3]
  9644. 5755 @ 0 "" 2
  9645. 5756 .thumb
  9646. 5757 .syntax unified
  9647. 5758 038e BB64 str r3, [r7, #72]
  9648. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9649. 5759 .loc 2 1073 10 discriminator 1
  9650. 5760 0390 BB6C ldr r3, [r7, #72]
  9651. 5761 .LBE523:
  9652. 5762 .LBE522:
  9653. 5763 .loc 1 2524 11 discriminator 1
  9654. 5764 0392 23F01003 bic r3, r3, #16
  9655. 5765 0396 C7F8AC30 str r3, [r7, #172]
  9656. 5766 039a 7B68 ldr r3, [r7, #4]
  9657. 5767 039c 1B68 ldr r3, [r3]
  9658. 5768 039e 0C33 adds r3, r3, #12
  9659. 5769 03a0 D7F8AC20 ldr r2, [r7, #172]
  9660. 5770 03a4 BA65 str r2, [r7, #88]
  9661. 5771 03a6 7B65 str r3, [r7, #84]
  9662. 5772 .LBB524:
  9663. 5773 .LBB525:
  9664. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9665. 5774 .loc 2 1123 4 discriminator 1
  9666. 5775 03a8 796D ldr r1, [r7, #84]
  9667. 5776 03aa BA6D ldr r2, [r7, #88]
  9668. 5777 .syntax unified
  9669. 5778 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9670. 5779 03ac 41E80023 strex r3, r2, [r1]
  9671. 5780 @ 0 "" 2
  9672. 5781 .thumb
  9673. 5782 .syntax unified
  9674. 5783 03b0 3B65 str r3, [r7, #80]
  9675. 5784 .loc 2 1124 10 discriminator 1
  9676. 5785 03b2 3B6D ldr r3, [r7, #80]
  9677. 5786 .LBE525:
  9678. 5787 .LBE524:
  9679. 5788 .loc 1 2524 11 discriminator 1
  9680. 5789 03b4 002B cmp r3, #0
  9681. 5790 03b6 E3D1 bne .L310
  9682. 5791 .LBE521:
  9683. 2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9684. 2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
  9685. 2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
  9686. 5792 .loc 1 2527 17
  9687. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 168
  9688. 5793 03b8 7B68 ldr r3, [r7, #4]
  9689. 5794 03ba 9B6B ldr r3, [r3, #56]
  9690. 5795 03bc 1846 mov r0, r3
  9691. 5796 03be FFF7FEFF bl HAL_DMA_Abort
  9692. 5797 .L298:
  9693. 2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9694. 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9695. 2530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
  9696. 2531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
  9697. 2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  9698. 2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  9699. 2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
  9700. 5798 .loc 1 2534 49
  9701. 5799 03c2 7B68 ldr r3, [r7, #4]
  9702. 5800 03c4 9A8D ldrh r2, [r3, #44]
  9703. 5801 .loc 1 2534 69
  9704. 5802 03c6 7B68 ldr r3, [r7, #4]
  9705. 5803 03c8 DB8D ldrh r3, [r3, #46] @ movhi
  9706. 5804 03ca 9BB2 uxth r3, r3
  9707. 5805 .loc 1 2534 9
  9708. 5806 03cc D31A subs r3, r2, r3
  9709. 5807 03ce 9BB2 uxth r3, r3
  9710. 5808 03d0 1946 mov r1, r3
  9711. 5809 03d2 7868 ldr r0, [r7, #4]
  9712. 5810 03d4 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  9713. 2535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  9714. 2536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9715. 2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  9716. 5811 .loc 1 2537 7
  9717. 5812 03d8 99E0 b .L324
  9718. 5813 .L327:
  9719. 5814 03da 00BF .align 2
  9720. 5815 .L326:
  9721. 5816 03dc 00000000 .word UART_DMAAbortOnError
  9722. 5817 .L296:
  9723. 5818 .LBE505:
  9724. 5819 .LBB526:
  9725. 2538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9726. 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  9727. 2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9728. 2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode not enabled */
  9729. 2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
  9730. 2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
  9731. 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
  9732. 5820 .loc 1 2544 34
  9733. 5821 03e0 7B68 ldr r3, [r7, #4]
  9734. 5822 03e2 9A8D ldrh r2, [r3, #44]
  9735. 5823 .loc 1 2544 54
  9736. 5824 03e4 7B68 ldr r3, [r7, #4]
  9737. 5825 03e6 DB8D ldrh r3, [r3, #46] @ movhi
  9738. 5826 03e8 9BB2 uxth r3, r3
  9739. 5827 .loc 1 2544 16
  9740. 5828 03ea D31A subs r3, r2, r3
  9741. 5829 03ec A7F8CE30 strh r3, [r7, #206] @ movhi
  9742. 2545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
  9743. 5830 .loc 1 2545 17
  9744. 5831 03f0 7B68 ldr r3, [r7, #4]
  9745. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 169
  9746. 5832 03f2 DB8D ldrh r3, [r3, #46] @ movhi
  9747. 5833 03f4 9BB2 uxth r3, r3
  9748. 5834 .loc 1 2545 10
  9749. 5835 03f6 002B cmp r3, #0
  9750. 5836 03f8 00F08B80 beq .L325
  9751. 2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
  9752. 5837 .loc 1 2546 11
  9753. 5838 03fc B7F8CE30 ldrh r3, [r7, #206]
  9754. 5839 0400 002B cmp r3, #0
  9755. 5840 0402 00F08680 beq .L325
  9756. 5841 .L314:
  9757. 5842 .LBB527:
  9758. 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9759. 2548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
  9760. 2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  9761. 5843 .loc 1 2549 9 discriminator 1
  9762. 5844 0406 7B68 ldr r3, [r7, #4]
  9763. 5845 0408 1B68 ldr r3, [r3]
  9764. 5846 040a 0C33 adds r3, r3, #12
  9765. 5847 040c BB63 str r3, [r7, #56]
  9766. 5848 .LBB528:
  9767. 5849 .LBB529:
  9768. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9769. 5850 .loc 2 1072 4 discriminator 1
  9770. 5851 040e BB6B ldr r3, [r7, #56]
  9771. 5852 .syntax unified
  9772. 5853 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9773. 5854 0410 53E8003F ldrex r3, [r3]
  9774. 5855 @ 0 "" 2
  9775. 5856 .thumb
  9776. 5857 .syntax unified
  9777. 5858 0414 7B63 str r3, [r7, #52]
  9778. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9779. 5859 .loc 2 1073 10 discriminator 1
  9780. 5860 0416 7B6B ldr r3, [r7, #52]
  9781. 5861 .LBE529:
  9782. 5862 .LBE528:
  9783. 5863 .loc 1 2549 9 discriminator 1
  9784. 5864 0418 23F49073 bic r3, r3, #288
  9785. 5865 041c C7F8C830 str r3, [r7, #200]
  9786. 5866 0420 7B68 ldr r3, [r7, #4]
  9787. 5867 0422 1B68 ldr r3, [r3]
  9788. 5868 0424 0C33 adds r3, r3, #12
  9789. 5869 0426 D7F8C820 ldr r2, [r7, #200]
  9790. 5870 042a 7A64 str r2, [r7, #68]
  9791. 5871 042c 3B64 str r3, [r7, #64]
  9792. 5872 .LBB530:
  9793. 5873 .LBB531:
  9794. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9795. 5874 .loc 2 1123 4 discriminator 1
  9796. 5875 042e 396C ldr r1, [r7, #64]
  9797. 5876 0430 7A6C ldr r2, [r7, #68]
  9798. 5877 .syntax unified
  9799. 5878 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9800. 5879 0432 41E80023 strex r3, r2, [r1]
  9801. 5880 @ 0 "" 2
  9802. 5881 .thumb
  9803. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 170
  9804. 5882 .syntax unified
  9805. 5883 0436 FB63 str r3, [r7, #60]
  9806. 5884 .loc 2 1124 10 discriminator 1
  9807. 5885 0438 FB6B ldr r3, [r7, #60]
  9808. 5886 .LBE531:
  9809. 5887 .LBE530:
  9810. 5888 .loc 1 2549 9 discriminator 1
  9811. 5889 043a 002B cmp r3, #0
  9812. 5890 043c E3D1 bne .L314
  9813. 5891 .L317:
  9814. 5892 .LBE527:
  9815. 5893 .LBB532:
  9816. 2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9817. 2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  9818. 2552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  9819. 5894 .loc 1 2552 9 discriminator 1
  9820. 5895 043e 7B68 ldr r3, [r7, #4]
  9821. 5896 0440 1B68 ldr r3, [r3]
  9822. 5897 0442 1433 adds r3, r3, #20
  9823. 5898 0444 7B62 str r3, [r7, #36]
  9824. 5899 .LBB533:
  9825. 5900 .LBB534:
  9826. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9827. 5901 .loc 2 1072 4 discriminator 1
  9828. 5902 0446 7B6A ldr r3, [r7, #36]
  9829. 5903 .syntax unified
  9830. 5904 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9831. 5905 0448 53E8003F ldrex r3, [r3]
  9832. 5906 @ 0 "" 2
  9833. 5907 .thumb
  9834. 5908 .syntax unified
  9835. 5909 044c 3B62 str r3, [r7, #32]
  9836. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9837. 5910 .loc 2 1073 10 discriminator 1
  9838. 5911 044e 3B6A ldr r3, [r7, #32]
  9839. 5912 .LBE534:
  9840. 5913 .LBE533:
  9841. 5914 .loc 1 2552 9 discriminator 1
  9842. 5915 0450 23F00103 bic r3, r3, #1
  9843. 5916 0454 C7F8C430 str r3, [r7, #196]
  9844. 5917 0458 7B68 ldr r3, [r7, #4]
  9845. 5918 045a 1B68 ldr r3, [r3]
  9846. 5919 045c 1433 adds r3, r3, #20
  9847. 5920 045e D7F8C420 ldr r2, [r7, #196]
  9848. 5921 0462 3A63 str r2, [r7, #48]
  9849. 5922 0464 FB62 str r3, [r7, #44]
  9850. 5923 .LBB535:
  9851. 5924 .LBB536:
  9852. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9853. 5925 .loc 2 1123 4 discriminator 1
  9854. 5926 0466 F96A ldr r1, [r7, #44]
  9855. 5927 0468 3A6B ldr r2, [r7, #48]
  9856. 5928 .syntax unified
  9857. 5929 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9858. 5930 046a 41E80023 strex r3, r2, [r1]
  9859. 5931 @ 0 "" 2
  9860. 5932 .thumb
  9861. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 171
  9862. 5933 .syntax unified
  9863. 5934 046e BB62 str r3, [r7, #40]
  9864. 5935 .loc 2 1124 10 discriminator 1
  9865. 5936 0470 BB6A ldr r3, [r7, #40]
  9866. 5937 .LBE536:
  9867. 5938 .LBE535:
  9868. 5939 .loc 1 2552 9 discriminator 1
  9869. 5940 0472 002B cmp r3, #0
  9870. 5941 0474 E3D1 bne .L317
  9871. 5942 .LBE532:
  9872. 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9873. 2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
  9874. 2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  9875. 5943 .loc 1 2555 24
  9876. 5944 0476 7B68 ldr r3, [r7, #4]
  9877. 5945 0478 2022 movs r2, #32
  9878. 5946 047a 83F83E20 strb r2, [r3, #62]
  9879. 2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  9880. 5947 .loc 1 2556 30
  9881. 5948 047e 7B68 ldr r3, [r7, #4]
  9882. 5949 0480 0022 movs r2, #0
  9883. 5950 0482 1A63 str r2, [r3, #48]
  9884. 5951 .L320:
  9885. 5952 .LBB537:
  9886. 2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9887. 2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  9888. 5953 .loc 1 2558 9 discriminator 1
  9889. 5954 0484 7B68 ldr r3, [r7, #4]
  9890. 5955 0486 1B68 ldr r3, [r3]
  9891. 5956 0488 0C33 adds r3, r3, #12
  9892. 5957 048a 3B61 str r3, [r7, #16]
  9893. 5958 .LBB538:
  9894. 5959 .LBB539:
  9895. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9896. 5960 .loc 2 1072 4 discriminator 1
  9897. 5961 048c 3B69 ldr r3, [r7, #16]
  9898. 5962 .syntax unified
  9899. 5963 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9900. 5964 048e 53E8003F ldrex r3, [r3]
  9901. 5965 @ 0 "" 2
  9902. 5966 .thumb
  9903. 5967 .syntax unified
  9904. 5968 0492 FB60 str r3, [r7, #12]
  9905. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  9906. 5969 .loc 2 1073 10 discriminator 1
  9907. 5970 0494 FB68 ldr r3, [r7, #12]
  9908. 5971 .LBE539:
  9909. 5972 .LBE538:
  9910. 5973 .loc 1 2558 9 discriminator 1
  9911. 5974 0496 23F01003 bic r3, r3, #16
  9912. 5975 049a C7F8C030 str r3, [r7, #192]
  9913. 5976 049e 7B68 ldr r3, [r7, #4]
  9914. 5977 04a0 1B68 ldr r3, [r3]
  9915. 5978 04a2 0C33 adds r3, r3, #12
  9916. 5979 04a4 D7F8C020 ldr r2, [r7, #192]
  9917. 5980 04a8 FA61 str r2, [r7, #28]
  9918. 5981 04aa BB61 str r3, [r7, #24]
  9919. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 172
  9920. 5982 .LBB540:
  9921. 5983 .LBB541:
  9922. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  9923. 5984 .loc 2 1123 4 discriminator 1
  9924. 5985 04ac B969 ldr r1, [r7, #24]
  9925. 5986 04ae FA69 ldr r2, [r7, #28]
  9926. 5987 .syntax unified
  9927. 5988 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  9928. 5989 04b0 41E80023 strex r3, r2, [r1]
  9929. 5990 @ 0 "" 2
  9930. 5991 .thumb
  9931. 5992 .syntax unified
  9932. 5993 04b4 7B61 str r3, [r7, #20]
  9933. 5994 .loc 2 1124 10 discriminator 1
  9934. 5995 04b6 7B69 ldr r3, [r7, #20]
  9935. 5996 .LBE541:
  9936. 5997 .LBE540:
  9937. 5998 .loc 1 2558 9 discriminator 1
  9938. 5999 04b8 002B cmp r3, #0
  9939. 6000 04ba E3D1 bne .L320
  9940. 6001 .LBE537:
  9941. 2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  9942. 2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
  9943. 2561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
  9944. 2562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  9945. 2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  9946. 2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
  9947. 6002 .loc 1 2564 9
  9948. 6003 04bc B7F8CE30 ldrh r3, [r7, #206]
  9949. 6004 04c0 1946 mov r1, r3
  9950. 6005 04c2 7868 ldr r0, [r7, #4]
  9951. 6006 04c4 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  9952. 2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  9953. 2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9954. 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  9955. 6007 .loc 1 2567 7
  9956. 6008 04c8 23E0 b .L325
  9957. 6009 .L295:
  9958. 6010 .LBE526:
  9959. 2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9960. 2569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9961. 2570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9962. 2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
  9963. 2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
  9964. 6011 .loc 1 2572 18
  9965. 6012 04ca D7F8E430 ldr r3, [r7, #228]
  9966. 6013 04ce 03F08003 and r3, r3, #128
  9967. 6014 .loc 1 2572 6
  9968. 6015 04d2 002B cmp r3, #0
  9969. 6016 04d4 09D0 beq .L321
  9970. 6017 .loc 1 2572 56 discriminator 1
  9971. 6018 04d6 D7F8E030 ldr r3, [r7, #224]
  9972. 6019 04da 03F08003 and r3, r3, #128
  9973. 6020 .loc 1 2572 44 discriminator 1
  9974. 6021 04de 002B cmp r3, #0
  9975. 6022 04e0 03D0 beq .L321
  9976. 2573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  9977. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 173
  9978. 2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Transmit_IT(huart);
  9979. 6023 .loc 1 2574 5
  9980. 6024 04e2 7868 ldr r0, [r7, #4]
  9981. 6025 04e4 FFF7FEFF bl UART_Transmit_IT
  9982. 2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  9983. 6026 .loc 1 2575 5
  9984. 6027 04e8 14E0 b .L275
  9985. 6028 .L321:
  9986. 2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  9987. 2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  9988. 2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter end --------------------------------------------*/
  9989. 2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
  9990. 6029 .loc 1 2579 18
  9991. 6030 04ea D7F8E430 ldr r3, [r7, #228]
  9992. 6031 04ee 03F04003 and r3, r3, #64
  9993. 6032 .loc 1 2579 6
  9994. 6033 04f2 002B cmp r3, #0
  9995. 6034 04f4 0ED0 beq .L275
  9996. 6035 .loc 1 2579 55 discriminator 1
  9997. 6036 04f6 D7F8E030 ldr r3, [r7, #224]
  9998. 6037 04fa 03F04003 and r3, r3, #64
  9999. 6038 .loc 1 2579 43 discriminator 1
  10000. 6039 04fe 002B cmp r3, #0
  10001. 6040 0500 08D0 beq .L275
  10002. 2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10003. 2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTransmit_IT(huart);
  10004. 6041 .loc 1 2581 5
  10005. 6042 0502 7868 ldr r0, [r7, #4]
  10006. 6043 0504 FFF7FEFF bl UART_EndTransmit_IT
  10007. 2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  10008. 6044 .loc 1 2582 5
  10009. 6045 0508 04E0 b .L275
  10010. 6046 .L322:
  10011. 2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
  10012. 6047 .loc 1 2484 5
  10013. 6048 050a 00BF nop
  10014. 6049 050c 02E0 b .L275
  10015. 6050 .L324:
  10016. 6051 .LBB542:
  10017. 2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10018. 6052 .loc 1 2537 7
  10019. 6053 050e 00BF nop
  10020. 6054 0510 00E0 b .L275
  10021. 6055 .L325:
  10022. 6056 .LBE542:
  10023. 6057 .LBB543:
  10024. 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10025. 6058 .loc 1 2567 7
  10026. 6059 0512 00BF nop
  10027. 6060 .L275:
  10028. 6061 .LBE543:
  10029. 2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10030. 2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10031. 6062 .loc 1 2584 1
  10032. 6063 0514 E837 adds r7, r7, #232
  10033. 6064 .LCFI133:
  10034. 6065 .cfi_def_cfa_offset 8
  10035. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 174
  10036. 6066 0516 BD46 mov sp, r7
  10037. 6067 .LCFI134:
  10038. 6068 .cfi_def_cfa_register 13
  10039. 6069 @ sp needed
  10040. 6070 0518 80BD pop {r7, pc}
  10041. 6071 .cfi_endproc
  10042. 6072 .LFE260:
  10043. 6074 051a 00BF .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
  10044. 6075 .align 1
  10045. 6076 .weak HAL_UART_TxCpltCallback
  10046. 6077 .syntax unified
  10047. 6078 .thumb
  10048. 6079 .thumb_func
  10049. 6081 HAL_UART_TxCpltCallback:
  10050. 6082 .LFB261:
  10051. 2585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10052. 2586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10053. 2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Transfer completed callbacks.
  10054. 2588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10055. 2589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10056. 2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10057. 2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10058. 2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
  10059. 2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10060. 6083 .loc 1 2593 1
  10061. 6084 .cfi_startproc
  10062. 6085 @ args = 0, pretend = 0, frame = 8
  10063. 6086 @ frame_needed = 1, uses_anonymous_args = 0
  10064. 6087 @ link register save eliminated.
  10065. 6088 0000 80B4 push {r7}
  10066. 6089 .LCFI135:
  10067. 6090 .cfi_def_cfa_offset 4
  10068. 6091 .cfi_offset 7, -4
  10069. 6092 0002 83B0 sub sp, sp, #12
  10070. 6093 .LCFI136:
  10071. 6094 .cfi_def_cfa_offset 16
  10072. 6095 0004 00AF add r7, sp, #0
  10073. 6096 .LCFI137:
  10074. 6097 .cfi_def_cfa_register 7
  10075. 6098 0006 7860 str r0, [r7, #4]
  10076. 2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10077. 2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10078. 2596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  10079. 2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxCpltCallback could be implemented in the user file
  10080. 2598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10081. 2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10082. 6099 .loc 1 2599 1
  10083. 6100 0008 00BF nop
  10084. 6101 000a 0C37 adds r7, r7, #12
  10085. 6102 .LCFI138:
  10086. 6103 .cfi_def_cfa_offset 4
  10087. 6104 000c BD46 mov sp, r7
  10088. 6105 .LCFI139:
  10089. 6106 .cfi_def_cfa_register 13
  10090. 6107 @ sp needed
  10091. 6108 000e 5DF8047B ldr r7, [sp], #4
  10092. 6109 .LCFI140:
  10093. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 175
  10094. 6110 .cfi_restore 7
  10095. 6111 .cfi_def_cfa_offset 0
  10096. 6112 0012 7047 bx lr
  10097. 6113 .cfi_endproc
  10098. 6114 .LFE261:
  10099. 6116 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
  10100. 6117 .align 1
  10101. 6118 .weak HAL_UART_TxHalfCpltCallback
  10102. 6119 .syntax unified
  10103. 6120 .thumb
  10104. 6121 .thumb_func
  10105. 6123 HAL_UART_TxHalfCpltCallback:
  10106. 6124 .LFB262:
  10107. 2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10108. 2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10109. 2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Half Transfer completed callbacks.
  10110. 2603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10111. 2604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10112. 2605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10113. 2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10114. 2607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
  10115. 2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10116. 6125 .loc 1 2608 1
  10117. 6126 .cfi_startproc
  10118. 6127 @ args = 0, pretend = 0, frame = 8
  10119. 6128 @ frame_needed = 1, uses_anonymous_args = 0
  10120. 6129 @ link register save eliminated.
  10121. 6130 0000 80B4 push {r7}
  10122. 6131 .LCFI141:
  10123. 6132 .cfi_def_cfa_offset 4
  10124. 6133 .cfi_offset 7, -4
  10125. 6134 0002 83B0 sub sp, sp, #12
  10126. 6135 .LCFI142:
  10127. 6136 .cfi_def_cfa_offset 16
  10128. 6137 0004 00AF add r7, sp, #0
  10129. 6138 .LCFI143:
  10130. 6139 .cfi_def_cfa_register 7
  10131. 6140 0006 7860 str r0, [r7, #4]
  10132. 2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10133. 2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10134. 2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  10135. 2612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback could be implemented in the user file
  10136. 2613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10137. 2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10138. 6141 .loc 1 2614 1
  10139. 6142 0008 00BF nop
  10140. 6143 000a 0C37 adds r7, r7, #12
  10141. 6144 .LCFI144:
  10142. 6145 .cfi_def_cfa_offset 4
  10143. 6146 000c BD46 mov sp, r7
  10144. 6147 .LCFI145:
  10145. 6148 .cfi_def_cfa_register 13
  10146. 6149 @ sp needed
  10147. 6150 000e 5DF8047B ldr r7, [sp], #4
  10148. 6151 .LCFI146:
  10149. 6152 .cfi_restore 7
  10150. 6153 .cfi_def_cfa_offset 0
  10151. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 176
  10152. 6154 0012 7047 bx lr
  10153. 6155 .cfi_endproc
  10154. 6156 .LFE262:
  10155. 6158 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
  10156. 6159 .align 1
  10157. 6160 .weak HAL_UART_RxCpltCallback
  10158. 6161 .syntax unified
  10159. 6162 .thumb
  10160. 6163 .thumb_func
  10161. 6165 HAL_UART_RxCpltCallback:
  10162. 6166 .LFB263:
  10163. 2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10164. 2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10165. 2617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Transfer completed callbacks.
  10166. 2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10167. 2619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10168. 2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10169. 2621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10170. 2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  10171. 2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10172. 6167 .loc 1 2623 1
  10173. 6168 .cfi_startproc
  10174. 6169 @ args = 0, pretend = 0, frame = 8
  10175. 6170 @ frame_needed = 1, uses_anonymous_args = 0
  10176. 6171 @ link register save eliminated.
  10177. 6172 0000 80B4 push {r7}
  10178. 6173 .LCFI147:
  10179. 6174 .cfi_def_cfa_offset 4
  10180. 6175 .cfi_offset 7, -4
  10181. 6176 0002 83B0 sub sp, sp, #12
  10182. 6177 .LCFI148:
  10183. 6178 .cfi_def_cfa_offset 16
  10184. 6179 0004 00AF add r7, sp, #0
  10185. 6180 .LCFI149:
  10186. 6181 .cfi_def_cfa_register 7
  10187. 6182 0006 7860 str r0, [r7, #4]
  10188. 2624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10189. 2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10190. 2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  10191. 2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxCpltCallback could be implemented in the user file
  10192. 2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10193. 2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10194. 6183 .loc 1 2629 1
  10195. 6184 0008 00BF nop
  10196. 6185 000a 0C37 adds r7, r7, #12
  10197. 6186 .LCFI150:
  10198. 6187 .cfi_def_cfa_offset 4
  10199. 6188 000c BD46 mov sp, r7
  10200. 6189 .LCFI151:
  10201. 6190 .cfi_def_cfa_register 13
  10202. 6191 @ sp needed
  10203. 6192 000e 5DF8047B ldr r7, [sp], #4
  10204. 6193 .LCFI152:
  10205. 6194 .cfi_restore 7
  10206. 6195 .cfi_def_cfa_offset 0
  10207. 6196 0012 7047 bx lr
  10208. 6197 .cfi_endproc
  10209. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 177
  10210. 6198 .LFE263:
  10211. 6200 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
  10212. 6201 .align 1
  10213. 6202 .weak HAL_UART_RxHalfCpltCallback
  10214. 6203 .syntax unified
  10215. 6204 .thumb
  10216. 6205 .thumb_func
  10217. 6207 HAL_UART_RxHalfCpltCallback:
  10218. 6208 .LFB264:
  10219. 2630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10220. 2631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10221. 2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Half Transfer completed callbacks.
  10222. 2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10223. 2634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10224. 2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10225. 2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10226. 2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
  10227. 2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10228. 6209 .loc 1 2638 1
  10229. 6210 .cfi_startproc
  10230. 6211 @ args = 0, pretend = 0, frame = 8
  10231. 6212 @ frame_needed = 1, uses_anonymous_args = 0
  10232. 6213 @ link register save eliminated.
  10233. 6214 0000 80B4 push {r7}
  10234. 6215 .LCFI153:
  10235. 6216 .cfi_def_cfa_offset 4
  10236. 6217 .cfi_offset 7, -4
  10237. 6218 0002 83B0 sub sp, sp, #12
  10238. 6219 .LCFI154:
  10239. 6220 .cfi_def_cfa_offset 16
  10240. 6221 0004 00AF add r7, sp, #0
  10241. 6222 .LCFI155:
  10242. 6223 .cfi_def_cfa_register 7
  10243. 6224 0006 7860 str r0, [r7, #4]
  10244. 2639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10245. 2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10246. 2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  10247. 2642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback could be implemented in the user file
  10248. 2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10249. 2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10250. 6225 .loc 1 2644 1
  10251. 6226 0008 00BF nop
  10252. 6227 000a 0C37 adds r7, r7, #12
  10253. 6228 .LCFI156:
  10254. 6229 .cfi_def_cfa_offset 4
  10255. 6230 000c BD46 mov sp, r7
  10256. 6231 .LCFI157:
  10257. 6232 .cfi_def_cfa_register 13
  10258. 6233 @ sp needed
  10259. 6234 000e 5DF8047B ldr r7, [sp], #4
  10260. 6235 .LCFI158:
  10261. 6236 .cfi_restore 7
  10262. 6237 .cfi_def_cfa_offset 0
  10263. 6238 0012 7047 bx lr
  10264. 6239 .cfi_endproc
  10265. 6240 .LFE264:
  10266. 6242 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
  10267. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 178
  10268. 6243 .align 1
  10269. 6244 .weak HAL_UART_ErrorCallback
  10270. 6245 .syntax unified
  10271. 6246 .thumb
  10272. 6247 .thumb_func
  10273. 6249 HAL_UART_ErrorCallback:
  10274. 6250 .LFB265:
  10275. 2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10276. 2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10277. 2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART error callbacks.
  10278. 2648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10279. 2649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10280. 2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10281. 2651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10282. 2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
  10283. 2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10284. 6251 .loc 1 2653 1
  10285. 6252 .cfi_startproc
  10286. 6253 @ args = 0, pretend = 0, frame = 8
  10287. 6254 @ frame_needed = 1, uses_anonymous_args = 0
  10288. 6255 @ link register save eliminated.
  10289. 6256 0000 80B4 push {r7}
  10290. 6257 .LCFI159:
  10291. 6258 .cfi_def_cfa_offset 4
  10292. 6259 .cfi_offset 7, -4
  10293. 6260 0002 83B0 sub sp, sp, #12
  10294. 6261 .LCFI160:
  10295. 6262 .cfi_def_cfa_offset 16
  10296. 6263 0004 00AF add r7, sp, #0
  10297. 6264 .LCFI161:
  10298. 6265 .cfi_def_cfa_register 7
  10299. 6266 0006 7860 str r0, [r7, #4]
  10300. 2654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10301. 2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10302. 2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
  10303. 2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_ErrorCallback could be implemented in the user file
  10304. 2658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10305. 2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10306. 6267 .loc 1 2659 1
  10307. 6268 0008 00BF nop
  10308. 6269 000a 0C37 adds r7, r7, #12
  10309. 6270 .LCFI162:
  10310. 6271 .cfi_def_cfa_offset 4
  10311. 6272 000c BD46 mov sp, r7
  10312. 6273 .LCFI163:
  10313. 6274 .cfi_def_cfa_register 13
  10314. 6275 @ sp needed
  10315. 6276 000e 5DF8047B ldr r7, [sp], #4
  10316. 6277 .LCFI164:
  10317. 6278 .cfi_restore 7
  10318. 6279 .cfi_def_cfa_offset 0
  10319. 6280 0012 7047 bx lr
  10320. 6281 .cfi_endproc
  10321. 6282 .LFE265:
  10322. 6284 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
  10323. 6285 .align 1
  10324. 6286 .weak HAL_UART_AbortCpltCallback
  10325. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 179
  10326. 6287 .syntax unified
  10327. 6288 .thumb
  10328. 6289 .thumb_func
  10329. 6291 HAL_UART_AbortCpltCallback:
  10330. 6292 .LFB266:
  10331. 2660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10332. 2661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10333. 2662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
  10334. 2663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  10335. 2664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10336. 2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10337. 2666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
  10338. 2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10339. 6293 .loc 1 2667 1
  10340. 6294 .cfi_startproc
  10341. 6295 @ args = 0, pretend = 0, frame = 8
  10342. 6296 @ frame_needed = 1, uses_anonymous_args = 0
  10343. 6297 @ link register save eliminated.
  10344. 6298 0000 80B4 push {r7}
  10345. 6299 .LCFI165:
  10346. 6300 .cfi_def_cfa_offset 4
  10347. 6301 .cfi_offset 7, -4
  10348. 6302 0002 83B0 sub sp, sp, #12
  10349. 6303 .LCFI166:
  10350. 6304 .cfi_def_cfa_offset 16
  10351. 6305 0004 00AF add r7, sp, #0
  10352. 6306 .LCFI167:
  10353. 6307 .cfi_def_cfa_register 7
  10354. 6308 0006 7860 str r0, [r7, #4]
  10355. 2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10356. 2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10357. 2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10358. 2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10359. 2672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
  10360. 2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10361. 2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10362. 6309 .loc 1 2674 1
  10363. 6310 0008 00BF nop
  10364. 6311 000a 0C37 adds r7, r7, #12
  10365. 6312 .LCFI168:
  10366. 6313 .cfi_def_cfa_offset 4
  10367. 6314 000c BD46 mov sp, r7
  10368. 6315 .LCFI169:
  10369. 6316 .cfi_def_cfa_register 13
  10370. 6317 @ sp needed
  10371. 6318 000e 5DF8047B ldr r7, [sp], #4
  10372. 6319 .LCFI170:
  10373. 6320 .cfi_restore 7
  10374. 6321 .cfi_def_cfa_offset 0
  10375. 6322 0012 7047 bx lr
  10376. 6323 .cfi_endproc
  10377. 6324 .LFE266:
  10378. 6326 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
  10379. 6327 .align 1
  10380. 6328 .weak HAL_UART_AbortTransmitCpltCallback
  10381. 6329 .syntax unified
  10382. 6330 .thumb
  10383. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 180
  10384. 6331 .thumb_func
  10385. 6333 HAL_UART_AbortTransmitCpltCallback:
  10386. 6334 .LFB267:
  10387. 2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10388. 2676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10389. 2677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
  10390. 2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  10391. 2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10392. 2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10393. 2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
  10394. 2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10395. 6335 .loc 1 2682 1
  10396. 6336 .cfi_startproc
  10397. 6337 @ args = 0, pretend = 0, frame = 8
  10398. 6338 @ frame_needed = 1, uses_anonymous_args = 0
  10399. 6339 @ link register save eliminated.
  10400. 6340 0000 80B4 push {r7}
  10401. 6341 .LCFI171:
  10402. 6342 .cfi_def_cfa_offset 4
  10403. 6343 .cfi_offset 7, -4
  10404. 6344 0002 83B0 sub sp, sp, #12
  10405. 6345 .LCFI172:
  10406. 6346 .cfi_def_cfa_offset 16
  10407. 6347 0004 00AF add r7, sp, #0
  10408. 6348 .LCFI173:
  10409. 6349 .cfi_def_cfa_register 7
  10410. 6350 0006 7860 str r0, [r7, #4]
  10411. 2683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10412. 2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10413. 2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10414. 2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10415. 2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
  10416. 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10417. 2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10418. 6351 .loc 1 2689 1
  10419. 6352 0008 00BF nop
  10420. 6353 000a 0C37 adds r7, r7, #12
  10421. 6354 .LCFI174:
  10422. 6355 .cfi_def_cfa_offset 4
  10423. 6356 000c BD46 mov sp, r7
  10424. 6357 .LCFI175:
  10425. 6358 .cfi_def_cfa_register 13
  10426. 6359 @ sp needed
  10427. 6360 000e 5DF8047B ldr r7, [sp], #4
  10428. 6361 .LCFI176:
  10429. 6362 .cfi_restore 7
  10430. 6363 .cfi_def_cfa_offset 0
  10431. 6364 0012 7047 bx lr
  10432. 6365 .cfi_endproc
  10433. 6366 .LFE267:
  10434. 6368 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
  10435. 6369 .align 1
  10436. 6370 .weak HAL_UART_AbortReceiveCpltCallback
  10437. 6371 .syntax unified
  10438. 6372 .thumb
  10439. 6373 .thumb_func
  10440. 6375 HAL_UART_AbortReceiveCpltCallback:
  10441. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 181
  10442. 6376 .LFB268:
  10443. 2690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10444. 2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10445. 2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
  10446. 2693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  10447. 2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10448. 2695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10449. 2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
  10450. 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10451. 6377 .loc 1 2697 1
  10452. 6378 .cfi_startproc
  10453. 6379 @ args = 0, pretend = 0, frame = 8
  10454. 6380 @ frame_needed = 1, uses_anonymous_args = 0
  10455. 6381 @ link register save eliminated.
  10456. 6382 0000 80B4 push {r7}
  10457. 6383 .LCFI177:
  10458. 6384 .cfi_def_cfa_offset 4
  10459. 6385 .cfi_offset 7, -4
  10460. 6386 0002 83B0 sub sp, sp, #12
  10461. 6387 .LCFI178:
  10462. 6388 .cfi_def_cfa_offset 16
  10463. 6389 0004 00AF add r7, sp, #0
  10464. 6390 .LCFI179:
  10465. 6391 .cfi_def_cfa_register 7
  10466. 6392 0006 7860 str r0, [r7, #4]
  10467. 2698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10468. 2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10469. 2700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10470. 2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10471. 2702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
  10472. 2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10473. 2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10474. 6393 .loc 1 2704 1
  10475. 6394 0008 00BF nop
  10476. 6395 000a 0C37 adds r7, r7, #12
  10477. 6396 .LCFI180:
  10478. 6397 .cfi_def_cfa_offset 4
  10479. 6398 000c BD46 mov sp, r7
  10480. 6399 .LCFI181:
  10481. 6400 .cfi_def_cfa_register 13
  10482. 6401 @ sp needed
  10483. 6402 000e 5DF8047B ldr r7, [sp], #4
  10484. 6403 .LCFI182:
  10485. 6404 .cfi_restore 7
  10486. 6405 .cfi_def_cfa_offset 0
  10487. 6406 0012 7047 bx lr
  10488. 6407 .cfi_endproc
  10489. 6408 .LFE268:
  10490. 6410 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
  10491. 6411 .align 1
  10492. 6412 .weak HAL_UARTEx_RxEventCallback
  10493. 6413 .syntax unified
  10494. 6414 .thumb
  10495. 6415 .thumb_func
  10496. 6417 HAL_UARTEx_RxEventCallback:
  10497. 6418 .LFB269:
  10498. 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10499. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 182
  10500. 2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10501. 2707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
  10502. 2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle
  10503. 2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
  10504. 2710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception buffer until which, data are available)
  10505. 2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  10506. 2712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10507. 2713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
  10508. 2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10509. 6419 .loc 1 2714 1
  10510. 6420 .cfi_startproc
  10511. 6421 @ args = 0, pretend = 0, frame = 8
  10512. 6422 @ frame_needed = 1, uses_anonymous_args = 0
  10513. 6423 @ link register save eliminated.
  10514. 6424 0000 80B4 push {r7}
  10515. 6425 .LCFI183:
  10516. 6426 .cfi_def_cfa_offset 4
  10517. 6427 .cfi_offset 7, -4
  10518. 6428 0002 83B0 sub sp, sp, #12
  10519. 6429 .LCFI184:
  10520. 6430 .cfi_def_cfa_offset 16
  10521. 6431 0004 00AF add r7, sp, #0
  10522. 6432 .LCFI185:
  10523. 6433 .cfi_def_cfa_register 7
  10524. 6434 0006 7860 str r0, [r7, #4]
  10525. 6435 0008 0B46 mov r3, r1
  10526. 6436 000a 7B80 strh r3, [r7, #2] @ movhi
  10527. 2715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
  10528. 2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
  10529. 2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(Size);
  10530. 2718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10531. 2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
  10532. 2720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
  10533. 2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10534. 2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10535. 6437 .loc 1 2722 1
  10536. 6438 000c 00BF nop
  10537. 6439 000e 0C37 adds r7, r7, #12
  10538. 6440 .LCFI186:
  10539. 6441 .cfi_def_cfa_offset 4
  10540. 6442 0010 BD46 mov sp, r7
  10541. 6443 .LCFI187:
  10542. 6444 .cfi_def_cfa_register 13
  10543. 6445 @ sp needed
  10544. 6446 0012 5DF8047B ldr r7, [sp], #4
  10545. 6447 .LCFI188:
  10546. 6448 .cfi_restore 7
  10547. 6449 .cfi_def_cfa_offset 0
  10548. 6450 0016 7047 bx lr
  10549. 6451 .cfi_endproc
  10550. 6452 .LFE269:
  10551. 6454 .section .text.HAL_LIN_SendBreak,"ax",%progbits
  10552. 6455 .align 1
  10553. 6456 .global HAL_LIN_SendBreak
  10554. 6457 .syntax unified
  10555. 6458 .thumb
  10556. 6459 .thumb_func
  10557. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 183
  10558. 6461 HAL_LIN_SendBreak:
  10559. 6462 .LFB270:
  10560. 2723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10561. 2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10562. 2725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
  10563. 2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10564. 2727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10565. 2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
  10566. 2729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART control functions
  10567. 2730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  10568. 2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
  10569. 2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
  10570. 2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral Control functions #####
  10571. 2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
  10572. 2735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  10573. 2736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART:
  10574. 2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API can be helpful to transmit the break character.
  10575. 2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API can be helpful to enter the UART in mute mode.
  10576. 2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_ExitMuteMode() API can be helpful to exit the UART mute mode by software
  10577. 2740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API to enable the UART transmitter and disables the UART
  10578. 2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API to enable the UART receiver and disables the UART trans
  10579. 2742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10580. 2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
  10581. 2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  10582. 2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10583. 2746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10584. 2747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10585. 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Transmits break characters.
  10586. 2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10587. 2750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10588. 2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  10589. 2752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10590. 2753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
  10591. 2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10592. 6463 .loc 1 2754 1
  10593. 6464 .cfi_startproc
  10594. 6465 @ args = 0, pretend = 0, frame = 32
  10595. 6466 @ frame_needed = 1, uses_anonymous_args = 0
  10596. 6467 @ link register save eliminated.
  10597. 6468 0000 80B4 push {r7}
  10598. 6469 .LCFI189:
  10599. 6470 .cfi_def_cfa_offset 4
  10600. 6471 .cfi_offset 7, -4
  10601. 6472 0002 89B0 sub sp, sp, #36
  10602. 6473 .LCFI190:
  10603. 6474 .cfi_def_cfa_offset 40
  10604. 6475 0004 00AF add r7, sp, #0
  10605. 6476 .LCFI191:
  10606. 6477 .cfi_def_cfa_register 7
  10607. 6478 0006 7860 str r0, [r7, #4]
  10608. 2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  10609. 2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  10610. 2757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10611. 2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  10612. 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  10613. 6479 .loc 1 2759 3
  10614. 6480 0008 7B68 ldr r3, [r7, #4]
  10615. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 184
  10616. 6481 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  10617. 6482 000e 012B cmp r3, #1
  10618. 6483 0010 01D1 bne .L338
  10619. 6484 .loc 1 2759 3 is_stmt 0 discriminator 1
  10620. 6485 0012 0223 movs r3, #2
  10621. 6486 0014 2AE0 b .L339
  10622. 6487 .L338:
  10623. 6488 .loc 1 2759 3 discriminator 2
  10624. 6489 0016 7B68 ldr r3, [r7, #4]
  10625. 6490 0018 0122 movs r2, #1
  10626. 6491 001a 83F83C20 strb r2, [r3, #60]
  10627. 2760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10628. 2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  10629. 6492 .loc 1 2761 17 is_stmt 1 discriminator 2
  10630. 6493 001e 7B68 ldr r3, [r7, #4]
  10631. 6494 0020 2422 movs r2, #36
  10632. 6495 0022 83F83D20 strb r2, [r3, #61]
  10633. 6496 .L342:
  10634. 6497 .LBB544:
  10635. 2762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10636. 2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Send break characters */
  10637. 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_SBK);
  10638. 6498 .loc 1 2764 3 discriminator 1
  10639. 6499 0026 7B68 ldr r3, [r7, #4]
  10640. 6500 0028 1B68 ldr r3, [r3]
  10641. 6501 002a 0C33 adds r3, r3, #12
  10642. 6502 002c FB60 str r3, [r7, #12]
  10643. 6503 .LBB545:
  10644. 6504 .LBB546:
  10645. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10646. 6505 .loc 2 1072 4 discriminator 1
  10647. 6506 002e FB68 ldr r3, [r7, #12]
  10648. 6507 .syntax unified
  10649. 6508 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10650. 6509 0030 53E8003F ldrex r3, [r3]
  10651. 6510 @ 0 "" 2
  10652. 6511 .thumb
  10653. 6512 .syntax unified
  10654. 6513 0034 BB60 str r3, [r7, #8]
  10655. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  10656. 6514 .loc 2 1073 10 discriminator 1
  10657. 6515 0036 BB68 ldr r3, [r7, #8]
  10658. 6516 .LBE546:
  10659. 6517 .LBE545:
  10660. 6518 .loc 1 2764 3 discriminator 1
  10661. 6519 0038 43F00103 orr r3, r3, #1
  10662. 6520 003c FB61 str r3, [r7, #28]
  10663. 6521 003e 7B68 ldr r3, [r7, #4]
  10664. 6522 0040 1B68 ldr r3, [r3]
  10665. 6523 0042 0C33 adds r3, r3, #12
  10666. 6524 0044 FA69 ldr r2, [r7, #28]
  10667. 6525 0046 BA61 str r2, [r7, #24]
  10668. 6526 0048 7B61 str r3, [r7, #20]
  10669. 6527 .LBB547:
  10670. 6528 .LBB548:
  10671. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10672. 6529 .loc 2 1123 4 discriminator 1
  10673. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 185
  10674. 6530 004a 7969 ldr r1, [r7, #20]
  10675. 6531 004c BA69 ldr r2, [r7, #24]
  10676. 6532 .syntax unified
  10677. 6533 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10678. 6534 004e 41E80023 strex r3, r2, [r1]
  10679. 6535 @ 0 "" 2
  10680. 6536 .thumb
  10681. 6537 .syntax unified
  10682. 6538 0052 3B61 str r3, [r7, #16]
  10683. 6539 .loc 2 1124 10 discriminator 1
  10684. 6540 0054 3B69 ldr r3, [r7, #16]
  10685. 6541 .LBE548:
  10686. 6542 .LBE547:
  10687. 6543 .loc 1 2764 3 discriminator 1
  10688. 6544 0056 002B cmp r3, #0
  10689. 6545 0058 E5D1 bne .L342
  10690. 6546 .LBE544:
  10691. 2765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10692. 2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  10693. 6547 .loc 1 2766 17
  10694. 6548 005a 7B68 ldr r3, [r7, #4]
  10695. 6549 005c 2022 movs r2, #32
  10696. 6550 005e 83F83D20 strb r2, [r3, #61]
  10697. 2767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10698. 2768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  10699. 2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  10700. 6551 .loc 1 2769 3
  10701. 6552 0062 7B68 ldr r3, [r7, #4]
  10702. 6553 0064 0022 movs r2, #0
  10703. 6554 0066 83F83C20 strb r2, [r3, #60]
  10704. 2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10705. 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  10706. 6555 .loc 1 2771 10
  10707. 6556 006a 0023 movs r3, #0
  10708. 6557 .L339:
  10709. 2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10710. 6558 .loc 1 2772 1
  10711. 6559 006c 1846 mov r0, r3
  10712. 6560 006e 2437 adds r7, r7, #36
  10713. 6561 .LCFI192:
  10714. 6562 .cfi_def_cfa_offset 4
  10715. 6563 0070 BD46 mov sp, r7
  10716. 6564 .LCFI193:
  10717. 6565 .cfi_def_cfa_register 13
  10718. 6566 @ sp needed
  10719. 6567 0072 5DF8047B ldr r7, [sp], #4
  10720. 6568 .LCFI194:
  10721. 6569 .cfi_restore 7
  10722. 6570 .cfi_def_cfa_offset 0
  10723. 6571 0076 7047 bx lr
  10724. 6572 .cfi_endproc
  10725. 6573 .LFE270:
  10726. 6575 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
  10727. 6576 .align 1
  10728. 6577 .global HAL_MultiProcessor_EnterMuteMode
  10729. 6578 .syntax unified
  10730. 6579 .thumb
  10731. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 186
  10732. 6580 .thumb_func
  10733. 6582 HAL_MultiProcessor_EnterMuteMode:
  10734. 6583 .LFB271:
  10735. 2773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10736. 2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10737. 2775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enters the UART in mute mode.
  10738. 2776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10739. 2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10740. 2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  10741. 2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10742. 2780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
  10743. 2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10744. 6584 .loc 1 2781 1
  10745. 6585 .cfi_startproc
  10746. 6586 @ args = 0, pretend = 0, frame = 32
  10747. 6587 @ frame_needed = 1, uses_anonymous_args = 0
  10748. 6588 @ link register save eliminated.
  10749. 6589 0000 80B4 push {r7}
  10750. 6590 .LCFI195:
  10751. 6591 .cfi_def_cfa_offset 4
  10752. 6592 .cfi_offset 7, -4
  10753. 6593 0002 89B0 sub sp, sp, #36
  10754. 6594 .LCFI196:
  10755. 6595 .cfi_def_cfa_offset 40
  10756. 6596 0004 00AF add r7, sp, #0
  10757. 6597 .LCFI197:
  10758. 6598 .cfi_def_cfa_register 7
  10759. 6599 0006 7860 str r0, [r7, #4]
  10760. 2782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  10761. 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  10762. 2784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10763. 2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  10764. 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  10765. 6600 .loc 1 2786 3
  10766. 6601 0008 7B68 ldr r3, [r7, #4]
  10767. 6602 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  10768. 6603 000e 012B cmp r3, #1
  10769. 6604 0010 01D1 bne .L344
  10770. 6605 .loc 1 2786 3 is_stmt 0 discriminator 1
  10771. 6606 0012 0223 movs r3, #2
  10772. 6607 0014 2AE0 b .L345
  10773. 6608 .L344:
  10774. 6609 .loc 1 2786 3 discriminator 2
  10775. 6610 0016 7B68 ldr r3, [r7, #4]
  10776. 6611 0018 0122 movs r2, #1
  10777. 6612 001a 83F83C20 strb r2, [r3, #60]
  10778. 2787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10779. 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  10780. 6613 .loc 1 2788 17 is_stmt 1 discriminator 2
  10781. 6614 001e 7B68 ldr r3, [r7, #4]
  10782. 6615 0020 2422 movs r2, #36
  10783. 6616 0022 83F83D20 strb r2, [r3, #61]
  10784. 6617 .L348:
  10785. 6618 .LBB549:
  10786. 2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10787. 2790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART mute mode by setting the RWU bit in the CR1 register */
  10788. 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RWU);
  10789. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 187
  10790. 6619 .loc 1 2791 3 discriminator 1
  10791. 6620 0026 7B68 ldr r3, [r7, #4]
  10792. 6621 0028 1B68 ldr r3, [r3]
  10793. 6622 002a 0C33 adds r3, r3, #12
  10794. 6623 002c FB60 str r3, [r7, #12]
  10795. 6624 .LBB550:
  10796. 6625 .LBB551:
  10797. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10798. 6626 .loc 2 1072 4 discriminator 1
  10799. 6627 002e FB68 ldr r3, [r7, #12]
  10800. 6628 .syntax unified
  10801. 6629 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10802. 6630 0030 53E8003F ldrex r3, [r3]
  10803. 6631 @ 0 "" 2
  10804. 6632 .thumb
  10805. 6633 .syntax unified
  10806. 6634 0034 BB60 str r3, [r7, #8]
  10807. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  10808. 6635 .loc 2 1073 10 discriminator 1
  10809. 6636 0036 BB68 ldr r3, [r7, #8]
  10810. 6637 .LBE551:
  10811. 6638 .LBE550:
  10812. 6639 .loc 1 2791 3 discriminator 1
  10813. 6640 0038 43F00203 orr r3, r3, #2
  10814. 6641 003c FB61 str r3, [r7, #28]
  10815. 6642 003e 7B68 ldr r3, [r7, #4]
  10816. 6643 0040 1B68 ldr r3, [r3]
  10817. 6644 0042 0C33 adds r3, r3, #12
  10818. 6645 0044 FA69 ldr r2, [r7, #28]
  10819. 6646 0046 BA61 str r2, [r7, #24]
  10820. 6647 0048 7B61 str r3, [r7, #20]
  10821. 6648 .LBB552:
  10822. 6649 .LBB553:
  10823. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10824. 6650 .loc 2 1123 4 discriminator 1
  10825. 6651 004a 7969 ldr r1, [r7, #20]
  10826. 6652 004c BA69 ldr r2, [r7, #24]
  10827. 6653 .syntax unified
  10828. 6654 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10829. 6655 004e 41E80023 strex r3, r2, [r1]
  10830. 6656 @ 0 "" 2
  10831. 6657 .thumb
  10832. 6658 .syntax unified
  10833. 6659 0052 3B61 str r3, [r7, #16]
  10834. 6660 .loc 2 1124 10 discriminator 1
  10835. 6661 0054 3B69 ldr r3, [r7, #16]
  10836. 6662 .LBE553:
  10837. 6663 .LBE552:
  10838. 6664 .loc 1 2791 3 discriminator 1
  10839. 6665 0056 002B cmp r3, #0
  10840. 6666 0058 E5D1 bne .L348
  10841. 6667 .LBE549:
  10842. 2792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10843. 2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  10844. 6668 .loc 1 2793 17
  10845. 6669 005a 7B68 ldr r3, [r7, #4]
  10846. 6670 005c 2022 movs r2, #32
  10847. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 188
  10848. 6671 005e 83F83D20 strb r2, [r3, #61]
  10849. 2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10850. 2795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  10851. 2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  10852. 6672 .loc 1 2796 3
  10853. 6673 0062 7B68 ldr r3, [r7, #4]
  10854. 6674 0064 0022 movs r2, #0
  10855. 6675 0066 83F83C20 strb r2, [r3, #60]
  10856. 2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10857. 2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  10858. 6676 .loc 1 2798 10
  10859. 6677 006a 0023 movs r3, #0
  10860. 6678 .L345:
  10861. 2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  10862. 6679 .loc 1 2799 1
  10863. 6680 006c 1846 mov r0, r3
  10864. 6681 006e 2437 adds r7, r7, #36
  10865. 6682 .LCFI198:
  10866. 6683 .cfi_def_cfa_offset 4
  10867. 6684 0070 BD46 mov sp, r7
  10868. 6685 .LCFI199:
  10869. 6686 .cfi_def_cfa_register 13
  10870. 6687 @ sp needed
  10871. 6688 0072 5DF8047B ldr r7, [sp], #4
  10872. 6689 .LCFI200:
  10873. 6690 .cfi_restore 7
  10874. 6691 .cfi_def_cfa_offset 0
  10875. 6692 0076 7047 bx lr
  10876. 6693 .cfi_endproc
  10877. 6694 .LFE271:
  10878. 6696 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
  10879. 6697 .align 1
  10880. 6698 .global HAL_MultiProcessor_ExitMuteMode
  10881. 6699 .syntax unified
  10882. 6700 .thumb
  10883. 6701 .thumb_func
  10884. 6703 HAL_MultiProcessor_ExitMuteMode:
  10885. 6704 .LFB272:
  10886. 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10887. 2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  10888. 2802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Exits the UART mute mode: wake up software.
  10889. 2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  10890. 2804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  10891. 2805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  10892. 2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  10893. 2807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
  10894. 2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  10895. 6705 .loc 1 2808 1
  10896. 6706 .cfi_startproc
  10897. 6707 @ args = 0, pretend = 0, frame = 32
  10898. 6708 @ frame_needed = 1, uses_anonymous_args = 0
  10899. 6709 @ link register save eliminated.
  10900. 6710 0000 80B4 push {r7}
  10901. 6711 .LCFI201:
  10902. 6712 .cfi_def_cfa_offset 4
  10903. 6713 .cfi_offset 7, -4
  10904. 6714 0002 89B0 sub sp, sp, #36
  10905. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 189
  10906. 6715 .LCFI202:
  10907. 6716 .cfi_def_cfa_offset 40
  10908. 6717 0004 00AF add r7, sp, #0
  10909. 6718 .LCFI203:
  10910. 6719 .cfi_def_cfa_register 7
  10911. 6720 0006 7860 str r0, [r7, #4]
  10912. 2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  10913. 2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
  10914. 2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10915. 2812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  10916. 2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  10917. 6721 .loc 1 2813 3
  10918. 6722 0008 7B68 ldr r3, [r7, #4]
  10919. 6723 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  10920. 6724 000e 012B cmp r3, #1
  10921. 6725 0010 01D1 bne .L350
  10922. 6726 .loc 1 2813 3 is_stmt 0 discriminator 1
  10923. 6727 0012 0223 movs r3, #2
  10924. 6728 0014 2AE0 b .L351
  10925. 6729 .L350:
  10926. 6730 .loc 1 2813 3 discriminator 2
  10927. 6731 0016 7B68 ldr r3, [r7, #4]
  10928. 6732 0018 0122 movs r2, #1
  10929. 6733 001a 83F83C20 strb r2, [r3, #60]
  10930. 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10931. 2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  10932. 6734 .loc 1 2815 17 is_stmt 1 discriminator 2
  10933. 6735 001e 7B68 ldr r3, [r7, #4]
  10934. 6736 0020 2422 movs r2, #36
  10935. 6737 0022 83F83D20 strb r2, [r3, #61]
  10936. 6738 .L354:
  10937. 6739 .LBB554:
  10938. 2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10939. 2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */
  10940. 2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RWU);
  10941. 6740 .loc 1 2818 3 discriminator 1
  10942. 6741 0026 7B68 ldr r3, [r7, #4]
  10943. 6742 0028 1B68 ldr r3, [r3]
  10944. 6743 002a 0C33 adds r3, r3, #12
  10945. 6744 002c FB60 str r3, [r7, #12]
  10946. 6745 .LBB555:
  10947. 6746 .LBB556:
  10948. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10949. 6747 .loc 2 1072 4 discriminator 1
  10950. 6748 002e FB68 ldr r3, [r7, #12]
  10951. 6749 .syntax unified
  10952. 6750 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10953. 6751 0030 53E8003F ldrex r3, [r3]
  10954. 6752 @ 0 "" 2
  10955. 6753 .thumb
  10956. 6754 .syntax unified
  10957. 6755 0034 BB60 str r3, [r7, #8]
  10958. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  10959. 6756 .loc 2 1073 10 discriminator 1
  10960. 6757 0036 BB68 ldr r3, [r7, #8]
  10961. 6758 .LBE556:
  10962. 6759 .LBE555:
  10963. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 190
  10964. 6760 .loc 1 2818 3 discriminator 1
  10965. 6761 0038 23F00203 bic r3, r3, #2
  10966. 6762 003c FB61 str r3, [r7, #28]
  10967. 6763 003e 7B68 ldr r3, [r7, #4]
  10968. 6764 0040 1B68 ldr r3, [r3]
  10969. 6765 0042 0C33 adds r3, r3, #12
  10970. 6766 0044 FA69 ldr r2, [r7, #28]
  10971. 6767 0046 BA61 str r2, [r7, #24]
  10972. 6768 0048 7B61 str r3, [r7, #20]
  10973. 6769 .LBB557:
  10974. 6770 .LBB558:
  10975. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  10976. 6771 .loc 2 1123 4 discriminator 1
  10977. 6772 004a 7969 ldr r1, [r7, #20]
  10978. 6773 004c BA69 ldr r2, [r7, #24]
  10979. 6774 .syntax unified
  10980. 6775 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  10981. 6776 004e 41E80023 strex r3, r2, [r1]
  10982. 6777 @ 0 "" 2
  10983. 6778 .thumb
  10984. 6779 .syntax unified
  10985. 6780 0052 3B61 str r3, [r7, #16]
  10986. 6781 .loc 2 1124 10 discriminator 1
  10987. 6782 0054 3B69 ldr r3, [r7, #16]
  10988. 6783 .LBE558:
  10989. 6784 .LBE557:
  10990. 6785 .loc 1 2818 3 discriminator 1
  10991. 6786 0056 002B cmp r3, #0
  10992. 6787 0058 E5D1 bne .L354
  10993. 6788 .LBE554:
  10994. 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  10995. 2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  10996. 6789 .loc 1 2820 17
  10997. 6790 005a 7B68 ldr r3, [r7, #4]
  10998. 6791 005c 2022 movs r2, #32
  10999. 6792 005e 83F83D20 strb r2, [r3, #61]
  11000. 2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11001. 2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  11002. 2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  11003. 6793 .loc 1 2823 3
  11004. 6794 0062 7B68 ldr r3, [r7, #4]
  11005. 6795 0064 0022 movs r2, #0
  11006. 6796 0066 83F83C20 strb r2, [r3, #60]
  11007. 2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11008. 2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  11009. 6797 .loc 1 2825 10
  11010. 6798 006a 0023 movs r3, #0
  11011. 6799 .L351:
  11012. 2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11013. 6800 .loc 1 2826 1
  11014. 6801 006c 1846 mov r0, r3
  11015. 6802 006e 2437 adds r7, r7, #36
  11016. 6803 .LCFI204:
  11017. 6804 .cfi_def_cfa_offset 4
  11018. 6805 0070 BD46 mov sp, r7
  11019. 6806 .LCFI205:
  11020. 6807 .cfi_def_cfa_register 13
  11021. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 191
  11022. 6808 @ sp needed
  11023. 6809 0072 5DF8047B ldr r7, [sp], #4
  11024. 6810 .LCFI206:
  11025. 6811 .cfi_restore 7
  11026. 6812 .cfi_def_cfa_offset 0
  11027. 6813 0076 7047 bx lr
  11028. 6814 .cfi_endproc
  11029. 6815 .LFE272:
  11030. 6817 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
  11031. 6818 .align 1
  11032. 6819 .global HAL_HalfDuplex_EnableTransmitter
  11033. 6820 .syntax unified
  11034. 6821 .thumb
  11035. 6822 .thumb_func
  11036. 6824 HAL_HalfDuplex_EnableTransmitter:
  11037. 6825 .LFB273:
  11038. 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11039. 2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11040. 2829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART transmitter and disables the UART receiver.
  11041. 2830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  11042. 2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  11043. 2832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  11044. 2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11045. 2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
  11046. 2835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11047. 6826 .loc 1 2835 1
  11048. 6827 .cfi_startproc
  11049. 6828 @ args = 0, pretend = 0, frame = 16
  11050. 6829 @ frame_needed = 1, uses_anonymous_args = 0
  11051. 6830 @ link register save eliminated.
  11052. 6831 0000 80B4 push {r7}
  11053. 6832 .LCFI207:
  11054. 6833 .cfi_def_cfa_offset 4
  11055. 6834 .cfi_offset 7, -4
  11056. 6835 0002 85B0 sub sp, sp, #20
  11057. 6836 .LCFI208:
  11058. 6837 .cfi_def_cfa_offset 24
  11059. 6838 0004 00AF add r7, sp, #0
  11060. 6839 .LCFI209:
  11061. 6840 .cfi_def_cfa_register 7
  11062. 6841 0006 7860 str r0, [r7, #4]
  11063. 2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
  11064. 6842 .loc 1 2836 12
  11065. 6843 0008 0023 movs r3, #0
  11066. 6844 000a FB60 str r3, [r7, #12]
  11067. 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11068. 2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  11069. 2839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  11070. 6845 .loc 1 2839 3
  11071. 6846 000c 7B68 ldr r3, [r7, #4]
  11072. 6847 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  11073. 6848 0012 012B cmp r3, #1
  11074. 6849 0014 01D1 bne .L356
  11075. 6850 .loc 1 2839 3 is_stmt 0 discriminator 1
  11076. 6851 0016 0223 movs r3, #2
  11077. 6852 0018 20E0 b .L357
  11078. 6853 .L356:
  11079. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 192
  11080. 6854 .loc 1 2839 3 discriminator 2
  11081. 6855 001a 7B68 ldr r3, [r7, #4]
  11082. 6856 001c 0122 movs r2, #1
  11083. 6857 001e 83F83C20 strb r2, [r3, #60]
  11084. 2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11085. 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  11086. 6858 .loc 1 2841 17 is_stmt 1 discriminator 2
  11087. 6859 0022 7B68 ldr r3, [r7, #4]
  11088. 6860 0024 2422 movs r2, #36
  11089. 6861 0026 83F83D20 strb r2, [r3, #61]
  11090. 2842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11091. 2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
  11092. 2844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
  11093. 6862 .loc 1 2844 17 discriminator 2
  11094. 6863 002a 7B68 ldr r3, [r7, #4]
  11095. 6864 002c 1B68 ldr r3, [r3]
  11096. 6865 .loc 1 2844 10 discriminator 2
  11097. 6866 002e DB68 ldr r3, [r3, #12]
  11098. 6867 0030 FB60 str r3, [r7, #12]
  11099. 2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11100. 2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
  11101. 2847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
  11102. 6868 .loc 1 2847 10 discriminator 2
  11103. 6869 0032 FB68 ldr r3, [r7, #12]
  11104. 6870 0034 23F00C03 bic r3, r3, #12
  11105. 6871 0038 FB60 str r3, [r7, #12]
  11106. 2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11107. 2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
  11108. 2850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_TE;
  11109. 6872 .loc 1 2850 10 discriminator 2
  11110. 6873 003a FB68 ldr r3, [r7, #12]
  11111. 6874 003c 43F00803 orr r3, r3, #8
  11112. 6875 0040 FB60 str r3, [r7, #12]
  11113. 2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11114. 2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
  11115. 2853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
  11116. 6876 .loc 1 2853 3 discriminator 2
  11117. 6877 0042 7B68 ldr r3, [r7, #4]
  11118. 6878 0044 1B68 ldr r3, [r3]
  11119. 6879 0046 FA68 ldr r2, [r7, #12]
  11120. 6880 0048 DA60 str r2, [r3, #12]
  11121. 2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11122. 2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  11123. 6881 .loc 1 2855 17 discriminator 2
  11124. 6882 004a 7B68 ldr r3, [r7, #4]
  11125. 6883 004c 2022 movs r2, #32
  11126. 6884 004e 83F83D20 strb r2, [r3, #61]
  11127. 2856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11128. 2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  11129. 2858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  11130. 6885 .loc 1 2858 3 discriminator 2
  11131. 6886 0052 7B68 ldr r3, [r7, #4]
  11132. 6887 0054 0022 movs r2, #0
  11133. 6888 0056 83F83C20 strb r2, [r3, #60]
  11134. 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11135. 2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  11136. 6889 .loc 1 2860 10 discriminator 2
  11137. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 193
  11138. 6890 005a 0023 movs r3, #0
  11139. 6891 .L357:
  11140. 2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11141. 6892 .loc 1 2861 1
  11142. 6893 005c 1846 mov r0, r3
  11143. 6894 005e 1437 adds r7, r7, #20
  11144. 6895 .LCFI210:
  11145. 6896 .cfi_def_cfa_offset 4
  11146. 6897 0060 BD46 mov sp, r7
  11147. 6898 .LCFI211:
  11148. 6899 .cfi_def_cfa_register 13
  11149. 6900 @ sp needed
  11150. 6901 0062 5DF8047B ldr r7, [sp], #4
  11151. 6902 .LCFI212:
  11152. 6903 .cfi_restore 7
  11153. 6904 .cfi_def_cfa_offset 0
  11154. 6905 0066 7047 bx lr
  11155. 6906 .cfi_endproc
  11156. 6907 .LFE273:
  11157. 6909 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
  11158. 6910 .align 1
  11159. 6911 .global HAL_HalfDuplex_EnableReceiver
  11160. 6912 .syntax unified
  11161. 6913 .thumb
  11162. 6914 .thumb_func
  11163. 6916 HAL_HalfDuplex_EnableReceiver:
  11164. 6917 .LFB274:
  11165. 2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11166. 2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11167. 2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART receiver and disables the UART transmitter.
  11168. 2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  11169. 2866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  11170. 2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  11171. 2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11172. 2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
  11173. 2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11174. 6918 .loc 1 2870 1
  11175. 6919 .cfi_startproc
  11176. 6920 @ args = 0, pretend = 0, frame = 16
  11177. 6921 @ frame_needed = 1, uses_anonymous_args = 0
  11178. 6922 @ link register save eliminated.
  11179. 6923 0000 80B4 push {r7}
  11180. 6924 .LCFI213:
  11181. 6925 .cfi_def_cfa_offset 4
  11182. 6926 .cfi_offset 7, -4
  11183. 6927 0002 85B0 sub sp, sp, #20
  11184. 6928 .LCFI214:
  11185. 6929 .cfi_def_cfa_offset 24
  11186. 6930 0004 00AF add r7, sp, #0
  11187. 6931 .LCFI215:
  11188. 6932 .cfi_def_cfa_register 7
  11189. 6933 0006 7860 str r0, [r7, #4]
  11190. 2871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
  11191. 6934 .loc 1 2871 12
  11192. 6935 0008 0023 movs r3, #0
  11193. 6936 000a FB60 str r3, [r7, #12]
  11194. 2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11195. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 194
  11196. 2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
  11197. 2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
  11198. 6937 .loc 1 2874 3
  11199. 6938 000c 7B68 ldr r3, [r7, #4]
  11200. 6939 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
  11201. 6940 0012 012B cmp r3, #1
  11202. 6941 0014 01D1 bne .L359
  11203. 6942 .loc 1 2874 3 is_stmt 0 discriminator 1
  11204. 6943 0016 0223 movs r3, #2
  11205. 6944 0018 20E0 b .L360
  11206. 6945 .L359:
  11207. 6946 .loc 1 2874 3 discriminator 2
  11208. 6947 001a 7B68 ldr r3, [r7, #4]
  11209. 6948 001c 0122 movs r2, #1
  11210. 6949 001e 83F83C20 strb r2, [r3, #60]
  11211. 2875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11212. 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
  11213. 6950 .loc 1 2876 17 is_stmt 1 discriminator 2
  11214. 6951 0022 7B68 ldr r3, [r7, #4]
  11215. 6952 0024 2422 movs r2, #36
  11216. 6953 0026 83F83D20 strb r2, [r3, #61]
  11217. 2877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11218. 2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
  11219. 2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
  11220. 6954 .loc 1 2879 17 discriminator 2
  11221. 6955 002a 7B68 ldr r3, [r7, #4]
  11222. 6956 002c 1B68 ldr r3, [r3]
  11223. 6957 .loc 1 2879 10 discriminator 2
  11224. 6958 002e DB68 ldr r3, [r3, #12]
  11225. 6959 0030 FB60 str r3, [r7, #12]
  11226. 2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11227. 2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
  11228. 2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
  11229. 6960 .loc 1 2882 10 discriminator 2
  11230. 6961 0032 FB68 ldr r3, [r7, #12]
  11231. 6962 0034 23F00C03 bic r3, r3, #12
  11232. 6963 0038 FB60 str r3, [r7, #12]
  11233. 2883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11234. 2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
  11235. 2885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_RE;
  11236. 6964 .loc 1 2885 10 discriminator 2
  11237. 6965 003a FB68 ldr r3, [r7, #12]
  11238. 6966 003c 43F00403 orr r3, r3, #4
  11239. 6967 0040 FB60 str r3, [r7, #12]
  11240. 2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11241. 2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
  11242. 2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
  11243. 6968 .loc 1 2888 3 discriminator 2
  11244. 6969 0042 7B68 ldr r3, [r7, #4]
  11245. 6970 0044 1B68 ldr r3, [r3]
  11246. 6971 0046 FA68 ldr r2, [r7, #12]
  11247. 6972 0048 DA60 str r2, [r3, #12]
  11248. 2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11249. 2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  11250. 6973 .loc 1 2890 17 discriminator 2
  11251. 6974 004a 7B68 ldr r3, [r7, #4]
  11252. 6975 004c 2022 movs r2, #32
  11253. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 195
  11254. 6976 004e 83F83D20 strb r2, [r3, #61]
  11255. 2891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11256. 2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  11257. 2893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  11258. 6977 .loc 1 2893 3 discriminator 2
  11259. 6978 0052 7B68 ldr r3, [r7, #4]
  11260. 6979 0054 0022 movs r2, #0
  11261. 6980 0056 83F83C20 strb r2, [r3, #60]
  11262. 2894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11263. 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  11264. 6981 .loc 1 2895 10 discriminator 2
  11265. 6982 005a 0023 movs r3, #0
  11266. 6983 .L360:
  11267. 2896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11268. 6984 .loc 1 2896 1
  11269. 6985 005c 1846 mov r0, r3
  11270. 6986 005e 1437 adds r7, r7, #20
  11271. 6987 .LCFI216:
  11272. 6988 .cfi_def_cfa_offset 4
  11273. 6989 0060 BD46 mov sp, r7
  11274. 6990 .LCFI217:
  11275. 6991 .cfi_def_cfa_register 13
  11276. 6992 @ sp needed
  11277. 6993 0062 5DF8047B ldr r7, [sp], #4
  11278. 6994 .LCFI218:
  11279. 6995 .cfi_restore 7
  11280. 6996 .cfi_def_cfa_offset 0
  11281. 6997 0066 7047 bx lr
  11282. 6998 .cfi_endproc
  11283. 6999 .LFE274:
  11284. 7001 .section .text.HAL_UART_GetState,"ax",%progbits
  11285. 7002 .align 1
  11286. 7003 .global HAL_UART_GetState
  11287. 7004 .syntax unified
  11288. 7005 .thumb
  11289. 7006 .thumb_func
  11290. 7008 HAL_UART_GetState:
  11291. 7009 .LFB275:
  11292. 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11293. 2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11294. 2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
  11295. 2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11296. 2901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11297. 2902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Errors functions
  11298. 2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART State and Errors functions
  11299. 2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
  11300. 2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
  11301. 2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
  11302. 2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral State and Errors functions #####
  11303. 2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
  11304. 2909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
  11305. 2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to return the State of
  11306. 2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART communication process, return Peripheral Errors occurred during communication
  11307. 2912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** process
  11308. 2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetState() API can be helpful to check in run-time the state of the UART peripheral
  11309. 2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetError() check in run-time errors that could be occurred during communication.
  11310. 2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11311. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 196
  11312. 2916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
  11313. 2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  11314. 2918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11315. 2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11316. 2920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11317. 2921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Returns the UART state.
  11318. 2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  11319. 2923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  11320. 2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL state
  11321. 2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11322. 2926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
  11323. 2927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11324. 7010 .loc 1 2927 1
  11325. 7011 .cfi_startproc
  11326. 7012 @ args = 0, pretend = 0, frame = 16
  11327. 7013 @ frame_needed = 1, uses_anonymous_args = 0
  11328. 7014 @ link register save eliminated.
  11329. 7015 0000 80B4 push {r7}
  11330. 7016 .LCFI219:
  11331. 7017 .cfi_def_cfa_offset 4
  11332. 7018 .cfi_offset 7, -4
  11333. 7019 0002 85B0 sub sp, sp, #20
  11334. 7020 .LCFI220:
  11335. 7021 .cfi_def_cfa_offset 24
  11336. 7022 0004 00AF add r7, sp, #0
  11337. 7023 .LCFI221:
  11338. 7024 .cfi_def_cfa_register 7
  11339. 7025 0006 7860 str r0, [r7, #4]
  11340. 2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
  11341. 7026 .loc 1 2928 12
  11342. 7027 0008 0023 movs r3, #0
  11343. 7028 000a FB60 str r3, [r7, #12]
  11344. 7029 .loc 1 2928 27
  11345. 7030 000c 0023 movs r3, #0
  11346. 7031 000e BB60 str r3, [r7, #8]
  11347. 2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState;
  11348. 7032 .loc 1 2929 16
  11349. 7033 0010 7B68 ldr r3, [r7, #4]
  11350. 7034 0012 93F83D30 ldrb r3, [r3, #61]
  11351. 7035 0016 DBB2 uxtb r3, r3
  11352. 7036 .loc 1 2929 9
  11353. 7037 0018 FB60 str r3, [r7, #12]
  11354. 2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
  11355. 7038 .loc 1 2930 16
  11356. 7039 001a 7B68 ldr r3, [r7, #4]
  11357. 7040 001c 93F83E30 ldrb r3, [r3, #62]
  11358. 7041 0020 DBB2 uxtb r3, r3
  11359. 7042 .loc 1 2930 9
  11360. 7043 0022 BB60 str r3, [r7, #8]
  11361. 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11362. 2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
  11363. 7044 .loc 1 2932 10
  11364. 7045 0024 FB68 ldr r3, [r7, #12]
  11365. 7046 0026 DAB2 uxtb r2, r3
  11366. 7047 0028 BB68 ldr r3, [r7, #8]
  11367. 7048 002a DBB2 uxtb r3, r3
  11368. 7049 002c 1343 orrs r3, r3, r2
  11369. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 197
  11370. 7050 002e DBB2 uxtb r3, r3
  11371. 2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11372. 7051 .loc 1 2933 1
  11373. 7052 0030 1846 mov r0, r3
  11374. 7053 0032 1437 adds r7, r7, #20
  11375. 7054 .LCFI222:
  11376. 7055 .cfi_def_cfa_offset 4
  11377. 7056 0034 BD46 mov sp, r7
  11378. 7057 .LCFI223:
  11379. 7058 .cfi_def_cfa_register 13
  11380. 7059 @ sp needed
  11381. 7060 0036 5DF8047B ldr r7, [sp], #4
  11382. 7061 .LCFI224:
  11383. 7062 .cfi_restore 7
  11384. 7063 .cfi_def_cfa_offset 0
  11385. 7064 003a 7047 bx lr
  11386. 7065 .cfi_endproc
  11387. 7066 .LFE275:
  11388. 7068 .section .text.HAL_UART_GetError,"ax",%progbits
  11389. 7069 .align 1
  11390. 7070 .global HAL_UART_GetError
  11391. 7071 .syntax unified
  11392. 7072 .thumb
  11393. 7073 .thumb_func
  11394. 7075 HAL_UART_GetError:
  11395. 7076 .LFB276:
  11396. 2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11397. 2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11398. 2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Return the UART error code
  11399. 2937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  11400. 2938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART.
  11401. 2939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval UART Error Code
  11402. 2940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11403. 2941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
  11404. 2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11405. 7077 .loc 1 2942 1
  11406. 7078 .cfi_startproc
  11407. 7079 @ args = 0, pretend = 0, frame = 8
  11408. 7080 @ frame_needed = 1, uses_anonymous_args = 0
  11409. 7081 @ link register save eliminated.
  11410. 7082 0000 80B4 push {r7}
  11411. 7083 .LCFI225:
  11412. 7084 .cfi_def_cfa_offset 4
  11413. 7085 .cfi_offset 7, -4
  11414. 7086 0002 83B0 sub sp, sp, #12
  11415. 7087 .LCFI226:
  11416. 7088 .cfi_def_cfa_offset 16
  11417. 7089 0004 00AF add r7, sp, #0
  11418. 7090 .LCFI227:
  11419. 7091 .cfi_def_cfa_register 7
  11420. 7092 0006 7860 str r0, [r7, #4]
  11421. 2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
  11422. 7093 .loc 1 2943 15
  11423. 7094 0008 7B68 ldr r3, [r7, #4]
  11424. 7095 000a 1B6C ldr r3, [r3, #64]
  11425. 2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11426. 7096 .loc 1 2944 1
  11427. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 198
  11428. 7097 000c 1846 mov r0, r3
  11429. 7098 000e 0C37 adds r7, r7, #12
  11430. 7099 .LCFI228:
  11431. 7100 .cfi_def_cfa_offset 4
  11432. 7101 0010 BD46 mov sp, r7
  11433. 7102 .LCFI229:
  11434. 7103 .cfi_def_cfa_register 13
  11435. 7104 @ sp needed
  11436. 7105 0012 5DF8047B ldr r7, [sp], #4
  11437. 7106 .LCFI230:
  11438. 7107 .cfi_restore 7
  11439. 7108 .cfi_def_cfa_offset 0
  11440. 7109 0016 7047 bx lr
  11441. 7110 .cfi_endproc
  11442. 7111 .LFE276:
  11443. 7113 .section .text.UART_DMATransmitCplt,"ax",%progbits
  11444. 7114 .align 1
  11445. 7115 .syntax unified
  11446. 7116 .thumb
  11447. 7117 .thumb_func
  11448. 7119 UART_DMATransmitCplt:
  11449. 7120 .LFB277:
  11450. 2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11451. 2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11452. 2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
  11453. 2948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11454. 2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11455. 2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11456. 2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
  11457. 2952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11458. 2953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11459. 2954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
  11460. 2955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
  11461. 2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11462. 2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11463. 2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11464. 2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
  11465. 2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  11466. 2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval none
  11467. 2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11468. 2963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  11469. 2964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
  11470. 2965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11471. 2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the UART Callback settings */
  11472. 2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
  11473. 2968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
  11474. 2969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
  11475. 2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
  11476. 2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
  11477. 2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
  11478. 2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
  11479. 2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
  11480. 2975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
  11481. 2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11482. 2977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11483. 2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  11484. 2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11485. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 199
  11486. 2980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11487. 2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
  11488. 2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  11489. 2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  11490. 2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  11491. 2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11492. 2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
  11493. 2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11494. 7121 .loc 1 2987 1
  11495. 7122 .cfi_startproc
  11496. 7123 @ args = 0, pretend = 0, frame = 64
  11497. 7124 @ frame_needed = 1, uses_anonymous_args = 0
  11498. 7125 0000 80B5 push {r7, lr}
  11499. 7126 .LCFI231:
  11500. 7127 .cfi_def_cfa_offset 8
  11501. 7128 .cfi_offset 7, -8
  11502. 7129 .cfi_offset 14, -4
  11503. 7130 0002 90B0 sub sp, sp, #64
  11504. 7131 .LCFI232:
  11505. 7132 .cfi_def_cfa_offset 72
  11506. 7133 0004 00AF add r7, sp, #0
  11507. 7134 .LCFI233:
  11508. 7135 .cfi_def_cfa_register 7
  11509. 7136 0006 7860 str r0, [r7, #4]
  11510. 2988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  11511. 7137 .loc 1 2988 23
  11512. 7138 0008 7B68 ldr r3, [r7, #4]
  11513. 7139 000a 9B6B ldr r3, [r3, #56]
  11514. 7140 000c FB63 str r3, [r7, #60]
  11515. 2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
  11516. 2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
  11517. 7141 .loc 1 2990 12
  11518. 7142 000e 7B68 ldr r3, [r7, #4]
  11519. 7143 0010 1B68 ldr r3, [r3]
  11520. 7144 .loc 1 2990 22
  11521. 7145 0012 1B68 ldr r3, [r3]
  11522. 7146 .loc 1 2990 27
  11523. 7147 0014 03F48073 and r3, r3, #256
  11524. 7148 .loc 1 2990 6
  11525. 7149 0018 002B cmp r3, #0
  11526. 7150 001a 37D1 bne .L366
  11527. 2991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11528. 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  11529. 7151 .loc 1 2992 24
  11530. 7152 001c FB6B ldr r3, [r7, #60]
  11531. 7153 001e 0022 movs r2, #0
  11532. 7154 0020 DA84 strh r2, [r3, #38] @ movhi
  11533. 7155 .L369:
  11534. 7156 .LBB559:
  11535. 2993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11536. 2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by setting the DMAT bit
  11537. 2995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
  11538. 2996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
  11539. 7157 .loc 1 2996 5 discriminator 1
  11540. 7158 0022 FB6B ldr r3, [r7, #60]
  11541. 7159 0024 1B68 ldr r3, [r3]
  11542. 7160 0026 1433 adds r3, r3, #20
  11543. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 200
  11544. 7161 0028 7B62 str r3, [r7, #36]
  11545. 7162 .LBB560:
  11546. 7163 .LBB561:
  11547. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11548. 7164 .loc 2 1072 4 discriminator 1
  11549. 7165 002a 7B6A ldr r3, [r7, #36]
  11550. 7166 .syntax unified
  11551. 7167 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11552. 7168 002c 53E8003F ldrex r3, [r3]
  11553. 7169 @ 0 "" 2
  11554. 7170 .thumb
  11555. 7171 .syntax unified
  11556. 7172 0030 3B62 str r3, [r7, #32]
  11557. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11558. 7173 .loc 2 1073 10 discriminator 1
  11559. 7174 0032 3B6A ldr r3, [r7, #32]
  11560. 7175 .LBE561:
  11561. 7176 .LBE560:
  11562. 7177 .loc 1 2996 5 discriminator 1
  11563. 7178 0034 23F08003 bic r3, r3, #128
  11564. 7179 0038 BB63 str r3, [r7, #56]
  11565. 7180 003a FB6B ldr r3, [r7, #60]
  11566. 7181 003c 1B68 ldr r3, [r3]
  11567. 7182 003e 1433 adds r3, r3, #20
  11568. 7183 0040 BA6B ldr r2, [r7, #56]
  11569. 7184 0042 3A63 str r2, [r7, #48]
  11570. 7185 0044 FB62 str r3, [r7, #44]
  11571. 7186 .LBB562:
  11572. 7187 .LBB563:
  11573. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11574. 7188 .loc 2 1123 4 discriminator 1
  11575. 7189 0046 F96A ldr r1, [r7, #44]
  11576. 7190 0048 3A6B ldr r2, [r7, #48]
  11577. 7191 .syntax unified
  11578. 7192 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11579. 7193 004a 41E80023 strex r3, r2, [r1]
  11580. 7194 @ 0 "" 2
  11581. 7195 .thumb
  11582. 7196 .syntax unified
  11583. 7197 004e BB62 str r3, [r7, #40]
  11584. 7198 .loc 2 1124 10 discriminator 1
  11585. 7199 0050 BB6A ldr r3, [r7, #40]
  11586. 7200 .LBE563:
  11587. 7201 .LBE562:
  11588. 7202 .loc 1 2996 5 discriminator 1
  11589. 7203 0052 002B cmp r3, #0
  11590. 7204 0054 E5D1 bne .L369
  11591. 7205 .L372:
  11592. 7206 .LBE559:
  11593. 7207 .LBB564:
  11594. 2997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11595. 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
  11596. 2999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
  11597. 7208 .loc 1 2999 5 discriminator 1
  11598. 7209 0056 FB6B ldr r3, [r7, #60]
  11599. 7210 0058 1B68 ldr r3, [r3]
  11600. 7211 005a 0C33 adds r3, r3, #12
  11601. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 201
  11602. 7212 005c 3B61 str r3, [r7, #16]
  11603. 7213 .LBB565:
  11604. 7214 .LBB566:
  11605. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11606. 7215 .loc 2 1072 4 discriminator 1
  11607. 7216 005e 3B69 ldr r3, [r7, #16]
  11608. 7217 .syntax unified
  11609. 7218 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11610. 7219 0060 53E8003F ldrex r3, [r3]
  11611. 7220 @ 0 "" 2
  11612. 7221 .thumb
  11613. 7222 .syntax unified
  11614. 7223 0064 FB60 str r3, [r7, #12]
  11615. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11616. 7224 .loc 2 1073 10 discriminator 1
  11617. 7225 0066 FB68 ldr r3, [r7, #12]
  11618. 7226 .LBE566:
  11619. 7227 .LBE565:
  11620. 7228 .loc 1 2999 5 discriminator 1
  11621. 7229 0068 43F04003 orr r3, r3, #64
  11622. 7230 006c 7B63 str r3, [r7, #52]
  11623. 7231 006e FB6B ldr r3, [r7, #60]
  11624. 7232 0070 1B68 ldr r3, [r3]
  11625. 7233 0072 0C33 adds r3, r3, #12
  11626. 7234 0074 7A6B ldr r2, [r7, #52]
  11627. 7235 0076 FA61 str r2, [r7, #28]
  11628. 7236 0078 BB61 str r3, [r7, #24]
  11629. 7237 .LBB567:
  11630. 7238 .LBB568:
  11631. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11632. 7239 .loc 2 1123 4 discriminator 1
  11633. 7240 007a B969 ldr r1, [r7, #24]
  11634. 7241 007c FA69 ldr r2, [r7, #28]
  11635. 7242 .syntax unified
  11636. 7243 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11637. 7244 007e 41E80023 strex r3, r2, [r1]
  11638. 7245 @ 0 "" 2
  11639. 7246 .thumb
  11640. 7247 .syntax unified
  11641. 7248 0082 7B61 str r3, [r7, #20]
  11642. 7249 .loc 2 1124 10 discriminator 1
  11643. 7250 0084 7B69 ldr r3, [r7, #20]
  11644. 7251 .LBE568:
  11645. 7252 .LBE567:
  11646. 7253 .loc 1 2999 5 discriminator 1
  11647. 7254 0086 002B cmp r3, #0
  11648. 7255 0088 E5D1 bne .L372
  11649. 7256 .LBE564:
  11650. 3000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11651. 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11652. 3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Circular mode */
  11653. 3003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  11654. 3004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11655. 3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  11656. 3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
  11657. 3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
  11658. 3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  11659. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 202
  11660. 3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
  11661. 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
  11662. 3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  11663. 3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11664. 3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11665. 7257 .loc 1 3013 1
  11666. 7258 008a 02E0 b .L374
  11667. 7259 .L366:
  11668. 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  11669. 7260 .loc 1 3010 5
  11670. 7261 008c F86B ldr r0, [r7, #60]
  11671. 7262 008e FFF7FEFF bl HAL_UART_TxCpltCallback
  11672. 7263 .L374:
  11673. 7264 .loc 1 3013 1
  11674. 7265 0092 00BF nop
  11675. 7266 0094 4037 adds r7, r7, #64
  11676. 7267 .LCFI234:
  11677. 7268 .cfi_def_cfa_offset 8
  11678. 7269 0096 BD46 mov sp, r7
  11679. 7270 .LCFI235:
  11680. 7271 .cfi_def_cfa_register 13
  11681. 7272 @ sp needed
  11682. 7273 0098 80BD pop {r7, pc}
  11683. 7274 .cfi_endproc
  11684. 7275 .LFE277:
  11685. 7277 .section .text.UART_DMATxHalfCplt,"ax",%progbits
  11686. 7278 .align 1
  11687. 7279 .syntax unified
  11688. 7280 .thumb
  11689. 7281 .thumb_func
  11690. 7283 UART_DMATxHalfCplt:
  11691. 7284 .LFB278:
  11692. 3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11693. 3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11694. 3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback
  11695. 3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  11696. 3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  11697. 3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  11698. 3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11699. 3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
  11700. 3022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11701. 7285 .loc 1 3022 1
  11702. 7286 .cfi_startproc
  11703. 7287 @ args = 0, pretend = 0, frame = 16
  11704. 7288 @ frame_needed = 1, uses_anonymous_args = 0
  11705. 7289 0000 80B5 push {r7, lr}
  11706. 7290 .LCFI236:
  11707. 7291 .cfi_def_cfa_offset 8
  11708. 7292 .cfi_offset 7, -8
  11709. 7293 .cfi_offset 14, -4
  11710. 7294 0002 84B0 sub sp, sp, #16
  11711. 7295 .LCFI237:
  11712. 7296 .cfi_def_cfa_offset 24
  11713. 7297 0004 00AF add r7, sp, #0
  11714. 7298 .LCFI238:
  11715. 7299 .cfi_def_cfa_register 7
  11716. 7300 0006 7860 str r0, [r7, #4]
  11717. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 203
  11718. 3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  11719. 7301 .loc 1 3023 23
  11720. 7302 0008 7B68 ldr r3, [r7, #4]
  11721. 7303 000a 9B6B ldr r3, [r3, #56]
  11722. 7304 000c FB60 str r3, [r7, #12]
  11723. 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11724. 3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  11725. 3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
  11726. 3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
  11727. 3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  11728. 3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
  11729. 3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
  11730. 7305 .loc 1 3030 3
  11731. 7306 000e F868 ldr r0, [r7, #12]
  11732. 7307 0010 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
  11733. 3031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  11734. 3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  11735. 7308 .loc 1 3032 1
  11736. 7309 0014 00BF nop
  11737. 7310 0016 1037 adds r7, r7, #16
  11738. 7311 .LCFI239:
  11739. 7312 .cfi_def_cfa_offset 8
  11740. 7313 0018 BD46 mov sp, r7
  11741. 7314 .LCFI240:
  11742. 7315 .cfi_def_cfa_register 13
  11743. 7316 @ sp needed
  11744. 7317 001a 80BD pop {r7, pc}
  11745. 7318 .cfi_endproc
  11746. 7319 .LFE278:
  11747. 7321 .section .text.UART_DMAReceiveCplt,"ax",%progbits
  11748. 7322 .align 1
  11749. 7323 .syntax unified
  11750. 7324 .thumb
  11751. 7325 .thumb_func
  11752. 7327 UART_DMAReceiveCplt:
  11753. 7328 .LFB279:
  11754. 3033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11755. 3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  11756. 3035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
  11757. 3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  11758. 3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  11759. 3038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  11760. 3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  11761. 3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
  11762. 3041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11763. 7329 .loc 1 3041 1
  11764. 7330 .cfi_startproc
  11765. 7331 @ args = 0, pretend = 0, frame = 112
  11766. 7332 @ frame_needed = 1, uses_anonymous_args = 0
  11767. 7333 0000 80B5 push {r7, lr}
  11768. 7334 .LCFI241:
  11769. 7335 .cfi_def_cfa_offset 8
  11770. 7336 .cfi_offset 7, -8
  11771. 7337 .cfi_offset 14, -4
  11772. 7338 0002 9CB0 sub sp, sp, #112
  11773. 7339 .LCFI242:
  11774. 7340 .cfi_def_cfa_offset 120
  11775. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 204
  11776. 7341 0004 00AF add r7, sp, #0
  11777. 7342 .LCFI243:
  11778. 7343 .cfi_def_cfa_register 7
  11779. 7344 0006 7860 str r0, [r7, #4]
  11780. 3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  11781. 7345 .loc 1 3042 23
  11782. 7346 0008 7B68 ldr r3, [r7, #4]
  11783. 7347 000a 9B6B ldr r3, [r3, #56]
  11784. 7348 000c FB66 str r3, [r7, #108]
  11785. 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
  11786. 3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
  11787. 7349 .loc 1 3044 12
  11788. 7350 000e 7B68 ldr r3, [r7, #4]
  11789. 7351 0010 1B68 ldr r3, [r3]
  11790. 7352 .loc 1 3044 22
  11791. 7353 0012 1B68 ldr r3, [r3]
  11792. 7354 .loc 1 3044 27
  11793. 7355 0014 03F48073 and r3, r3, #256
  11794. 7356 .loc 1 3044 6
  11795. 7357 0018 002B cmp r3, #0
  11796. 7358 001a 72D1 bne .L377
  11797. 3045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11798. 3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0U;
  11799. 7359 .loc 1 3046 24
  11800. 7360 001c FB6E ldr r3, [r7, #108]
  11801. 7361 001e 0022 movs r2, #0
  11802. 7362 0020 DA85 strh r2, [r3, #46] @ movhi
  11803. 7363 .L380:
  11804. 7364 .LBB569:
  11805. 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11806. 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  11807. 3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  11808. 7365 .loc 1 3049 5 discriminator 1
  11809. 7366 0022 FB6E ldr r3, [r7, #108]
  11810. 7367 0024 1B68 ldr r3, [r3]
  11811. 7368 0026 0C33 adds r3, r3, #12
  11812. 7369 0028 FB64 str r3, [r7, #76]
  11813. 7370 .LBB570:
  11814. 7371 .LBB571:
  11815. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11816. 7372 .loc 2 1072 4 discriminator 1
  11817. 7373 002a FB6C ldr r3, [r7, #76]
  11818. 7374 .syntax unified
  11819. 7375 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11820. 7376 002c 53E8003F ldrex r3, [r3]
  11821. 7377 @ 0 "" 2
  11822. 7378 .thumb
  11823. 7379 .syntax unified
  11824. 7380 0030 BB64 str r3, [r7, #72]
  11825. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11826. 7381 .loc 2 1073 10 discriminator 1
  11827. 7382 0032 BB6C ldr r3, [r7, #72]
  11828. 7383 .LBE571:
  11829. 7384 .LBE570:
  11830. 7385 .loc 1 3049 5 discriminator 1
  11831. 7386 0034 23F48073 bic r3, r3, #256
  11832. 7387 0038 BB66 str r3, [r7, #104]
  11833. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 205
  11834. 7388 003a FB6E ldr r3, [r7, #108]
  11835. 7389 003c 1B68 ldr r3, [r3]
  11836. 7390 003e 0C33 adds r3, r3, #12
  11837. 7391 0040 BA6E ldr r2, [r7, #104]
  11838. 7392 0042 BA65 str r2, [r7, #88]
  11839. 7393 0044 7B65 str r3, [r7, #84]
  11840. 7394 .LBB572:
  11841. 7395 .LBB573:
  11842. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11843. 7396 .loc 2 1123 4 discriminator 1
  11844. 7397 0046 796D ldr r1, [r7, #84]
  11845. 7398 0048 BA6D ldr r2, [r7, #88]
  11846. 7399 .syntax unified
  11847. 7400 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11848. 7401 004a 41E80023 strex r3, r2, [r1]
  11849. 7402 @ 0 "" 2
  11850. 7403 .thumb
  11851. 7404 .syntax unified
  11852. 7405 004e 3B65 str r3, [r7, #80]
  11853. 7406 .loc 2 1124 10 discriminator 1
  11854. 7407 0050 3B6D ldr r3, [r7, #80]
  11855. 7408 .LBE573:
  11856. 7409 .LBE572:
  11857. 7410 .loc 1 3049 5 discriminator 1
  11858. 7411 0052 002B cmp r3, #0
  11859. 7412 0054 E5D1 bne .L380
  11860. 7413 .L383:
  11861. 7414 .LBE569:
  11862. 7415 .LBB574:
  11863. 3050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  11864. 7416 .loc 1 3050 5 discriminator 1
  11865. 7417 0056 FB6E ldr r3, [r7, #108]
  11866. 7418 0058 1B68 ldr r3, [r3]
  11867. 7419 005a 1433 adds r3, r3, #20
  11868. 7420 005c BB63 str r3, [r7, #56]
  11869. 7421 .LBB575:
  11870. 7422 .LBB576:
  11871. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11872. 7423 .loc 2 1072 4 discriminator 1
  11873. 7424 005e BB6B ldr r3, [r7, #56]
  11874. 7425 .syntax unified
  11875. 7426 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11876. 7427 0060 53E8003F ldrex r3, [r3]
  11877. 7428 @ 0 "" 2
  11878. 7429 .thumb
  11879. 7430 .syntax unified
  11880. 7431 0064 7B63 str r3, [r7, #52]
  11881. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11882. 7432 .loc 2 1073 10 discriminator 1
  11883. 7433 0066 7B6B ldr r3, [r7, #52]
  11884. 7434 .LBE576:
  11885. 7435 .LBE575:
  11886. 7436 .loc 1 3050 5 discriminator 1
  11887. 7437 0068 23F00103 bic r3, r3, #1
  11888. 7438 006c 7B66 str r3, [r7, #100]
  11889. 7439 006e FB6E ldr r3, [r7, #108]
  11890. 7440 0070 1B68 ldr r3, [r3]
  11891. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 206
  11892. 7441 0072 1433 adds r3, r3, #20
  11893. 7442 0074 7A6E ldr r2, [r7, #100]
  11894. 7443 0076 7A64 str r2, [r7, #68]
  11895. 7444 0078 3B64 str r3, [r7, #64]
  11896. 7445 .LBB577:
  11897. 7446 .LBB578:
  11898. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11899. 7447 .loc 2 1123 4 discriminator 1
  11900. 7448 007a 396C ldr r1, [r7, #64]
  11901. 7449 007c 7A6C ldr r2, [r7, #68]
  11902. 7450 .syntax unified
  11903. 7451 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11904. 7452 007e 41E80023 strex r3, r2, [r1]
  11905. 7453 @ 0 "" 2
  11906. 7454 .thumb
  11907. 7455 .syntax unified
  11908. 7456 0082 FB63 str r3, [r7, #60]
  11909. 7457 .loc 2 1124 10 discriminator 1
  11910. 7458 0084 FB6B ldr r3, [r7, #60]
  11911. 7459 .LBE578:
  11912. 7460 .LBE577:
  11913. 7461 .loc 1 3050 5 discriminator 1
  11914. 7462 0086 002B cmp r3, #0
  11915. 7463 0088 E5D1 bne .L383
  11916. 7464 .L386:
  11917. 7465 .LBE574:
  11918. 7466 .LBB579:
  11919. 3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11920. 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by setting the DMAR bit
  11921. 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
  11922. 3054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  11923. 7467 .loc 1 3054 5 discriminator 1
  11924. 7468 008a FB6E ldr r3, [r7, #108]
  11925. 7469 008c 1B68 ldr r3, [r3]
  11926. 7470 008e 1433 adds r3, r3, #20
  11927. 7471 0090 7B62 str r3, [r7, #36]
  11928. 7472 .LBB580:
  11929. 7473 .LBB581:
  11930. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11931. 7474 .loc 2 1072 4 discriminator 1
  11932. 7475 0092 7B6A ldr r3, [r7, #36]
  11933. 7476 .syntax unified
  11934. 7477 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11935. 7478 0094 53E8003F ldrex r3, [r3]
  11936. 7479 @ 0 "" 2
  11937. 7480 .thumb
  11938. 7481 .syntax unified
  11939. 7482 0098 3B62 str r3, [r7, #32]
  11940. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  11941. 7483 .loc 2 1073 10 discriminator 1
  11942. 7484 009a 3B6A ldr r3, [r7, #32]
  11943. 7485 .LBE581:
  11944. 7486 .LBE580:
  11945. 7487 .loc 1 3054 5 discriminator 1
  11946. 7488 009c 23F04003 bic r3, r3, #64
  11947. 7489 00a0 3B66 str r3, [r7, #96]
  11948. 7490 00a2 FB6E ldr r3, [r7, #108]
  11949. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 207
  11950. 7491 00a4 1B68 ldr r3, [r3]
  11951. 7492 00a6 1433 adds r3, r3, #20
  11952. 7493 00a8 3A6E ldr r2, [r7, #96]
  11953. 7494 00aa 3A63 str r2, [r7, #48]
  11954. 7495 00ac FB62 str r3, [r7, #44]
  11955. 7496 .LBB582:
  11956. 7497 .LBB583:
  11957. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  11958. 7498 .loc 2 1123 4 discriminator 1
  11959. 7499 00ae F96A ldr r1, [r7, #44]
  11960. 7500 00b0 3A6B ldr r2, [r7, #48]
  11961. 7501 .syntax unified
  11962. 7502 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  11963. 7503 00b2 41E80023 strex r3, r2, [r1]
  11964. 7504 @ 0 "" 2
  11965. 7505 .thumb
  11966. 7506 .syntax unified
  11967. 7507 00b6 BB62 str r3, [r7, #40]
  11968. 7508 .loc 2 1124 10 discriminator 1
  11969. 7509 00b8 BB6A ldr r3, [r7, #40]
  11970. 7510 .LBE583:
  11971. 7511 .LBE582:
  11972. 7512 .loc 1 3054 5 discriminator 1
  11973. 7513 00ba 002B cmp r3, #0
  11974. 7514 00bc E5D1 bne .L386
  11975. 7515 .LBE579:
  11976. 3055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11977. 3056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  11978. 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  11979. 7516 .loc 1 3057 20
  11980. 7517 00be FB6E ldr r3, [r7, #108]
  11981. 7518 00c0 2022 movs r2, #32
  11982. 7519 00c2 83F83E20 strb r2, [r3, #62]
  11983. 3058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  11984. 3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
  11985. 3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  11986. 7520 .loc 1 3060 14
  11987. 7521 00c6 FB6E ldr r3, [r7, #108]
  11988. 7522 00c8 1B6B ldr r3, [r3, #48]
  11989. 7523 .loc 1 3060 8
  11990. 7524 00ca 012B cmp r3, #1
  11991. 7525 00cc 19D1 bne .L377
  11992. 7526 .L389:
  11993. 7527 .LBB584:
  11994. 3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  11995. 3062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  11996. 7528 .loc 1 3062 7 discriminator 1
  11997. 7529 00ce FB6E ldr r3, [r7, #108]
  11998. 7530 00d0 1B68 ldr r3, [r3]
  11999. 7531 00d2 0C33 adds r3, r3, #12
  12000. 7532 00d4 3B61 str r3, [r7, #16]
  12001. 7533 .LBB585:
  12002. 7534 .LBB586:
  12003. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12004. 7535 .loc 2 1072 4 discriminator 1
  12005. 7536 00d6 3B69 ldr r3, [r7, #16]
  12006. 7537 .syntax unified
  12007. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 208
  12008. 7538 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12009. 7539 00d8 53E8003F ldrex r3, [r3]
  12010. 7540 @ 0 "" 2
  12011. 7541 .thumb
  12012. 7542 .syntax unified
  12013. 7543 00dc FB60 str r3, [r7, #12]
  12014. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  12015. 7544 .loc 2 1073 10 discriminator 1
  12016. 7545 00de FB68 ldr r3, [r7, #12]
  12017. 7546 .LBE586:
  12018. 7547 .LBE585:
  12019. 7548 .loc 1 3062 7 discriminator 1
  12020. 7549 00e0 23F01003 bic r3, r3, #16
  12021. 7550 00e4 FB65 str r3, [r7, #92]
  12022. 7551 00e6 FB6E ldr r3, [r7, #108]
  12023. 7552 00e8 1B68 ldr r3, [r3]
  12024. 7553 00ea 0C33 adds r3, r3, #12
  12025. 7554 00ec FA6D ldr r2, [r7, #92]
  12026. 7555 00ee FA61 str r2, [r7, #28]
  12027. 7556 00f0 BB61 str r3, [r7, #24]
  12028. 7557 .LBB587:
  12029. 7558 .LBB588:
  12030. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12031. 7559 .loc 2 1123 4 discriminator 1
  12032. 7560 00f2 B969 ldr r1, [r7, #24]
  12033. 7561 00f4 FA69 ldr r2, [r7, #28]
  12034. 7562 .syntax unified
  12035. 7563 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12036. 7564 00f6 41E80023 strex r3, r2, [r1]
  12037. 7565 @ 0 "" 2
  12038. 7566 .thumb
  12039. 7567 .syntax unified
  12040. 7568 00fa 7B61 str r3, [r7, #20]
  12041. 7569 .loc 2 1124 10 discriminator 1
  12042. 7570 00fc 7B69 ldr r3, [r7, #20]
  12043. 7571 .LBE588:
  12044. 7572 .LBE587:
  12045. 7573 .loc 1 3062 7 discriminator 1
  12046. 7574 00fe 002B cmp r3, #0
  12047. 7575 0100 E5D1 bne .L389
  12048. 7576 .L377:
  12049. 7577 .LBE584:
  12050. 3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12051. 3064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12052. 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12053. 3066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
  12054. 3067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
  12055. 3068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  12056. 7578 .loc 1 3068 12
  12057. 7579 0102 FB6E ldr r3, [r7, #108]
  12058. 7580 0104 1B6B ldr r3, [r3, #48]
  12059. 7581 .loc 1 3068 6
  12060. 7582 0106 012B cmp r3, #1
  12061. 7583 0108 06D1 bne .L390
  12062. 3069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12063. 3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  12064. 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
  12065. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 209
  12066. 3072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
  12067. 3073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  12068. 3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  12069. 3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
  12070. 7584 .loc 1 3075 5
  12071. 7585 010a FB6E ldr r3, [r7, #108]
  12072. 7586 010c 9B8D ldrh r3, [r3, #44]
  12073. 7587 010e 1946 mov r1, r3
  12074. 7588 0110 F86E ldr r0, [r7, #108]
  12075. 7589 0112 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  12076. 3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  12077. 3077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12078. 3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  12079. 3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12080. 3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
  12081. 3081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  12082. 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
  12083. 3083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
  12084. 3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  12085. 3085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
  12086. 3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
  12087. 3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  12088. 3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12089. 3089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12090. 7590 .loc 1 3089 1
  12091. 7591 0116 02E0 b .L392
  12092. 7592 .L390:
  12093. 3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  12094. 7593 .loc 1 3086 5
  12095. 7594 0118 F86E ldr r0, [r7, #108]
  12096. 7595 011a FFF7FEFF bl HAL_UART_RxCpltCallback
  12097. 7596 .L392:
  12098. 7597 .loc 1 3089 1
  12099. 7598 011e 00BF nop
  12100. 7599 0120 7037 adds r7, r7, #112
  12101. 7600 .LCFI244:
  12102. 7601 .cfi_def_cfa_offset 8
  12103. 7602 0122 BD46 mov sp, r7
  12104. 7603 .LCFI245:
  12105. 7604 .cfi_def_cfa_register 13
  12106. 7605 @ sp needed
  12107. 7606 0124 80BD pop {r7, pc}
  12108. 7607 .cfi_endproc
  12109. 7608 .LFE279:
  12110. 7610 .section .text.UART_DMARxHalfCplt,"ax",%progbits
  12111. 7611 .align 1
  12112. 7612 .syntax unified
  12113. 7613 .thumb
  12114. 7614 .thumb_func
  12115. 7616 UART_DMARxHalfCplt:
  12116. 7617 .LFB280:
  12117. 3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12118. 3091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  12119. 3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback
  12120. 3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  12121. 3094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  12122. 3095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  12123. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 210
  12124. 3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  12125. 3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
  12126. 3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12127. 7618 .loc 1 3098 1
  12128. 7619 .cfi_startproc
  12129. 7620 @ args = 0, pretend = 0, frame = 16
  12130. 7621 @ frame_needed = 1, uses_anonymous_args = 0
  12131. 7622 0000 80B5 push {r7, lr}
  12132. 7623 .LCFI246:
  12133. 7624 .cfi_def_cfa_offset 8
  12134. 7625 .cfi_offset 7, -8
  12135. 7626 .cfi_offset 14, -4
  12136. 7627 0002 84B0 sub sp, sp, #16
  12137. 7628 .LCFI247:
  12138. 7629 .cfi_def_cfa_offset 24
  12139. 7630 0004 00AF add r7, sp, #0
  12140. 7631 .LCFI248:
  12141. 7632 .cfi_def_cfa_register 7
  12142. 7633 0006 7860 str r0, [r7, #4]
  12143. 3099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  12144. 7634 .loc 1 3099 23
  12145. 7635 0008 7B68 ldr r3, [r7, #4]
  12146. 7636 000a 9B6B ldr r3, [r3, #56]
  12147. 7637 000c FB60 str r3, [r7, #12]
  12148. 3100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12149. 3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
  12150. 3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
  12151. 3103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  12152. 7638 .loc 1 3103 12
  12153. 7639 000e FB68 ldr r3, [r7, #12]
  12154. 7640 0010 1B6B ldr r3, [r3, #48]
  12155. 7641 .loc 1 3103 6
  12156. 7642 0012 012B cmp r3, #1
  12157. 7643 0014 08D1 bne .L394
  12158. 3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12159. 3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  12160. 3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
  12161. 3107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
  12162. 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  12163. 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  12164. 3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
  12165. 7644 .loc 1 3110 44
  12166. 7645 0016 FB68 ldr r3, [r7, #12]
  12167. 7646 0018 9B8D ldrh r3, [r3, #44]
  12168. 7647 .loc 1 3110 5
  12169. 7648 001a 5B08 lsrs r3, r3, #1
  12170. 7649 001c 9BB2 uxth r3, r3
  12171. 7650 001e 1946 mov r1, r3
  12172. 7651 0020 F868 ldr r0, [r7, #12]
  12173. 7652 0022 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  12174. 3111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  12175. 3112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12176. 3113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  12177. 3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12178. 3115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
  12179. 3116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  12180. 3117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
  12181. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 211
  12182. 3118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
  12183. 3119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  12184. 3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
  12185. 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
  12186. 3122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  12187. 3123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12188. 3124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12189. 7653 .loc 1 3124 1
  12190. 7654 0026 02E0 b .L396
  12191. 7655 .L394:
  12192. 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  12193. 7656 .loc 1 3121 5
  12194. 7657 0028 F868 ldr r0, [r7, #12]
  12195. 7658 002a FFF7FEFF bl HAL_UART_RxHalfCpltCallback
  12196. 7659 .L396:
  12197. 7660 .loc 1 3124 1
  12198. 7661 002e 00BF nop
  12199. 7662 0030 1037 adds r7, r7, #16
  12200. 7663 .LCFI249:
  12201. 7664 .cfi_def_cfa_offset 8
  12202. 7665 0032 BD46 mov sp, r7
  12203. 7666 .LCFI250:
  12204. 7667 .cfi_def_cfa_register 13
  12205. 7668 @ sp needed
  12206. 7669 0034 80BD pop {r7, pc}
  12207. 7670 .cfi_endproc
  12208. 7671 .LFE280:
  12209. 7673 .section .text.UART_DMAError,"ax",%progbits
  12210. 7674 .align 1
  12211. 7675 .syntax unified
  12212. 7676 .thumb
  12213. 7677 .thumb_func
  12214. 7679 UART_DMAError:
  12215. 7680 .LFB281:
  12216. 3125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12217. 3126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  12218. 3127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication error callback.
  12219. 3128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  12220. 3129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  12221. 3130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  12222. 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  12223. 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
  12224. 3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12225. 7681 .loc 1 3133 1
  12226. 7682 .cfi_startproc
  12227. 7683 @ args = 0, pretend = 0, frame = 16
  12228. 7684 @ frame_needed = 1, uses_anonymous_args = 0
  12229. 7685 0000 80B5 push {r7, lr}
  12230. 7686 .LCFI251:
  12231. 7687 .cfi_def_cfa_offset 8
  12232. 7688 .cfi_offset 7, -8
  12233. 7689 .cfi_offset 14, -4
  12234. 7690 0002 84B0 sub sp, sp, #16
  12235. 7691 .LCFI252:
  12236. 7692 .cfi_def_cfa_offset 24
  12237. 7693 0004 00AF add r7, sp, #0
  12238. 7694 .LCFI253:
  12239. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 212
  12240. 7695 .cfi_def_cfa_register 7
  12241. 7696 0006 7860 str r0, [r7, #4]
  12242. 3134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
  12243. 7697 .loc 1 3134 12
  12244. 7698 0008 0023 movs r3, #0
  12245. 7699 000a FB60 str r3, [r7, #12]
  12246. 3135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  12247. 7700 .loc 1 3135 23
  12248. 7701 000c 7B68 ldr r3, [r7, #4]
  12249. 7702 000e 9B6B ldr r3, [r3, #56]
  12250. 7703 0010 BB60 str r3, [r7, #8]
  12251. 3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12252. 3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
  12253. 3138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
  12254. 7704 .loc 1 3138 16
  12255. 7705 0012 BB68 ldr r3, [r7, #8]
  12256. 7706 0014 1B68 ldr r3, [r3]
  12257. 7707 0016 5B69 ldr r3, [r3, #20]
  12258. 7708 0018 03F08003 and r3, r3, #128
  12259. 7709 001c 802B cmp r3, #128
  12260. 7710 001e 0CBF ite eq
  12261. 7711 0020 0123 moveq r3, #1
  12262. 7712 0022 0023 movne r3, #0
  12263. 7713 0024 DBB2 uxtb r3, r3
  12264. 7714 .loc 1 3138 14
  12265. 7715 0026 FB60 str r3, [r7, #12]
  12266. 3139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
  12267. 7716 .loc 1 3139 13
  12268. 7717 0028 BB68 ldr r3, [r7, #8]
  12269. 7718 002a 93F83D30 ldrb r3, [r3, #61]
  12270. 7719 002e DBB2 uxtb r3, r3
  12271. 7720 .loc 1 3139 6
  12272. 7721 0030 212B cmp r3, #33
  12273. 7722 0032 08D1 bne .L398
  12274. 7723 .loc 1 3139 49 discriminator 1
  12275. 7724 0034 FB68 ldr r3, [r7, #12]
  12276. 7725 0036 002B cmp r3, #0
  12277. 7726 0038 05D0 beq .L398
  12278. 3140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12279. 3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  12280. 7727 .loc 1 3141 24
  12281. 7728 003a BB68 ldr r3, [r7, #8]
  12282. 7729 003c 0022 movs r2, #0
  12283. 7730 003e DA84 strh r2, [r3, #38] @ movhi
  12284. 3142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
  12285. 7731 .loc 1 3142 5
  12286. 7732 0040 B868 ldr r0, [r7, #8]
  12287. 7733 0042 FFF7FEFF bl UART_EndTxTransfer
  12288. 7734 .L398:
  12289. 3143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12290. 3144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12291. 3145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
  12292. 3146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
  12293. 7735 .loc 1 3146 16
  12294. 7736 0046 BB68 ldr r3, [r7, #8]
  12295. 7737 0048 1B68 ldr r3, [r3]
  12296. 7738 004a 5B69 ldr r3, [r3, #20]
  12297. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 213
  12298. 7739 004c 03F04003 and r3, r3, #64
  12299. 7740 0050 402B cmp r3, #64
  12300. 7741 0052 0CBF ite eq
  12301. 7742 0054 0123 moveq r3, #1
  12302. 7743 0056 0023 movne r3, #0
  12303. 7744 0058 DBB2 uxtb r3, r3
  12304. 7745 .loc 1 3146 14
  12305. 7746 005a FB60 str r3, [r7, #12]
  12306. 3147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
  12307. 7747 .loc 1 3147 13
  12308. 7748 005c BB68 ldr r3, [r7, #8]
  12309. 7749 005e 93F83E30 ldrb r3, [r3, #62]
  12310. 7750 0062 DBB2 uxtb r3, r3
  12311. 7751 .loc 1 3147 6
  12312. 7752 0064 222B cmp r3, #34
  12313. 7753 0066 08D1 bne .L399
  12314. 7754 .loc 1 3147 50 discriminator 1
  12315. 7755 0068 FB68 ldr r3, [r7, #12]
  12316. 7756 006a 002B cmp r3, #0
  12317. 7757 006c 05D0 beq .L399
  12318. 3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12319. 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  12320. 7758 .loc 1 3149 24
  12321. 7759 006e BB68 ldr r3, [r7, #8]
  12322. 7760 0070 0022 movs r2, #0
  12323. 7761 0072 DA85 strh r2, [r3, #46] @ movhi
  12324. 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
  12325. 7762 .loc 1 3150 5
  12326. 7763 0074 B868 ldr r0, [r7, #8]
  12327. 7764 0076 FFF7FEFF bl UART_EndRxTransfer
  12328. 7765 .L399:
  12329. 3151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12330. 3152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12331. 3153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
  12332. 7766 .loc 1 3153 20
  12333. 7767 007a BB68 ldr r3, [r7, #8]
  12334. 7768 007c 1B6C ldr r3, [r3, #64]
  12335. 7769 007e 43F01002 orr r2, r3, #16
  12336. 7770 0082 BB68 ldr r3, [r7, #8]
  12337. 7771 0084 1A64 str r2, [r3, #64]
  12338. 3154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  12339. 3155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
  12340. 3156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
  12341. 3157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  12342. 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
  12343. 3159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  12344. 7772 .loc 1 3159 3
  12345. 7773 0086 B868 ldr r0, [r7, #8]
  12346. 7774 0088 FFF7FEFF bl HAL_UART_ErrorCallback
  12347. 3160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  12348. 3161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12349. 7775 .loc 1 3161 1
  12350. 7776 008c 00BF nop
  12351. 7777 008e 1037 adds r7, r7, #16
  12352. 7778 .LCFI254:
  12353. 7779 .cfi_def_cfa_offset 8
  12354. 7780 0090 BD46 mov sp, r7
  12355. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 214
  12356. 7781 .LCFI255:
  12357. 7782 .cfi_def_cfa_register 13
  12358. 7783 @ sp needed
  12359. 7784 0092 80BD pop {r7, pc}
  12360. 7785 .cfi_endproc
  12361. 7786 .LFE281:
  12362. 7788 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
  12363. 7789 .align 1
  12364. 7790 .syntax unified
  12365. 7791 .thumb
  12366. 7792 .thumb_func
  12367. 7794 UART_WaitOnFlagUntilTimeout:
  12368. 7795 .LFB282:
  12369. 3162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12370. 3163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  12371. 3164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits
  12372. 3165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * until a flag is no longer in the specified status.
  12373. 3166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  12374. 3167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  12375. 3168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Flag specifies the UART flag to check.
  12376. 3169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET).
  12377. 3170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Tickstart Tick start value
  12378. 3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
  12379. 3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  12380. 3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  12381. 3174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
  12382. 3175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
  12383. 3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12384. 7796 .loc 1 3176 1
  12385. 7797 .cfi_startproc
  12386. 7798 @ args = 4, pretend = 0, frame = 64
  12387. 7799 @ frame_needed = 1, uses_anonymous_args = 0
  12388. 7800 0000 80B5 push {r7, lr}
  12389. 7801 .LCFI256:
  12390. 7802 .cfi_def_cfa_offset 8
  12391. 7803 .cfi_offset 7, -8
  12392. 7804 .cfi_offset 14, -4
  12393. 7805 0002 90B0 sub sp, sp, #64
  12394. 7806 .LCFI257:
  12395. 7807 .cfi_def_cfa_offset 72
  12396. 7808 0004 00AF add r7, sp, #0
  12397. 7809 .LCFI258:
  12398. 7810 .cfi_def_cfa_register 7
  12399. 7811 0006 F860 str r0, [r7, #12]
  12400. 7812 0008 B960 str r1, [r7, #8]
  12401. 7813 000a 3B60 str r3, [r7]
  12402. 7814 000c 1346 mov r3, r2
  12403. 7815 000e FB71 strb r3, [r7, #7]
  12404. 3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
  12405. 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
  12406. 7816 .loc 1 3178 9
  12407. 7817 0010 50E0 b .L401
  12408. 7818 .L410:
  12409. 3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12410. 3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */
  12411. 3181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
  12412. 7819 .loc 1 3181 8
  12413. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 215
  12414. 7820 0012 BB6C ldr r3, [r7, #72]
  12415. 7821 0014 B3F1FF3F cmp r3, #-1
  12416. 7822 0018 4CD0 beq .L401
  12417. 3182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12418. 3183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
  12419. 7823 .loc 1 3183 10
  12420. 7824 001a BB6C ldr r3, [r7, #72]
  12421. 7825 001c 002B cmp r3, #0
  12422. 7826 001e 07D0 beq .L405
  12423. 7827 .loc 1 3183 32 discriminator 1
  12424. 7828 0020 FFF7FEFF bl HAL_GetTick
  12425. 7829 0024 0246 mov r2, r0
  12426. 7830 .loc 1 3183 46 discriminator 1
  12427. 7831 0026 3B68 ldr r3, [r7]
  12428. 7832 0028 D31A subs r3, r2, r3
  12429. 7833 .loc 1 3183 27 discriminator 1
  12430. 7834 002a BA6C ldr r2, [r7, #72]
  12431. 7835 002c 9A42 cmp r2, r3
  12432. 7836 002e 41D2 bcs .L401
  12433. 7837 .L405:
  12434. 7838 .LBB589:
  12435. 3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12436. 3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for t
  12437. 3186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE
  12438. 7839 .loc 1 3186 9 discriminator 1
  12439. 7840 0030 FB68 ldr r3, [r7, #12]
  12440. 7841 0032 1B68 ldr r3, [r3]
  12441. 7842 0034 0C33 adds r3, r3, #12
  12442. 7843 0036 BB62 str r3, [r7, #40]
  12443. 7844 .LBB590:
  12444. 7845 .LBB591:
  12445. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12446. 7846 .loc 2 1072 4 discriminator 1
  12447. 7847 0038 BB6A ldr r3, [r7, #40]
  12448. 7848 .syntax unified
  12449. 7849 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12450. 7850 003a 53E8003F ldrex r3, [r3]
  12451. 7851 @ 0 "" 2
  12452. 7852 .thumb
  12453. 7853 .syntax unified
  12454. 7854 003e 7B62 str r3, [r7, #36]
  12455. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  12456. 7855 .loc 2 1073 10 discriminator 1
  12457. 7856 0040 7B6A ldr r3, [r7, #36]
  12458. 7857 .LBE591:
  12459. 7858 .LBE590:
  12460. 7859 .loc 1 3186 9 discriminator 1
  12461. 7860 0042 23F4D073 bic r3, r3, #416
  12462. 7861 0046 FB63 str r3, [r7, #60]
  12463. 7862 0048 FB68 ldr r3, [r7, #12]
  12464. 7863 004a 1B68 ldr r3, [r3]
  12465. 7864 004c 0C33 adds r3, r3, #12
  12466. 7865 004e FA6B ldr r2, [r7, #60]
  12467. 7866 0050 7A63 str r2, [r7, #52]
  12468. 7867 0052 3B63 str r3, [r7, #48]
  12469. 7868 .LBB592:
  12470. 7869 .LBB593:
  12471. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 216
  12472. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12473. 7870 .loc 2 1123 4 discriminator 1
  12474. 7871 0054 396B ldr r1, [r7, #48]
  12475. 7872 0056 7A6B ldr r2, [r7, #52]
  12476. 7873 .syntax unified
  12477. 7874 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12478. 7875 0058 41E80023 strex r3, r2, [r1]
  12479. 7876 @ 0 "" 2
  12480. 7877 .thumb
  12481. 7878 .syntax unified
  12482. 7879 005c FB62 str r3, [r7, #44]
  12483. 7880 .loc 2 1124 10 discriminator 1
  12484. 7881 005e FB6A ldr r3, [r7, #44]
  12485. 7882 .LBE593:
  12486. 7883 .LBE592:
  12487. 7884 .loc 1 3186 9 discriminator 1
  12488. 7885 0060 002B cmp r3, #0
  12489. 7886 0062 E5D1 bne .L405
  12490. 7887 .L408:
  12491. 7888 .LBE589:
  12492. 7889 .LBB594:
  12493. 3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  12494. 7890 .loc 1 3187 9 discriminator 1
  12495. 7891 0064 FB68 ldr r3, [r7, #12]
  12496. 7892 0066 1B68 ldr r3, [r3]
  12497. 7893 0068 1433 adds r3, r3, #20
  12498. 7894 006a 7B61 str r3, [r7, #20]
  12499. 7895 .LBB595:
  12500. 7896 .LBB596:
  12501. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12502. 7897 .loc 2 1072 4 discriminator 1
  12503. 7898 006c 7B69 ldr r3, [r7, #20]
  12504. 7899 .syntax unified
  12505. 7900 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12506. 7901 006e 53E8003F ldrex r3, [r3]
  12507. 7902 @ 0 "" 2
  12508. 7903 .thumb
  12509. 7904 .syntax unified
  12510. 7905 0072 3B61 str r3, [r7, #16]
  12511. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  12512. 7906 .loc 2 1073 10 discriminator 1
  12513. 7907 0074 3B69 ldr r3, [r7, #16]
  12514. 7908 .LBE596:
  12515. 7909 .LBE595:
  12516. 7910 .loc 1 3187 9 discriminator 1
  12517. 7911 0076 23F00103 bic r3, r3, #1
  12518. 7912 007a BB63 str r3, [r7, #56]
  12519. 7913 007c FB68 ldr r3, [r7, #12]
  12520. 7914 007e 1B68 ldr r3, [r3]
  12521. 7915 0080 1433 adds r3, r3, #20
  12522. 7916 0082 BA6B ldr r2, [r7, #56]
  12523. 7917 0084 3A62 str r2, [r7, #32]
  12524. 7918 0086 FB61 str r3, [r7, #28]
  12525. 7919 .LBB597:
  12526. 7920 .LBB598:
  12527. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12528. 7921 .loc 2 1123 4 discriminator 1
  12529. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 217
  12530. 7922 0088 F969 ldr r1, [r7, #28]
  12531. 7923 008a 3A6A ldr r2, [r7, #32]
  12532. 7924 .syntax unified
  12533. 7925 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12534. 7926 008c 41E80023 strex r3, r2, [r1]
  12535. 7927 @ 0 "" 2
  12536. 7928 .thumb
  12537. 7929 .syntax unified
  12538. 7930 0090 BB61 str r3, [r7, #24]
  12539. 7931 .loc 2 1124 10 discriminator 1
  12540. 7932 0092 BB69 ldr r3, [r7, #24]
  12541. 7933 .LBE598:
  12542. 7934 .LBE597:
  12543. 7935 .loc 1 3187 9 discriminator 1
  12544. 7936 0094 002B cmp r3, #0
  12545. 7937 0096 E5D1 bne .L408
  12546. 7938 .LBE594:
  12547. 3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12548. 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  12549. 7939 .loc 1 3189 24
  12550. 7940 0098 FB68 ldr r3, [r7, #12]
  12551. 7941 009a 2022 movs r2, #32
  12552. 7942 009c 83F83D20 strb r2, [r3, #61]
  12553. 3190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  12554. 7943 .loc 1 3190 24
  12555. 7944 00a0 FB68 ldr r3, [r7, #12]
  12556. 7945 00a2 2022 movs r2, #32
  12557. 7946 00a4 83F83E20 strb r2, [r3, #62]
  12558. 3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12559. 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  12560. 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  12561. 7947 .loc 1 3193 9
  12562. 7948 00a8 FB68 ldr r3, [r7, #12]
  12563. 7949 00aa 0022 movs r2, #0
  12564. 7950 00ac 83F83C20 strb r2, [r3, #60]
  12565. 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12566. 3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
  12567. 7951 .loc 1 3195 16
  12568. 7952 00b0 0323 movs r3, #3
  12569. 7953 00b2 0FE0 b .L409
  12570. 7954 .L401:
  12571. 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12572. 7955 .loc 1 3178 11
  12573. 7956 00b4 FB68 ldr r3, [r7, #12]
  12574. 7957 00b6 1B68 ldr r3, [r3]
  12575. 7958 00b8 1A68 ldr r2, [r3]
  12576. 7959 00ba BB68 ldr r3, [r7, #8]
  12577. 7960 00bc 1340 ands r3, r3, r2
  12578. 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12579. 7961 .loc 1 3178 50
  12580. 7962 00be BA68 ldr r2, [r7, #8]
  12581. 7963 00c0 9A42 cmp r2, r3
  12582. 7964 00c2 0CBF ite eq
  12583. 7965 00c4 0123 moveq r3, #1
  12584. 7966 00c6 0023 movne r3, #0
  12585. 7967 00c8 DBB2 uxtb r3, r3
  12586. 7968 00ca 1A46 mov r2, r3
  12587. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 218
  12588. 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12589. 7969 .loc 1 3178 59
  12590. 7970 00cc FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  12591. 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12592. 7971 .loc 1 3178 9
  12593. 7972 00ce 9A42 cmp r2, r3
  12594. 7973 00d0 9FD0 beq .L410
  12595. 3196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12596. 3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12597. 3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12598. 3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  12599. 7974 .loc 1 3199 10
  12600. 7975 00d2 0023 movs r3, #0
  12601. 7976 .L409:
  12602. 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12603. 7977 .loc 1 3200 1
  12604. 7978 00d4 1846 mov r0, r3
  12605. 7979 00d6 4037 adds r7, r7, #64
  12606. 7980 .LCFI259:
  12607. 7981 .cfi_def_cfa_offset 8
  12608. 7982 00d8 BD46 mov sp, r7
  12609. 7983 .LCFI260:
  12610. 7984 .cfi_def_cfa_register 13
  12611. 7985 @ sp needed
  12612. 7986 00da 80BD pop {r7, pc}
  12613. 7987 .cfi_endproc
  12614. 7988 .LFE282:
  12615. 7990 .section .text.UART_Start_Receive_IT,"ax",%progbits
  12616. 7991 .align 1
  12617. 7992 .global UART_Start_Receive_IT
  12618. 7993 .syntax unified
  12619. 7994 .thumb
  12620. 7995 .thumb_func
  12621. 7997 UART_Start_Receive_IT:
  12622. 7998 .LFB283:
  12623. 3201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12624. 3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  12625. 3203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
  12626. 3204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
  12627. 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
  12628. 3206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
  12629. 3207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked.
  12630. 3208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  12631. 3209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  12632. 3210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  12633. 3211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  12634. 3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  12635. 3213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  12636. 3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12637. 7999 .loc 1 3214 1
  12638. 8000 .cfi_startproc
  12639. 8001 @ args = 0, pretend = 0, frame = 16
  12640. 8002 @ frame_needed = 1, uses_anonymous_args = 0
  12641. 8003 @ link register save eliminated.
  12642. 8004 0000 80B4 push {r7}
  12643. 8005 .LCFI261:
  12644. 8006 .cfi_def_cfa_offset 4
  12645. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 219
  12646. 8007 .cfi_offset 7, -4
  12647. 8008 0002 85B0 sub sp, sp, #20
  12648. 8009 .LCFI262:
  12649. 8010 .cfi_def_cfa_offset 24
  12650. 8011 0004 00AF add r7, sp, #0
  12651. 8012 .LCFI263:
  12652. 8013 .cfi_def_cfa_register 7
  12653. 8014 0006 F860 str r0, [r7, #12]
  12654. 8015 0008 B960 str r1, [r7, #8]
  12655. 8016 000a 1346 mov r3, r2
  12656. 8017 000c FB80 strh r3, [r7, #6] @ movhi
  12657. 3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
  12658. 8018 .loc 1 3215 21
  12659. 8019 000e FB68 ldr r3, [r7, #12]
  12660. 8020 0010 BA68 ldr r2, [r7, #8]
  12661. 8021 0012 9A62 str r2, [r3, #40]
  12662. 3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
  12663. 8022 .loc 1 3216 21
  12664. 8023 0014 FB68 ldr r3, [r7, #12]
  12665. 8024 0016 FA88 ldrh r2, [r7, #6] @ movhi
  12666. 8025 0018 9A85 strh r2, [r3, #44] @ movhi
  12667. 3217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
  12668. 8026 .loc 1 3217 22
  12669. 8027 001a FB68 ldr r3, [r7, #12]
  12670. 8028 001c FA88 ldrh r2, [r7, #6] @ movhi
  12671. 8029 001e DA85 strh r2, [r3, #46] @ movhi
  12672. 3218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12673. 3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  12674. 8030 .loc 1 3219 20
  12675. 8031 0020 FB68 ldr r3, [r7, #12]
  12676. 8032 0022 0022 movs r2, #0
  12677. 8033 0024 1A64 str r2, [r3, #64]
  12678. 3220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
  12679. 8034 .loc 1 3220 18
  12680. 8035 0026 FB68 ldr r3, [r7, #12]
  12681. 8036 0028 2222 movs r2, #34
  12682. 8037 002a 83F83E20 strb r2, [r3, #62]
  12683. 3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12684. 3222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  12685. 3223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  12686. 8038 .loc 1 3223 3
  12687. 8039 002e FB68 ldr r3, [r7, #12]
  12688. 8040 0030 0022 movs r2, #0
  12689. 8041 0032 83F83C20 strb r2, [r3, #60]
  12690. 3224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12691. 3225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
  12692. 8042 .loc 1 3225 18
  12693. 8043 0036 FB68 ldr r3, [r7, #12]
  12694. 8044 0038 1B69 ldr r3, [r3, #16]
  12695. 8045 .loc 1 3225 6
  12696. 8046 003a 002B cmp r3, #0
  12697. 8047 003c 07D0 beq .L412
  12698. 3226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12699. 3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
  12700. 3228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_PE);
  12701. 8048 .loc 1 3228 5
  12702. 8049 003e FB68 ldr r3, [r7, #12]
  12703. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 220
  12704. 8050 0040 1B68 ldr r3, [r3]
  12705. 8051 0042 DA68 ldr r2, [r3, #12]
  12706. 8052 0044 FB68 ldr r3, [r7, #12]
  12707. 8053 0046 1B68 ldr r3, [r3]
  12708. 8054 0048 42F48072 orr r2, r2, #256
  12709. 8055 004c DA60 str r2, [r3, #12]
  12710. 8056 .L412:
  12711. 3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12712. 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12713. 3231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  12714. 3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_ERR);
  12715. 8057 .loc 1 3232 3
  12716. 8058 004e FB68 ldr r3, [r7, #12]
  12717. 8059 0050 1B68 ldr r3, [r3]
  12718. 8060 0052 5A69 ldr r2, [r3, #20]
  12719. 8061 0054 FB68 ldr r3, [r7, #12]
  12720. 8062 0056 1B68 ldr r3, [r3]
  12721. 8063 0058 42F00102 orr r2, r2, #1
  12722. 8064 005c 5A61 str r2, [r3, #20]
  12723. 3233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12724. 3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Data Register not empty Interrupt */
  12725. 3235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE);
  12726. 8065 .loc 1 3235 3
  12727. 8066 005e FB68 ldr r3, [r7, #12]
  12728. 8067 0060 1B68 ldr r3, [r3]
  12729. 8068 0062 DA68 ldr r2, [r3, #12]
  12730. 8069 0064 FB68 ldr r3, [r7, #12]
  12731. 8070 0066 1B68 ldr r3, [r3]
  12732. 8071 0068 42F02002 orr r2, r2, #32
  12733. 8072 006c DA60 str r2, [r3, #12]
  12734. 3236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12735. 3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  12736. 8073 .loc 1 3237 10
  12737. 8074 006e 0023 movs r3, #0
  12738. 3238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12739. 8075 .loc 1 3238 1
  12740. 8076 0070 1846 mov r0, r3
  12741. 8077 0072 1437 adds r7, r7, #20
  12742. 8078 .LCFI264:
  12743. 8079 .cfi_def_cfa_offset 4
  12744. 8080 0074 BD46 mov sp, r7
  12745. 8081 .LCFI265:
  12746. 8082 .cfi_def_cfa_register 13
  12747. 8083 @ sp needed
  12748. 8084 0076 5DF8047B ldr r7, [sp], #4
  12749. 8085 .LCFI266:
  12750. 8086 .cfi_restore 7
  12751. 8087 .cfi_def_cfa_offset 0
  12752. 8088 007a 7047 bx lr
  12753. 8089 .cfi_endproc
  12754. 8090 .LFE283:
  12755. 8092 .section .text.UART_Start_Receive_DMA,"ax",%progbits
  12756. 8093 .align 1
  12757. 8094 .global UART_Start_Receive_DMA
  12758. 8095 .syntax unified
  12759. 8096 .thumb
  12760. 8097 .thumb_func
  12761. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 221
  12762. 8099 UART_Start_Receive_DMA:
  12763. 8100 .LFB284:
  12764. 3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12765. 3240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  12766. 3241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
  12767. 3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
  12768. 3243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
  12769. 3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
  12770. 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked.
  12771. 3246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  12772. 3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
  12773. 3248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
  12774. 3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  12775. 3250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  12776. 3251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  12777. 3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12778. 8101 .loc 1 3252 1
  12779. 8102 .cfi_startproc
  12780. 8103 @ args = 0, pretend = 0, frame = 96
  12781. 8104 @ frame_needed = 1, uses_anonymous_args = 0
  12782. 8105 0000 80B5 push {r7, lr}
  12783. 8106 .LCFI267:
  12784. 8107 .cfi_def_cfa_offset 8
  12785. 8108 .cfi_offset 7, -8
  12786. 8109 .cfi_offset 14, -4
  12787. 8110 0002 98B0 sub sp, sp, #96
  12788. 8111 .LCFI268:
  12789. 8112 .cfi_def_cfa_offset 104
  12790. 8113 0004 00AF add r7, sp, #0
  12791. 8114 .LCFI269:
  12792. 8115 .cfi_def_cfa_register 7
  12793. 8116 0006 F860 str r0, [r7, #12]
  12794. 8117 0008 B960 str r1, [r7, #8]
  12795. 8118 000a 1346 mov r3, r2
  12796. 8119 000c FB80 strh r3, [r7, #6] @ movhi
  12797. 3253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
  12798. 3254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12799. 3255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
  12800. 8120 .loc 1 3255 21
  12801. 8121 000e BA68 ldr r2, [r7, #8]
  12802. 8122 0010 FB68 ldr r3, [r7, #12]
  12803. 8123 0012 9A62 str r2, [r3, #40]
  12804. 3256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
  12805. 8124 .loc 1 3256 21
  12806. 8125 0014 FB68 ldr r3, [r7, #12]
  12807. 8126 0016 FA88 ldrh r2, [r7, #6] @ movhi
  12808. 8127 0018 9A85 strh r2, [r3, #44] @ movhi
  12809. 3257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12810. 3258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  12811. 8128 .loc 1 3258 20
  12812. 8129 001a FB68 ldr r3, [r7, #12]
  12813. 8130 001c 0022 movs r2, #0
  12814. 8131 001e 1A64 str r2, [r3, #64]
  12815. 3259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
  12816. 8132 .loc 1 3259 18
  12817. 8133 0020 FB68 ldr r3, [r7, #12]
  12818. 8134 0022 2222 movs r2, #34
  12819. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 222
  12820. 8135 0024 83F83E20 strb r2, [r3, #62]
  12821. 3260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12822. 3261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
  12823. 3262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
  12824. 8136 .loc 1 3262 8
  12825. 8137 0028 FB68 ldr r3, [r7, #12]
  12826. 8138 002a 9B6B ldr r3, [r3, #56]
  12827. 8139 .loc 1 3262 35
  12828. 8140 002c 404A ldr r2, .L426
  12829. 8141 002e DA63 str r2, [r3, #60]
  12830. 3263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12831. 3264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
  12832. 3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
  12833. 8142 .loc 1 3265 8
  12834. 8143 0030 FB68 ldr r3, [r7, #12]
  12835. 8144 0032 9B6B ldr r3, [r3, #56]
  12836. 8145 .loc 1 3265 39
  12837. 8146 0034 3F4A ldr r2, .L426+4
  12838. 8147 0036 1A64 str r2, [r3, #64]
  12839. 3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12840. 3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
  12841. 3268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
  12842. 8148 .loc 1 3268 8
  12843. 8149 0038 FB68 ldr r3, [r7, #12]
  12844. 8150 003a 9B6B ldr r3, [r3, #56]
  12845. 8151 .loc 1 3268 36
  12846. 8152 003c 3E4A ldr r2, .L426+8
  12847. 8153 003e DA64 str r2, [r3, #76]
  12848. 3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12849. 3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
  12850. 3271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  12851. 8154 .loc 1 3271 8
  12852. 8155 0040 FB68 ldr r3, [r7, #12]
  12853. 8156 0042 9B6B ldr r3, [r3, #56]
  12854. 8157 .loc 1 3271 36
  12855. 8158 0044 0022 movs r2, #0
  12856. 8159 0046 1A65 str r2, [r3, #80]
  12857. 3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12858. 3273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA stream */
  12859. 3274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint32_t *)&pData;
  12860. 8160 .loc 1 3274 7
  12861. 8161 0048 07F10803 add r3, r7, #8
  12862. 8162 004c FB65 str r3, [r7, #92]
  12863. 3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
  12864. 8163 .loc 1 3275 3
  12865. 8164 004e FB68 ldr r3, [r7, #12]
  12866. 8165 0050 986B ldr r0, [r3, #56]
  12867. 8166 .loc 1 3275 51
  12868. 8167 0052 FB68 ldr r3, [r7, #12]
  12869. 8168 0054 1B68 ldr r3, [r3]
  12870. 8169 .loc 1 3275 45
  12871. 8170 0056 0433 adds r3, r3, #4
  12872. 8171 .loc 1 3275 3
  12873. 8172 0058 1946 mov r1, r3
  12874. 8173 005a FB6D ldr r3, [r7, #92]
  12875. 8174 005c 1A68 ldr r2, [r3]
  12876. 8175 005e FB88 ldrh r3, [r7, #6]
  12877. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 223
  12878. 8176 0060 FFF7FEFF bl HAL_DMA_Start_IT
  12879. 8177 .LBB599:
  12880. 3276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12881. 3277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag just before enabling the DMA Rx request: can be mandatory for the secon
  12882. 3278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
  12883. 8178 .loc 1 3278 3
  12884. 8179 0064 0023 movs r3, #0
  12885. 8180 0066 3B61 str r3, [r7, #16]
  12886. 8181 0068 FB68 ldr r3, [r7, #12]
  12887. 8182 006a 1B68 ldr r3, [r3]
  12888. 8183 006c 1B68 ldr r3, [r3]
  12889. 8184 006e 3B61 str r3, [r7, #16]
  12890. 8185 0070 FB68 ldr r3, [r7, #12]
  12891. 8186 0072 1B68 ldr r3, [r3]
  12892. 8187 0074 5B68 ldr r3, [r3, #4]
  12893. 8188 0076 3B61 str r3, [r7, #16]
  12894. 8189 0078 3B69 ldr r3, [r7, #16]
  12895. 8190 .LBE599:
  12896. 3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12897. 3280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
  12898. 3281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
  12899. 8191 .loc 1 3281 3
  12900. 8192 007a FB68 ldr r3, [r7, #12]
  12901. 8193 007c 0022 movs r2, #0
  12902. 8194 007e 83F83C20 strb r2, [r3, #60]
  12903. 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12904. 3283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
  12905. 8195 .loc 1 3283 18
  12906. 8196 0082 FB68 ldr r3, [r7, #12]
  12907. 8197 0084 1B69 ldr r3, [r3, #16]
  12908. 8198 .loc 1 3283 6
  12909. 8199 0086 002B cmp r3, #0
  12910. 8200 0088 19D0 beq .L421
  12911. 8201 .L418:
  12912. 8202 .LBB600:
  12913. 3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  12914. 3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
  12915. 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
  12916. 8203 .loc 1 3286 5 discriminator 1
  12917. 8204 008a FB68 ldr r3, [r7, #12]
  12918. 8205 008c 1B68 ldr r3, [r3]
  12919. 8206 008e 0C33 adds r3, r3, #12
  12920. 8207 0090 3B64 str r3, [r7, #64]
  12921. 8208 .LBB601:
  12922. 8209 .LBB602:
  12923. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12924. 8210 .loc 2 1072 4 discriminator 1
  12925. 8211 0092 3B6C ldr r3, [r7, #64]
  12926. 8212 .syntax unified
  12927. 8213 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12928. 8214 0094 53E8003F ldrex r3, [r3]
  12929. 8215 @ 0 "" 2
  12930. 8216 .thumb
  12931. 8217 .syntax unified
  12932. 8218 0098 FB63 str r3, [r7, #60]
  12933. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  12934. 8219 .loc 2 1073 10 discriminator 1
  12935. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 224
  12936. 8220 009a FB6B ldr r3, [r7, #60]
  12937. 8221 .LBE602:
  12938. 8222 .LBE601:
  12939. 8223 .loc 1 3286 5 discriminator 1
  12940. 8224 009c 43F48073 orr r3, r3, #256
  12941. 8225 00a0 BB65 str r3, [r7, #88]
  12942. 8226 00a2 FB68 ldr r3, [r7, #12]
  12943. 8227 00a4 1B68 ldr r3, [r3]
  12944. 8228 00a6 0C33 adds r3, r3, #12
  12945. 8229 00a8 BA6D ldr r2, [r7, #88]
  12946. 8230 00aa FA64 str r2, [r7, #76]
  12947. 8231 00ac BB64 str r3, [r7, #72]
  12948. 8232 .LBB603:
  12949. 8233 .LBB604:
  12950. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12951. 8234 .loc 2 1123 4 discriminator 1
  12952. 8235 00ae B96C ldr r1, [r7, #72]
  12953. 8236 00b0 FA6C ldr r2, [r7, #76]
  12954. 8237 .syntax unified
  12955. 8238 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12956. 8239 00b2 41E80023 strex r3, r2, [r1]
  12957. 8240 @ 0 "" 2
  12958. 8241 .thumb
  12959. 8242 .syntax unified
  12960. 8243 00b6 7B64 str r3, [r7, #68]
  12961. 8244 .loc 2 1124 10 discriminator 1
  12962. 8245 00b8 7B6C ldr r3, [r7, #68]
  12963. 8246 .LBE604:
  12964. 8247 .LBE603:
  12965. 8248 .loc 1 3286 5 discriminator 1
  12966. 8249 00ba 002B cmp r3, #0
  12967. 8250 00bc E5D1 bne .L418
  12968. 8251 .L421:
  12969. 8252 .LBE600:
  12970. 8253 .LBB605:
  12971. 3287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  12972. 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  12973. 3289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  12974. 3290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
  12975. 8254 .loc 1 3290 3 discriminator 1
  12976. 8255 00be FB68 ldr r3, [r7, #12]
  12977. 8256 00c0 1B68 ldr r3, [r3]
  12978. 8257 00c2 1433 adds r3, r3, #20
  12979. 8258 00c4 FB62 str r3, [r7, #44]
  12980. 8259 .LBB606:
  12981. 8260 .LBB607:
  12982. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  12983. 8261 .loc 2 1072 4 discriminator 1
  12984. 8262 00c6 FB6A ldr r3, [r7, #44]
  12985. 8263 .syntax unified
  12986. 8264 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  12987. 8265 00c8 53E8003F ldrex r3, [r3]
  12988. 8266 @ 0 "" 2
  12989. 8267 .thumb
  12990. 8268 .syntax unified
  12991. 8269 00cc BB62 str r3, [r7, #40]
  12992. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  12993. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 225
  12994. 8270 .loc 2 1073 10 discriminator 1
  12995. 8271 00ce BB6A ldr r3, [r7, #40]
  12996. 8272 .LBE607:
  12997. 8273 .LBE606:
  12998. 8274 .loc 1 3290 3 discriminator 1
  12999. 8275 00d0 43F00103 orr r3, r3, #1
  13000. 8276 00d4 7B65 str r3, [r7, #84]
  13001. 8277 00d6 FB68 ldr r3, [r7, #12]
  13002. 8278 00d8 1B68 ldr r3, [r3]
  13003. 8279 00da 1433 adds r3, r3, #20
  13004. 8280 00dc 7A6D ldr r2, [r7, #84]
  13005. 8281 00de BA63 str r2, [r7, #56]
  13006. 8282 00e0 7B63 str r3, [r7, #52]
  13007. 8283 .LBB608:
  13008. 8284 .LBB609:
  13009. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13010. 8285 .loc 2 1123 4 discriminator 1
  13011. 8286 00e2 796B ldr r1, [r7, #52]
  13012. 8287 00e4 BA6B ldr r2, [r7, #56]
  13013. 8288 .syntax unified
  13014. 8289 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13015. 8290 00e6 41E80023 strex r3, r2, [r1]
  13016. 8291 @ 0 "" 2
  13017. 8292 .thumb
  13018. 8293 .syntax unified
  13019. 8294 00ea 3B63 str r3, [r7, #48]
  13020. 8295 .loc 2 1124 10 discriminator 1
  13021. 8296 00ec 3B6B ldr r3, [r7, #48]
  13022. 8297 .LBE609:
  13023. 8298 .LBE608:
  13024. 8299 .loc 1 3290 3 discriminator 1
  13025. 8300 00ee 002B cmp r3, #0
  13026. 8301 00f0 E5D1 bne .L421
  13027. 8302 .L424:
  13028. 8303 .LBE605:
  13029. 8304 .LBB610:
  13030. 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13031. 3292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
  13032. 3293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
  13033. 3294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
  13034. 8305 .loc 1 3294 3 discriminator 1
  13035. 8306 00f2 FB68 ldr r3, [r7, #12]
  13036. 8307 00f4 1B68 ldr r3, [r3]
  13037. 8308 00f6 1433 adds r3, r3, #20
  13038. 8309 00f8 BB61 str r3, [r7, #24]
  13039. 8310 .LBB611:
  13040. 8311 .LBB612:
  13041. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13042. 8312 .loc 2 1072 4 discriminator 1
  13043. 8313 00fa BB69 ldr r3, [r7, #24]
  13044. 8314 .syntax unified
  13045. 8315 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13046. 8316 00fc 53E8003F ldrex r3, [r3]
  13047. 8317 @ 0 "" 2
  13048. 8318 .thumb
  13049. 8319 .syntax unified
  13050. 8320 0100 7B61 str r3, [r7, #20]
  13051. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 226
  13052. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13053. 8321 .loc 2 1073 10 discriminator 1
  13054. 8322 0102 7B69 ldr r3, [r7, #20]
  13055. 8323 .LBE612:
  13056. 8324 .LBE611:
  13057. 8325 .loc 1 3294 3 discriminator 1
  13058. 8326 0104 43F04003 orr r3, r3, #64
  13059. 8327 0108 3B65 str r3, [r7, #80]
  13060. 8328 010a FB68 ldr r3, [r7, #12]
  13061. 8329 010c 1B68 ldr r3, [r3]
  13062. 8330 010e 1433 adds r3, r3, #20
  13063. 8331 0110 3A6D ldr r2, [r7, #80]
  13064. 8332 0112 7A62 str r2, [r7, #36]
  13065. 8333 0114 3B62 str r3, [r7, #32]
  13066. 8334 .LBB613:
  13067. 8335 .LBB614:
  13068. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13069. 8336 .loc 2 1123 4 discriminator 1
  13070. 8337 0116 396A ldr r1, [r7, #32]
  13071. 8338 0118 7A6A ldr r2, [r7, #36]
  13072. 8339 .syntax unified
  13073. 8340 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13074. 8341 011a 41E80023 strex r3, r2, [r1]
  13075. 8342 @ 0 "" 2
  13076. 8343 .thumb
  13077. 8344 .syntax unified
  13078. 8345 011e FB61 str r3, [r7, #28]
  13079. 8346 .loc 2 1124 10 discriminator 1
  13080. 8347 0120 FB69 ldr r3, [r7, #28]
  13081. 8348 .LBE614:
  13082. 8349 .LBE613:
  13083. 8350 .loc 1 3294 3 discriminator 1
  13084. 8351 0122 002B cmp r3, #0
  13085. 8352 0124 E5D1 bne .L424
  13086. 8353 .LBE610:
  13087. 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13088. 3296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  13089. 8354 .loc 1 3296 10
  13090. 8355 0126 0023 movs r3, #0
  13091. 3297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13092. 8356 .loc 1 3297 1
  13093. 8357 0128 1846 mov r0, r3
  13094. 8358 012a 6037 adds r7, r7, #96
  13095. 8359 .LCFI270:
  13096. 8360 .cfi_def_cfa_offset 8
  13097. 8361 012c BD46 mov sp, r7
  13098. 8362 .LCFI271:
  13099. 8363 .cfi_def_cfa_register 13
  13100. 8364 @ sp needed
  13101. 8365 012e 80BD pop {r7, pc}
  13102. 8366 .L427:
  13103. 8367 .align 2
  13104. 8368 .L426:
  13105. 8369 0130 00000000 .word UART_DMAReceiveCplt
  13106. 8370 0134 00000000 .word UART_DMARxHalfCplt
  13107. 8371 0138 00000000 .word UART_DMAError
  13108. 8372 .cfi_endproc
  13109. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 227
  13110. 8373 .LFE284:
  13111. 8375 .section .text.UART_EndTxTransfer,"ax",%progbits
  13112. 8376 .align 1
  13113. 8377 .syntax unified
  13114. 8378 .thumb
  13115. 8379 .thumb_func
  13116. 8381 UART_EndTxTransfer:
  13117. 8382 .LFB285:
  13118. 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13119. 3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13120. 3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
  13121. 3301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  13122. 3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  13123. 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13124. 3304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
  13125. 3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13126. 8383 .loc 1 3305 1
  13127. 8384 .cfi_startproc
  13128. 8385 @ args = 0, pretend = 0, frame = 32
  13129. 8386 @ frame_needed = 1, uses_anonymous_args = 0
  13130. 8387 @ link register save eliminated.
  13131. 8388 0000 80B4 push {r7}
  13132. 8389 .LCFI272:
  13133. 8390 .cfi_def_cfa_offset 4
  13134. 8391 .cfi_offset 7, -4
  13135. 8392 0002 89B0 sub sp, sp, #36
  13136. 8393 .LCFI273:
  13137. 8394 .cfi_def_cfa_offset 40
  13138. 8395 0004 00AF add r7, sp, #0
  13139. 8396 .LCFI274:
  13140. 8397 .cfi_def_cfa_register 7
  13141. 8398 0006 7860 str r0, [r7, #4]
  13142. 8399 .L431:
  13143. 8400 .LBB615:
  13144. 3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
  13145. 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
  13146. 8401 .loc 1 3307 3 discriminator 1
  13147. 8402 0008 7B68 ldr r3, [r7, #4]
  13148. 8403 000a 1B68 ldr r3, [r3]
  13149. 8404 000c 0C33 adds r3, r3, #12
  13150. 8405 000e FB60 str r3, [r7, #12]
  13151. 8406 .LBB616:
  13152. 8407 .LBB617:
  13153. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13154. 8408 .loc 2 1072 4 discriminator 1
  13155. 8409 0010 FB68 ldr r3, [r7, #12]
  13156. 8410 .syntax unified
  13157. 8411 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13158. 8412 0012 53E8003F ldrex r3, [r3]
  13159. 8413 @ 0 "" 2
  13160. 8414 .thumb
  13161. 8415 .syntax unified
  13162. 8416 0016 BB60 str r3, [r7, #8]
  13163. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13164. 8417 .loc 2 1073 10 discriminator 1
  13165. 8418 0018 BB68 ldr r3, [r7, #8]
  13166. 8419 .LBE617:
  13167. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 228
  13168. 8420 .LBE616:
  13169. 8421 .loc 1 3307 3 discriminator 1
  13170. 8422 001a 23F0C003 bic r3, r3, #192
  13171. 8423 001e FB61 str r3, [r7, #28]
  13172. 8424 0020 7B68 ldr r3, [r7, #4]
  13173. 8425 0022 1B68 ldr r3, [r3]
  13174. 8426 0024 0C33 adds r3, r3, #12
  13175. 8427 0026 FA69 ldr r2, [r7, #28]
  13176. 8428 0028 BA61 str r2, [r7, #24]
  13177. 8429 002a 7B61 str r3, [r7, #20]
  13178. 8430 .LBB618:
  13179. 8431 .LBB619:
  13180. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13181. 8432 .loc 2 1123 4 discriminator 1
  13182. 8433 002c 7969 ldr r1, [r7, #20]
  13183. 8434 002e BA69 ldr r2, [r7, #24]
  13184. 8435 .syntax unified
  13185. 8436 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13186. 8437 0030 41E80023 strex r3, r2, [r1]
  13187. 8438 @ 0 "" 2
  13188. 8439 .thumb
  13189. 8440 .syntax unified
  13190. 8441 0034 3B61 str r3, [r7, #16]
  13191. 8442 .loc 2 1124 10 discriminator 1
  13192. 8443 0036 3B69 ldr r3, [r7, #16]
  13193. 8444 .LBE619:
  13194. 8445 .LBE618:
  13195. 8446 .loc 1 3307 3 discriminator 1
  13196. 8447 0038 002B cmp r3, #0
  13197. 8448 003a E5D1 bne .L431
  13198. 8449 .LBE615:
  13199. 3308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13200. 3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
  13201. 3310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  13202. 8450 .loc 1 3310 17
  13203. 8451 003c 7B68 ldr r3, [r7, #4]
  13204. 8452 003e 2022 movs r2, #32
  13205. 8453 0040 83F83D20 strb r2, [r3, #61]
  13206. 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13207. 8454 .loc 1 3311 1
  13208. 8455 0044 00BF nop
  13209. 8456 0046 2437 adds r7, r7, #36
  13210. 8457 .LCFI275:
  13211. 8458 .cfi_def_cfa_offset 4
  13212. 8459 0048 BD46 mov sp, r7
  13213. 8460 .LCFI276:
  13214. 8461 .cfi_def_cfa_register 13
  13215. 8462 @ sp needed
  13216. 8463 004a 5DF8047B ldr r7, [sp], #4
  13217. 8464 .LCFI277:
  13218. 8465 .cfi_restore 7
  13219. 8466 .cfi_def_cfa_offset 0
  13220. 8467 004e 7047 bx lr
  13221. 8468 .cfi_endproc
  13222. 8469 .LFE285:
  13223. 8471 .section .text.UART_EndRxTransfer,"ax",%progbits
  13224. 8472 .align 1
  13225. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 229
  13226. 8473 .syntax unified
  13227. 8474 .thumb
  13228. 8475 .thumb_func
  13229. 8477 UART_EndRxTransfer:
  13230. 8478 .LFB286:
  13231. 3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13232. 3313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13233. 3314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
  13234. 3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
  13235. 3316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  13236. 3317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13237. 3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
  13238. 3319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13239. 8479 .loc 1 3319 1
  13240. 8480 .cfi_startproc
  13241. 8481 @ args = 0, pretend = 0, frame = 80
  13242. 8482 @ frame_needed = 1, uses_anonymous_args = 0
  13243. 8483 @ link register save eliminated.
  13244. 8484 0000 80B4 push {r7}
  13245. 8485 .LCFI278:
  13246. 8486 .cfi_def_cfa_offset 4
  13247. 8487 .cfi_offset 7, -4
  13248. 8488 0002 95B0 sub sp, sp, #84
  13249. 8489 .LCFI279:
  13250. 8490 .cfi_def_cfa_offset 88
  13251. 8491 0004 00AF add r7, sp, #0
  13252. 8492 .LCFI280:
  13253. 8493 .cfi_def_cfa_register 7
  13254. 8494 0006 7860 str r0, [r7, #4]
  13255. 8495 .L435:
  13256. 8496 .LBB620:
  13257. 3320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
  13258. 3321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
  13259. 8497 .loc 1 3321 3 discriminator 1
  13260. 8498 0008 7B68 ldr r3, [r7, #4]
  13261. 8499 000a 1B68 ldr r3, [r3]
  13262. 8500 000c 0C33 adds r3, r3, #12
  13263. 8501 000e 7B63 str r3, [r7, #52]
  13264. 8502 .LBB621:
  13265. 8503 .LBB622:
  13266. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13267. 8504 .loc 2 1072 4 discriminator 1
  13268. 8505 0010 7B6B ldr r3, [r7, #52]
  13269. 8506 .syntax unified
  13270. 8507 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13271. 8508 0012 53E8003F ldrex r3, [r3]
  13272. 8509 @ 0 "" 2
  13273. 8510 .thumb
  13274. 8511 .syntax unified
  13275. 8512 0016 3B63 str r3, [r7, #48]
  13276. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13277. 8513 .loc 2 1073 10 discriminator 1
  13278. 8514 0018 3B6B ldr r3, [r7, #48]
  13279. 8515 .LBE622:
  13280. 8516 .LBE621:
  13281. 8517 .loc 1 3321 3 discriminator 1
  13282. 8518 001a 23F49073 bic r3, r3, #288
  13283. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 230
  13284. 8519 001e FB64 str r3, [r7, #76]
  13285. 8520 0020 7B68 ldr r3, [r7, #4]
  13286. 8521 0022 1B68 ldr r3, [r3]
  13287. 8522 0024 0C33 adds r3, r3, #12
  13288. 8523 0026 FA6C ldr r2, [r7, #76]
  13289. 8524 0028 3A64 str r2, [r7, #64]
  13290. 8525 002a FB63 str r3, [r7, #60]
  13291. 8526 .LBB623:
  13292. 8527 .LBB624:
  13293. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13294. 8528 .loc 2 1123 4 discriminator 1
  13295. 8529 002c F96B ldr r1, [r7, #60]
  13296. 8530 002e 3A6C ldr r2, [r7, #64]
  13297. 8531 .syntax unified
  13298. 8532 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13299. 8533 0030 41E80023 strex r3, r2, [r1]
  13300. 8534 @ 0 "" 2
  13301. 8535 .thumb
  13302. 8536 .syntax unified
  13303. 8537 0034 BB63 str r3, [r7, #56]
  13304. 8538 .loc 2 1124 10 discriminator 1
  13305. 8539 0036 BB6B ldr r3, [r7, #56]
  13306. 8540 .LBE624:
  13307. 8541 .LBE623:
  13308. 8542 .loc 1 3321 3 discriminator 1
  13309. 8543 0038 002B cmp r3, #0
  13310. 8544 003a E5D1 bne .L435
  13311. 8545 .L438:
  13312. 8546 .LBE620:
  13313. 8547 .LBB625:
  13314. 3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
  13315. 8548 .loc 1 3322 3 discriminator 1
  13316. 8549 003c 7B68 ldr r3, [r7, #4]
  13317. 8550 003e 1B68 ldr r3, [r3]
  13318. 8551 0040 1433 adds r3, r3, #20
  13319. 8552 0042 3B62 str r3, [r7, #32]
  13320. 8553 .LBB626:
  13321. 8554 .LBB627:
  13322. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13323. 8555 .loc 2 1072 4 discriminator 1
  13324. 8556 0044 3B6A ldr r3, [r7, #32]
  13325. 8557 .syntax unified
  13326. 8558 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13327. 8559 0046 53E8003F ldrex r3, [r3]
  13328. 8560 @ 0 "" 2
  13329. 8561 .thumb
  13330. 8562 .syntax unified
  13331. 8563 004a FB61 str r3, [r7, #28]
  13332. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13333. 8564 .loc 2 1073 10 discriminator 1
  13334. 8565 004c FB69 ldr r3, [r7, #28]
  13335. 8566 .LBE627:
  13336. 8567 .LBE626:
  13337. 8568 .loc 1 3322 3 discriminator 1
  13338. 8569 004e 23F00103 bic r3, r3, #1
  13339. 8570 0052 BB64 str r3, [r7, #72]
  13340. 8571 0054 7B68 ldr r3, [r7, #4]
  13341. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 231
  13342. 8572 0056 1B68 ldr r3, [r3]
  13343. 8573 0058 1433 adds r3, r3, #20
  13344. 8574 005a BA6C ldr r2, [r7, #72]
  13345. 8575 005c FA62 str r2, [r7, #44]
  13346. 8576 005e BB62 str r3, [r7, #40]
  13347. 8577 .LBB628:
  13348. 8578 .LBB629:
  13349. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13350. 8579 .loc 2 1123 4 discriminator 1
  13351. 8580 0060 B96A ldr r1, [r7, #40]
  13352. 8581 0062 FA6A ldr r2, [r7, #44]
  13353. 8582 .syntax unified
  13354. 8583 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13355. 8584 0064 41E80023 strex r3, r2, [r1]
  13356. 8585 @ 0 "" 2
  13357. 8586 .thumb
  13358. 8587 .syntax unified
  13359. 8588 0068 7B62 str r3, [r7, #36]
  13360. 8589 .loc 2 1124 10 discriminator 1
  13361. 8590 006a 7B6A ldr r3, [r7, #36]
  13362. 8591 .LBE629:
  13363. 8592 .LBE628:
  13364. 8593 .loc 1 3322 3 discriminator 1
  13365. 8594 006c 002B cmp r3, #0
  13366. 8595 006e E5D1 bne .L438
  13367. 8596 .LBE625:
  13368. 3323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13369. 3324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
  13370. 3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  13371. 8597 .loc 1 3325 12
  13372. 8598 0070 7B68 ldr r3, [r7, #4]
  13373. 8599 0072 1B6B ldr r3, [r3, #48]
  13374. 8600 .loc 1 3325 6
  13375. 8601 0074 012B cmp r3, #1
  13376. 8602 0076 19D1 bne .L439
  13377. 8603 .L442:
  13378. 8604 .LBB630:
  13379. 3326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13380. 3327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  13381. 8605 .loc 1 3327 5 discriminator 1
  13382. 8606 0078 7B68 ldr r3, [r7, #4]
  13383. 8607 007a 1B68 ldr r3, [r3]
  13384. 8608 007c 0C33 adds r3, r3, #12
  13385. 8609 007e FB60 str r3, [r7, #12]
  13386. 8610 .LBB631:
  13387. 8611 .LBB632:
  13388. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13389. 8612 .loc 2 1072 4 discriminator 1
  13390. 8613 0080 FB68 ldr r3, [r7, #12]
  13391. 8614 .syntax unified
  13392. 8615 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13393. 8616 0082 53E8003F ldrex r3, [r3]
  13394. 8617 @ 0 "" 2
  13395. 8618 .thumb
  13396. 8619 .syntax unified
  13397. 8620 0086 BB60 str r3, [r7, #8]
  13398. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  13399. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 232
  13400. 8621 .loc 2 1073 10 discriminator 1
  13401. 8622 0088 BB68 ldr r3, [r7, #8]
  13402. 8623 .LBE632:
  13403. 8624 .LBE631:
  13404. 8625 .loc 1 3327 5 discriminator 1
  13405. 8626 008a 23F01003 bic r3, r3, #16
  13406. 8627 008e 7B64 str r3, [r7, #68]
  13407. 8628 0090 7B68 ldr r3, [r7, #4]
  13408. 8629 0092 1B68 ldr r3, [r3]
  13409. 8630 0094 0C33 adds r3, r3, #12
  13410. 8631 0096 7A6C ldr r2, [r7, #68]
  13411. 8632 0098 BA61 str r2, [r7, #24]
  13412. 8633 009a 7B61 str r3, [r7, #20]
  13413. 8634 .LBB633:
  13414. 8635 .LBB634:
  13415. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  13416. 8636 .loc 2 1123 4 discriminator 1
  13417. 8637 009c 7969 ldr r1, [r7, #20]
  13418. 8638 009e BA69 ldr r2, [r7, #24]
  13419. 8639 .syntax unified
  13420. 8640 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  13421. 8641 00a0 41E80023 strex r3, r2, [r1]
  13422. 8642 @ 0 "" 2
  13423. 8643 .thumb
  13424. 8644 .syntax unified
  13425. 8645 00a4 3B61 str r3, [r7, #16]
  13426. 8646 .loc 2 1124 10 discriminator 1
  13427. 8647 00a6 3B69 ldr r3, [r7, #16]
  13428. 8648 .LBE634:
  13429. 8649 .LBE633:
  13430. 8650 .loc 1 3327 5 discriminator 1
  13431. 8651 00a8 002B cmp r3, #0
  13432. 8652 00aa E5D1 bne .L442
  13433. 8653 .L439:
  13434. 8654 .LBE630:
  13435. 3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13436. 3329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13437. 3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
  13438. 3331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  13439. 8655 .loc 1 3331 18
  13440. 8656 00ac 7B68 ldr r3, [r7, #4]
  13441. 8657 00ae 2022 movs r2, #32
  13442. 8658 00b0 83F83E20 strb r2, [r3, #62]
  13443. 3332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  13444. 8659 .loc 1 3332 24
  13445. 8660 00b4 7B68 ldr r3, [r7, #4]
  13446. 8661 00b6 0022 movs r2, #0
  13447. 8662 00b8 1A63 str r2, [r3, #48]
  13448. 3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13449. 8663 .loc 1 3333 1
  13450. 8664 00ba 00BF nop
  13451. 8665 00bc 5437 adds r7, r7, #84
  13452. 8666 .LCFI281:
  13453. 8667 .cfi_def_cfa_offset 4
  13454. 8668 00be BD46 mov sp, r7
  13455. 8669 .LCFI282:
  13456. 8670 .cfi_def_cfa_register 13
  13457. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 233
  13458. 8671 @ sp needed
  13459. 8672 00c0 5DF8047B ldr r7, [sp], #4
  13460. 8673 .LCFI283:
  13461. 8674 .cfi_restore 7
  13462. 8675 .cfi_def_cfa_offset 0
  13463. 8676 00c4 7047 bx lr
  13464. 8677 .cfi_endproc
  13465. 8678 .LFE286:
  13466. 8680 .section .text.UART_DMAAbortOnError,"ax",%progbits
  13467. 8681 .align 1
  13468. 8682 .syntax unified
  13469. 8683 .thumb
  13470. 8684 .thumb_func
  13471. 8686 UART_DMAAbortOnError:
  13472. 8687 .LFB287:
  13473. 3334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13474. 3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13475. 3336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
  13476. 3337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
  13477. 3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  13478. 3339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  13479. 3340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  13480. 3341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13481. 3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
  13482. 3343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13483. 8688 .loc 1 3343 1
  13484. 8689 .cfi_startproc
  13485. 8690 @ args = 0, pretend = 0, frame = 16
  13486. 8691 @ frame_needed = 1, uses_anonymous_args = 0
  13487. 8692 0000 80B5 push {r7, lr}
  13488. 8693 .LCFI284:
  13489. 8694 .cfi_def_cfa_offset 8
  13490. 8695 .cfi_offset 7, -8
  13491. 8696 .cfi_offset 14, -4
  13492. 8697 0002 84B0 sub sp, sp, #16
  13493. 8698 .LCFI285:
  13494. 8699 .cfi_def_cfa_offset 24
  13495. 8700 0004 00AF add r7, sp, #0
  13496. 8701 .LCFI286:
  13497. 8702 .cfi_def_cfa_register 7
  13498. 8703 0006 7860 str r0, [r7, #4]
  13499. 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  13500. 8704 .loc 1 3344 23
  13501. 8705 0008 7B68 ldr r3, [r7, #4]
  13502. 8706 000a 9B6B ldr r3, [r3, #56]
  13503. 8707 000c FB60 str r3, [r7, #12]
  13504. 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  13505. 8708 .loc 1 3345 22
  13506. 8709 000e FB68 ldr r3, [r7, #12]
  13507. 8710 0010 0022 movs r2, #0
  13508. 8711 0012 DA85 strh r2, [r3, #46] @ movhi
  13509. 3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  13510. 8712 .loc 1 3346 22
  13511. 8713 0014 FB68 ldr r3, [r7, #12]
  13512. 8714 0016 0022 movs r2, #0
  13513. 8715 0018 DA84 strh r2, [r3, #38] @ movhi
  13514. 3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13515. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 234
  13516. 3348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  13517. 3349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
  13518. 3350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
  13519. 3351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  13520. 3352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
  13521. 3353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
  13522. 8716 .loc 1 3353 3
  13523. 8717 001a F868 ldr r0, [r7, #12]
  13524. 8718 001c FFF7FEFF bl HAL_UART_ErrorCallback
  13525. 3354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  13526. 3355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13527. 8719 .loc 1 3355 1
  13528. 8720 0020 00BF nop
  13529. 8721 0022 1037 adds r7, r7, #16
  13530. 8722 .LCFI287:
  13531. 8723 .cfi_def_cfa_offset 8
  13532. 8724 0024 BD46 mov sp, r7
  13533. 8725 .LCFI288:
  13534. 8726 .cfi_def_cfa_register 13
  13535. 8727 @ sp needed
  13536. 8728 0026 80BD pop {r7, pc}
  13537. 8729 .cfi_endproc
  13538. 8730 .LFE287:
  13539. 8732 .section .text.UART_DMATxAbortCallback,"ax",%progbits
  13540. 8733 .align 1
  13541. 8734 .syntax unified
  13542. 8735 .thumb
  13543. 8736 .thumb_func
  13544. 8738 UART_DMATxAbortCallback:
  13545. 8739 .LFB288:
  13546. 3356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13547. 3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13548. 3358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
  13549. 3359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
  13550. 3360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
  13551. 3361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
  13552. 3362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  13553. 3363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  13554. 3364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  13555. 3365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13556. 3366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
  13557. 3367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13558. 8740 .loc 1 3367 1
  13559. 8741 .cfi_startproc
  13560. 8742 @ args = 0, pretend = 0, frame = 16
  13561. 8743 @ frame_needed = 1, uses_anonymous_args = 0
  13562. 8744 0000 80B5 push {r7, lr}
  13563. 8745 .LCFI289:
  13564. 8746 .cfi_def_cfa_offset 8
  13565. 8747 .cfi_offset 7, -8
  13566. 8748 .cfi_offset 14, -4
  13567. 8749 0002 84B0 sub sp, sp, #16
  13568. 8750 .LCFI290:
  13569. 8751 .cfi_def_cfa_offset 24
  13570. 8752 0004 00AF add r7, sp, #0
  13571. 8753 .LCFI291:
  13572. 8754 .cfi_def_cfa_register 7
  13573. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 235
  13574. 8755 0006 7860 str r0, [r7, #4]
  13575. 3368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  13576. 8756 .loc 1 3368 23
  13577. 8757 0008 7B68 ldr r3, [r7, #4]
  13578. 8758 000a 9B6B ldr r3, [r3, #56]
  13579. 8759 000c FB60 str r3, [r7, #12]
  13580. 3369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13581. 3370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
  13582. 8760 .loc 1 3370 8
  13583. 8761 000e FB68 ldr r3, [r7, #12]
  13584. 8762 0010 5B6B ldr r3, [r3, #52]
  13585. 8763 .loc 1 3370 36
  13586. 8764 0012 0022 movs r2, #0
  13587. 8765 0014 1A65 str r2, [r3, #80]
  13588. 3371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13589. 3372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
  13590. 3373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
  13591. 8766 .loc 1 3373 12
  13592. 8767 0016 FB68 ldr r3, [r7, #12]
  13593. 8768 0018 9B6B ldr r3, [r3, #56]
  13594. 8769 .loc 1 3373 6
  13595. 8770 001a 002B cmp r3, #0
  13596. 8771 001c 04D0 beq .L445
  13597. 3374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13598. 3375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
  13599. 8772 .loc 1 3375 14
  13600. 8773 001e FB68 ldr r3, [r7, #12]
  13601. 8774 0020 9B6B ldr r3, [r3, #56]
  13602. 8775 .loc 1 3375 22
  13603. 8776 0022 1B6D ldr r3, [r3, #80]
  13604. 8777 .loc 1 3375 8
  13605. 8778 0024 002B cmp r3, #0
  13606. 8779 0026 17D1 bne .L447
  13607. 8780 .L445:
  13608. 3376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13609. 3377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  13610. 3378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13611. 3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13612. 3380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13613. 3381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
  13614. 3382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  13615. 8781 .loc 1 3382 22
  13616. 8782 0028 FB68 ldr r3, [r7, #12]
  13617. 8783 002a 0022 movs r2, #0
  13618. 8784 002c DA84 strh r2, [r3, #38] @ movhi
  13619. 3383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  13620. 8785 .loc 1 3383 22
  13621. 8786 002e FB68 ldr r3, [r7, #12]
  13622. 8787 0030 0022 movs r2, #0
  13623. 8788 0032 DA85 strh r2, [r3, #46] @ movhi
  13624. 3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13625. 3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
  13626. 3386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  13627. 8789 .loc 1 3386 20
  13628. 8790 0034 FB68 ldr r3, [r7, #12]
  13629. 8791 0036 0022 movs r2, #0
  13630. 8792 0038 1A64 str r2, [r3, #64]
  13631. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 236
  13632. 3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13633. 3388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
  13634. 3389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  13635. 8793 .loc 1 3389 18
  13636. 8794 003a FB68 ldr r3, [r7, #12]
  13637. 8795 003c 2022 movs r2, #32
  13638. 8796 003e 83F83D20 strb r2, [r3, #61]
  13639. 3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  13640. 8797 .loc 1 3390 18
  13641. 8798 0042 FB68 ldr r3, [r7, #12]
  13642. 8799 0044 2022 movs r2, #32
  13643. 8800 0046 83F83E20 strb r2, [r3, #62]
  13644. 3391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  13645. 8801 .loc 1 3391 24
  13646. 8802 004a FB68 ldr r3, [r7, #12]
  13647. 8803 004c 0022 movs r2, #0
  13648. 8804 004e 1A63 str r2, [r3, #48]
  13649. 3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13650. 3393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
  13651. 3394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  13652. 3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
  13653. 3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
  13654. 3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  13655. 3398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
  13656. 3399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
  13657. 8805 .loc 1 3399 3
  13658. 8806 0050 F868 ldr r0, [r7, #12]
  13659. 8807 0052 FFF7FEFF bl HAL_UART_AbortCpltCallback
  13660. 8808 0056 00E0 b .L444
  13661. 8809 .L447:
  13662. 3377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13663. 8810 .loc 1 3377 7
  13664. 8811 0058 00BF nop
  13665. 8812 .L444:
  13666. 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  13667. 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13668. 8813 .loc 1 3401 1
  13669. 8814 005a 1037 adds r7, r7, #16
  13670. 8815 .LCFI292:
  13671. 8816 .cfi_def_cfa_offset 8
  13672. 8817 005c BD46 mov sp, r7
  13673. 8818 .LCFI293:
  13674. 8819 .cfi_def_cfa_register 13
  13675. 8820 @ sp needed
  13676. 8821 005e 80BD pop {r7, pc}
  13677. 8822 .cfi_endproc
  13678. 8823 .LFE288:
  13679. 8825 .section .text.UART_DMARxAbortCallback,"ax",%progbits
  13680. 8826 .align 1
  13681. 8827 .syntax unified
  13682. 8828 .thumb
  13683. 8829 .thumb_func
  13684. 8831 UART_DMARxAbortCallback:
  13685. 8832 .LFB289:
  13686. 3402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13687. 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13688. 3404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
  13689. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 237
  13690. 3405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
  13691. 3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
  13692. 3407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
  13693. 3408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  13694. 3409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  13695. 3410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  13696. 3411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13697. 3412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
  13698. 3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13699. 8833 .loc 1 3413 1
  13700. 8834 .cfi_startproc
  13701. 8835 @ args = 0, pretend = 0, frame = 16
  13702. 8836 @ frame_needed = 1, uses_anonymous_args = 0
  13703. 8837 0000 80B5 push {r7, lr}
  13704. 8838 .LCFI294:
  13705. 8839 .cfi_def_cfa_offset 8
  13706. 8840 .cfi_offset 7, -8
  13707. 8841 .cfi_offset 14, -4
  13708. 8842 0002 84B0 sub sp, sp, #16
  13709. 8843 .LCFI295:
  13710. 8844 .cfi_def_cfa_offset 24
  13711. 8845 0004 00AF add r7, sp, #0
  13712. 8846 .LCFI296:
  13713. 8847 .cfi_def_cfa_register 7
  13714. 8848 0006 7860 str r0, [r7, #4]
  13715. 3414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  13716. 8849 .loc 1 3414 23
  13717. 8850 0008 7B68 ldr r3, [r7, #4]
  13718. 8851 000a 9B6B ldr r3, [r3, #56]
  13719. 8852 000c FB60 str r3, [r7, #12]
  13720. 3415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13721. 3416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
  13722. 8853 .loc 1 3416 8
  13723. 8854 000e FB68 ldr r3, [r7, #12]
  13724. 8855 0010 9B6B ldr r3, [r3, #56]
  13725. 8856 .loc 1 3416 36
  13726. 8857 0012 0022 movs r2, #0
  13727. 8858 0014 1A65 str r2, [r3, #80]
  13728. 3417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13729. 3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
  13730. 3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
  13731. 8859 .loc 1 3419 12
  13732. 8860 0016 FB68 ldr r3, [r7, #12]
  13733. 8861 0018 5B6B ldr r3, [r3, #52]
  13734. 8862 .loc 1 3419 6
  13735. 8863 001a 002B cmp r3, #0
  13736. 8864 001c 04D0 beq .L449
  13737. 3420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13738. 3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
  13739. 8865 .loc 1 3421 14
  13740. 8866 001e FB68 ldr r3, [r7, #12]
  13741. 8867 0020 5B6B ldr r3, [r3, #52]
  13742. 8868 .loc 1 3421 22
  13743. 8869 0022 1B6D ldr r3, [r3, #80]
  13744. 8870 .loc 1 3421 8
  13745. 8871 0024 002B cmp r3, #0
  13746. 8872 0026 17D1 bne .L451
  13747. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 238
  13748. 8873 .L449:
  13749. 3422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13750. 3423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
  13751. 3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13752. 3425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13753. 3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13754. 3427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
  13755. 3428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  13756. 8874 .loc 1 3428 22
  13757. 8875 0028 FB68 ldr r3, [r7, #12]
  13758. 8876 002a 0022 movs r2, #0
  13759. 8877 002c DA84 strh r2, [r3, #38] @ movhi
  13760. 3429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  13761. 8878 .loc 1 3429 22
  13762. 8879 002e FB68 ldr r3, [r7, #12]
  13763. 8880 0030 0022 movs r2, #0
  13764. 8881 0032 DA85 strh r2, [r3, #46] @ movhi
  13765. 3430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13766. 3431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
  13767. 3432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
  13768. 8882 .loc 1 3432 20
  13769. 8883 0034 FB68 ldr r3, [r7, #12]
  13770. 8884 0036 0022 movs r2, #0
  13771. 8885 0038 1A64 str r2, [r3, #64]
  13772. 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13773. 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
  13774. 3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  13775. 8886 .loc 1 3435 18
  13776. 8887 003a FB68 ldr r3, [r7, #12]
  13777. 8888 003c 2022 movs r2, #32
  13778. 8889 003e 83F83D20 strb r2, [r3, #61]
  13779. 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  13780. 8890 .loc 1 3436 18
  13781. 8891 0042 FB68 ldr r3, [r7, #12]
  13782. 8892 0044 2022 movs r2, #32
  13783. 8893 0046 83F83E20 strb r2, [r3, #62]
  13784. 3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  13785. 8894 .loc 1 3437 24
  13786. 8895 004a FB68 ldr r3, [r7, #12]
  13787. 8896 004c 0022 movs r2, #0
  13788. 8897 004e 1A63 str r2, [r3, #48]
  13789. 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13790. 3439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
  13791. 3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  13792. 3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
  13793. 3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
  13794. 3443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  13795. 3444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
  13796. 3445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
  13797. 8898 .loc 1 3445 3
  13798. 8899 0050 F868 ldr r0, [r7, #12]
  13799. 8900 0052 FFF7FEFF bl HAL_UART_AbortCpltCallback
  13800. 8901 0056 00E0 b .L448
  13801. 8902 .L451:
  13802. 3423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13803. 8903 .loc 1 3423 7
  13804. 8904 0058 00BF nop
  13805. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 239
  13806. 8905 .L448:
  13807. 3446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  13808. 3447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13809. 8906 .loc 1 3447 1
  13810. 8907 005a 1037 adds r7, r7, #16
  13811. 8908 .LCFI297:
  13812. 8909 .cfi_def_cfa_offset 8
  13813. 8910 005c BD46 mov sp, r7
  13814. 8911 .LCFI298:
  13815. 8912 .cfi_def_cfa_register 13
  13816. 8913 @ sp needed
  13817. 8914 005e 80BD pop {r7, pc}
  13818. 8915 .cfi_endproc
  13819. 8916 .LFE289:
  13820. 8918 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
  13821. 8919 .align 1
  13822. 8920 .syntax unified
  13823. 8921 .thumb
  13824. 8922 .thumb_func
  13825. 8924 UART_DMATxOnlyAbortCallback:
  13826. 8925 .LFB290:
  13827. 3448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13828. 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13829. 3450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
  13830. 3451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
  13831. 3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
  13832. 3453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
  13833. 3454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  13834. 3455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  13835. 3456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  13836. 3457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13837. 3458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
  13838. 3459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13839. 8926 .loc 1 3459 1
  13840. 8927 .cfi_startproc
  13841. 8928 @ args = 0, pretend = 0, frame = 16
  13842. 8929 @ frame_needed = 1, uses_anonymous_args = 0
  13843. 8930 0000 80B5 push {r7, lr}
  13844. 8931 .LCFI299:
  13845. 8932 .cfi_def_cfa_offset 8
  13846. 8933 .cfi_offset 7, -8
  13847. 8934 .cfi_offset 14, -4
  13848. 8935 0002 84B0 sub sp, sp, #16
  13849. 8936 .LCFI300:
  13850. 8937 .cfi_def_cfa_offset 24
  13851. 8938 0004 00AF add r7, sp, #0
  13852. 8939 .LCFI301:
  13853. 8940 .cfi_def_cfa_register 7
  13854. 8941 0006 7860 str r0, [r7, #4]
  13855. 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  13856. 8942 .loc 1 3460 23
  13857. 8943 0008 7B68 ldr r3, [r7, #4]
  13858. 8944 000a 9B6B ldr r3, [r3, #56]
  13859. 8945 000c FB60 str r3, [r7, #12]
  13860. 3461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13861. 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
  13862. 8946 .loc 1 3462 22
  13863. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 240
  13864. 8947 000e FB68 ldr r3, [r7, #12]
  13865. 8948 0010 0022 movs r2, #0
  13866. 8949 0012 DA84 strh r2, [r3, #38] @ movhi
  13867. 3463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13868. 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
  13869. 3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  13870. 8950 .loc 1 3465 17
  13871. 8951 0014 FB68 ldr r3, [r7, #12]
  13872. 8952 0016 2022 movs r2, #32
  13873. 8953 0018 83F83D20 strb r2, [r3, #61]
  13874. 3466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13875. 3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
  13876. 3468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  13877. 3469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
  13878. 3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
  13879. 3471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  13880. 3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
  13881. 3473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
  13882. 8954 .loc 1 3473 3
  13883. 8955 001c F868 ldr r0, [r7, #12]
  13884. 8956 001e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
  13885. 3474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  13886. 3475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13887. 8957 .loc 1 3475 1
  13888. 8958 0022 00BF nop
  13889. 8959 0024 1037 adds r7, r7, #16
  13890. 8960 .LCFI302:
  13891. 8961 .cfi_def_cfa_offset 8
  13892. 8962 0026 BD46 mov sp, r7
  13893. 8963 .LCFI303:
  13894. 8964 .cfi_def_cfa_register 13
  13895. 8965 @ sp needed
  13896. 8966 0028 80BD pop {r7, pc}
  13897. 8967 .cfi_endproc
  13898. 8968 .LFE290:
  13899. 8970 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
  13900. 8971 .align 1
  13901. 8972 .syntax unified
  13902. 8973 .thumb
  13903. 8974 .thumb_func
  13904. 8976 UART_DMARxOnlyAbortCallback:
  13905. 8977 .LFB291:
  13906. 3476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13907. 3477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13908. 3478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
  13909. 3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
  13910. 3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
  13911. 3481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
  13912. 3482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  13913. 3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
  13914. 3484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  13915. 3485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13916. 3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
  13917. 3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  13918. 8978 .loc 1 3487 1
  13919. 8979 .cfi_startproc
  13920. 8980 @ args = 0, pretend = 0, frame = 16
  13921. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 241
  13922. 8981 @ frame_needed = 1, uses_anonymous_args = 0
  13923. 8982 0000 80B5 push {r7, lr}
  13924. 8983 .LCFI304:
  13925. 8984 .cfi_def_cfa_offset 8
  13926. 8985 .cfi_offset 7, -8
  13927. 8986 .cfi_offset 14, -4
  13928. 8987 0002 84B0 sub sp, sp, #16
  13929. 8988 .LCFI305:
  13930. 8989 .cfi_def_cfa_offset 24
  13931. 8990 0004 00AF add r7, sp, #0
  13932. 8991 .LCFI306:
  13933. 8992 .cfi_def_cfa_register 7
  13934. 8993 0006 7860 str r0, [r7, #4]
  13935. 3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
  13936. 8994 .loc 1 3488 23
  13937. 8995 0008 7B68 ldr r3, [r7, #4]
  13938. 8996 000a 9B6B ldr r3, [r3, #56]
  13939. 8997 000c FB60 str r3, [r7, #12]
  13940. 3489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13941. 3490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
  13942. 8998 .loc 1 3490 22
  13943. 8999 000e FB68 ldr r3, [r7, #12]
  13944. 9000 0010 0022 movs r2, #0
  13945. 9001 0012 DA85 strh r2, [r3, #46] @ movhi
  13946. 3491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13947. 3492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
  13948. 3493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  13949. 9002 .loc 1 3493 18
  13950. 9003 0014 FB68 ldr r3, [r7, #12]
  13951. 9004 0016 2022 movs r2, #32
  13952. 9005 0018 83F83E20 strb r2, [r3, #62]
  13953. 3494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  13954. 9006 .loc 1 3494 24
  13955. 9007 001c FB68 ldr r3, [r7, #12]
  13956. 9008 001e 0022 movs r2, #0
  13957. 9009 0020 1A63 str r2, [r3, #48]
  13958. 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13959. 3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
  13960. 3497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  13961. 3498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
  13962. 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
  13963. 3500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  13964. 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
  13965. 3502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
  13966. 9010 .loc 1 3502 3
  13967. 9011 0022 F868 ldr r0, [r7, #12]
  13968. 9012 0024 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
  13969. 3503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  13970. 3504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  13971. 9013 .loc 1 3504 1
  13972. 9014 0028 00BF nop
  13973. 9015 002a 1037 adds r7, r7, #16
  13974. 9016 .LCFI307:
  13975. 9017 .cfi_def_cfa_offset 8
  13976. 9018 002c BD46 mov sp, r7
  13977. 9019 .LCFI308:
  13978. 9020 .cfi_def_cfa_register 13
  13979. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 242
  13980. 9021 @ sp needed
  13981. 9022 002e 80BD pop {r7, pc}
  13982. 9023 .cfi_endproc
  13983. 9024 .LFE291:
  13984. 9026 .section .text.UART_Transmit_IT,"ax",%progbits
  13985. 9027 .align 1
  13986. 9028 .syntax unified
  13987. 9029 .thumb
  13988. 9030 .thumb_func
  13989. 9032 UART_Transmit_IT:
  13990. 9033 .LFB292:
  13991. 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  13992. 3506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  13993. 3507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
  13994. 3508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  13995. 3509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  13996. 3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  13997. 3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  13998. 3512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
  13999. 3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14000. 9034 .loc 1 3513 1
  14001. 9035 .cfi_startproc
  14002. 9036 @ args = 0, pretend = 0, frame = 16
  14003. 9037 @ frame_needed = 1, uses_anonymous_args = 0
  14004. 9038 @ link register save eliminated.
  14005. 9039 0000 80B4 push {r7}
  14006. 9040 .LCFI309:
  14007. 9041 .cfi_def_cfa_offset 4
  14008. 9042 .cfi_offset 7, -4
  14009. 9043 0002 85B0 sub sp, sp, #20
  14010. 9044 .LCFI310:
  14011. 9045 .cfi_def_cfa_offset 24
  14012. 9046 0004 00AF add r7, sp, #0
  14013. 9047 .LCFI311:
  14014. 9048 .cfi_def_cfa_register 7
  14015. 9049 0006 7860 str r0, [r7, #4]
  14016. 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *tmp;
  14017. 3515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14018. 3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
  14019. 3517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
  14020. 9050 .loc 1 3517 12
  14021. 9051 0008 7B68 ldr r3, [r7, #4]
  14022. 9052 000a 93F83D30 ldrb r3, [r3, #61]
  14023. 9053 000e DBB2 uxtb r3, r3
  14024. 9054 .loc 1 3517 6
  14025. 9055 0010 212B cmp r3, #33
  14026. 9056 0012 3ED1 bne .L455
  14027. 3518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14028. 3519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  14029. 9057 .loc 1 3519 21
  14030. 9058 0014 7B68 ldr r3, [r7, #4]
  14031. 9059 0016 9B68 ldr r3, [r3, #8]
  14032. 9060 .loc 1 3519 8
  14033. 9061 0018 B3F5805F cmp r3, #4096
  14034. 9062 001c 14D1 bne .L456
  14035. 9063 .loc 1 3519 71 discriminator 1
  14036. 9064 001e 7B68 ldr r3, [r7, #4]
  14037. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 243
  14038. 9065 0020 1B69 ldr r3, [r3, #16]
  14039. 9066 .loc 1 3519 56 discriminator 1
  14040. 9067 0022 002B cmp r3, #0
  14041. 9068 0024 10D1 bne .L456
  14042. 3520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14043. 3521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr;
  14044. 9069 .loc 1 3521 11
  14045. 9070 0026 7B68 ldr r3, [r7, #4]
  14046. 9071 0028 1B6A ldr r3, [r3, #32]
  14047. 9072 002a FB60 str r3, [r7, #12]
  14048. 3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
  14049. 9073 .loc 1 3522 40
  14050. 9074 002c FB68 ldr r3, [r7, #12]
  14051. 9075 002e 1B88 ldrh r3, [r3]
  14052. 9076 .loc 1 3522 29
  14053. 9077 0030 1A46 mov r2, r3
  14054. 9078 .loc 1 3522 12
  14055. 9079 0032 7B68 ldr r3, [r7, #4]
  14056. 9080 0034 1B68 ldr r3, [r3]
  14057. 9081 .loc 1 3522 29
  14058. 9082 0036 C2F30802 ubfx r2, r2, #0, #9
  14059. 9083 .loc 1 3522 27
  14060. 9084 003a 5A60 str r2, [r3, #4]
  14061. 3523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
  14062. 9085 .loc 1 3523 25
  14063. 9086 003c 7B68 ldr r3, [r7, #4]
  14064. 9087 003e 1B6A ldr r3, [r3, #32]
  14065. 9088 0040 9A1C adds r2, r3, #2
  14066. 9089 0042 7B68 ldr r3, [r7, #4]
  14067. 9090 0044 1A62 str r2, [r3, #32]
  14068. 9091 0046 08E0 b .L457
  14069. 9092 .L456:
  14070. 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14071. 3525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  14072. 3526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14073. 3527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0x00FF);
  14074. 9093 .loc 1 3527 45
  14075. 9094 0048 7B68 ldr r3, [r7, #4]
  14076. 9095 004a 1B6A ldr r3, [r3, #32]
  14077. 9096 .loc 1 3527 57
  14078. 9097 004c 591C adds r1, r3, #1
  14079. 9098 004e 7A68 ldr r2, [r7, #4]
  14080. 9099 0050 1162 str r1, [r2, #32]
  14081. 9100 .loc 1 3527 39
  14082. 9101 0052 1A78 ldrb r2, [r3] @ zero_extendqisi2
  14083. 9102 .loc 1 3527 12
  14084. 9103 0054 7B68 ldr r3, [r7, #4]
  14085. 9104 0056 1B68 ldr r3, [r3]
  14086. 9105 .loc 1 3527 27
  14087. 9106 0058 5A60 str r2, [r3, #4]
  14088. 9107 .L457:
  14089. 3528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14090. 3529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14091. 3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->TxXferCount == 0U)
  14092. 9108 .loc 1 3530 16
  14093. 9109 005a 7B68 ldr r3, [r7, #4]
  14094. 9110 005c DB8C ldrh r3, [r3, #38] @ movhi
  14095. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 244
  14096. 9111 005e 9BB2 uxth r3, r3
  14097. 9112 .loc 1 3530 9
  14098. 9113 0060 013B subs r3, r3, #1
  14099. 9114 0062 9BB2 uxth r3, r3
  14100. 9115 .loc 1 3530 8
  14101. 9116 0064 7A68 ldr r2, [r7, #4]
  14102. 9117 0066 1946 mov r1, r3 @ movhi
  14103. 9118 0068 D184 strh r1, [r2, #38] @ movhi
  14104. 9119 006a 002B cmp r3, #0
  14105. 9120 006c 0FD1 bne .L458
  14106. 3531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14107. 3532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
  14108. 3533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
  14109. 9121 .loc 1 3533 7
  14110. 9122 006e 7B68 ldr r3, [r7, #4]
  14111. 9123 0070 1B68 ldr r3, [r3]
  14112. 9124 0072 DA68 ldr r2, [r3, #12]
  14113. 9125 0074 7B68 ldr r3, [r7, #4]
  14114. 9126 0076 1B68 ldr r3, [r3]
  14115. 9127 0078 22F08002 bic r2, r2, #128
  14116. 9128 007c DA60 str r2, [r3, #12]
  14117. 3534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14118. 3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
  14119. 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TC);
  14120. 9129 .loc 1 3536 7
  14121. 9130 007e 7B68 ldr r3, [r7, #4]
  14122. 9131 0080 1B68 ldr r3, [r3]
  14123. 9132 0082 DA68 ldr r2, [r3, #12]
  14124. 9133 0084 7B68 ldr r3, [r7, #4]
  14125. 9134 0086 1B68 ldr r3, [r3]
  14126. 9135 0088 42F04002 orr r2, r2, #64
  14127. 9136 008c DA60 str r2, [r3, #12]
  14128. 9137 .L458:
  14129. 3537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14130. 3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  14131. 9138 .loc 1 3538 12
  14132. 9139 008e 0023 movs r3, #0
  14133. 9140 0090 00E0 b .L459
  14134. 9141 .L455:
  14135. 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14136. 3540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  14137. 3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14138. 3542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  14139. 9142 .loc 1 3542 12
  14140. 9143 0092 0223 movs r3, #2
  14141. 9144 .L459:
  14142. 3543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14143. 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14144. 9145 .loc 1 3544 1
  14145. 9146 0094 1846 mov r0, r3
  14146. 9147 0096 1437 adds r7, r7, #20
  14147. 9148 .LCFI312:
  14148. 9149 .cfi_def_cfa_offset 4
  14149. 9150 0098 BD46 mov sp, r7
  14150. 9151 .LCFI313:
  14151. 9152 .cfi_def_cfa_register 13
  14152. 9153 @ sp needed
  14153. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 245
  14154. 9154 009a 5DF8047B ldr r7, [sp], #4
  14155. 9155 .LCFI314:
  14156. 9156 .cfi_restore 7
  14157. 9157 .cfi_def_cfa_offset 0
  14158. 9158 009e 7047 bx lr
  14159. 9159 .cfi_endproc
  14160. 9160 .LFE292:
  14161. 9162 .section .text.UART_EndTransmit_IT,"ax",%progbits
  14162. 9163 .align 1
  14163. 9164 .syntax unified
  14164. 9165 .thumb
  14165. 9166 .thumb_func
  14166. 9168 UART_EndTransmit_IT:
  14167. 9169 .LFB293:
  14168. 3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14169. 3546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  14170. 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Wraps up transmission in non blocking mode.
  14171. 3548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  14172. 3549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  14173. 3550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  14174. 3551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  14175. 3552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
  14176. 3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14177. 9170 .loc 1 3553 1
  14178. 9171 .cfi_startproc
  14179. 9172 @ args = 0, pretend = 0, frame = 8
  14180. 9173 @ frame_needed = 1, uses_anonymous_args = 0
  14181. 9174 0000 80B5 push {r7, lr}
  14182. 9175 .LCFI315:
  14183. 9176 .cfi_def_cfa_offset 8
  14184. 9177 .cfi_offset 7, -8
  14185. 9178 .cfi_offset 14, -4
  14186. 9179 0002 82B0 sub sp, sp, #8
  14187. 9180 .LCFI316:
  14188. 9181 .cfi_def_cfa_offset 16
  14189. 9182 0004 00AF add r7, sp, #0
  14190. 9183 .LCFI317:
  14191. 9184 .cfi_def_cfa_register 7
  14192. 9185 0006 7860 str r0, [r7, #4]
  14193. 3554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
  14194. 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TC);
  14195. 9186 .loc 1 3555 3
  14196. 9187 0008 7B68 ldr r3, [r7, #4]
  14197. 9188 000a 1B68 ldr r3, [r3]
  14198. 9189 000c DA68 ldr r2, [r3, #12]
  14199. 9190 000e 7B68 ldr r3, [r7, #4]
  14200. 9191 0010 1B68 ldr r3, [r3]
  14201. 9192 0012 22F04002 bic r2, r2, #64
  14202. 9193 0016 DA60 str r2, [r3, #12]
  14203. 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14204. 3557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
  14205. 3558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
  14206. 9194 .loc 1 3558 17
  14207. 9195 0018 7B68 ldr r3, [r7, #4]
  14208. 9196 001a 2022 movs r2, #32
  14209. 9197 001c 83F83D20 strb r2, [r3, #61]
  14210. 3559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14211. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 246
  14212. 3560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  14213. 3561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
  14214. 3562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
  14215. 3563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  14216. 3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
  14217. 3565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
  14218. 9198 .loc 1 3565 3
  14219. 9199 0020 7868 ldr r0, [r7, #4]
  14220. 9200 0022 FFF7FEFF bl HAL_UART_TxCpltCallback
  14221. 3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  14222. 3567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14223. 3568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  14224. 9201 .loc 1 3568 10
  14225. 9202 0026 0023 movs r3, #0
  14226. 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14227. 9203 .loc 1 3569 1
  14228. 9204 0028 1846 mov r0, r3
  14229. 9205 002a 0837 adds r7, r7, #8
  14230. 9206 .LCFI318:
  14231. 9207 .cfi_def_cfa_offset 8
  14232. 9208 002c BD46 mov sp, r7
  14233. 9209 .LCFI319:
  14234. 9210 .cfi_def_cfa_register 13
  14235. 9211 @ sp needed
  14236. 9212 002e 80BD pop {r7, pc}
  14237. 9213 .cfi_endproc
  14238. 9214 .LFE293:
  14239. 9216 .section .text.UART_Receive_IT,"ax",%progbits
  14240. 9217 .align 1
  14241. 9218 .syntax unified
  14242. 9219 .thumb
  14243. 9220 .thumb_func
  14244. 9222 UART_Receive_IT:
  14245. 9223 .LFB294:
  14246. 3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14247. 3571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  14248. 3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode
  14249. 3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  14250. 3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  14251. 3575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
  14252. 3576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  14253. 3577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
  14254. 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14255. 9224 .loc 1 3578 1
  14256. 9225 .cfi_startproc
  14257. 9226 @ args = 0, pretend = 0, frame = 48
  14258. 9227 @ frame_needed = 1, uses_anonymous_args = 0
  14259. 9228 0000 80B5 push {r7, lr}
  14260. 9229 .LCFI320:
  14261. 9230 .cfi_def_cfa_offset 8
  14262. 9231 .cfi_offset 7, -8
  14263. 9232 .cfi_offset 14, -4
  14264. 9233 0002 8CB0 sub sp, sp, #48
  14265. 9234 .LCFI321:
  14266. 9235 .cfi_def_cfa_offset 56
  14267. 9236 0004 00AF add r7, sp, #0
  14268. 9237 .LCFI322:
  14269. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 247
  14270. 9238 .cfi_def_cfa_register 7
  14271. 9239 0006 7860 str r0, [r7, #4]
  14272. 3579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
  14273. 3580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
  14274. 3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14275. 3582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
  14276. 3583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
  14277. 9240 .loc 1 3583 12
  14278. 9241 0008 7B68 ldr r3, [r7, #4]
  14279. 9242 000a 93F83E30 ldrb r3, [r3, #62]
  14280. 9243 000e DBB2 uxtb r3, r3
  14281. 9244 .loc 1 3583 6
  14282. 9245 0010 222B cmp r3, #34
  14283. 9246 0012 40F0AB80 bne .L463
  14284. 3584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14285. 3585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
  14286. 9247 .loc 1 3585 21
  14287. 9248 0016 7B68 ldr r3, [r7, #4]
  14288. 9249 0018 9B68 ldr r3, [r3, #8]
  14289. 9250 .loc 1 3585 8
  14290. 9251 001a B3F5805F cmp r3, #4096
  14291. 9252 001e 17D1 bne .L464
  14292. 9253 .loc 1 3585 71 discriminator 1
  14293. 9254 0020 7B68 ldr r3, [r7, #4]
  14294. 9255 0022 1B69 ldr r3, [r3, #16]
  14295. 9256 .loc 1 3585 56 discriminator 1
  14296. 9257 0024 002B cmp r3, #0
  14297. 9258 0026 13D1 bne .L464
  14298. 3586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14299. 3587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
  14300. 9259 .loc 1 3587 19
  14301. 9260 0028 0023 movs r3, #0
  14302. 9261 002a FB62 str r3, [r7, #44]
  14303. 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) huart->pRxBuffPtr;
  14304. 9262 .loc 1 3588 19
  14305. 9263 002c 7B68 ldr r3, [r7, #4]
  14306. 9264 002e 9B6A ldr r3, [r3, #40]
  14307. 9265 0030 BB62 str r3, [r7, #40]
  14308. 3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
  14309. 9266 .loc 1 3589 38
  14310. 9267 0032 7B68 ldr r3, [r7, #4]
  14311. 9268 0034 1B68 ldr r3, [r3]
  14312. 9269 .loc 1 3589 48
  14313. 9270 0036 5B68 ldr r3, [r3, #4]
  14314. 9271 .loc 1 3589 22
  14315. 9272 0038 9BB2 uxth r3, r3
  14316. 9273 003a C3F30803 ubfx r3, r3, #0, #9
  14317. 9274 003e 9AB2 uxth r2, r3
  14318. 9275 .loc 1 3589 20
  14319. 9276 0040 BB6A ldr r3, [r7, #40]
  14320. 9277 0042 1A80 strh r2, [r3] @ movhi
  14321. 3590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
  14322. 9278 .loc 1 3590 25
  14323. 9279 0044 7B68 ldr r3, [r7, #4]
  14324. 9280 0046 9B6A ldr r3, [r3, #40]
  14325. 9281 0048 9A1C adds r2, r3, #2
  14326. 9282 004a 7B68 ldr r3, [r7, #4]
  14327. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 248
  14328. 9283 004c 9A62 str r2, [r3, #40]
  14329. 9284 004e 26E0 b .L465
  14330. 9285 .L464:
  14331. 3591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14332. 3592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  14333. 3593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14334. 3594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = (uint8_t *) huart->pRxBuffPtr;
  14335. 9286 .loc 1 3594 18
  14336. 9287 0050 7B68 ldr r3, [r7, #4]
  14337. 9288 0052 9B6A ldr r3, [r3, #40]
  14338. 9289 0054 FB62 str r3, [r7, #44]
  14339. 3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
  14340. 9290 .loc 1 3595 20
  14341. 9291 0056 0023 movs r3, #0
  14342. 9292 0058 BB62 str r3, [r7, #40]
  14343. 3596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14344. 3597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORDLE
  14345. 9293 .loc 1 3597 23
  14346. 9294 005a 7B68 ldr r3, [r7, #4]
  14347. 9295 005c 9B68 ldr r3, [r3, #8]
  14348. 9296 .loc 1 3597 10
  14349. 9297 005e B3F5805F cmp r3, #4096
  14350. 9298 0062 07D0 beq .L466
  14351. 9299 .loc 1 3597 74 discriminator 1
  14352. 9300 0064 7B68 ldr r3, [r7, #4]
  14353. 9301 0066 9B68 ldr r3, [r3, #8]
  14354. 9302 .loc 1 3597 58 discriminator 1
  14355. 9303 0068 002B cmp r3, #0
  14356. 9304 006a 0AD1 bne .L467
  14357. 9305 .loc 1 3597 124 discriminator 2
  14358. 9306 006c 7B68 ldr r3, [r7, #4]
  14359. 9307 006e 1B69 ldr r3, [r3, #16]
  14360. 9308 .loc 1 3597 109 discriminator 2
  14361. 9309 0070 002B cmp r3, #0
  14362. 9310 0072 06D1 bne .L467
  14363. 9311 .L466:
  14364. 3598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14365. 3599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
  14366. 9312 .loc 1 3599 38
  14367. 9313 0074 7B68 ldr r3, [r7, #4]
  14368. 9314 0076 1B68 ldr r3, [r3]
  14369. 9315 .loc 1 3599 48
  14370. 9316 0078 5B68 ldr r3, [r3, #4]
  14371. 9317 .loc 1 3599 23
  14372. 9318 007a DAB2 uxtb r2, r3
  14373. 9319 .loc 1 3599 21
  14374. 9320 007c FB6A ldr r3, [r7, #44]
  14375. 9321 007e 1A70 strb r2, [r3]
  14376. 9322 0080 08E0 b .L468
  14377. 9323 .L467:
  14378. 3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14379. 3601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  14380. 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14381. 3603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
  14382. 9324 .loc 1 3603 38
  14383. 9325 0082 7B68 ldr r3, [r7, #4]
  14384. 9326 0084 1B68 ldr r3, [r3]
  14385. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 249
  14386. 9327 .loc 1 3603 48
  14387. 9328 0086 5B68 ldr r3, [r3, #4]
  14388. 9329 .loc 1 3603 23
  14389. 9330 0088 DBB2 uxtb r3, r3
  14390. 9331 008a 03F07F03 and r3, r3, #127
  14391. 9332 008e DAB2 uxtb r2, r3
  14392. 9333 .loc 1 3603 21
  14393. 9334 0090 FB6A ldr r3, [r7, #44]
  14394. 9335 0092 1A70 strb r2, [r3]
  14395. 9336 .L468:
  14396. 3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14397. 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
  14398. 9337 .loc 1 3605 25
  14399. 9338 0094 7B68 ldr r3, [r7, #4]
  14400. 9339 0096 9B6A ldr r3, [r3, #40]
  14401. 9340 0098 5A1C adds r2, r3, #1
  14402. 9341 009a 7B68 ldr r3, [r7, #4]
  14403. 9342 009c 9A62 str r2, [r3, #40]
  14404. 9343 .L465:
  14405. 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14406. 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14407. 3608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->RxXferCount == 0U)
  14408. 9344 .loc 1 3608 16
  14409. 9345 009e 7B68 ldr r3, [r7, #4]
  14410. 9346 00a0 DB8D ldrh r3, [r3, #46] @ movhi
  14411. 9347 00a2 9BB2 uxth r3, r3
  14412. 9348 .loc 1 3608 9
  14413. 9349 00a4 013B subs r3, r3, #1
  14414. 9350 00a6 9BB2 uxth r3, r3
  14415. 9351 .loc 1 3608 8
  14416. 9352 00a8 7A68 ldr r2, [r7, #4]
  14417. 9353 00aa 1946 mov r1, r3 @ movhi
  14418. 9354 00ac D185 strh r1, [r2, #46] @ movhi
  14419. 9355 00ae 002B cmp r3, #0
  14420. 9356 00b0 5AD1 bne .L469
  14421. 3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14422. 3610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Data Register not empty Interrupt */
  14423. 3611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
  14424. 9357 .loc 1 3611 7
  14425. 9358 00b2 7B68 ldr r3, [r7, #4]
  14426. 9359 00b4 1B68 ldr r3, [r3]
  14427. 9360 00b6 DA68 ldr r2, [r3, #12]
  14428. 9361 00b8 7B68 ldr r3, [r7, #4]
  14429. 9362 00ba 1B68 ldr r3, [r3]
  14430. 9363 00bc 22F02002 bic r2, r2, #32
  14431. 9364 00c0 DA60 str r2, [r3, #12]
  14432. 3612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14433. 3613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt */
  14434. 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_PE);
  14435. 9365 .loc 1 3614 7
  14436. 9366 00c2 7B68 ldr r3, [r7, #4]
  14437. 9367 00c4 1B68 ldr r3, [r3]
  14438. 9368 00c6 DA68 ldr r2, [r3, #12]
  14439. 9369 00c8 7B68 ldr r3, [r7, #4]
  14440. 9370 00ca 1B68 ldr r3, [r3]
  14441. 9371 00cc 22F48072 bic r2, r2, #256
  14442. 9372 00d0 DA60 str r2, [r3, #12]
  14443. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 250
  14444. 3615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14445. 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
  14446. 3617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
  14447. 9373 .loc 1 3617 7
  14448. 9374 00d2 7B68 ldr r3, [r7, #4]
  14449. 9375 00d4 1B68 ldr r3, [r3]
  14450. 9376 00d6 5A69 ldr r2, [r3, #20]
  14451. 9377 00d8 7B68 ldr r3, [r7, #4]
  14452. 9378 00da 1B68 ldr r3, [r3]
  14453. 9379 00dc 22F00102 bic r2, r2, #1
  14454. 9380 00e0 5A61 str r2, [r3, #20]
  14455. 3618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14456. 3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
  14457. 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
  14458. 9381 .loc 1 3620 22
  14459. 9382 00e2 7B68 ldr r3, [r7, #4]
  14460. 9383 00e4 2022 movs r2, #32
  14461. 9384 00e6 83F83E20 strb r2, [r3, #62]
  14462. 3621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14463. 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
  14464. 3623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
  14465. 3624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
  14466. 9385 .loc 1 3624 16
  14467. 9386 00ea 7B68 ldr r3, [r7, #4]
  14468. 9387 00ec 1B6B ldr r3, [r3, #48]
  14469. 9388 .loc 1 3624 10
  14470. 9389 00ee 012B cmp r3, #1
  14471. 9390 00f0 35D1 bne .L470
  14472. 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14473. 3626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set reception type to Standard */
  14474. 3627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
  14475. 9391 .loc 1 3627 30
  14476. 9392 00f2 7B68 ldr r3, [r7, #4]
  14477. 9393 00f4 0022 movs r2, #0
  14478. 9394 00f6 1A63 str r2, [r3, #48]
  14479. 9395 .L473:
  14480. 9396 .LBB635:
  14481. 3628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14482. 3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable IDLE interrupt */
  14483. 3630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
  14484. 9397 .loc 1 3630 9 discriminator 1
  14485. 9398 00f8 7B68 ldr r3, [r7, #4]
  14486. 9399 00fa 1B68 ldr r3, [r3]
  14487. 9400 00fc 0C33 adds r3, r3, #12
  14488. 9401 00fe 7B61 str r3, [r7, #20]
  14489. 9402 .LBB636:
  14490. 9403 .LBB637:
  14491. 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14492. 9404 .loc 2 1072 4 discriminator 1
  14493. 9405 0100 7B69 ldr r3, [r7, #20]
  14494. 9406 .syntax unified
  14495. 9407 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14496. 9408 0102 53E8003F ldrex r3, [r3]
  14497. 9409 @ 0 "" 2
  14498. 9410 .thumb
  14499. 9411 .syntax unified
  14500. 9412 0106 3B61 str r3, [r7, #16]
  14501. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 251
  14502. 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  14503. 9413 .loc 2 1073 10 discriminator 1
  14504. 9414 0108 3B69 ldr r3, [r7, #16]
  14505. 9415 .LBE637:
  14506. 9416 .LBE636:
  14507. 9417 .loc 1 3630 9 discriminator 1
  14508. 9418 010a 23F01003 bic r3, r3, #16
  14509. 9419 010e 7B62 str r3, [r7, #36]
  14510. 9420 0110 7B68 ldr r3, [r7, #4]
  14511. 9421 0112 1B68 ldr r3, [r3]
  14512. 9422 0114 0C33 adds r3, r3, #12
  14513. 9423 0116 7A6A ldr r2, [r7, #36]
  14514. 9424 0118 3A62 str r2, [r7, #32]
  14515. 9425 011a FB61 str r3, [r7, #28]
  14516. 9426 .LBB638:
  14517. 9427 .LBB639:
  14518. 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  14519. 9428 .loc 2 1123 4 discriminator 1
  14520. 9429 011c F969 ldr r1, [r7, #28]
  14521. 9430 011e 3A6A ldr r2, [r7, #32]
  14522. 9431 .syntax unified
  14523. 9432 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  14524. 9433 0120 41E80023 strex r3, r2, [r1]
  14525. 9434 @ 0 "" 2
  14526. 9435 .thumb
  14527. 9436 .syntax unified
  14528. 9437 0124 BB61 str r3, [r7, #24]
  14529. 9438 .loc 2 1124 10 discriminator 1
  14530. 9439 0126 BB69 ldr r3, [r7, #24]
  14531. 9440 .LBE639:
  14532. 9441 .LBE638:
  14533. 9442 .loc 1 3630 9 discriminator 1
  14534. 9443 0128 002B cmp r3, #0
  14535. 9444 012a E5D1 bne .L473
  14536. 9445 .LBE635:
  14537. 3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14538. 3632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */
  14539. 3633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE))
  14540. 9446 .loc 1 3633 13
  14541. 9447 012c 7B68 ldr r3, [r7, #4]
  14542. 9448 012e 1B68 ldr r3, [r3]
  14543. 9449 0130 1B68 ldr r3, [r3]
  14544. 9450 0132 03F01003 and r3, r3, #16
  14545. 9451 .loc 1 3633 12
  14546. 9452 0136 102B cmp r3, #16
  14547. 9453 0138 0AD1 bne .L474
  14548. 9454 .LBB640:
  14549. 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14550. 3635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */
  14551. 3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
  14552. 9455 .loc 1 3636 11
  14553. 9456 013a 0023 movs r3, #0
  14554. 9457 013c FB60 str r3, [r7, #12]
  14555. 9458 013e 7B68 ldr r3, [r7, #4]
  14556. 9459 0140 1B68 ldr r3, [r3]
  14557. 9460 0142 1B68 ldr r3, [r3]
  14558. 9461 0144 FB60 str r3, [r7, #12]
  14559. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 252
  14560. 9462 0146 7B68 ldr r3, [r7, #4]
  14561. 9463 0148 1B68 ldr r3, [r3]
  14562. 9464 014a 5B68 ldr r3, [r3, #4]
  14563. 9465 014c FB60 str r3, [r7, #12]
  14564. 9466 014e FB68 ldr r3, [r7, #12]
  14565. 9467 .L474:
  14566. 9468 .LBE640:
  14567. 3637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14568. 3638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14569. 3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  14570. 3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
  14571. 3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
  14572. 3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  14573. 3643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
  14574. 3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
  14575. 9469 .loc 1 3644 9
  14576. 9470 0150 7B68 ldr r3, [r7, #4]
  14577. 9471 0152 9B8D ldrh r3, [r3, #44]
  14578. 9472 0154 1946 mov r1, r3
  14579. 9473 0156 7868 ldr r0, [r7, #4]
  14580. 9474 0158 FFF7FEFF bl HAL_UARTEx_RxEventCallback
  14581. 9475 015c 02E0 b .L475
  14582. 9476 .L470:
  14583. 3645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  14584. 3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14585. 3647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  14586. 3648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14587. 3649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Standard reception API called */
  14588. 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
  14589. 3651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
  14590. 3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
  14591. 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  14592. 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
  14593. 3655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
  14594. 9477 .loc 1 3655 9
  14595. 9478 015e 7868 ldr r0, [r7, #4]
  14596. 9479 0160 FFF7FEFF bl HAL_UART_RxCpltCallback
  14597. 9480 .L475:
  14598. 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
  14599. 3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14600. 3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14601. 3659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  14602. 9481 .loc 1 3659 14
  14603. 9482 0164 0023 movs r3, #0
  14604. 9483 0166 02E0 b .L476
  14605. 9484 .L469:
  14606. 3660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14607. 3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
  14608. 9485 .loc 1 3661 12
  14609. 9486 0168 0023 movs r3, #0
  14610. 9487 016a 00E0 b .L476
  14611. 9488 .L463:
  14612. 3662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14613. 3663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  14614. 3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14615. 3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
  14616. 9489 .loc 1 3665 12
  14617. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 253
  14618. 9490 016c 0223 movs r3, #2
  14619. 9491 .L476:
  14620. 3666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14621. 3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14622. 9492 .loc 1 3667 1
  14623. 9493 016e 1846 mov r0, r3
  14624. 9494 0170 3037 adds r7, r7, #48
  14625. 9495 .LCFI323:
  14626. 9496 .cfi_def_cfa_offset 8
  14627. 9497 0172 BD46 mov sp, r7
  14628. 9498 .LCFI324:
  14629. 9499 .cfi_def_cfa_register 13
  14630. 9500 @ sp needed
  14631. 9501 0174 80BD pop {r7, pc}
  14632. 9502 .cfi_endproc
  14633. 9503 .LFE294:
  14634. 9505 .global __aeabi_uldivmod
  14635. 9506 .section .text.UART_SetConfig,"ax",%progbits
  14636. 9507 .align 1
  14637. 9508 .syntax unified
  14638. 9509 .thumb
  14639. 9510 .thumb_func
  14640. 9512 UART_SetConfig:
  14641. 9513 .LFB295:
  14642. 3668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14643. 3669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
  14644. 3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Configures the UART peripheral.
  14645. 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
  14646. 3672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
  14647. 3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
  14648. 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
  14649. 3675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart)
  14650. 3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14651. 9514 .loc 1 3676 1
  14652. 9515 .cfi_startproc
  14653. 9516 @ args = 0, pretend = 0, frame = 256
  14654. 9517 @ frame_needed = 1, uses_anonymous_args = 0
  14655. 9518 0000 2DE9B04F push {r4, r5, r7, r8, r9, r10, fp, lr}
  14656. 9519 .LCFI325:
  14657. 9520 .cfi_def_cfa_offset 32
  14658. 9521 .cfi_offset 4, -32
  14659. 9522 .cfi_offset 5, -28
  14660. 9523 .cfi_offset 7, -24
  14661. 9524 .cfi_offset 8, -20
  14662. 9525 .cfi_offset 9, -16
  14663. 9526 .cfi_offset 10, -12
  14664. 9527 .cfi_offset 11, -8
  14665. 9528 .cfi_offset 14, -4
  14666. 9529 0004 C0B0 sub sp, sp, #256
  14667. 9530 .LCFI326:
  14668. 9531 .cfi_def_cfa_offset 288
  14669. 9532 0006 00AF add r7, sp, #0
  14670. 9533 .LCFI327:
  14671. 9534 .cfi_def_cfa_register 7
  14672. 9535 0008 C7F8F400 str r0, [r7, #244]
  14673. 3677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg;
  14674. 3678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t pclk;
  14675. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 254
  14676. 3679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14677. 3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
  14678. 3681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
  14679. 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
  14680. 3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
  14681. 3684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
  14682. 3685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14683. 3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
  14684. 3687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits
  14685. 3688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** according to huart->Init.StopBits value */
  14686. 3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
  14687. 9536 .loc 1 3689 3
  14688. 9537 000c D7F8F430 ldr r3, [r7, #244]
  14689. 9538 0010 1B68 ldr r3, [r3]
  14690. 9539 0012 1B69 ldr r3, [r3, #16]
  14691. 9540 0014 23F44050 bic r0, r3, #12288
  14692. 9541 0018 D7F8F430 ldr r3, [r7, #244]
  14693. 9542 001c D968 ldr r1, [r3, #12]
  14694. 9543 001e D7F8F430 ldr r3, [r7, #244]
  14695. 9544 0022 1A68 ldr r2, [r3]
  14696. 9545 0024 40EA0103 orr r3, r0, r1
  14697. 9546 0028 1361 str r3, [r2, #16]
  14698. 3690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14699. 3691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
  14700. 3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Word Length, Parity and mode:
  14701. 3693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the M bits according to huart->Init.WordLength value
  14702. 3694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set PCE and PS bits according to huart->Init.Parity value
  14703. 3695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set TE and RE bits according to huart->Init.Mode value
  14704. 3696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set OVER8 bit according to huart->Init.OverSampling value */
  14705. 3697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14706. 3698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
  14707. 9547 .loc 1 3698 33
  14708. 9548 002a D7F8F430 ldr r3, [r7, #244]
  14709. 9549 002e 9A68 ldr r2, [r3, #8]
  14710. 9550 .loc 1 3698 58
  14711. 9551 0030 D7F8F430 ldr r3, [r7, #244]
  14712. 9552 0034 1B69 ldr r3, [r3, #16]
  14713. 9553 .loc 1 3698 45
  14714. 9554 0036 1A43 orrs r2, r2, r3
  14715. 9555 .loc 1 3698 79
  14716. 9556 0038 D7F8F430 ldr r3, [r7, #244]
  14717. 9557 003c 5B69 ldr r3, [r3, #20]
  14718. 9558 .loc 1 3698 66
  14719. 9559 003e 1A43 orrs r2, r2, r3
  14720. 9560 .loc 1 3698 98
  14721. 9561 0040 D7F8F430 ldr r3, [r7, #244]
  14722. 9562 0044 DB69 ldr r3, [r3, #28]
  14723. 9563 .loc 1 3698 10
  14724. 9564 0046 1343 orrs r3, r3, r2
  14725. 9565 0048 C7F8F830 str r3, [r7, #248]
  14726. 3699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
  14727. 9566 .loc 1 3699 3
  14728. 9567 004c D7F8F430 ldr r3, [r7, #244]
  14729. 9568 0050 1B68 ldr r3, [r3]
  14730. 9569 0052 DB68 ldr r3, [r3, #12]
  14731. 9570 0054 23F41641 bic r1, r3, #38400
  14732. 9571 0058 21F00C01 bic r1, r1, #12
  14733. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 255
  14734. 9572 005c D7F8F430 ldr r3, [r7, #244]
  14735. 9573 0060 1A68 ldr r2, [r3]
  14736. 9574 0062 D7F8F830 ldr r3, [r7, #248]
  14737. 9575 0066 0B43 orrs r3, r3, r1
  14738. 9576 0068 D360 str r3, [r2, #12]
  14739. 3700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE |
  14740. 3701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg);
  14741. 3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14742. 3703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
  14743. 3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART HFC: Set CTSE and RTSE bits according to huart->Init.HwFlowCtl value */
  14744. 3705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE), huart->Init.HwFlowCtl);
  14745. 9577 .loc 1 3705 3
  14746. 9578 006a D7F8F430 ldr r3, [r7, #244]
  14747. 9579 006e 1B68 ldr r3, [r3]
  14748. 9580 0070 5B69 ldr r3, [r3, #20]
  14749. 9581 0072 23F44070 bic r0, r3, #768
  14750. 9582 0076 D7F8F430 ldr r3, [r7, #244]
  14751. 9583 007a 9969 ldr r1, [r3, #24]
  14752. 9584 007c D7F8F430 ldr r3, [r7, #244]
  14753. 9585 0080 1A68 ldr r2, [r3]
  14754. 9586 0082 40EA0103 orr r3, r0, r1
  14755. 9587 0086 5361 str r3, [r2, #20]
  14756. 3706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14757. 3707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
  14758. 3708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6) && defined(UART9) && defined(UART10)
  14759. 3709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6) || (huart->Instance == UART9) ||
  14760. 3710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14761. 3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
  14762. 3712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14763. 3713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #elif defined(USART6)
  14764. 3714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6))
  14765. 9588 .loc 1 3714 15
  14766. 9589 0088 D7F8F430 ldr r3, [r7, #244]
  14767. 9590 008c 1A68 ldr r2, [r3]
  14768. 9591 .loc 1 3714 8
  14769. 9592 008e 8F4B ldr r3, .L484
  14770. 9593 0090 9A42 cmp r2, r3
  14771. 9594 0092 05D0 beq .L478
  14772. 9595 .loc 1 3714 46 discriminator 1
  14773. 9596 0094 D7F8F430 ldr r3, [r7, #244]
  14774. 9597 0098 1A68 ldr r2, [r3]
  14775. 9598 .loc 1 3714 37 discriminator 1
  14776. 9599 009a 8D4B ldr r3, .L484+4
  14777. 9600 009c 9A42 cmp r2, r3
  14778. 9601 009e 04D1 bne .L479
  14779. 9602 .L478:
  14780. 3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14781. 3716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
  14782. 9603 .loc 1 3716 14
  14783. 9604 00a0 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
  14784. 9605 00a4 C7F8FC00 str r0, [r7, #252]
  14785. 9606 .loc 1 3716 12
  14786. 9607 00a8 03E0 b .L480
  14787. 9608 .L479:
  14788. 3717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14789. 3718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
  14790. 3719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Instance == USART1)
  14791. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 256
  14792. 3720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14793. 3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
  14794. 3722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14795. 3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */
  14796. 3724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  14797. 3725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14798. 3726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
  14799. 9609 .loc 1 3726 14
  14800. 9610 00aa FFF7FEFF bl HAL_RCC_GetPCLK1Freq
  14801. 9611 00ae C7F8FC00 str r0, [r7, #252]
  14802. 9612 .L480:
  14803. 3727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  14804. 3728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
  14805. 3729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
  14806. 9613 .loc 1 3729 18
  14807. 9614 00b2 D7F8F430 ldr r3, [r7, #244]
  14808. 9615 00b6 DB69 ldr r3, [r3, #28]
  14809. 9616 .loc 1 3729 6
  14810. 9617 00b8 B3F5004F cmp r3, #32768
  14811. 9618 00bc 40F00C81 bne .L481
  14812. 3730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  14813. 3731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(pclk, huart->Init.BaudRate);
  14814. 9619 .loc 1 3731 28
  14815. 9620 00c0 D7F8FC30 ldr r3, [r7, #252]
  14816. 9621 00c4 0022 movs r2, #0
  14817. 9622 00c6 C7F8E830 str r3, [r7, #232]
  14818. 9623 00ca C7F8EC20 str r2, [r7, #236]
  14819. 9624 00ce D7E93A45 ldrd r4, [r7, #232]
  14820. 9625 00d2 2246 mov r2, r4
  14821. 9626 00d4 2B46 mov r3, r5
  14822. 9627 00d6 9118 adds r1, r2, r2
  14823. 9628 00d8 B965 str r1, [r7, #88]
  14824. 9629 00da 5B41 adcs r3, r3, r3
  14825. 9630 00dc FB65 str r3, [r7, #92]
  14826. 9631 00de D7E91623 ldrd r2, [r7, #88]
  14827. 9632 00e2 2146 mov r1, r4
  14828. 9633 00e4 12EB0108 adds r8, r2, r1
  14829. 9634 00e8 2946 mov r1, r5
  14830. 9635 00ea 43EB0109 adc r9, r3, r1
  14831. 9636 00ee 4FF00002 mov r2, #0
  14832. 9637 00f2 4FF00003 mov r3, #0
  14833. 9638 00f6 4FEAC903 lsl r3, r9, #3
  14834. 9639 00fa 43EA5873 orr r3, r3, r8, lsr #29
  14835. 9640 00fe 4FEAC802 lsl r2, r8, #3
  14836. 9641 0102 9046 mov r8, r2
  14837. 9642 0104 9946 mov r9, r3
  14838. 9643 0106 2346 mov r3, r4
  14839. 9644 0108 18EB0303 adds r3, r8, r3
  14840. 9645 010c C7F8E030 str r3, [r7, #224]
  14841. 9646 0110 2B46 mov r3, r5
  14842. 9647 0112 49EB0303 adc r3, r9, r3
  14843. 9648 0116 C7F8E430 str r3, [r7, #228]
  14844. 9649 011a D7F8F430 ldr r3, [r7, #244]
  14845. 9650 011e 5B68 ldr r3, [r3, #4]
  14846. 9651 0120 0022 movs r2, #0
  14847. 9652 0122 C7F8D830 str r3, [r7, #216]
  14848. 9653 0126 C7F8DC20 str r2, [r7, #220]
  14849. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 257
  14850. 9654 012a D7E93612 ldrd r1, [r7, #216]
  14851. 9655 012e 0B46 mov r3, r1
  14852. 9656 0130 DB18 adds r3, r3, r3
  14853. 9657 0132 3B65 str r3, [r7, #80]
  14854. 9658 0134 1346 mov r3, r2
  14855. 9659 0136 42EB0303 adc r3, r2, r3
  14856. 9660 013a 7B65 str r3, [r7, #84]
  14857. 9661 013c D7E91423 ldrd r2, [r7, #80]
  14858. 9662 0140 D7E93801 ldrd r0, [r7, #224]
  14859. 9663 0144 FFF7FEFF bl __aeabi_uldivmod
  14860. 9664 0148 0246 mov r2, r0
  14861. 9665 014a 0B46 mov r3, r1
  14862. 9666 014c 614B ldr r3, .L484+8
  14863. 9667 014e A3FB0223 umull r2, r3, r3, r2
  14864. 9668 0152 5B09 lsrs r3, r3, #5
  14865. 9669 0154 1C01 lsls r4, r3, #4
  14866. 9670 0156 D7F8FC30 ldr r3, [r7, #252]
  14867. 9671 015a 0022 movs r2, #0
  14868. 9672 015c C7F8D030 str r3, [r7, #208]
  14869. 9673 0160 C7F8D420 str r2, [r7, #212]
  14870. 9674 0164 D7E93489 ldrd r8, [r7, #208]
  14871. 9675 0168 4246 mov r2, r8
  14872. 9676 016a 4B46 mov r3, r9
  14873. 9677 016c 9118 adds r1, r2, r2
  14874. 9678 016e B964 str r1, [r7, #72]
  14875. 9679 0170 5B41 adcs r3, r3, r3
  14876. 9680 0172 FB64 str r3, [r7, #76]
  14877. 9681 0174 D7E91223 ldrd r2, [r7, #72]
  14878. 9682 0178 4146 mov r1, r8
  14879. 9683 017a 12EB010A adds r10, r2, r1
  14880. 9684 017e 4946 mov r1, r9
  14881. 9685 0180 43EB010B adc fp, r3, r1
  14882. 9686 0184 4FF00002 mov r2, #0
  14883. 9687 0188 4FF00003 mov r3, #0
  14884. 9688 018c 4FEACB03 lsl r3, fp, #3
  14885. 9689 0190 43EA5A73 orr r3, r3, r10, lsr #29
  14886. 9690 0194 4FEACA02 lsl r2, r10, #3
  14887. 9691 0198 9246 mov r10, r2
  14888. 9692 019a 9B46 mov fp, r3
  14889. 9693 019c 4346 mov r3, r8
  14890. 9694 019e 1AEB0303 adds r3, r10, r3
  14891. 9695 01a2 C7F8C830 str r3, [r7, #200]
  14892. 9696 01a6 4B46 mov r3, r9
  14893. 9697 01a8 4BEB0303 adc r3, fp, r3
  14894. 9698 01ac C7F8CC30 str r3, [r7, #204]
  14895. 9699 01b0 D7F8F430 ldr r3, [r7, #244]
  14896. 9700 01b4 5B68 ldr r3, [r3, #4]
  14897. 9701 01b6 0022 movs r2, #0
  14898. 9702 01b8 C7F8C030 str r3, [r7, #192]
  14899. 9703 01bc C7F8C420 str r2, [r7, #196]
  14900. 9704 01c0 D7E93012 ldrd r1, [r7, #192]
  14901. 9705 01c4 0B46 mov r3, r1
  14902. 9706 01c6 DB18 adds r3, r3, r3
  14903. 9707 01c8 3B64 str r3, [r7, #64]
  14904. 9708 01ca 1346 mov r3, r2
  14905. 9709 01cc 42EB0303 adc r3, r2, r3
  14906. 9710 01d0 7B64 str r3, [r7, #68]
  14907. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 258
  14908. 9711 01d2 D7E91023 ldrd r2, [r7, #64]
  14909. 9712 01d6 D7E93201 ldrd r0, [r7, #200]
  14910. 9713 01da FFF7FEFF bl __aeabi_uldivmod
  14911. 9714 01de 0246 mov r2, r0
  14912. 9715 01e0 0B46 mov r3, r1
  14913. 9716 01e2 1146 mov r1, r2
  14914. 9717 01e4 3B4B ldr r3, .L484+8
  14915. 9718 01e6 A3FB0123 umull r2, r3, r3, r1
  14916. 9719 01ea 5B09 lsrs r3, r3, #5
  14917. 9720 01ec 6422 movs r2, #100
  14918. 9721 01ee 02FB03F3 mul r3, r2, r3
  14919. 9722 01f2 CB1A subs r3, r1, r3
  14920. 9723 01f4 DB00 lsls r3, r3, #3
  14921. 9724 01f6 03F13202 add r2, r3, #50
  14922. 9725 01fa 364B ldr r3, .L484+8
  14923. 9726 01fc A3FB0223 umull r2, r3, r3, r2
  14924. 9727 0200 5B09 lsrs r3, r3, #5
  14925. 9728 0202 5B00 lsls r3, r3, #1
  14926. 9729 0204 03F4F873 and r3, r3, #496
  14927. 9730 0208 1C44 add r4, r4, r3
  14928. 9731 020a D7F8FC30 ldr r3, [r7, #252]
  14929. 9732 020e 0022 movs r2, #0
  14930. 9733 0210 C7F8B830 str r3, [r7, #184]
  14931. 9734 0214 C7F8BC20 str r2, [r7, #188]
  14932. 9735 0218 D7E92E89 ldrd r8, [r7, #184]
  14933. 9736 021c 4246 mov r2, r8
  14934. 9737 021e 4B46 mov r3, r9
  14935. 9738 0220 9118 adds r1, r2, r2
  14936. 9739 0222 B963 str r1, [r7, #56]
  14937. 9740 0224 5B41 adcs r3, r3, r3
  14938. 9741 0226 FB63 str r3, [r7, #60]
  14939. 9742 0228 D7E90E23 ldrd r2, [r7, #56]
  14940. 9743 022c 4146 mov r1, r8
  14941. 9744 022e 5118 adds r1, r2, r1
  14942. 9745 0230 3963 str r1, [r7, #48]
  14943. 9746 0232 4946 mov r1, r9
  14944. 9747 0234 4B41 adcs r3, r3, r1
  14945. 9748 0236 7B63 str r3, [r7, #52]
  14946. 9749 0238 4FF00002 mov r2, #0
  14947. 9750 023c 4FF00003 mov r3, #0
  14948. 9751 0240 D7E90CAB ldrd r10, [r7, #48]
  14949. 9752 0244 5946 mov r1, fp
  14950. 9753 0246 CB00 lsls r3, r1, #3
  14951. 9754 0248 5146 mov r1, r10
  14952. 9755 024a 43EA5173 orr r3, r3, r1, lsr #29
  14953. 9756 024e 5146 mov r1, r10
  14954. 9757 0250 CA00 lsls r2, r1, #3
  14955. 9758 0252 1046 mov r0, r2
  14956. 9759 0254 1946 mov r1, r3
  14957. 9760 0256 0346 mov r3, r0
  14958. 9761 0258 4246 mov r2, r8
  14959. 9762 025a 9B18 adds r3, r3, r2
  14960. 9763 025c C7F8B030 str r3, [r7, #176]
  14961. 9764 0260 4B46 mov r3, r9
  14962. 9765 0262 0A46 mov r2, r1
  14963. 9766 0264 42EB0303 adc r3, r2, r3
  14964. 9767 0268 C7F8B430 str r3, [r7, #180]
  14965. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 259
  14966. 9768 026c D7F8F430 ldr r3, [r7, #244]
  14967. 9769 0270 5B68 ldr r3, [r3, #4]
  14968. 9770 0272 0022 movs r2, #0
  14969. 9771 0274 C7F8A830 str r3, [r7, #168]
  14970. 9772 0278 C7F8AC20 str r2, [r7, #172]
  14971. 9773 027c D7E92A12 ldrd r1, [r7, #168]
  14972. 9774 0280 0B46 mov r3, r1
  14973. 9775 0282 DB18 adds r3, r3, r3
  14974. 9776 0284 BB62 str r3, [r7, #40]
  14975. 9777 0286 1346 mov r3, r2
  14976. 9778 0288 42EB0303 adc r3, r2, r3
  14977. 9779 028c FB62 str r3, [r7, #44]
  14978. 9780 028e D7E90A23 ldrd r2, [r7, #40]
  14979. 9781 0292 D7E92C01 ldrd r0, [r7, #176]
  14980. 9782 0296 FFF7FEFF bl __aeabi_uldivmod
  14981. 9783 029a 0246 mov r2, r0
  14982. 9784 029c 0B46 mov r3, r1
  14983. 9785 029e 0D4B ldr r3, .L484+8
  14984. 9786 02a0 A3FB0213 umull r1, r3, r3, r2
  14985. 9787 02a4 5B09 lsrs r3, r3, #5
  14986. 9788 02a6 6421 movs r1, #100
  14987. 9789 02a8 01FB03F3 mul r3, r1, r3
  14988. 9790 02ac D31A subs r3, r2, r3
  14989. 9791 02ae DB00 lsls r3, r3, #3
  14990. 9792 02b0 3233 adds r3, r3, #50
  14991. 9793 02b2 084A ldr r2, .L484+8
  14992. 9794 02b4 A2FB0323 umull r2, r3, r2, r3
  14993. 9795 02b8 5B09 lsrs r3, r3, #5
  14994. 9796 02ba 03F00702 and r2, r3, #7
  14995. 9797 .loc 1 3731 10
  14996. 9798 02be D7F8F430 ldr r3, [r7, #244]
  14997. 9799 02c2 1B68 ldr r3, [r3]
  14998. 9800 .loc 1 3731 28
  14999. 9801 02c4 2244 add r2, r2, r4
  15000. 9802 .loc 1 3731 26
  15001. 9803 02c6 9A60 str r2, [r3, #8]
  15002. 3732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  15003. 3733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
  15004. 3734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
  15005. 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
  15006. 3736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  15007. 3737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  15008. 9804 .loc 1 3737 1
  15009. 9805 02c8 05E1 b .L483
  15010. 9806 .L485:
  15011. 9807 02ca 00BF .align 2
  15012. 9808 .L484:
  15013. 9809 02cc 00100140 .word 1073811456
  15014. 9810 02d0 00140140 .word 1073812480
  15015. 9811 02d4 1F85EB51 .word 1374389535
  15016. 9812 .L481:
  15017. 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  15018. 9813 .loc 1 3735 28
  15019. 9814 02d8 D7F8FC30 ldr r3, [r7, #252]
  15020. 9815 02dc 0022 movs r2, #0
  15021. 9816 02de C7F8A030 str r3, [r7, #160]
  15022. 9817 02e2 C7F8A420 str r2, [r7, #164]
  15023. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 260
  15024. 9818 02e6 D7E92889 ldrd r8, [r7, #160]
  15025. 9819 02ea 4246 mov r2, r8
  15026. 9820 02ec 4B46 mov r3, r9
  15027. 9821 02ee 9118 adds r1, r2, r2
  15028. 9822 02f0 3962 str r1, [r7, #32]
  15029. 9823 02f2 5B41 adcs r3, r3, r3
  15030. 9824 02f4 7B62 str r3, [r7, #36]
  15031. 9825 02f6 D7E90823 ldrd r2, [r7, #32]
  15032. 9826 02fa 4146 mov r1, r8
  15033. 9827 02fc 5418 adds r4, r2, r1
  15034. 9828 02fe 4946 mov r1, r9
  15035. 9829 0300 43EB0105 adc r5, r3, r1
  15036. 9830 0304 4FF00002 mov r2, #0
  15037. 9831 0308 4FF00003 mov r3, #0
  15038. 9832 030c EB00 lsls r3, r5, #3
  15039. 9833 030e 43EA5473 orr r3, r3, r4, lsr #29
  15040. 9834 0312 E200 lsls r2, r4, #3
  15041. 9835 0314 1446 mov r4, r2
  15042. 9836 0316 1D46 mov r5, r3
  15043. 9837 0318 4346 mov r3, r8
  15044. 9838 031a E318 adds r3, r4, r3
  15045. 9839 031c C7F89830 str r3, [r7, #152]
  15046. 9840 0320 4B46 mov r3, r9
  15047. 9841 0322 45EB0303 adc r3, r5, r3
  15048. 9842 0326 C7F89C30 str r3, [r7, #156]
  15049. 9843 032a D7F8F430 ldr r3, [r7, #244]
  15050. 9844 032e 5B68 ldr r3, [r3, #4]
  15051. 9845 0330 0022 movs r2, #0
  15052. 9846 0332 C7F89030 str r3, [r7, #144]
  15053. 9847 0336 C7F89420 str r2, [r7, #148]
  15054. 9848 033a 4FF00002 mov r2, #0
  15055. 9849 033e 4FF00003 mov r3, #0
  15056. 9850 0342 D7E92445 ldrd r4, [r7, #144]
  15057. 9851 0346 2946 mov r1, r5
  15058. 9852 0348 8B00 lsls r3, r1, #2
  15059. 9853 034a 2146 mov r1, r4
  15060. 9854 034c 43EA9173 orr r3, r3, r1, lsr #30
  15061. 9855 0350 2146 mov r1, r4
  15062. 9856 0352 8A00 lsls r2, r1, #2
  15063. 9857 0354 D7E92601 ldrd r0, [r7, #152]
  15064. 9858 0358 FFF7FEFF bl __aeabi_uldivmod
  15065. 9859 035c 0246 mov r2, r0
  15066. 9860 035e 0B46 mov r3, r1
  15067. 9861 0360 604B ldr r3, .L486
  15068. 9862 0362 A3FB0223 umull r2, r3, r3, r2
  15069. 9863 0366 5B09 lsrs r3, r3, #5
  15070. 9864 0368 1C01 lsls r4, r3, #4
  15071. 9865 036a D7F8FC30 ldr r3, [r7, #252]
  15072. 9866 036e 0022 movs r2, #0
  15073. 9867 0370 C7F88830 str r3, [r7, #136]
  15074. 9868 0374 C7F88C20 str r2, [r7, #140]
  15075. 9869 0378 D7E92289 ldrd r8, [r7, #136]
  15076. 9870 037c 4246 mov r2, r8
  15077. 9871 037e 4B46 mov r3, r9
  15078. 9872 0380 9118 adds r1, r2, r2
  15079. 9873 0382 B961 str r1, [r7, #24]
  15080. 9874 0384 5B41 adcs r3, r3, r3
  15081. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 261
  15082. 9875 0386 FB61 str r3, [r7, #28]
  15083. 9876 0388 D7E90623 ldrd r2, [r7, #24]
  15084. 9877 038c 4146 mov r1, r8
  15085. 9878 038e 5118 adds r1, r2, r1
  15086. 9879 0390 3961 str r1, [r7, #16]
  15087. 9880 0392 4946 mov r1, r9
  15088. 9881 0394 4B41 adcs r3, r3, r1
  15089. 9882 0396 7B61 str r3, [r7, #20]
  15090. 9883 0398 4FF00002 mov r2, #0
  15091. 9884 039c 4FF00003 mov r3, #0
  15092. 9885 03a0 D7E904AB ldrd r10, [r7, #16]
  15093. 9886 03a4 5946 mov r1, fp
  15094. 9887 03a6 CB00 lsls r3, r1, #3
  15095. 9888 03a8 5146 mov r1, r10
  15096. 9889 03aa 43EA5173 orr r3, r3, r1, lsr #29
  15097. 9890 03ae 5146 mov r1, r10
  15098. 9891 03b0 CA00 lsls r2, r1, #3
  15099. 9892 03b2 1046 mov r0, r2
  15100. 9893 03b4 1946 mov r1, r3
  15101. 9894 03b6 0346 mov r3, r0
  15102. 9895 03b8 4246 mov r2, r8
  15103. 9896 03ba 9B18 adds r3, r3, r2
  15104. 9897 03bc C7F88030 str r3, [r7, #128]
  15105. 9898 03c0 4B46 mov r3, r9
  15106. 9899 03c2 0A46 mov r2, r1
  15107. 9900 03c4 42EB0303 adc r3, r2, r3
  15108. 9901 03c8 C7F88430 str r3, [r7, #132]
  15109. 9902 03cc D7F8F430 ldr r3, [r7, #244]
  15110. 9903 03d0 5B68 ldr r3, [r3, #4]
  15111. 9904 03d2 0022 movs r2, #0
  15112. 9905 03d4 BB67 str r3, [r7, #120]
  15113. 9906 03d6 FA67 str r2, [r7, #124]
  15114. 9907 03d8 4FF00002 mov r2, #0
  15115. 9908 03dc 4FF00003 mov r3, #0
  15116. 9909 03e0 D7E91E89 ldrd r8, [r7, #120]
  15117. 9910 03e4 4946 mov r1, r9
  15118. 9911 03e6 8B00 lsls r3, r1, #2
  15119. 9912 03e8 4146 mov r1, r8
  15120. 9913 03ea 43EA9173 orr r3, r3, r1, lsr #30
  15121. 9914 03ee 4146 mov r1, r8
  15122. 9915 03f0 8A00 lsls r2, r1, #2
  15123. 9916 03f2 D7E92001 ldrd r0, [r7, #128]
  15124. 9917 03f6 FFF7FEFF bl __aeabi_uldivmod
  15125. 9918 03fa 0246 mov r2, r0
  15126. 9919 03fc 0B46 mov r3, r1
  15127. 9920 03fe 394B ldr r3, .L486
  15128. 9921 0400 A3FB0213 umull r1, r3, r3, r2
  15129. 9922 0404 5B09 lsrs r3, r3, #5
  15130. 9923 0406 6421 movs r1, #100
  15131. 9924 0408 01FB03F3 mul r3, r1, r3
  15132. 9925 040c D31A subs r3, r2, r3
  15133. 9926 040e 1B01 lsls r3, r3, #4
  15134. 9927 0410 3233 adds r3, r3, #50
  15135. 9928 0412 344A ldr r2, .L486
  15136. 9929 0414 A2FB0323 umull r2, r3, r2, r3
  15137. 9930 0418 5B09 lsrs r3, r3, #5
  15138. 9931 041a 03F0F003 and r3, r3, #240
  15139. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 262
  15140. 9932 041e 1C44 add r4, r4, r3
  15141. 9933 0420 D7F8FC30 ldr r3, [r7, #252]
  15142. 9934 0424 0022 movs r2, #0
  15143. 9935 0426 3B67 str r3, [r7, #112]
  15144. 9936 0428 7A67 str r2, [r7, #116]
  15145. 9937 042a D7E91C89 ldrd r8, [r7, #112]
  15146. 9938 042e 4246 mov r2, r8
  15147. 9939 0430 4B46 mov r3, r9
  15148. 9940 0432 9118 adds r1, r2, r2
  15149. 9941 0434 B960 str r1, [r7, #8]
  15150. 9942 0436 5B41 adcs r3, r3, r3
  15151. 9943 0438 FB60 str r3, [r7, #12]
  15152. 9944 043a D7E90223 ldrd r2, [r7, #8]
  15153. 9945 043e 4146 mov r1, r8
  15154. 9946 0440 5118 adds r1, r2, r1
  15155. 9947 0442 3960 str r1, [r7]
  15156. 9948 0444 4946 mov r1, r9
  15157. 9949 0446 4B41 adcs r3, r3, r1
  15158. 9950 0448 7B60 str r3, [r7, #4]
  15159. 9951 044a 4FF00002 mov r2, #0
  15160. 9952 044e 4FF00003 mov r3, #0
  15161. 9953 0452 D7E900AB ldrd r10, [r7]
  15162. 9954 0456 5946 mov r1, fp
  15163. 9955 0458 CB00 lsls r3, r1, #3
  15164. 9956 045a 5146 mov r1, r10
  15165. 9957 045c 43EA5173 orr r3, r3, r1, lsr #29
  15166. 9958 0460 5146 mov r1, r10
  15167. 9959 0462 CA00 lsls r2, r1, #3
  15168. 9960 0464 1046 mov r0, r2
  15169. 9961 0466 1946 mov r1, r3
  15170. 9962 0468 0346 mov r3, r0
  15171. 9963 046a 4246 mov r2, r8
  15172. 9964 046c 9B18 adds r3, r3, r2
  15173. 9965 046e BB66 str r3, [r7, #104]
  15174. 9966 0470 4B46 mov r3, r9
  15175. 9967 0472 0A46 mov r2, r1
  15176. 9968 0474 42EB0303 adc r3, r2, r3
  15177. 9969 0478 FB66 str r3, [r7, #108]
  15178. 9970 047a D7F8F430 ldr r3, [r7, #244]
  15179. 9971 047e 5B68 ldr r3, [r3, #4]
  15180. 9972 0480 0022 movs r2, #0
  15181. 9973 0482 3B66 str r3, [r7, #96]
  15182. 9974 0484 7A66 str r2, [r7, #100]
  15183. 9975 0486 4FF00002 mov r2, #0
  15184. 9976 048a 4FF00003 mov r3, #0
  15185. 9977 048e D7E91889 ldrd r8, [r7, #96]
  15186. 9978 0492 4946 mov r1, r9
  15187. 9979 0494 8B00 lsls r3, r1, #2
  15188. 9980 0496 4146 mov r1, r8
  15189. 9981 0498 43EA9173 orr r3, r3, r1, lsr #30
  15190. 9982 049c 4146 mov r1, r8
  15191. 9983 049e 8A00 lsls r2, r1, #2
  15192. 9984 04a0 D7E91A01 ldrd r0, [r7, #104]
  15193. 9985 04a4 FFF7FEFF bl __aeabi_uldivmod
  15194. 9986 04a8 0246 mov r2, r0
  15195. 9987 04aa 0B46 mov r3, r1
  15196. 9988 04ac 0D4B ldr r3, .L486
  15197. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 263
  15198. 9989 04ae A3FB0213 umull r1, r3, r3, r2
  15199. 9990 04b2 5B09 lsrs r3, r3, #5
  15200. 9991 04b4 6421 movs r1, #100
  15201. 9992 04b6 01FB03F3 mul r3, r1, r3
  15202. 9993 04ba D31A subs r3, r2, r3
  15203. 9994 04bc 1B01 lsls r3, r3, #4
  15204. 9995 04be 3233 adds r3, r3, #50
  15205. 9996 04c0 084A ldr r2, .L486
  15206. 9997 04c2 A2FB0323 umull r2, r3, r2, r3
  15207. 9998 04c6 5B09 lsrs r3, r3, #5
  15208. 9999 04c8 03F00F02 and r2, r3, #15
  15209. 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  15210. 10000 .loc 1 3735 10
  15211. 10001 04cc D7F8F430 ldr r3, [r7, #244]
  15212. 10002 04d0 1B68 ldr r3, [r3]
  15213. 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  15214. 10003 .loc 1 3735 28
  15215. 10004 04d2 2244 add r2, r2, r4
  15216. 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
  15217. 10005 .loc 1 3735 26
  15218. 10006 04d4 9A60 str r2, [r3, #8]
  15219. 10007 .L483:
  15220. 10008 .loc 1 3737 1
  15221. 10009 04d6 00BF nop
  15222. 10010 04d8 07F58077 add r7, r7, #256
  15223. 10011 .LCFI328:
  15224. 10012 .cfi_def_cfa_offset 32
  15225. 10013 04dc BD46 mov sp, r7
  15226. 10014 .LCFI329:
  15227. 10015 .cfi_def_cfa_register 13
  15228. 10016 @ sp needed
  15229. 10017 04de BDE8B08F pop {r4, r5, r7, r8, r9, r10, fp, pc}
  15230. 10018 .L487:
  15231. 10019 04e2 00BF .align 2
  15232. 10020 .L486:
  15233. 10021 04e4 1F85EB51 .word 1374389535
  15234. 10022 .cfi_endproc
  15235. 10023 .LFE295:
  15236. 10025 .text
  15237. 10026 .Letext0:
  15238. 10027 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  15239. 10028 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  15240. 10029 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h"
  15241. 10030 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
  15242. 10031 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  15243. 10032 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
  15244. 10033 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
  15245. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 264
  15246. DEFINED SYMBOLS
  15247. *ABS*:00000000 stm32f4xx_hal_uart.c
  15248. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:20 .text.HAL_UART_Init:00000000 $t
  15249. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:26 .text.HAL_UART_Init:00000000 HAL_UART_Init
  15250. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:642 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit
  15251. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9512 .text.UART_SetConfig:00000000 UART_SetConfig
  15252. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:136 .text.HAL_HalfDuplex_Init:00000000 $t
  15253. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:142 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init
  15254. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:259 .text.HAL_LIN_Init:00000000 $t
  15255. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:265 .text.HAL_LIN_Init:00000000 HAL_LIN_Init
  15256. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:400 .text.HAL_MultiProcessor_Init:00000000 $t
  15257. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:406 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init
  15258. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:552 .text.HAL_UART_DeInit:00000000 $t
  15259. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:558 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit
  15260. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:684 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit
  15261. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:636 .text.HAL_UART_MspInit:00000000 $t
  15262. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:678 .text.HAL_UART_MspDeInit:00000000 $t
  15263. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:720 .text.HAL_UART_Transmit:00000000 $t
  15264. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:726 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit
  15265. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7794 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout
  15266. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:946 .text.HAL_UART_Receive:00000000 $t
  15267. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:952 .text.HAL_UART_Receive:00000000 HAL_UART_Receive
  15268. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1196 .text.HAL_UART_Transmit_IT:00000000 $t
  15269. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1202 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT
  15270. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1313 .text.HAL_UART_Receive_IT:00000000 $t
  15271. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1319 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT
  15272. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7997 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT
  15273. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1403 .text.HAL_UART_Transmit_DMA:00000000 $t
  15274. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1409 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA
  15275. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1606 .text.HAL_UART_Transmit_DMA:000000f0 $d
  15276. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7119 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt
  15277. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7283 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt
  15278. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7679 .text.UART_DMAError:00000000 UART_DMAError
  15279. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1613 .text.HAL_UART_Receive_DMA:00000000 $t
  15280. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1619 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA
  15281. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8099 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA
  15282. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1703 .text.HAL_UART_DMAPause:00000000 $t
  15283. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1709 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause
  15284. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2020 .text.HAL_UART_DMAResume:00000000 $t
  15285. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2026 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume
  15286. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2322 .text.HAL_UART_DMAStop:00000000 $t
  15287. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2328 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop
  15288. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8381 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer
  15289. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8477 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer
  15290. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2545 .text.HAL_UARTEx_ReceiveToIdle:00000000 $t
  15291. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2551 .text.HAL_UARTEx_ReceiveToIdle:00000000 HAL_UARTEx_ReceiveToIdle
  15292. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2871 .text.HAL_UARTEx_ReceiveToIdle_IT:00000000 $t
  15293. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2877 .text.HAL_UARTEx_ReceiveToIdle_IT:00000000 HAL_UARTEx_ReceiveToIdle_IT
  15294. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3045 .text.HAL_UARTEx_ReceiveToIdle_DMA:00000000 $t
  15295. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3051 .text.HAL_UARTEx_ReceiveToIdle_DMA:00000000 HAL_UARTEx_ReceiveToIdle_DMA
  15296. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3219 .text.HAL_UART_Abort:00000000 $t
  15297. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3225 .text.HAL_UART_Abort:00000000 HAL_UART_Abort
  15298. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3638 .text.HAL_UART_AbortTransmit:00000000 $t
  15299. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3644 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit
  15300. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3835 .text.HAL_UART_AbortReceive:00000000 $t
  15301. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3841 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive
  15302. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4145 .text.HAL_UART_Abort_IT:00000000 $t
  15303. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 265
  15304. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4151 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT
  15305. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6291 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback
  15306. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4612 .text.HAL_UART_Abort_IT:00000220 $d
  15307. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8738 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback
  15308. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8831 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback
  15309. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4618 .text.HAL_UART_AbortTransmit_IT:00000000 $t
  15310. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4624 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT
  15311. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6333 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback
  15312. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4827 .text.HAL_UART_AbortTransmit_IT:000000e4 $d
  15313. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8924 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback
  15314. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4832 .text.HAL_UART_AbortReceive_IT:00000000 $t
  15315. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4838 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT
  15316. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6375 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback
  15317. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5158 .text.HAL_UART_AbortReceive_IT:00000160 $d
  15318. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8976 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback
  15319. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5163 .text.HAL_UART_IRQHandler:00000000 $t
  15320. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5169 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler
  15321. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9222 .text.UART_Receive_IT:00000000 UART_Receive_IT
  15322. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6249 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback
  15323. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6417 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback
  15324. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5816 .text.HAL_UART_IRQHandler:000003dc $d
  15325. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8686 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError
  15326. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5821 .text.HAL_UART_IRQHandler:000003e0 $t
  15327. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9032 .text.UART_Transmit_IT:00000000 UART_Transmit_IT
  15328. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9168 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT
  15329. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6075 .text.HAL_UART_TxCpltCallback:00000000 $t
  15330. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6081 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback
  15331. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6117 .text.HAL_UART_TxHalfCpltCallback:00000000 $t
  15332. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6123 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback
  15333. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6159 .text.HAL_UART_RxCpltCallback:00000000 $t
  15334. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6165 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback
  15335. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6201 .text.HAL_UART_RxHalfCpltCallback:00000000 $t
  15336. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6207 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback
  15337. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6243 .text.HAL_UART_ErrorCallback:00000000 $t
  15338. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6285 .text.HAL_UART_AbortCpltCallback:00000000 $t
  15339. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6327 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t
  15340. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6369 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t
  15341. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6411 .text.HAL_UARTEx_RxEventCallback:00000000 $t
  15342. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6455 .text.HAL_LIN_SendBreak:00000000 $t
  15343. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6461 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak
  15344. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6576 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t
  15345. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6582 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode
  15346. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6697 .text.HAL_MultiProcessor_ExitMuteMode:00000000 $t
  15347. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6703 .text.HAL_MultiProcessor_ExitMuteMode:00000000 HAL_MultiProcessor_ExitMuteMode
  15348. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6818 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t
  15349. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6824 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter
  15350. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6910 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t
  15351. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6916 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver
  15352. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7002 .text.HAL_UART_GetState:00000000 $t
  15353. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7008 .text.HAL_UART_GetState:00000000 HAL_UART_GetState
  15354. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7069 .text.HAL_UART_GetError:00000000 $t
  15355. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7075 .text.HAL_UART_GetError:00000000 HAL_UART_GetError
  15356. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7114 .text.UART_DMATransmitCplt:00000000 $t
  15357. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7278 .text.UART_DMATxHalfCplt:00000000 $t
  15358. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7322 .text.UART_DMAReceiveCplt:00000000 $t
  15359. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7327 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt
  15360. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7611 .text.UART_DMARxHalfCplt:00000000 $t
  15361. ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 266
  15362. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7616 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt
  15363. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7674 .text.UART_DMAError:00000000 $t
  15364. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7789 .text.UART_WaitOnFlagUntilTimeout:00000000 $t
  15365. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7991 .text.UART_Start_Receive_IT:00000000 $t
  15366. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8093 .text.UART_Start_Receive_DMA:00000000 $t
  15367. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8369 .text.UART_Start_Receive_DMA:00000130 $d
  15368. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8376 .text.UART_EndTxTransfer:00000000 $t
  15369. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8472 .text.UART_EndRxTransfer:00000000 $t
  15370. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8681 .text.UART_DMAAbortOnError:00000000 $t
  15371. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8733 .text.UART_DMATxAbortCallback:00000000 $t
  15372. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8826 .text.UART_DMARxAbortCallback:00000000 $t
  15373. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8919 .text.UART_DMATxOnlyAbortCallback:00000000 $t
  15374. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8971 .text.UART_DMARxOnlyAbortCallback:00000000 $t
  15375. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9027 .text.UART_Transmit_IT:00000000 $t
  15376. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9163 .text.UART_EndTransmit_IT:00000000 $t
  15377. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9217 .text.UART_Receive_IT:00000000 $t
  15378. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9507 .text.UART_SetConfig:00000000 $t
  15379. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9809 .text.UART_SetConfig:000002cc $d
  15380. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9814 .text.UART_SetConfig:000002d8 $t
  15381. C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:10021 .text.UART_SetConfig:000004e4 $d
  15382. UNDEFINED SYMBOLS
  15383. HAL_GetTick
  15384. HAL_DMA_Start_IT
  15385. HAL_DMA_Abort
  15386. HAL_DMA_GetError
  15387. HAL_DMA_Abort_IT
  15388. __aeabi_uldivmod
  15389. HAL_RCC_GetPCLK2Freq
  15390. HAL_RCC_GetPCLK1Freq