| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512 |
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 1
- 1 .cpu cortex-m4
- 2 .arch armv7e-m
- 3 .fpu fpv4-sp-d16
- 4 .eabi_attribute 27, 1
- 5 .eabi_attribute 28, 1
- 6 .eabi_attribute 20, 1
- 7 .eabi_attribute 21, 1
- 8 .eabi_attribute 23, 3
- 9 .eabi_attribute 24, 1
- 10 .eabi_attribute 25, 1
- 11 .eabi_attribute 26, 1
- 12 .eabi_attribute 30, 6
- 13 .eabi_attribute 34, 1
- 14 .eabi_attribute 18, 4
- 15 .file "stm32f3xx_hal_uart.c"
- 16 .text
- 17 .Ltext0:
- 18 .cfi_sections .debug_frame
- 19 .section .rodata
- 20 .align 2
- 21 .LC0:
- 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart"
- 22 6572732F
- 22 53544D33
- 22 32463378
- 22 785F4841
- 23 0033 2E6300 .ascii ".c\000"
- 24 .section .text.HAL_UART_Init,"ax",%progbits
- 25 .align 1
- 26 .global HAL_UART_Init
- 27 .syntax unified
- 28 .thumb
- 29 .thumb_func
- 31 HAL_UART_Init:
- 32 .LFB130:
- 33 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c"
- 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
- 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @file stm32f3xx_hal_uart.c
- 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @author MCD Application Team
- 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART HAL module driver.
- 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This file provides firmware functions to manage the following
- 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
- 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + Initialization and de-initialization functions
- 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + IO operation functions
- 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * + Peripheral Control functions
- 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
- 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @attention
- 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Copyright (c) 2016 STMicroelectronics.
- 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * All rights reserved.
- 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file
- 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * in the root directory of this software component.
- 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 2
- 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
- 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
- 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### How to use this driver #####
- 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The UART HAL driver can be used as follows:
- 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
- 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
- 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Enable the USARTx interface clock.
- 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) UART pins configuration:
- 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
- 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up.
- 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
- 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
- 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
- 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
- 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) UART interrupts handling:
- 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt,
- 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts)
- 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT()
- 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** inside the transmit and receive processes.
- 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
- 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
- 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel.
- 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
- 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters.
- 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel.
- 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
- 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
- 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel.
- 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
- 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure.
- 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...)
- 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the huart handle AdvancedInit structure.
- 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
- 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_Init() API.
- 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
- 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
- 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers
- 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_LIN_Init() API.
- 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers
- 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API.
- 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers
- 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API.
- 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 3
- 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by
- 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API.
- 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Callback registration #####
- 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ==================================
- 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
- 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
- 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback.
- 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks:
- 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
- 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
- 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
- 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
- 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
- 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
- 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
- 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
- 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
- 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
- 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
- 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
- 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and a pointer to the user callback function.
- 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default
- 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** weak function.
- 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
- 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and the Callback ID.
- 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This function allows to reset following callbacks:
- 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
- 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
- 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
- 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
- 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
- 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
- 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
- 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
- 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
- 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
- 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
- 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
- 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback().
- 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
- 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** all callbacks are set to the corresponding weak functions:
- 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback().
- 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
- 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** reset to the legacy weak functions in the HAL_UART_Init()
- 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
- 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit()
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 4
- 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
- 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
- 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
- 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
- 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
- 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
- 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit()
- 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** or HAL_UART_Init() function.
- 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
- 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** not defined, the callback registration feature is not available
- 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and weak callbacks are used.
- 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
- 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ******************************************************************************
- 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
- 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #include "stm32f3xx_hal.h"
- 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @addtogroup STM32F3xx_HAL_Driver
- 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART UART
- 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief HAL UART module driver
- 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
- 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
- 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
- 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants
- 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U
- 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** USART_CR1_OVER8)) /*!< UART or USART CR1 fields of parameters
- 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE |\
- 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** USART_CR3_ONEBIT)) /*!< UART or USART CR3 fields of parameter
- 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */
- 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */
- 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
- 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/
- 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
- 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @addtogroup UART_Private_Functions
- 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 5
- 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
- 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
- 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
- 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
- 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
- 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
- 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
- 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
- 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
- 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
- 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
- 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
- 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart);
- 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart);
- 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart);
- 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart);
- 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart);
- 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
- 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
- 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/
- 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/
- 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
- 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
- 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialization and Configuration functions
- 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
- 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Initialization and Configuration functions #####
- 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
- 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in asynchronous mode.
- 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured:
- 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Baud Rate
- 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Word Length
- 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Stop Bit
- 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
- 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
- 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Hardware flow control
- 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Receiver/transmitter modes
- 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) Over Sampling Method
- 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) One-Bit Sampling Method
- 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well:
- 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) TX and/or RX pin level inversion
- 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) data logical level inversion
- 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) RX and TX pins swap
- 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) RX overrun detection disabling
- 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) DMA disabling on RX error
- 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) MSB first on communication line
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 6
- 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (++) auto Baud rate detection
- 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API
- 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode
- 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures
- 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** are available in reference manual).
- 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
- 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit,
- 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the
- 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** following table.
- 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Table 1. UART frame format.
- 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** +-----------------------------------------------------------------------+
- 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame |
- 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
- 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | |
- 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
- 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | |
- 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
- 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | |
- 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
- 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | |
- 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
- 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | |
- 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
- 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | |
- 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** +-----------------------------------------------------------------------+
- 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified
- 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
- 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
- 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 34 .loc 1 290 1
- 35 .cfi_startproc
- 36 @ args = 0, pretend = 0, frame = 8
- 37 @ frame_needed = 1, uses_anonymous_args = 0
- 38 0000 80B5 push {r7, lr}
- 39 .LCFI0:
- 40 .cfi_def_cfa_offset 8
- 41 .cfi_offset 7, -8
- 42 .cfi_offset 14, -4
- 43 0002 82B0 sub sp, sp, #8
- 44 .LCFI1:
- 45 .cfi_def_cfa_offset 16
- 46 0004 00AF add r7, sp, #0
- 47 .LCFI2:
- 48 .cfi_def_cfa_register 7
- 49 0006 7860 str r0, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 7
- 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
- 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
- 50 .loc 1 292 6
- 51 0008 7B68 ldr r3, [r7, #4]
- 52 000a 002B cmp r3, #0
- 53 000c 01D1 bne .L2
- 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 54 .loc 1 294 12
- 55 000e 0123 movs r3, #1
- 56 0010 77E0 b .L3
- 57 .L2:
- 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
- 58 .loc 1 297 18
- 59 0012 7B68 ldr r3, [r7, #4]
- 60 0014 9B69 ldr r3, [r3, #24]
- 61 .loc 1 297 6
- 62 0016 002B cmp r3, #0
- 63 0018 14D0 beq .L4
- 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
- 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
- 64 .loc 1 300 5
- 65 001a 7B68 ldr r3, [r7, #4]
- 66 001c 1B68 ldr r3, [r3]
- 67 001e 3B4A ldr r2, .L9
- 68 0020 9342 cmp r3, r2
- 69 0022 2DD0 beq .L5
- 70 .loc 1 300 5 is_stmt 0 discriminator 1
- 71 0024 7B68 ldr r3, [r7, #4]
- 72 0026 1B68 ldr r3, [r3]
- 73 0028 394A ldr r2, .L9+4
- 74 002a 9342 cmp r3, r2
- 75 002c 28D0 beq .L5
- 76 .loc 1 300 5 discriminator 2
- 77 002e 7B68 ldr r3, [r7, #4]
- 78 0030 1B68 ldr r3, [r3]
- 79 0032 384A ldr r2, .L9+8
- 80 0034 9342 cmp r3, r2
- 81 0036 23D0 beq .L5
- 82 .loc 1 300 5 discriminator 3
- 83 0038 4FF49671 mov r1, #300
- 84 003c 3648 ldr r0, .L9+12
- 85 003e FFF7FEFF bl assert_failed
- 86 0042 1DE0 b .L5
- 87 .L4:
- 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
- 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 88 .loc 1 305 5 is_stmt 1
- 89 0044 7B68 ldr r3, [r7, #4]
- 90 0046 1B68 ldr r3, [r3]
- 91 0048 304A ldr r2, .L9
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 8
- 92 004a 9342 cmp r3, r2
- 93 004c 18D0 beq .L5
- 94 .loc 1 305 5 is_stmt 0 discriminator 1
- 95 004e 7B68 ldr r3, [r7, #4]
- 96 0050 1B68 ldr r3, [r3]
- 97 0052 2F4A ldr r2, .L9+4
- 98 0054 9342 cmp r3, r2
- 99 0056 13D0 beq .L5
- 100 .loc 1 305 5 discriminator 2
- 101 0058 7B68 ldr r3, [r7, #4]
- 102 005a 1B68 ldr r3, [r3]
- 103 005c 2D4A ldr r2, .L9+8
- 104 005e 9342 cmp r3, r2
- 105 0060 0ED0 beq .L5
- 106 .loc 1 305 5 discriminator 3
- 107 0062 7B68 ldr r3, [r7, #4]
- 108 0064 1B68 ldr r3, [r3]
- 109 0066 2D4A ldr r2, .L9+16
- 110 0068 9342 cmp r3, r2
- 111 006a 09D0 beq .L5
- 112 .loc 1 305 5 discriminator 4
- 113 006c 7B68 ldr r3, [r7, #4]
- 114 006e 1B68 ldr r3, [r3]
- 115 0070 2B4A ldr r2, .L9+20
- 116 0072 9342 cmp r3, r2
- 117 0074 04D0 beq .L5
- 118 .loc 1 305 5 discriminator 5
- 119 0076 40F23111 movw r1, #305
- 120 007a 2748 ldr r0, .L9+12
- 121 007c FFF7FEFF bl assert_failed
- 122 .L5:
- 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 123 .loc 1 308 12 is_stmt 1
- 124 0080 7B68 ldr r3, [r7, #4]
- 125 0082 DB6F ldr r3, [r3, #124]
- 126 .loc 1 308 6
- 127 0084 002B cmp r3, #0
- 128 0086 06D1 bne .L6
- 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 129 .loc 1 311 17
- 130 0088 7B68 ldr r3, [r7, #4]
- 131 008a 0022 movs r2, #0
- 132 008c 83F87820 strb r2, [r3, #120]
- 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 9
- 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
- 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 133 .loc 1 325 5
- 134 0090 7868 ldr r0, [r7, #4]
- 135 0092 FFF7FEFF bl HAL_UART_MspInit
- 136 .L6:
- 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 137 .loc 1 329 17
- 138 0096 7B68 ldr r3, [r7, #4]
- 139 0098 2422 movs r2, #36
- 140 009a DA67 str r2, [r3, #124]
- 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 141 .loc 1 331 3
- 142 009c 7B68 ldr r3, [r7, #4]
- 143 009e 1B68 ldr r3, [r3]
- 144 00a0 1A68 ldr r2, [r3]
- 145 00a2 7B68 ldr r3, [r7, #4]
- 146 00a4 1B68 ldr r3, [r3]
- 147 00a6 22F00102 bic r2, r2, #1
- 148 00aa 1A60 str r2, [r3]
- 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
- 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
- 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
- 149 .loc 1 335 26
- 150 00ac 7B68 ldr r3, [r7, #4]
- 151 00ae 5B6A ldr r3, [r3, #36]
- 152 .loc 1 335 6
- 153 00b0 002B cmp r3, #0
- 154 00b2 02D0 beq .L7
- 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
- 155 .loc 1 337 5
- 156 00b4 7868 ldr r0, [r7, #4]
- 157 00b6 FFF7FEFF bl UART_AdvFeatureConfig
- 158 .L7:
- 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
- 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
- 159 .loc 1 341 7
- 160 00ba 7868 ldr r0, [r7, #4]
- 161 00bc FFF7FEFF bl UART_SetConfig
- 162 00c0 0346 mov r3, r0
- 163 .loc 1 341 6
- 164 00c2 012B cmp r3, #1
- 165 00c4 01D1 bne .L8
- 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 166 .loc 1 343 12
- 167 00c6 0123 movs r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 10
- 168 00c8 1BE0 b .L3
- 169 .L8:
- 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
- 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
- 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
- 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 170 .loc 1 349 3
- 171 00ca 7B68 ldr r3, [r7, #4]
- 172 00cc 1B68 ldr r3, [r3]
- 173 00ce 5A68 ldr r2, [r3, #4]
- 174 00d0 7B68 ldr r3, [r7, #4]
- 175 00d2 1B68 ldr r3, [r3]
- 176 00d4 22F49042 bic r2, r2, #18432
- 177 00d8 5A60 str r2, [r3, #4]
- 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
- 178 .loc 1 350 3
- 179 00da 7B68 ldr r3, [r7, #4]
- 180 00dc 1B68 ldr r3, [r3]
- 181 00de 9A68 ldr r2, [r3, #8]
- 182 00e0 7B68 ldr r3, [r7, #4]
- 183 00e2 1B68 ldr r3, [r3]
- 184 00e4 22F02A02 bic r2, r2, #42
- 185 00e8 9A60 str r2, [r3, #8]
- 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 186 .loc 1 352 3
- 187 00ea 7B68 ldr r3, [r7, #4]
- 188 00ec 1B68 ldr r3, [r3]
- 189 00ee 1A68 ldr r2, [r3]
- 190 00f0 7B68 ldr r3, [r7, #4]
- 191 00f2 1B68 ldr r3, [r3]
- 192 00f4 42F00102 orr r2, r2, #1
- 193 00f8 1A60 str r2, [r3]
- 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
- 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
- 194 .loc 1 355 11
- 195 00fa 7868 ldr r0, [r7, #4]
- 196 00fc FFF7FEFF bl UART_CheckIdleState
- 197 0100 0346 mov r3, r0
- 198 .L3:
- 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 199 .loc 1 356 1
- 200 0102 1846 mov r0, r3
- 201 0104 0837 adds r7, r7, #8
- 202 .LCFI3:
- 203 .cfi_def_cfa_offset 8
- 204 0106 BD46 mov sp, r7
- 205 .LCFI4:
- 206 .cfi_def_cfa_register 13
- 207 @ sp needed
- 208 0108 80BD pop {r7, pc}
- 209 .L10:
- 210 010a 00BF .align 2
- 211 .L9:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 11
- 212 010c 00380140 .word 1073821696
- 213 0110 00440040 .word 1073759232
- 214 0114 00480040 .word 1073760256
- 215 0118 00000000 .word .LC0
- 216 011c 004C0040 .word 1073761280
- 217 0120 00500040 .word 1073762304
- 218 .cfi_endproc
- 219 .LFE130:
- 221 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
- 222 .align 1
- 223 .global HAL_HalfDuplex_Init
- 224 .syntax unified
- 225 .thumb
- 226 .thumb_func
- 228 HAL_HalfDuplex_Init:
- 229 .LFB131:
- 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified
- 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
- 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
- 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 230 .loc 1 365 1
- 231 .cfi_startproc
- 232 @ args = 0, pretend = 0, frame = 8
- 233 @ frame_needed = 1, uses_anonymous_args = 0
- 234 0000 80B5 push {r7, lr}
- 235 .LCFI5:
- 236 .cfi_def_cfa_offset 8
- 237 .cfi_offset 7, -8
- 238 .cfi_offset 14, -4
- 239 0002 82B0 sub sp, sp, #8
- 240 .LCFI6:
- 241 .cfi_def_cfa_offset 16
- 242 0004 00AF add r7, sp, #0
- 243 .LCFI7:
- 244 .cfi_def_cfa_register 7
- 245 0006 7860 str r0, [r7, #4]
- 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
- 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
- 246 .loc 1 367 6
- 247 0008 7B68 ldr r3, [r7, #4]
- 248 000a 002B cmp r3, #0
- 249 000c 01D1 bne .L12
- 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 250 .loc 1 369 12
- 251 000e 0123 movs r3, #1
- 252 0010 66E0 b .L13
- 253 .L12:
- 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check UART instance */
- 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 12
- 254 .loc 1 373 3
- 255 0012 7B68 ldr r3, [r7, #4]
- 256 0014 1B68 ldr r3, [r3]
- 257 0016 344A ldr r2, .L18
- 258 0018 9342 cmp r3, r2
- 259 001a 18D0 beq .L14
- 260 .loc 1 373 3 is_stmt 0 discriminator 1
- 261 001c 7B68 ldr r3, [r7, #4]
- 262 001e 1B68 ldr r3, [r3]
- 263 0020 324A ldr r2, .L18+4
- 264 0022 9342 cmp r3, r2
- 265 0024 13D0 beq .L14
- 266 .loc 1 373 3 discriminator 2
- 267 0026 7B68 ldr r3, [r7, #4]
- 268 0028 1B68 ldr r3, [r3]
- 269 002a 314A ldr r2, .L18+8
- 270 002c 9342 cmp r3, r2
- 271 002e 0ED0 beq .L14
- 272 .loc 1 373 3 discriminator 3
- 273 0030 7B68 ldr r3, [r7, #4]
- 274 0032 1B68 ldr r3, [r3]
- 275 0034 2F4A ldr r2, .L18+12
- 276 0036 9342 cmp r3, r2
- 277 0038 09D0 beq .L14
- 278 .loc 1 373 3 discriminator 4
- 279 003a 7B68 ldr r3, [r7, #4]
- 280 003c 1B68 ldr r3, [r3]
- 281 003e 2E4A ldr r2, .L18+16
- 282 0040 9342 cmp r3, r2
- 283 0042 04D0 beq .L14
- 284 .loc 1 373 3 discriminator 5
- 285 0044 40F27511 movw r1, #373
- 286 0048 2C48 ldr r0, .L18+20
- 287 004a FFF7FEFF bl assert_failed
- 288 .L14:
- 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 289 .loc 1 375 12 is_stmt 1
- 290 004e 7B68 ldr r3, [r7, #4]
- 291 0050 DB6F ldr r3, [r3, #124]
- 292 .loc 1 375 6
- 293 0052 002B cmp r3, #0
- 294 0054 06D1 bne .L15
- 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 295 .loc 1 378 17
- 296 0056 7B68 ldr r3, [r7, #4]
- 297 0058 0022 movs r2, #0
- 298 005a 83F87820 strb r2, [r3, #120]
- 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 13
- 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
- 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
- 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 299 .loc 1 392 5
- 300 005e 7868 ldr r0, [r7, #4]
- 301 0060 FFF7FEFF bl HAL_UART_MspInit
- 302 .L15:
- 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 303 .loc 1 396 17
- 304 0064 7B68 ldr r3, [r7, #4]
- 305 0066 2422 movs r2, #36
- 306 0068 DA67 str r2, [r3, #124]
- 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 307 .loc 1 398 3
- 308 006a 7B68 ldr r3, [r7, #4]
- 309 006c 1B68 ldr r3, [r3]
- 310 006e 1A68 ldr r2, [r3]
- 311 0070 7B68 ldr r3, [r7, #4]
- 312 0072 1B68 ldr r3, [r3]
- 313 0074 22F00102 bic r2, r2, #1
- 314 0078 1A60 str r2, [r3]
- 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
- 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
- 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
- 315 .loc 1 402 26
- 316 007a 7B68 ldr r3, [r7, #4]
- 317 007c 5B6A ldr r3, [r3, #36]
- 318 .loc 1 402 6
- 319 007e 002B cmp r3, #0
- 320 0080 02D0 beq .L16
- 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
- 321 .loc 1 404 5
- 322 0082 7868 ldr r0, [r7, #4]
- 323 0084 FFF7FEFF bl UART_AdvFeatureConfig
- 324 .L16:
- 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
- 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
- 325 .loc 1 408 7
- 326 0088 7868 ldr r0, [r7, #4]
- 327 008a FFF7FEFF bl UART_SetConfig
- 328 008e 0346 mov r3, r0
- 329 .loc 1 408 6
- 330 0090 012B cmp r3, #1
- 331 0092 01D1 bne .L17
- 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 14
- 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 332 .loc 1 410 12
- 333 0094 0123 movs r3, #1
- 334 0096 23E0 b .L13
- 335 .L17:
- 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
- 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
- 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
- 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 336 .loc 1 416 3
- 337 0098 7B68 ldr r3, [r7, #4]
- 338 009a 1B68 ldr r3, [r3]
- 339 009c 5A68 ldr r2, [r3, #4]
- 340 009e 7B68 ldr r3, [r7, #4]
- 341 00a0 1B68 ldr r3, [r3]
- 342 00a2 22F49042 bic r2, r2, #18432
- 343 00a6 5A60 str r2, [r3, #4]
- 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
- 344 .loc 1 417 3
- 345 00a8 7B68 ldr r3, [r7, #4]
- 346 00aa 1B68 ldr r3, [r3]
- 347 00ac 9A68 ldr r2, [r3, #8]
- 348 00ae 7B68 ldr r3, [r7, #4]
- 349 00b0 1B68 ldr r3, [r3]
- 350 00b2 22F02202 bic r2, r2, #34
- 351 00b6 9A60 str r2, [r3, #8]
- 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
- 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
- 352 .loc 1 420 3
- 353 00b8 7B68 ldr r3, [r7, #4]
- 354 00ba 1B68 ldr r3, [r3]
- 355 00bc 9A68 ldr r2, [r3, #8]
- 356 00be 7B68 ldr r3, [r7, #4]
- 357 00c0 1B68 ldr r3, [r3]
- 358 00c2 42F00802 orr r2, r2, #8
- 359 00c6 9A60 str r2, [r3, #8]
- 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 360 .loc 1 422 3
- 361 00c8 7B68 ldr r3, [r7, #4]
- 362 00ca 1B68 ldr r3, [r3]
- 363 00cc 1A68 ldr r2, [r3]
- 364 00ce 7B68 ldr r3, [r7, #4]
- 365 00d0 1B68 ldr r3, [r3]
- 366 00d2 42F00102 orr r2, r2, #1
- 367 00d6 1A60 str r2, [r3]
- 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
- 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
- 368 .loc 1 425 11
- 369 00d8 7868 ldr r0, [r7, #4]
- 370 00da FFF7FEFF bl UART_CheckIdleState
- 371 00de 0346 mov r3, r0
- 372 .L13:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 15
- 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 373 .loc 1 426 1
- 374 00e0 1846 mov r0, r3
- 375 00e2 0837 adds r7, r7, #8
- 376 .LCFI8:
- 377 .cfi_def_cfa_offset 8
- 378 00e4 BD46 mov sp, r7
- 379 .LCFI9:
- 380 .cfi_def_cfa_register 13
- 381 @ sp needed
- 382 00e6 80BD pop {r7, pc}
- 383 .L19:
- 384 .align 2
- 385 .L18:
- 386 00e8 00380140 .word 1073821696
- 387 00ec 00440040 .word 1073759232
- 388 00f0 00480040 .word 1073760256
- 389 00f4 004C0040 .word 1073761280
- 390 00f8 00500040 .word 1073762304
- 391 00fc 00000000 .word .LC0
- 392 .cfi_endproc
- 393 .LFE131:
- 395 .section .text.HAL_LIN_Init,"ax",%progbits
- 396 .align 1
- 397 .global HAL_LIN_Init
- 398 .syntax unified
- 399 .thumb
- 400 .thumb_func
- 402 HAL_LIN_Init:
- 403 .LFB132:
- 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified
- 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
- 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
- 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
- 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection
- 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection
- 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
- 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 404 .loc 1 440 1
- 405 .cfi_startproc
- 406 @ args = 0, pretend = 0, frame = 8
- 407 @ frame_needed = 1, uses_anonymous_args = 0
- 408 0000 80B5 push {r7, lr}
- 409 .LCFI10:
- 410 .cfi_def_cfa_offset 8
- 411 .cfi_offset 7, -8
- 412 .cfi_offset 14, -4
- 413 0002 82B0 sub sp, sp, #8
- 414 .LCFI11:
- 415 .cfi_def_cfa_offset 16
- 416 0004 00AF add r7, sp, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 16
- 417 .LCFI12:
- 418 .cfi_def_cfa_register 7
- 419 0006 7860 str r0, [r7, #4]
- 420 0008 3960 str r1, [r7]
- 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
- 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
- 421 .loc 1 442 6
- 422 000a 7B68 ldr r3, [r7, #4]
- 423 000c 002B cmp r3, #0
- 424 000e 01D1 bne .L21
- 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 425 .loc 1 444 12
- 426 0010 0123 movs r3, #1
- 427 0012 88E0 b .L22
- 428 .L21:
- 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the LIN UART instance */
- 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
- 429 .loc 1 448 3
- 430 0014 7B68 ldr r3, [r7, #4]
- 431 0016 1B68 ldr r3, [r3]
- 432 0018 454A ldr r2, .L30
- 433 001a 9342 cmp r3, r2
- 434 001c 18D0 beq .L23
- 435 .loc 1 448 3 is_stmt 0 discriminator 1
- 436 001e 7B68 ldr r3, [r7, #4]
- 437 0020 1B68 ldr r3, [r3]
- 438 0022 444A ldr r2, .L30+4
- 439 0024 9342 cmp r3, r2
- 440 0026 13D0 beq .L23
- 441 .loc 1 448 3 discriminator 2
- 442 0028 7B68 ldr r3, [r7, #4]
- 443 002a 1B68 ldr r3, [r3]
- 444 002c 424A ldr r2, .L30+8
- 445 002e 9342 cmp r3, r2
- 446 0030 0ED0 beq .L23
- 447 .loc 1 448 3 discriminator 3
- 448 0032 7B68 ldr r3, [r7, #4]
- 449 0034 1B68 ldr r3, [r3]
- 450 0036 414A ldr r2, .L30+12
- 451 0038 9342 cmp r3, r2
- 452 003a 09D0 beq .L23
- 453 .loc 1 448 3 discriminator 4
- 454 003c 7B68 ldr r3, [r7, #4]
- 455 003e 1B68 ldr r3, [r3]
- 456 0040 3F4A ldr r2, .L30+16
- 457 0042 9342 cmp r3, r2
- 458 0044 04D0 beq .L23
- 459 .loc 1 448 3 discriminator 5
- 460 0046 4FF4E071 mov r1, #448
- 461 004a 3E48 ldr r0, .L30+20
- 462 004c FFF7FEFF bl assert_failed
- 463 .L23:
- 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */
- 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 17
- 464 .loc 1 450 3 is_stmt 1
- 465 0050 3B68 ldr r3, [r7]
- 466 0052 002B cmp r3, #0
- 467 0054 07D0 beq .L24
- 468 .loc 1 450 3 is_stmt 0 discriminator 1
- 469 0056 3B68 ldr r3, [r7]
- 470 0058 202B cmp r3, #32
- 471 005a 04D0 beq .L24
- 472 .loc 1 450 3 discriminator 2
- 473 005c 4FF4E171 mov r1, #450
- 474 0060 3848 ldr r0, .L30+20
- 475 0062 FFF7FEFF bl assert_failed
- 476 .L24:
- 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */
- 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
- 477 .loc 1 453 18 is_stmt 1
- 478 0066 7B68 ldr r3, [r7, #4]
- 479 0068 DB69 ldr r3, [r3, #28]
- 480 .loc 1 453 6
- 481 006a B3F5004F cmp r3, #32768
- 482 006e 01D1 bne .L25
- 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 483 .loc 1 455 12
- 484 0070 0123 movs r3, #1
- 485 0072 58E0 b .L22
- 486 .L25:
- 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */
- 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B)
- 487 .loc 1 458 18
- 488 0074 7B68 ldr r3, [r7, #4]
- 489 0076 9B68 ldr r3, [r3, #8]
- 490 .loc 1 458 6
- 491 0078 002B cmp r3, #0
- 492 007a 01D0 beq .L26
- 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 493 .loc 1 460 12
- 494 007c 0123 movs r3, #1
- 495 007e 52E0 b .L22
- 496 .L26:
- 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 497 .loc 1 463 12
- 498 0080 7B68 ldr r3, [r7, #4]
- 499 0082 DB6F ldr r3, [r3, #124]
- 500 .loc 1 463 6
- 501 0084 002B cmp r3, #0
- 502 0086 06D1 bne .L27
- 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 503 .loc 1 466 17
- 504 0088 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 18
- 505 008a 0022 movs r2, #0
- 506 008c 83F87820 strb r2, [r3, #120]
- 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
- 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
- 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 507 .loc 1 480 5
- 508 0090 7868 ldr r0, [r7, #4]
- 509 0092 FFF7FEFF bl HAL_UART_MspInit
- 510 .L27:
- 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 511 .loc 1 484 17
- 512 0096 7B68 ldr r3, [r7, #4]
- 513 0098 2422 movs r2, #36
- 514 009a DA67 str r2, [r3, #124]
- 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 515 .loc 1 486 3
- 516 009c 7B68 ldr r3, [r7, #4]
- 517 009e 1B68 ldr r3, [r3]
- 518 00a0 1A68 ldr r2, [r3]
- 519 00a2 7B68 ldr r3, [r7, #4]
- 520 00a4 1B68 ldr r3, [r3]
- 521 00a6 22F00102 bic r2, r2, #1
- 522 00aa 1A60 str r2, [r3]
- 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
- 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
- 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
- 523 .loc 1 490 26
- 524 00ac 7B68 ldr r3, [r7, #4]
- 525 00ae 5B6A ldr r3, [r3, #36]
- 526 .loc 1 490 6
- 527 00b0 002B cmp r3, #0
- 528 00b2 02D0 beq .L28
- 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
- 529 .loc 1 492 5
- 530 00b4 7868 ldr r0, [r7, #4]
- 531 00b6 FFF7FEFF bl UART_AdvFeatureConfig
- 532 .L28:
- 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 19
- 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
- 533 .loc 1 496 7
- 534 00ba 7868 ldr r0, [r7, #4]
- 535 00bc FFF7FEFF bl UART_SetConfig
- 536 00c0 0346 mov r3, r0
- 537 .loc 1 496 6
- 538 00c2 012B cmp r3, #1
- 539 00c4 01D1 bne .L29
- 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 540 .loc 1 498 12
- 541 00c6 0123 movs r3, #1
- 542 00c8 2DE0 b .L22
- 543 .L29:
- 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
- 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
- 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
- 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
- 544 .loc 1 504 3
- 545 00ca 7B68 ldr r3, [r7, #4]
- 546 00cc 1B68 ldr r3, [r3]
- 547 00ce 5A68 ldr r2, [r3, #4]
- 548 00d0 7B68 ldr r3, [r7, #4]
- 549 00d2 1B68 ldr r3, [r3]
- 550 00d4 22F40062 bic r2, r2, #2048
- 551 00d8 5A60 str r2, [r3, #4]
- 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
- 552 .loc 1 505 3
- 553 00da 7B68 ldr r3, [r7, #4]
- 554 00dc 1B68 ldr r3, [r3]
- 555 00de 9A68 ldr r2, [r3, #8]
- 556 00e0 7B68 ldr r3, [r7, #4]
- 557 00e2 1B68 ldr r3, [r3]
- 558 00e4 22F02A02 bic r2, r2, #42
- 559 00e8 9A60 str r2, [r3, #8]
- 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
- 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
- 560 .loc 1 508 3
- 561 00ea 7B68 ldr r3, [r7, #4]
- 562 00ec 1B68 ldr r3, [r3]
- 563 00ee 5A68 ldr r2, [r3, #4]
- 564 00f0 7B68 ldr r3, [r7, #4]
- 565 00f2 1B68 ldr r3, [r3]
- 566 00f4 42F48042 orr r2, r2, #16384
- 567 00f8 5A60 str r2, [r3, #4]
- 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
- 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength);
- 568 .loc 1 511 3
- 569 00fa 7B68 ldr r3, [r7, #4]
- 570 00fc 1B68 ldr r3, [r3]
- 571 00fe 5B68 ldr r3, [r3, #4]
- 572 0100 23F02001 bic r1, r3, #32
- 573 0104 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 20
- 574 0106 1B68 ldr r3, [r3]
- 575 0108 3A68 ldr r2, [r7]
- 576 010a 0A43 orrs r2, r2, r1
- 577 010c 5A60 str r2, [r3, #4]
- 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 578 .loc 1 513 3
- 579 010e 7B68 ldr r3, [r7, #4]
- 580 0110 1B68 ldr r3, [r3]
- 581 0112 1A68 ldr r2, [r3]
- 582 0114 7B68 ldr r3, [r7, #4]
- 583 0116 1B68 ldr r3, [r3]
- 584 0118 42F00102 orr r2, r2, #1
- 585 011c 1A60 str r2, [r3]
- 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
- 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
- 586 .loc 1 516 11
- 587 011e 7868 ldr r0, [r7, #4]
- 588 0120 FFF7FEFF bl UART_CheckIdleState
- 589 0124 0346 mov r3, r0
- 590 .L22:
- 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 591 .loc 1 517 1
- 592 0126 1846 mov r0, r3
- 593 0128 0837 adds r7, r7, #8
- 594 .LCFI13:
- 595 .cfi_def_cfa_offset 8
- 596 012a BD46 mov sp, r7
- 597 .LCFI14:
- 598 .cfi_def_cfa_register 13
- 599 @ sp needed
- 600 012c 80BD pop {r7, pc}
- 601 .L31:
- 602 012e 00BF .align 2
- 603 .L30:
- 604 0130 00380140 .word 1073821696
- 605 0134 00440040 .word 1073759232
- 606 0138 00480040 .word 1073760256
- 607 013c 004C0040 .word 1073761280
- 608 0140 00500040 .word 1073762304
- 609 0144 00000000 .word .LC0
- 610 .cfi_endproc
- 611 .LFE132:
- 613 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
- 614 .align 1
- 615 .global HAL_MultiProcessor_Init
- 616 .syntax unified
- 617 .thumb
- 618 .thumb_func
- 620 HAL_MultiProcessor_Init:
- 621 .LFB133:
- 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified
- 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 21
- 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long).
- 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method.
- 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
- 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection
- 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark
- 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter
- 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is useless and ignored by the initialization function.
- 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection
- 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to
- 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API
- 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after
- 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessor_Init().
- 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
- 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 622 .loc 1 539 1
- 623 .cfi_startproc
- 624 @ args = 0, pretend = 0, frame = 16
- 625 @ frame_needed = 1, uses_anonymous_args = 0
- 626 0000 80B5 push {r7, lr}
- 627 .LCFI15:
- 628 .cfi_def_cfa_offset 8
- 629 .cfi_offset 7, -8
- 630 .cfi_offset 14, -4
- 631 0002 84B0 sub sp, sp, #16
- 632 .LCFI16:
- 633 .cfi_def_cfa_offset 24
- 634 0004 00AF add r7, sp, #0
- 635 .LCFI17:
- 636 .cfi_def_cfa_register 7
- 637 0006 F860 str r0, [r7, #12]
- 638 0008 0B46 mov r3, r1
- 639 000a 7A60 str r2, [r7, #4]
- 640 000c FB72 strb r3, [r7, #11]
- 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
- 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
- 641 .loc 1 541 6
- 642 000e FB68 ldr r3, [r7, #12]
- 643 0010 002B cmp r3, #0
- 644 0012 01D1 bne .L33
- 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 645 .loc 1 543 12
- 646 0014 0123 movs r3, #1
- 647 0016 65E0 b .L34
- 648 .L33:
- 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the wake up method parameter */
- 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
- 649 .loc 1 547 3
- 650 0018 7B68 ldr r3, [r7, #4]
- 651 001a 002B cmp r3, #0
- 652 001c 08D0 beq .L35
- 653 .loc 1 547 3 is_stmt 0 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 22
- 654 001e 7B68 ldr r3, [r7, #4]
- 655 0020 B3F5006F cmp r3, #2048
- 656 0024 04D0 beq .L35
- 657 .loc 1 547 3 discriminator 2
- 658 0026 40F22321 movw r1, #547
- 659 002a 3048 ldr r0, .L40
- 660 002c FFF7FEFF bl assert_failed
- 661 .L35:
- 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 662 .loc 1 549 12 is_stmt 1
- 663 0030 FB68 ldr r3, [r7, #12]
- 664 0032 DB6F ldr r3, [r3, #124]
- 665 .loc 1 549 6
- 666 0034 002B cmp r3, #0
- 667 0036 06D1 bne .L36
- 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 668 .loc 1 552 17
- 669 0038 FB68 ldr r3, [r7, #12]
- 670 003a 0022 movs r2, #0
- 671 003c 83F87820 strb r2, [r3, #120]
- 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */
- 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart);
- 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 672 .loc 1 566 5
- 673 0040 F868 ldr r0, [r7, #12]
- 674 0042 FFF7FEFF bl HAL_UART_MspInit
- 675 .L36:
- 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 676 .loc 1 570 17
- 677 0046 FB68 ldr r3, [r7, #12]
- 678 0048 2422 movs r2, #36
- 679 004a DA67 str r2, [r3, #124]
- 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 680 .loc 1 572 3
- 681 004c FB68 ldr r3, [r7, #12]
- 682 004e 1B68 ldr r3, [r3]
- 683 0050 1A68 ldr r2, [r3]
- 684 0052 FB68 ldr r3, [r7, #12]
- 685 0054 1B68 ldr r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 23
- 686 0056 22F00102 bic r2, r2, #1
- 687 005a 1A60 str r2, [r3]
- 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */
- 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
- 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
- 688 .loc 1 576 26
- 689 005c FB68 ldr r3, [r7, #12]
- 690 005e 5B6A ldr r3, [r3, #36]
- 691 .loc 1 576 6
- 692 0060 002B cmp r3, #0
- 693 0062 02D0 beq .L37
- 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
- 694 .loc 1 578 5
- 695 0064 F868 ldr r0, [r7, #12]
- 696 0066 FFF7FEFF bl UART_AdvFeatureConfig
- 697 .L37:
- 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */
- 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
- 698 .loc 1 582 7
- 699 006a F868 ldr r0, [r7, #12]
- 700 006c FFF7FEFF bl UART_SetConfig
- 701 0070 0346 mov r3, r0
- 702 .loc 1 582 6
- 703 0072 012B cmp r3, #1
- 704 0074 01D1 bne .L38
- 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 705 .loc 1 584 12
- 706 0076 0123 movs r3, #1
- 707 0078 34E0 b .L34
- 708 .L38:
- 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared:
- 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
- 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */
- 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 709 .loc 1 590 3
- 710 007a FB68 ldr r3, [r7, #12]
- 711 007c 1B68 ldr r3, [r3]
- 712 007e 5A68 ldr r2, [r3, #4]
- 713 0080 FB68 ldr r3, [r7, #12]
- 714 0082 1B68 ldr r3, [r3]
- 715 0084 22F49042 bic r2, r2, #18432
- 716 0088 5A60 str r2, [r3, #4]
- 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
- 717 .loc 1 591 3
- 718 008a FB68 ldr r3, [r7, #12]
- 719 008c 1B68 ldr r3, [r3]
- 720 008e 9A68 ldr r2, [r3, #8]
- 721 0090 FB68 ldr r3, [r7, #12]
- 722 0092 1B68 ldr r3, [r3]
- 723 0094 22F02A02 bic r2, r2, #42
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 24
- 724 0098 9A60 str r2, [r3, #8]
- 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK)
- 725 .loc 1 593 6
- 726 009a 7B68 ldr r3, [r7, #4]
- 727 009c B3F5006F cmp r3, #2048
- 728 00a0 0AD1 bne .L39
- 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */
- 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)
- 729 .loc 1 596 5
- 730 00a2 FB68 ldr r3, [r7, #12]
- 731 00a4 1B68 ldr r3, [r3]
- 732 00a6 5B68 ldr r3, [r3, #4]
- 733 00a8 23F07F41 bic r1, r3, #-16777216
- 734 00ac FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
- 735 00ae 1A06 lsls r2, r3, #24
- 736 00b0 FB68 ldr r3, [r7, #12]
- 737 00b2 1B68 ldr r3, [r3]
- 738 00b4 0A43 orrs r2, r2, r1
- 739 00b6 5A60 str r2, [r3, #4]
- 740 .L39:
- 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
- 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod);
- 741 .loc 1 600 3
- 742 00b8 FB68 ldr r3, [r7, #12]
- 743 00ba 1B68 ldr r3, [r3]
- 744 00bc 1B68 ldr r3, [r3]
- 745 00be 23F40061 bic r1, r3, #2048
- 746 00c2 FB68 ldr r3, [r7, #12]
- 747 00c4 1B68 ldr r3, [r3]
- 748 00c6 7A68 ldr r2, [r7, #4]
- 749 00c8 0A43 orrs r2, r2, r1
- 750 00ca 1A60 str r2, [r3]
- 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 751 .loc 1 602 3
- 752 00cc FB68 ldr r3, [r7, #12]
- 753 00ce 1B68 ldr r3, [r3]
- 754 00d0 1A68 ldr r2, [r3]
- 755 00d2 FB68 ldr r3, [r7, #12]
- 756 00d4 1B68 ldr r3, [r3]
- 757 00d6 42F00102 orr r2, r2, #1
- 758 00da 1A60 str r2, [r3]
- 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
- 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
- 759 .loc 1 605 11
- 760 00dc F868 ldr r0, [r7, #12]
- 761 00de FFF7FEFF bl UART_CheckIdleState
- 762 00e2 0346 mov r3, r0
- 763 .L34:
- 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 764 .loc 1 606 1
- 765 00e4 1846 mov r0, r3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 25
- 766 00e6 1037 adds r7, r7, #16
- 767 .LCFI18:
- 768 .cfi_def_cfa_offset 8
- 769 00e8 BD46 mov sp, r7
- 770 .LCFI19:
- 771 .cfi_def_cfa_register 13
- 772 @ sp needed
- 773 00ea 80BD pop {r7, pc}
- 774 .L41:
- 775 .align 2
- 776 .L40:
- 777 00ec 00000000 .word .LC0
- 778 .cfi_endproc
- 779 .LFE133:
- 781 .section .text.HAL_UART_DeInit,"ax",%progbits
- 782 .align 1
- 783 .global HAL_UART_DeInit
- 784 .syntax unified
- 785 .thumb
- 786 .thumb_func
- 788 HAL_UART_DeInit:
- 789 .LFB134:
- 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART peripheral.
- 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
- 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 790 .loc 1 615 1
- 791 .cfi_startproc
- 792 @ args = 0, pretend = 0, frame = 8
- 793 @ frame_needed = 1, uses_anonymous_args = 0
- 794 0000 80B5 push {r7, lr}
- 795 .LCFI20:
- 796 .cfi_def_cfa_offset 8
- 797 .cfi_offset 7, -8
- 798 .cfi_offset 14, -4
- 799 0002 82B0 sub sp, sp, #8
- 800 .LCFI21:
- 801 .cfi_def_cfa_offset 16
- 802 0004 00AF add r7, sp, #0
- 803 .LCFI22:
- 804 .cfi_def_cfa_register 7
- 805 0006 7860 str r0, [r7, #4]
- 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */
- 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL)
- 806 .loc 1 617 6
- 807 0008 7B68 ldr r3, [r7, #4]
- 808 000a 002B cmp r3, #0
- 809 000c 01D1 bne .L43
- 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 810 .loc 1 619 12
- 811 000e 0123 movs r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 26
- 812 0010 4DE0 b .L44
- 813 .L43:
- 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
- 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 814 .loc 1 623 3
- 815 0012 7B68 ldr r3, [r7, #4]
- 816 0014 1B68 ldr r3, [r3]
- 817 0016 284A ldr r2, .L46
- 818 0018 9342 cmp r3, r2
- 819 001a 18D0 beq .L45
- 820 .loc 1 623 3 is_stmt 0 discriminator 1
- 821 001c 7B68 ldr r3, [r7, #4]
- 822 001e 1B68 ldr r3, [r3]
- 823 0020 264A ldr r2, .L46+4
- 824 0022 9342 cmp r3, r2
- 825 0024 13D0 beq .L45
- 826 .loc 1 623 3 discriminator 2
- 827 0026 7B68 ldr r3, [r7, #4]
- 828 0028 1B68 ldr r3, [r3]
- 829 002a 254A ldr r2, .L46+8
- 830 002c 9342 cmp r3, r2
- 831 002e 0ED0 beq .L45
- 832 .loc 1 623 3 discriminator 3
- 833 0030 7B68 ldr r3, [r7, #4]
- 834 0032 1B68 ldr r3, [r3]
- 835 0034 234A ldr r2, .L46+12
- 836 0036 9342 cmp r3, r2
- 837 0038 09D0 beq .L45
- 838 .loc 1 623 3 discriminator 4
- 839 003a 7B68 ldr r3, [r7, #4]
- 840 003c 1B68 ldr r3, [r3]
- 841 003e 224A ldr r2, .L46+16
- 842 0040 9342 cmp r3, r2
- 843 0042 04D0 beq .L45
- 844 .loc 1 623 3 discriminator 5
- 845 0044 40F26F21 movw r1, #623
- 846 0048 2048 ldr r0, .L46+20
- 847 004a FFF7FEFF bl assert_failed
- 848 .L45:
- 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 849 .loc 1 625 17 is_stmt 1
- 850 004e 7B68 ldr r3, [r7, #4]
- 851 0050 2422 movs r2, #36
- 852 0052 DA67 str r2, [r3, #124]
- 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 853 .loc 1 627 3
- 854 0054 7B68 ldr r3, [r7, #4]
- 855 0056 1B68 ldr r3, [r3]
- 856 0058 1A68 ldr r2, [r3]
- 857 005a 7B68 ldr r3, [r7, #4]
- 858 005c 1B68 ldr r3, [r3]
- 859 005e 22F00102 bic r2, r2, #1
- 860 0062 1A60 str r2, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 27
- 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR1 = 0x0U;
- 861 .loc 1 629 8
- 862 0064 7B68 ldr r3, [r7, #4]
- 863 0066 1B68 ldr r3, [r3]
- 864 .loc 1 629 24
- 865 0068 0022 movs r2, #0
- 866 006a 1A60 str r2, [r3]
- 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
- 867 .loc 1 630 8
- 868 006c 7B68 ldr r3, [r7, #4]
- 869 006e 1B68 ldr r3, [r3]
- 870 .loc 1 630 24
- 871 0070 0022 movs r2, #0
- 872 0072 5A60 str r2, [r3, #4]
- 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
- 873 .loc 1 631 8
- 874 0074 7B68 ldr r3, [r7, #4]
- 875 0076 1B68 ldr r3, [r3]
- 876 .loc 1 631 24
- 877 0078 0022 movs r2, #0
- 878 007a 9A60 str r2, [r3, #8]
- 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
- 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
- 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */
- 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback(huart);
- 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */
- 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
- 879 .loc 1 642 3
- 880 007c 7868 ldr r0, [r7, #4]
- 881 007e FFF7FEFF bl HAL_UART_MspDeInit
- 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 882 .loc 1 645 20
- 883 0082 7B68 ldr r3, [r7, #4]
- 884 0084 0022 movs r2, #0
- 885 0086 C3F88420 str r2, [r3, #132]
- 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
- 886 .loc 1 646 17
- 887 008a 7B68 ldr r3, [r7, #4]
- 888 008c 0022 movs r2, #0
- 889 008e DA67 str r2, [r3, #124]
- 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
- 890 .loc 1 647 18
- 891 0090 7B68 ldr r3, [r7, #4]
- 892 0092 0022 movs r2, #0
- 893 0094 C3F88020 str r2, [r3, #128]
- 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 894 .loc 1 648 24
- 895 0098 7B68 ldr r3, [r7, #4]
- 896 009a 0022 movs r2, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 28
- 897 009c 1A66 str r2, [r3, #96]
- 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
- 898 .loc 1 649 22
- 899 009e 7B68 ldr r3, [r7, #4]
- 900 00a0 0022 movs r2, #0
- 901 00a2 5A66 str r2, [r3, #100]
- 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 902 .loc 1 651 3
- 903 00a4 7B68 ldr r3, [r7, #4]
- 904 00a6 0022 movs r2, #0
- 905 00a8 83F87820 strb r2, [r3, #120]
- 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 906 .loc 1 653 10
- 907 00ac 0023 movs r3, #0
- 908 .L44:
- 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 909 .loc 1 654 1
- 910 00ae 1846 mov r0, r3
- 911 00b0 0837 adds r7, r7, #8
- 912 .LCFI23:
- 913 .cfi_def_cfa_offset 8
- 914 00b2 BD46 mov sp, r7
- 915 .LCFI24:
- 916 .cfi_def_cfa_register 13
- 917 @ sp needed
- 918 00b4 80BD pop {r7, pc}
- 919 .L47:
- 920 00b6 00BF .align 2
- 921 .L46:
- 922 00b8 00380140 .word 1073821696
- 923 00bc 00440040 .word 1073759232
- 924 00c0 00480040 .word 1073760256
- 925 00c4 004C0040 .word 1073761280
- 926 00c8 00500040 .word 1073762304
- 927 00cc 00000000 .word .LC0
- 928 .cfi_endproc
- 929 .LFE134:
- 931 .section .text.HAL_UART_MspInit,"ax",%progbits
- 932 .align 1
- 933 .weak HAL_UART_MspInit
- 934 .syntax unified
- 935 .thumb
- 936 .thumb_func
- 938 HAL_UART_MspInit:
- 939 .LFB135:
- 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the UART MSP.
- 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
- 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 940 .loc 1 662 1
- 941 .cfi_startproc
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 29
- 942 @ args = 0, pretend = 0, frame = 8
- 943 @ frame_needed = 1, uses_anonymous_args = 0
- 944 @ link register save eliminated.
- 945 0000 80B4 push {r7}
- 946 .LCFI25:
- 947 .cfi_def_cfa_offset 4
- 948 .cfi_offset 7, -4
- 949 0002 83B0 sub sp, sp, #12
- 950 .LCFI26:
- 951 .cfi_def_cfa_offset 16
- 952 0004 00AF add r7, sp, #0
- 953 .LCFI27:
- 954 .cfi_def_cfa_register 7
- 955 0006 7860 str r0, [r7, #4]
- 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file
- 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 956 .loc 1 669 1
- 957 0008 00BF nop
- 958 000a 0C37 adds r7, r7, #12
- 959 .LCFI28:
- 960 .cfi_def_cfa_offset 4
- 961 000c BD46 mov sp, r7
- 962 .LCFI29:
- 963 .cfi_def_cfa_register 13
- 964 @ sp needed
- 965 000e 5DF8047B ldr r7, [sp], #4
- 966 .LCFI30:
- 967 .cfi_restore 7
- 968 .cfi_def_cfa_offset 0
- 969 0012 7047 bx lr
- 970 .cfi_endproc
- 971 .LFE135:
- 973 .section .text.HAL_UART_MspDeInit,"ax",%progbits
- 974 .align 1
- 975 .weak HAL_UART_MspDeInit
- 976 .syntax unified
- 977 .thumb
- 978 .thumb_func
- 980 HAL_UART_MspDeInit:
- 981 .LFB136:
- 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART MSP.
- 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
- 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 982 .loc 1 677 1
- 983 .cfi_startproc
- 984 @ args = 0, pretend = 0, frame = 8
- 985 @ frame_needed = 1, uses_anonymous_args = 0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 30
- 986 @ link register save eliminated.
- 987 0000 80B4 push {r7}
- 988 .LCFI31:
- 989 .cfi_def_cfa_offset 4
- 990 .cfi_offset 7, -4
- 991 0002 83B0 sub sp, sp, #12
- 992 .LCFI32:
- 993 .cfi_def_cfa_offset 16
- 994 0004 00AF add r7, sp, #0
- 995 .LCFI33:
- 996 .cfi_def_cfa_register 7
- 997 0006 7860 str r0, [r7, #4]
- 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file
- 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 998 .loc 1 684 1
- 999 0008 00BF nop
- 1000 000a 0C37 adds r7, r7, #12
- 1001 .LCFI34:
- 1002 .cfi_def_cfa_offset 4
- 1003 000c BD46 mov sp, r7
- 1004 .LCFI35:
- 1005 .cfi_def_cfa_register 13
- 1006 @ sp needed
- 1007 000e 5DF8047B ldr r7, [sp], #4
- 1008 .LCFI36:
- 1009 .cfi_restore 7
- 1010 .cfi_def_cfa_offset 0
- 1011 0012 7047 bx lr
- 1012 .cfi_endproc
- 1013 .LFE136:
- 1015 .section .text.HAL_UART_Transmit,"ax",%progbits
- 1016 .align 1
- 1017 .global HAL_UART_Transmit
- 1018 .syntax unified
- 1019 .thumb
- 1020 .thumb_func
- 1022 HAL_UART_Transmit:
- 1023 .LFB137:
- 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Callback
- 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used to override the weak predefined callback
- 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In
- 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET
- 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID
- 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle
- 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
- 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
- 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
- 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
- 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 31
- 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
- 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
- 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
- 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
- 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
- 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
- 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
- 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
- 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback pointer to the Callback function
- 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
- 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
- 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL)
- 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
- 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
- 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
- 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
- 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
- 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
- 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
- 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
- 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
- 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
- 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = pCallback;
- 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
- 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
- 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
- 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
- 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
- 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 32
- 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
- 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = pCallback;
- 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback;
- 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
- 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
- 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
- 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
- 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback;
- 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
- 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
- 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
- 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Unregister an UART Callback
- 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
- 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_
- 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET
- 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 33
- 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle
- 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
- 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values:
- 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
- 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
- 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
- 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
- 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
- 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
- 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
- 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
- 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
- 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
- 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
- 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
- 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
- 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
- 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
- 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
- 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
- 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
- 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
- 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
- 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
- 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
- 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
- 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
- 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
- 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
- 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
- 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak
- 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortTransmitCplt
- 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
- 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak
- 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortReceiveCpltC
- 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 34
- 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
- 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu
- 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
- 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
- 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
- 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
- 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID)
- 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
- 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default :
- 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
- 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
- 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used instead of the weak predefined callback
- 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle
- 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
- 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 35
- 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL)
- 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = pCallback;
- 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
- 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
- 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
- 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle
- 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
- 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
- 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR;
- 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status;
- 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
- 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
- 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Transmit/Receive functions
- 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 36
- 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
- 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### IO operation functions #####
- 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
- 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and Half duplex data transfers.
- 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) There are two mode of transfer:
- 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
- 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
- 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** after finishing transfer.
- 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
- 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** or DMA, These API's return the HAL status.
- 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The end of the data processing will be indicated through the
- 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
- 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** using DMA mode.
- 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
- 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process
- 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
- 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Blocking mode API's are :
- 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit()
- 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive()
- 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
- 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
- 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
- 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
- 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
- 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
- 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
- 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAPause()
- 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAResume()
- 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAStop()
- 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
- 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
- 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
- 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
- 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
- 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
- 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
- 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort()
- 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
- 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
- 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
- 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
- 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
- 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
- 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
- 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
- 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
- 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 37
- 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** reception services:
- 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
- 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
- 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Errors are handled as follows :
- 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
- 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error
- 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in Interrupt mode reception .
- 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
- 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed.
- 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Transfer is kept ongoing on UART side.
- 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
- 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
- 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
- 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback()
- 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** user callback is executed.
- 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
- 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
- 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
- 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in blocking mode.
- 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
- 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData.
- 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
- 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration.
- 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size,
- 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1024 .loc 1 1077 1
- 1025 .cfi_startproc
- 1026 @ args = 0, pretend = 0, frame = 32
- 1027 @ frame_needed = 1, uses_anonymous_args = 0
- 1028 0000 80B5 push {r7, lr}
- 1029 .LCFI37:
- 1030 .cfi_def_cfa_offset 8
- 1031 .cfi_offset 7, -8
- 1032 .cfi_offset 14, -4
- 1033 0002 8AB0 sub sp, sp, #40
- 1034 .LCFI38:
- 1035 .cfi_def_cfa_offset 48
- 1036 0004 02AF add r7, sp, #8
- 1037 .LCFI39:
- 1038 .cfi_def_cfa 7, 40
- 1039 0006 F860 str r0, [r7, #12]
- 1040 0008 B960 str r1, [r7, #8]
- 1041 000a 3B60 str r3, [r7]
- 1042 000c 1346 mov r3, r2 @ movhi
- 1043 000e FB80 strh r3, [r7, #6] @ movhi
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 38
- 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits;
- 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *pdata16bits;
- 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart;
- 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
- 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 1044 .loc 1 1083 12
- 1045 0010 FB68 ldr r3, [r7, #12]
- 1046 0012 DB6F ldr r3, [r3, #124]
- 1047 .loc 1 1083 6
- 1048 0014 202B cmp r3, #32
- 1049 0016 78D1 bne .L51
- 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1050 .loc 1 1085 8
- 1051 0018 BB68 ldr r3, [r7, #8]
- 1052 001a 002B cmp r3, #0
- 1053 001c 02D0 beq .L52
- 1054 .loc 1 1085 25 discriminator 1
- 1055 001e FB88 ldrh r3, [r7, #6]
- 1056 0020 002B cmp r3, #0
- 1057 0022 01D1 bne .L53
- 1058 .L52:
- 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 1059 .loc 1 1087 15
- 1060 0024 0123 movs r3, #1
- 1061 0026 71E0 b .L54
- 1062 .L53:
- 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 1063 .loc 1 1090 22
- 1064 0028 FB68 ldr r3, [r7, #12]
- 1065 002a 0022 movs r2, #0
- 1066 002c C3F88420 str r2, [r3, #132]
- 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
- 1067 .loc 1 1091 19
- 1068 0030 FB68 ldr r3, [r7, #12]
- 1069 0032 2122 movs r2, #33
- 1070 0034 DA67 str r2, [r3, #124]
- 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */
- 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick();
- 1071 .loc 1 1094 17
- 1072 0036 FFF7FEFF bl HAL_GetTick
- 1073 003a 7861 str r0, [r7, #20]
- 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size;
- 1074 .loc 1 1096 24
- 1075 003c FB68 ldr r3, [r7, #12]
- 1076 003e FA88 ldrh r2, [r7, #6] @ movhi
- 1077 0040 A3F85020 strh r2, [r3, #80] @ movhi
- 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size;
- 1078 .loc 1 1097 24
- 1079 0044 FB68 ldr r3, [r7, #12]
- 1080 0046 FA88 ldrh r2, [r7, #6] @ movhi
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 39
- 1081 0048 A3F85220 strh r2, [r3, #82] @ movhi
- 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
- 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 1082 .loc 1 1100 21
- 1083 004c FB68 ldr r3, [r7, #12]
- 1084 004e 9B68 ldr r3, [r3, #8]
- 1085 .loc 1 1100 8
- 1086 0050 B3F5805F cmp r3, #4096
- 1087 0054 08D1 bne .L55
- 1088 .loc 1 1100 71 discriminator 1
- 1089 0056 FB68 ldr r3, [r7, #12]
- 1090 0058 1B69 ldr r3, [r3, #16]
- 1091 .loc 1 1100 56 discriminator 1
- 1092 005a 002B cmp r3, #0
- 1093 005c 04D1 bne .L55
- 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL;
- 1094 .loc 1 1102 19
- 1095 005e 0023 movs r3, #0
- 1096 0060 FB61 str r3, [r7, #28]
- 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
- 1097 .loc 1 1103 19
- 1098 0062 BB68 ldr r3, [r7, #8]
- 1099 0064 BB61 str r3, [r7, #24]
- 1100 0066 03E0 b .L56
- 1101 .L55:
- 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData;
- 1102 .loc 1 1107 19
- 1103 0068 BB68 ldr r3, [r7, #8]
- 1104 006a FB61 str r3, [r7, #28]
- 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL;
- 1105 .loc 1 1108 19
- 1106 006c 0023 movs r3, #0
- 1107 006e BB61 str r3, [r7, #24]
- 1108 .L56:
- 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->TxXferCount > 0U)
- 1109 .loc 1 1111 11
- 1110 0070 30E0 b .L57
- 1111 .L61:
- 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
- 1112 .loc 1 1113 11
- 1113 0072 3B68 ldr r3, [r7]
- 1114 0074 0093 str r3, [sp]
- 1115 0076 7B69 ldr r3, [r7, #20]
- 1116 0078 0022 movs r2, #0
- 1117 007a 8021 movs r1, #128
- 1118 007c F868 ldr r0, [r7, #12]
- 1119 007e FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 1120 0082 0346 mov r3, r0
- 1121 .loc 1 1113 10
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 40
- 1122 0084 002B cmp r3, #0
- 1123 0086 04D0 beq .L58
- 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 1124 .loc 1 1116 23
- 1125 0088 FB68 ldr r3, [r7, #12]
- 1126 008a 2022 movs r2, #32
- 1127 008c DA67 str r2, [r3, #124]
- 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 1128 .loc 1 1118 16
- 1129 008e 0323 movs r3, #3
- 1130 0090 3CE0 b .L54
- 1131 .L58:
- 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL)
- 1132 .loc 1 1120 10
- 1133 0092 FB69 ldr r3, [r7, #28]
- 1134 0094 002B cmp r3, #0
- 1135 0096 0BD1 bne .L59
- 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
- 1136 .loc 1 1122 43
- 1137 0098 BB69 ldr r3, [r7, #24]
- 1138 009a 1A88 ldrh r2, [r3]
- 1139 .loc 1 1122 14
- 1140 009c FB68 ldr r3, [r7, #12]
- 1141 009e 1B68 ldr r3, [r3]
- 1142 .loc 1 1122 32
- 1143 00a0 C2F30802 ubfx r2, r2, #0, #9
- 1144 00a4 92B2 uxth r2, r2
- 1145 .loc 1 1122 30
- 1146 00a6 1A85 strh r2, [r3, #40] @ movhi
- 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++;
- 1147 .loc 1 1123 20
- 1148 00a8 BB69 ldr r3, [r7, #24]
- 1149 00aa 0233 adds r3, r3, #2
- 1150 00ac BB61 str r3, [r7, #24]
- 1151 00ae 08E0 b .L60
- 1152 .L59:
- 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
- 1153 .loc 1 1127 42
- 1154 00b0 FB69 ldr r3, [r7, #28]
- 1155 00b2 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 1156 .loc 1 1127 14
- 1157 00b4 FB68 ldr r3, [r7, #12]
- 1158 00b6 1B68 ldr r3, [r3]
- 1159 .loc 1 1127 32
- 1160 00b8 92B2 uxth r2, r2
- 1161 .loc 1 1127 30
- 1162 00ba 1A85 strh r2, [r3, #40] @ movhi
- 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++;
- 1163 .loc 1 1128 19
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 41
- 1164 00bc FB69 ldr r3, [r7, #28]
- 1165 00be 0133 adds r3, r3, #1
- 1166 00c0 FB61 str r3, [r7, #28]
- 1167 .L60:
- 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
- 1168 .loc 1 1130 12
- 1169 00c2 FB68 ldr r3, [r7, #12]
- 1170 00c4 B3F85230 ldrh r3, [r3, #82] @ movhi
- 1171 00c8 9BB2 uxth r3, r3
- 1172 .loc 1 1130 25
- 1173 00ca 013B subs r3, r3, #1
- 1174 00cc 9AB2 uxth r2, r3
- 1175 00ce FB68 ldr r3, [r7, #12]
- 1176 00d0 A3F85220 strh r2, [r3, #82] @ movhi
- 1177 .L57:
- 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1178 .loc 1 1111 17
- 1179 00d4 FB68 ldr r3, [r7, #12]
- 1180 00d6 B3F85230 ldrh r3, [r3, #82] @ movhi
- 1181 00da 9BB2 uxth r3, r3
- 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1182 .loc 1 1111 11
- 1183 00dc 002B cmp r3, #0
- 1184 00de C8D1 bne .L61
- 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
- 1185 .loc 1 1133 9
- 1186 00e0 3B68 ldr r3, [r7]
- 1187 00e2 0093 str r3, [sp]
- 1188 00e4 7B69 ldr r3, [r7, #20]
- 1189 00e6 0022 movs r2, #0
- 1190 00e8 4021 movs r1, #64
- 1191 00ea F868 ldr r0, [r7, #12]
- 1192 00ec FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 1193 00f0 0346 mov r3, r0
- 1194 .loc 1 1133 8
- 1195 00f2 002B cmp r3, #0
- 1196 00f4 04D0 beq .L62
- 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 1197 .loc 1 1135 21
- 1198 00f6 FB68 ldr r3, [r7, #12]
- 1199 00f8 2022 movs r2, #32
- 1200 00fa DA67 str r2, [r3, #124]
- 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 1201 .loc 1 1137 14
- 1202 00fc 0323 movs r3, #3
- 1203 00fe 05E0 b .L54
- 1204 .L62:
- 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
- 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 1205 .loc 1 1141 19
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 42
- 1206 0100 FB68 ldr r3, [r7, #12]
- 1207 0102 2022 movs r2, #32
- 1208 0104 DA67 str r2, [r3, #124]
- 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 1209 .loc 1 1143 12
- 1210 0106 0023 movs r3, #0
- 1211 0108 00E0 b .L54
- 1212 .L51:
- 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 1213 .loc 1 1147 12
- 1214 010a 0223 movs r3, #2
- 1215 .L54:
- 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1216 .loc 1 1149 1
- 1217 010c 1846 mov r0, r3
- 1218 010e 2037 adds r7, r7, #32
- 1219 .LCFI40:
- 1220 .cfi_def_cfa_offset 8
- 1221 0110 BD46 mov sp, r7
- 1222 .LCFI41:
- 1223 .cfi_def_cfa_register 13
- 1224 @ sp needed
- 1225 0112 80BD pop {r7, pc}
- 1226 .cfi_endproc
- 1227 .LFE137:
- 1229 .section .text.HAL_UART_Receive,"ax",%progbits
- 1230 .align 1
- 1231 .global HAL_UART_Receive
- 1232 .syntax unified
- 1233 .thumb
- 1234 .thumb_func
- 1236 HAL_UART_Receive:
- 1237 .LFB138:
- 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode.
- 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
- 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData.
- 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration.
- 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
- 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1238 .loc 1 1163 1
- 1239 .cfi_startproc
- 1240 @ args = 0, pretend = 0, frame = 32
- 1241 @ frame_needed = 1, uses_anonymous_args = 0
- 1242 0000 80B5 push {r7, lr}
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 43
- 1243 .LCFI42:
- 1244 .cfi_def_cfa_offset 8
- 1245 .cfi_offset 7, -8
- 1246 .cfi_offset 14, -4
- 1247 0002 8AB0 sub sp, sp, #40
- 1248 .LCFI43:
- 1249 .cfi_def_cfa_offset 48
- 1250 0004 02AF add r7, sp, #8
- 1251 .LCFI44:
- 1252 .cfi_def_cfa 7, 40
- 1253 0006 F860 str r0, [r7, #12]
- 1254 0008 B960 str r1, [r7, #8]
- 1255 000a 3B60 str r3, [r7]
- 1256 000c 1346 mov r3, r2 @ movhi
- 1257 000e FB80 strh r3, [r7, #6] @ movhi
- 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits;
- 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *pdata16bits;
- 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask;
- 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart;
- 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 1258 .loc 1 1170 12
- 1259 0010 FB68 ldr r3, [r7, #12]
- 1260 0012 D3F88030 ldr r3, [r3, #128]
- 1261 .loc 1 1170 6
- 1262 0016 202B cmp r3, #32
- 1263 0018 40F0A380 bne .L64
- 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1264 .loc 1 1172 8
- 1265 001c BB68 ldr r3, [r7, #8]
- 1266 001e 002B cmp r3, #0
- 1267 0020 02D0 beq .L65
- 1268 .loc 1 1172 25 discriminator 1
- 1269 0022 FB88 ldrh r3, [r7, #6]
- 1270 0024 002B cmp r3, #0
- 1271 0026 01D1 bne .L66
- 1272 .L65:
- 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 1273 .loc 1 1174 15
- 1274 0028 0123 movs r3, #1
- 1275 002a 9BE0 b .L67
- 1276 .L66:
- 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 1277 .loc 1 1177 22
- 1278 002c FB68 ldr r3, [r7, #12]
- 1279 002e 0022 movs r2, #0
- 1280 0030 C3F88420 str r2, [r3, #132]
- 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
- 1281 .loc 1 1178 20
- 1282 0034 FB68 ldr r3, [r7, #12]
- 1283 0036 2222 movs r2, #34
- 1284 0038 C3F88020 str r2, [r3, #128]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 44
- 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 1285 .loc 1 1179 26
- 1286 003c FB68 ldr r3, [r7, #12]
- 1287 003e 0022 movs r2, #0
- 1288 0040 1A66 str r2, [r3, #96]
- 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */
- 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick();
- 1289 .loc 1 1182 17
- 1290 0042 FFF7FEFF bl HAL_GetTick
- 1291 0046 7861 str r0, [r7, #20]
- 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size;
- 1292 .loc 1 1184 24
- 1293 0048 FB68 ldr r3, [r7, #12]
- 1294 004a FA88 ldrh r2, [r7, #6] @ movhi
- 1295 004c A3F85820 strh r2, [r3, #88] @ movhi
- 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size;
- 1296 .loc 1 1185 24
- 1297 0050 FB68 ldr r3, [r7, #12]
- 1298 0052 FA88 ldrh r2, [r7, #6] @ movhi
- 1299 0054 A3F85A20 strh r2, [r3, #90] @ movhi
- 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
- 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
- 1300 .loc 1 1188 5
- 1301 0058 FB68 ldr r3, [r7, #12]
- 1302 005a 9B68 ldr r3, [r3, #8]
- 1303 005c B3F5805F cmp r3, #4096
- 1304 0060 0ED1 bne .L68
- 1305 .loc 1 1188 5 is_stmt 0 discriminator 1
- 1306 0062 FB68 ldr r3, [r7, #12]
- 1307 0064 1B69 ldr r3, [r3, #16]
- 1308 0066 002B cmp r3, #0
- 1309 0068 05D1 bne .L69
- 1310 .loc 1 1188 5 discriminator 3
- 1311 006a FB68 ldr r3, [r7, #12]
- 1312 006c 40F2FF12 movw r2, #511
- 1313 0070 A3F85C20 strh r2, [r3, #92] @ movhi
- 1314 0074 1AE0 b .L70
- 1315 .L69:
- 1316 .loc 1 1188 5 discriminator 4
- 1317 0076 FB68 ldr r3, [r7, #12]
- 1318 0078 FF22 movs r2, #255
- 1319 007a A3F85C20 strh r2, [r3, #92] @ movhi
- 1320 007e 15E0 b .L70
- 1321 .L68:
- 1322 .loc 1 1188 5 discriminator 2
- 1323 0080 FB68 ldr r3, [r7, #12]
- 1324 0082 9B68 ldr r3, [r3, #8]
- 1325 0084 002B cmp r3, #0
- 1326 0086 0DD1 bne .L71
- 1327 .loc 1 1188 5 discriminator 5
- 1328 0088 FB68 ldr r3, [r7, #12]
- 1329 008a 1B69 ldr r3, [r3, #16]
- 1330 008c 002B cmp r3, #0
- 1331 008e 04D1 bne .L72
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 45
- 1332 .loc 1 1188 5 discriminator 7
- 1333 0090 FB68 ldr r3, [r7, #12]
- 1334 0092 FF22 movs r2, #255
- 1335 0094 A3F85C20 strh r2, [r3, #92] @ movhi
- 1336 0098 08E0 b .L70
- 1337 .L72:
- 1338 .loc 1 1188 5 discriminator 8
- 1339 009a FB68 ldr r3, [r7, #12]
- 1340 009c 7F22 movs r2, #127
- 1341 009e A3F85C20 strh r2, [r3, #92] @ movhi
- 1342 00a2 03E0 b .L70
- 1343 .L71:
- 1344 .loc 1 1188 5 discriminator 6
- 1345 00a4 FB68 ldr r3, [r7, #12]
- 1346 00a6 0022 movs r2, #0
- 1347 00a8 A3F85C20 strh r2, [r3, #92] @ movhi
- 1348 .L70:
- 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask;
- 1349 .loc 1 1189 12 is_stmt 1
- 1350 00ac FB68 ldr r3, [r7, #12]
- 1351 00ae B3F85C30 ldrh r3, [r3, #92] @ movhi
- 1352 00b2 7B82 strh r3, [r7, #18] @ movhi
- 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
- 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 1353 .loc 1 1192 21
- 1354 00b4 FB68 ldr r3, [r7, #12]
- 1355 00b6 9B68 ldr r3, [r3, #8]
- 1356 .loc 1 1192 8
- 1357 00b8 B3F5805F cmp r3, #4096
- 1358 00bc 08D1 bne .L73
- 1359 .loc 1 1192 71 discriminator 1
- 1360 00be FB68 ldr r3, [r7, #12]
- 1361 00c0 1B69 ldr r3, [r3, #16]
- 1362 .loc 1 1192 56 discriminator 1
- 1363 00c2 002B cmp r3, #0
- 1364 00c4 04D1 bne .L73
- 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL;
- 1365 .loc 1 1194 19
- 1366 00c6 0023 movs r3, #0
- 1367 00c8 FB61 str r3, [r7, #28]
- 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
- 1368 .loc 1 1195 19
- 1369 00ca BB68 ldr r3, [r7, #8]
- 1370 00cc BB61 str r3, [r7, #24]
- 1371 00ce 03E0 b .L74
- 1372 .L73:
- 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData;
- 1373 .loc 1 1199 19
- 1374 00d0 BB68 ldr r3, [r7, #8]
- 1375 00d2 FB61 str r3, [r7, #28]
- 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL;
- 1376 .loc 1 1200 19
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 46
- 1377 00d4 0023 movs r3, #0
- 1378 00d6 BB61 str r3, [r7, #24]
- 1379 .L74:
- 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* as long as data have to be received */
- 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->RxXferCount > 0U)
- 1380 .loc 1 1204 11
- 1381 00d8 37E0 b .L75
- 1382 .L79:
- 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
- 1383 .loc 1 1206 11
- 1384 00da 3B68 ldr r3, [r7]
- 1385 00dc 0093 str r3, [sp]
- 1386 00de 7B69 ldr r3, [r7, #20]
- 1387 00e0 0022 movs r2, #0
- 1388 00e2 2021 movs r1, #32
- 1389 00e4 F868 ldr r0, [r7, #12]
- 1390 00e6 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 1391 00ea 0346 mov r3, r0
- 1392 .loc 1 1206 10
- 1393 00ec 002B cmp r3, #0
- 1394 00ee 05D0 beq .L76
- 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 1395 .loc 1 1208 24
- 1396 00f0 FB68 ldr r3, [r7, #12]
- 1397 00f2 2022 movs r2, #32
- 1398 00f4 C3F88020 str r2, [r3, #128]
- 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 1399 .loc 1 1210 16
- 1400 00f8 0323 movs r3, #3
- 1401 00fa 33E0 b .L67
- 1402 .L76:
- 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL)
- 1403 .loc 1 1212 10
- 1404 00fc FB69 ldr r3, [r7, #28]
- 1405 00fe 002B cmp r3, #0
- 1406 0100 0CD1 bne .L77
- 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask);
- 1407 .loc 1 1214 40
- 1408 0102 FB68 ldr r3, [r7, #12]
- 1409 0104 1B68 ldr r3, [r3]
- 1410 .loc 1 1214 50
- 1411 0106 9B8C ldrh r3, [r3, #36] @ movhi
- 1412 0108 9AB2 uxth r2, r3
- 1413 .loc 1 1214 24
- 1414 010a 7B8A ldrh r3, [r7, #18] @ movhi
- 1415 010c 1340 ands r3, r3, r2
- 1416 010e 9AB2 uxth r2, r3
- 1417 .loc 1 1214 22
- 1418 0110 BB69 ldr r3, [r7, #24]
- 1419 0112 1A80 strh r2, [r3] @ movhi
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 47
- 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++;
- 1420 .loc 1 1215 20
- 1421 0114 BB69 ldr r3, [r7, #24]
- 1422 0116 0233 adds r3, r3, #2
- 1423 0118 BB61 str r3, [r7, #24]
- 1424 011a 0DE0 b .L78
- 1425 .L77:
- 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
- 1426 .loc 1 1219 38
- 1427 011c FB68 ldr r3, [r7, #12]
- 1428 011e 1B68 ldr r3, [r3]
- 1429 .loc 1 1219 48
- 1430 0120 9B8C ldrh r3, [r3, #36] @ movhi
- 1431 0122 9BB2 uxth r3, r3
- 1432 .loc 1 1219 23
- 1433 0124 DAB2 uxtb r2, r3
- 1434 .loc 1 1219 56
- 1435 0126 7B8A ldrh r3, [r7, #18] @ movhi
- 1436 0128 DBB2 uxtb r3, r3
- 1437 .loc 1 1219 23
- 1438 012a 1340 ands r3, r3, r2
- 1439 012c DAB2 uxtb r2, r3
- 1440 .loc 1 1219 21
- 1441 012e FB69 ldr r3, [r7, #28]
- 1442 0130 1A70 strb r2, [r3]
- 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++;
- 1443 .loc 1 1220 19
- 1444 0132 FB69 ldr r3, [r7, #28]
- 1445 0134 0133 adds r3, r3, #1
- 1446 0136 FB61 str r3, [r7, #28]
- 1447 .L78:
- 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--;
- 1448 .loc 1 1222 12
- 1449 0138 FB68 ldr r3, [r7, #12]
- 1450 013a B3F85A30 ldrh r3, [r3, #90] @ movhi
- 1451 013e 9BB2 uxth r3, r3
- 1452 .loc 1 1222 25
- 1453 0140 013B subs r3, r3, #1
- 1454 0142 9AB2 uxth r2, r3
- 1455 0144 FB68 ldr r3, [r7, #12]
- 1456 0146 A3F85A20 strh r2, [r3, #90] @ movhi
- 1457 .L75:
- 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1458 .loc 1 1204 17
- 1459 014a FB68 ldr r3, [r7, #12]
- 1460 014c B3F85A30 ldrh r3, [r3, #90] @ movhi
- 1461 0150 9BB2 uxth r3, r3
- 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1462 .loc 1 1204 11
- 1463 0152 002B cmp r3, #0
- 1464 0154 C1D1 bne .L79
- 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 48
- 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 1465 .loc 1 1226 20
- 1466 0156 FB68 ldr r3, [r7, #12]
- 1467 0158 2022 movs r2, #32
- 1468 015a C3F88020 str r2, [r3, #128]
- 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 1469 .loc 1 1228 12
- 1470 015e 0023 movs r3, #0
- 1471 0160 00E0 b .L67
- 1472 .L64:
- 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 1473 .loc 1 1232 12
- 1474 0162 0223 movs r3, #2
- 1475 .L67:
- 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1476 .loc 1 1234 1
- 1477 0164 1846 mov r0, r3
- 1478 0166 2037 adds r7, r7, #32
- 1479 .LCFI45:
- 1480 .cfi_def_cfa_offset 8
- 1481 0168 BD46 mov sp, r7
- 1482 .LCFI46:
- 1483 .cfi_def_cfa_register 13
- 1484 @ sp needed
- 1485 016a 80BD pop {r7, pc}
- 1486 .cfi_endproc
- 1487 .LFE138:
- 1489 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
- 1490 .align 1
- 1491 .global HAL_UART_Transmit_IT
- 1492 .syntax unified
- 1493 .thumb
- 1494 .thumb_func
- 1496 HAL_UART_Transmit_IT:
- 1497 .LFB139:
- 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode.
- 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
- 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData.
- 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
- 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si
- 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1498 .loc 1 1247 1
- 1499 .cfi_startproc
- 1500 @ args = 0, pretend = 0, frame = 40
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 49
- 1501 @ frame_needed = 1, uses_anonymous_args = 0
- 1502 @ link register save eliminated.
- 1503 0000 80B4 push {r7}
- 1504 .LCFI47:
- 1505 .cfi_def_cfa_offset 4
- 1506 .cfi_offset 7, -4
- 1507 0002 8BB0 sub sp, sp, #44
- 1508 .LCFI48:
- 1509 .cfi_def_cfa_offset 48
- 1510 0004 00AF add r7, sp, #0
- 1511 .LCFI49:
- 1512 .cfi_def_cfa_register 7
- 1513 0006 F860 str r0, [r7, #12]
- 1514 0008 B960 str r1, [r7, #8]
- 1515 000a 1346 mov r3, r2
- 1516 000c FB80 strh r3, [r7, #6] @ movhi
- 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
- 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 1517 .loc 1 1249 12
- 1518 000e FB68 ldr r3, [r7, #12]
- 1519 0010 DB6F ldr r3, [r3, #124]
- 1520 .loc 1 1249 6
- 1521 0012 202B cmp r3, #32
- 1522 0014 47D1 bne .L81
- 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1523 .loc 1 1251 8
- 1524 0016 BB68 ldr r3, [r7, #8]
- 1525 0018 002B cmp r3, #0
- 1526 001a 02D0 beq .L82
- 1527 .loc 1 1251 25 discriminator 1
- 1528 001c FB88 ldrh r3, [r7, #6]
- 1529 001e 002B cmp r3, #0
- 1530 0020 01D1 bne .L83
- 1531 .L82:
- 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 1532 .loc 1 1253 14
- 1533 0022 0123 movs r3, #1
- 1534 0024 40E0 b .L84
- 1535 .L83:
- 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData;
- 1536 .loc 1 1256 24
- 1537 0026 FB68 ldr r3, [r7, #12]
- 1538 0028 BA68 ldr r2, [r7, #8]
- 1539 002a DA64 str r2, [r3, #76]
- 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size;
- 1540 .loc 1 1257 24
- 1541 002c FB68 ldr r3, [r7, #12]
- 1542 002e FA88 ldrh r2, [r7, #6] @ movhi
- 1543 0030 A3F85020 strh r2, [r3, #80] @ movhi
- 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size;
- 1544 .loc 1 1258 24
- 1545 0034 FB68 ldr r3, [r7, #12]
- 1546 0036 FA88 ldrh r2, [r7, #6] @ movhi
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 50
- 1547 0038 A3F85220 strh r2, [r3, #82] @ movhi
- 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
- 1548 .loc 1 1259 24
- 1549 003c FB68 ldr r3, [r7, #12]
- 1550 003e 0022 movs r2, #0
- 1551 0040 DA66 str r2, [r3, #108]
- 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 1552 .loc 1 1261 22
- 1553 0042 FB68 ldr r3, [r7, #12]
- 1554 0044 0022 movs r2, #0
- 1555 0046 C3F88420 str r2, [r3, #132]
- 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
- 1556 .loc 1 1262 19
- 1557 004a FB68 ldr r3, [r7, #12]
- 1558 004c 2122 movs r2, #33
- 1559 004e DA67 str r2, [r3, #124]
- 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */
- 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 1560 .loc 1 1265 21
- 1561 0050 FB68 ldr r3, [r7, #12]
- 1562 0052 9B68 ldr r3, [r3, #8]
- 1563 .loc 1 1265 8
- 1564 0054 B3F5805F cmp r3, #4096
- 1565 0058 07D1 bne .L85
- 1566 .loc 1 1265 71 discriminator 1
- 1567 005a FB68 ldr r3, [r7, #12]
- 1568 005c 1B69 ldr r3, [r3, #16]
- 1569 .loc 1 1265 56 discriminator 1
- 1570 005e 002B cmp r3, #0
- 1571 0060 03D1 bne .L85
- 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT;
- 1572 .loc 1 1267 20
- 1573 0062 FB68 ldr r3, [r7, #12]
- 1574 0064 134A ldr r2, .L90
- 1575 0066 DA66 str r2, [r3, #108]
- 1576 0068 02E0 b .L89
- 1577 .L85:
- 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT;
- 1578 .loc 1 1271 20
- 1579 006a FB68 ldr r3, [r7, #12]
- 1580 006c 124A ldr r2, .L90+4
- 1581 006e DA66 str r2, [r3, #108]
- 1582 .L89:
- 1583 .LBB414:
- 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */
- 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
- 1584 .loc 1 1275 5 discriminator 1
- 1585 0070 FB68 ldr r3, [r7, #12]
- 1586 0072 1B68 ldr r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 51
- 1587 0074 7B61 str r3, [r7, #20]
- 1588 .LBB415:
- 1589 .LBB416:
- 1590 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
- 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
- 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
- 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
- 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
- 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
- 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
- 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
- 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
- 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
- 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
- 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
- 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
- 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
- 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
- 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
- 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
- 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
- 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
- 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
- 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
- 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
- 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
- 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
- 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
- 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
- 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
- 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
- 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
- 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
- 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
- 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
- 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
- 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
- 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
- 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
- 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
- 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 52
- 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
- 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
- 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
- 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
- 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
- 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
- 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
- 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
- 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
- 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
- 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
- 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
- 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
- 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
- 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
- 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
- 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
- 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
- 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
- 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
- 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
- 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
- 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
- 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
- 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
- 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
- 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
- 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
- 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 53
- 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
- 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
- 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
- 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
- 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
- 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
- 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
- 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
- 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
- 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
- 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
- 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
- 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
- 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
- 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
- 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
- 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
- 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
- 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
- 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
- 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
- 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
- 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
- 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
- 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 54
- 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
- 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
- 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
- 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
- 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
- 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
- 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
- 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
- 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
- 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
- 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
- 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
- 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
- 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
- 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
- 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
- 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
- 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
- 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
- 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
- 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
- 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 55
- 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
- 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
- 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
- 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
- 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
- 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
- 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
- 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
- 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
- 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
- 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
- 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
- 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
- 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
- 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
- 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
- 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
- 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
- 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
- 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
- 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 56
- 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
- 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
- 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
- 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
- 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
- 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
- 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
- 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
- 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
- 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
- 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
- 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
- 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
- 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
- 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
- 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
- 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
- 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
- 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
- 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
- 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 57
- 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
- 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
- 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
- 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
- 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
- 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
- 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
- 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
- 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
- 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
- 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
- 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
- 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
- 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
- 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
- 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
- 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
- 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
- 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
- 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
- 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
- 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
- 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 58
- 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
- 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
- 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
- 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
- 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
- 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
- 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
- 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
- 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
- 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
- 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
- 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
- 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
- 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
- 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
- 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
- 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
- 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
- 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
- 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
- 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
- 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
- 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
- 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 59
- 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
- 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
- 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
- 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
- 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
- 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
- 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
- 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
- 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
- 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
- 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
- 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
- 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
- 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
- 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
- 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
- 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
- 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
- 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
- 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
- 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 60
- 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
- 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
- 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
- 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
- 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
- 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
- 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
- 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
- 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
- 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
- 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
- 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
- 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
- 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
- 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
- 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
- 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
- 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
- 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
- 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
- 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
- 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
- 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 61
- 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
- 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
- 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
- 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
- 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
- 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
- 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
- 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
- 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
- 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
- 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
- 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
- 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
- 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
- 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
- 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
- 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
- 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
- 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
- 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
- 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
- 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 62
- 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
- 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
- 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
- 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
- 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
- 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
- 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
- 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
- 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
- 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
- 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
- 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
- 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
- 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
- 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
- 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
- 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
- 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
- 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
- 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
- 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 63
- 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
- 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
- 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
- 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
- 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
- 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
- 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
- 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
- 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
- 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
- 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
- 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
- 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
- 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
- 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
- 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
- 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
- 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
- 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 64
- 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
- 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
- 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
- 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
- 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
- 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
- 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
- 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
- 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
- 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
- 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
- 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
- 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
- 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
- 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
- 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
- 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
- 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
- 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
- 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
- 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
- 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
- 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
- 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
- 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
- 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
- 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
- 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
- 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
- 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 65
- 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
- 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
- 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
- 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
- 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
- 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
- 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
- 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
- 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
- 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
- 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
- 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
- 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
- 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
- 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
- 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
- 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
- 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
- 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
- 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
- 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
- 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
- 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
- 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
- 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
- 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
- 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
- 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
- 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
- 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
- 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
- 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
- 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
- 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 66
- 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
- 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
- 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
- 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
- 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
- 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
- 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
- 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
- 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
- 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
- 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
- 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
- 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
- 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
- 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 881:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 882:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
- 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
- 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
- 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
- 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
- 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 892:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 893:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
- 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
- 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
- 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
- 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
- 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 906:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
- 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 67
- 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 912:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
- 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
- 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
- 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 922:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
- 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 926:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 927:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
- 930:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam
- 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
- 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
- 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
- 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
- 940:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
- 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 945:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 946:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
- 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
- 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
- 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
- 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
- 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
- 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
- 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
- 958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
- 960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
- 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 963:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 964:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 68
- 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
- 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
- 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
- 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
- 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
- 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
- 973:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 974:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
- 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
- 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
- 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
- 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
- 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 984:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
- 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
- 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
- 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
- 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
- 991:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
- 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
- 994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
- 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
- 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
- 998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
- 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
- 1002:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1003:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1004:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1005:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 1006:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros
- 1007:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value.
- 1008:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros
- 1009:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value
- 1010:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1011:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CLZ (uint8_t)__builtin_clz
- 1012:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1013:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1014:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
- 1015:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
- 1016:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
- 1017:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
- 1018:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 1019:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit)
- 1020:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value.
- 1021:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
- 1022:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 69
- 1023:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1024:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
- 1025:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 1026:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 1027:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1028:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
- 1029:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
- 1030:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 1031:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
- 1032:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
- 1033:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1034:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
- 1035:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 1036:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */
- 1037:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1038:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1039:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1040:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 1041:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit)
- 1042:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values.
- 1043:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
- 1044:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr)
- 1045:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1046:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
- 1047:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 1048:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 1049:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1050:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
- 1051:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
- 1052:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
- 1053:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
- 1054:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
- 1055:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1056:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
- 1057:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 1058:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */
- 1059:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1060:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1061:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1062:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 1063:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit)
- 1064:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values.
- 1065:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
- 1066:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr)
- 1067:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
- 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 1071:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
- 1591 .loc 2 1072 4 discriminator 1
- 1592 0076 7B69 ldr r3, [r7, #20]
- 1593 .syntax unified
- 1594 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1595 0078 53E8003F ldrex r3, [r3]
- 1596 @ 0 "" 2
- 1597 .thumb
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 70
- 1598 .syntax unified
- 1599 007c 3B61 str r3, [r7, #16]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1600 .loc 2 1073 10 discriminator 1
- 1601 007e 3B69 ldr r3, [r7, #16]
- 1602 .LBE416:
- 1603 .LBE415:
- 1604 .loc 1 1275 5 discriminator 1
- 1605 0080 43F08003 orr r3, r3, #128
- 1606 0084 7B62 str r3, [r7, #36]
- 1607 0086 FB68 ldr r3, [r7, #12]
- 1608 0088 1B68 ldr r3, [r3]
- 1609 008a 1A46 mov r2, r3
- 1610 008c 7B6A ldr r3, [r7, #36]
- 1611 008e 3B62 str r3, [r7, #32]
- 1612 0090 FA61 str r2, [r7, #28]
- 1613 .LBB417:
- 1614 .LBB418:
- 1074:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1075:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1076:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1077:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 1078:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit)
- 1079:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values.
- 1080:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
- 1081:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
- 1082:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
- 1083:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
- 1084:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1085:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
- 1086:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 1087:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 1088:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1089:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
- 1090:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1091:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1092:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1093:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1094:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 1095:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit)
- 1096:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values.
- 1097:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
- 1098:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
- 1099:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
- 1100:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
- 1101:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1102:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
- 1103:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 1104:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 1105:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1106:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
- 1107:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1108:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1109:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1110:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1111:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 1112:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 71
- 1113:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values.
- 1114:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
- 1115:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
- 1116:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
- 1117:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
- 1118:Drivers/CMSIS/Include/cmsis_gcc.h **** */
- 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
- 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** {
- 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
- 1122:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
- 1615 .loc 2 1123 4 discriminator 1
- 1616 0092 F969 ldr r1, [r7, #28]
- 1617 0094 3A6A ldr r2, [r7, #32]
- 1618 .syntax unified
- 1619 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1620 0096 41E80023 strex r3, r2, [r1]
- 1621 @ 0 "" 2
- 1622 .thumb
- 1623 .syntax unified
- 1624 009a BB61 str r3, [r7, #24]
- 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1625 .loc 2 1124 10 discriminator 1
- 1626 009c BB69 ldr r3, [r7, #24]
- 1627 .LBE418:
- 1628 .LBE417:
- 1629 .loc 1 1275 5 discriminator 1
- 1630 009e 002B cmp r3, #0
- 1631 00a0 E6D1 bne .L89
- 1632 .LBE414:
- 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 1633 .loc 1 1277 12
- 1634 00a2 0023 movs r3, #0
- 1635 00a4 00E0 b .L84
- 1636 .L81:
- 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 1637 .loc 1 1281 12
- 1638 00a6 0223 movs r3, #2
- 1639 .L84:
- 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1640 .loc 1 1283 1
- 1641 00a8 1846 mov r0, r3
- 1642 00aa 2C37 adds r7, r7, #44
- 1643 .LCFI50:
- 1644 .cfi_def_cfa_offset 4
- 1645 00ac BD46 mov sp, r7
- 1646 .LCFI51:
- 1647 .cfi_def_cfa_register 13
- 1648 @ sp needed
- 1649 00ae 5DF8047B ldr r7, [sp], #4
- 1650 .LCFI52:
- 1651 .cfi_restore 7
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 72
- 1652 .cfi_def_cfa_offset 0
- 1653 00b2 7047 bx lr
- 1654 .L91:
- 1655 .align 2
- 1656 .L90:
- 1657 00b4 00000000 .word UART_TxISR_16BIT
- 1658 00b8 00000000 .word UART_TxISR_8BIT
- 1659 .cfi_endproc
- 1660 .LFE139:
- 1662 .section .text.HAL_UART_Receive_IT,"ax",%progbits
- 1663 .align 1
- 1664 .global HAL_UART_Receive_IT
- 1665 .syntax unified
- 1666 .thumb
- 1667 .thumb_func
- 1669 HAL_UART_Receive_IT:
- 1670 .LFB140:
- 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode.
- 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
- 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData.
- 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1671 .loc 1 1296 1
- 1672 .cfi_startproc
- 1673 @ args = 0, pretend = 0, frame = 40
- 1674 @ frame_needed = 1, uses_anonymous_args = 0
- 1675 0000 80B5 push {r7, lr}
- 1676 .LCFI53:
- 1677 .cfi_def_cfa_offset 8
- 1678 .cfi_offset 7, -8
- 1679 .cfi_offset 14, -4
- 1680 0002 8AB0 sub sp, sp, #40
- 1681 .LCFI54:
- 1682 .cfi_def_cfa_offset 48
- 1683 0004 00AF add r7, sp, #0
- 1684 .LCFI55:
- 1685 .cfi_def_cfa_register 7
- 1686 0006 F860 str r0, [r7, #12]
- 1687 0008 B960 str r1, [r7, #8]
- 1688 000a 1346 mov r3, r2
- 1689 000c FB80 strh r3, [r7, #6] @ movhi
- 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 1690 .loc 1 1298 12
- 1691 000e FB68 ldr r3, [r7, #12]
- 1692 0010 D3F88030 ldr r3, [r3, #128]
- 1693 .loc 1 1298 6
- 1694 0014 202B cmp r3, #32
- 1695 0016 32D1 bne .L93
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 73
- 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1696 .loc 1 1300 8
- 1697 0018 BB68 ldr r3, [r7, #8]
- 1698 001a 002B cmp r3, #0
- 1699 001c 02D0 beq .L94
- 1700 .loc 1 1300 25 discriminator 1
- 1701 001e FB88 ldrh r3, [r7, #6]
- 1702 0020 002B cmp r3, #0
- 1703 0022 01D1 bne .L95
- 1704 .L94:
- 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 1705 .loc 1 1302 14
- 1706 0024 0123 movs r3, #1
- 1707 0026 2BE0 b .L96
- 1708 .L95:
- 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */
- 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 1709 .loc 1 1306 26
- 1710 0028 FB68 ldr r3, [r7, #12]
- 1711 002a 0022 movs r2, #0
- 1712 002c 1A66 str r2, [r3, #96]
- 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
- 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
- 1713 .loc 1 1309 9
- 1714 002e FB68 ldr r3, [r7, #12]
- 1715 0030 1B68 ldr r3, [r3]
- 1716 0032 5B68 ldr r3, [r3, #4]
- 1717 0034 03F40003 and r3, r3, #8388608
- 1718 .loc 1 1309 8
- 1719 0038 002B cmp r3, #0
- 1720 003a 18D0 beq .L97
- 1721 .L100:
- 1722 .LBB419:
- 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
- 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
- 1723 .loc 1 1312 7 discriminator 1
- 1724 003c FB68 ldr r3, [r7, #12]
- 1725 003e 1B68 ldr r3, [r3]
- 1726 0040 7B61 str r3, [r7, #20]
- 1727 .LBB420:
- 1728 .LBB421:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1729 .loc 2 1072 4 discriminator 1
- 1730 0042 7B69 ldr r3, [r7, #20]
- 1731 .syntax unified
- 1732 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1733 0044 53E8003F ldrex r3, [r3]
- 1734 @ 0 "" 2
- 1735 .thumb
- 1736 .syntax unified
- 1737 0048 3B61 str r3, [r7, #16]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 74
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1738 .loc 2 1073 10 discriminator 1
- 1739 004a 3B69 ldr r3, [r7, #16]
- 1740 .LBE421:
- 1741 .LBE420:
- 1742 .loc 1 1312 7 discriminator 1
- 1743 004c 43F08063 orr r3, r3, #67108864
- 1744 0050 7B62 str r3, [r7, #36]
- 1745 0052 FB68 ldr r3, [r7, #12]
- 1746 0054 1B68 ldr r3, [r3]
- 1747 0056 1A46 mov r2, r3
- 1748 0058 7B6A ldr r3, [r7, #36]
- 1749 005a 3B62 str r3, [r7, #32]
- 1750 005c FA61 str r2, [r7, #28]
- 1751 .LBB422:
- 1752 .LBB423:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1753 .loc 2 1123 4 discriminator 1
- 1754 005e F969 ldr r1, [r7, #28]
- 1755 0060 3A6A ldr r2, [r7, #32]
- 1756 .syntax unified
- 1757 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1758 0062 41E80023 strex r3, r2, [r1]
- 1759 @ 0 "" 2
- 1760 .thumb
- 1761 .syntax unified
- 1762 0066 BB61 str r3, [r7, #24]
- 1763 .loc 2 1124 10 discriminator 1
- 1764 0068 BB69 ldr r3, [r7, #24]
- 1765 .LBE423:
- 1766 .LBE422:
- 1767 .loc 1 1312 7 discriminator 1
- 1768 006a 002B cmp r3, #0
- 1769 006c E6D1 bne .L100
- 1770 .L97:
- 1771 .LBE419:
- 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
- 1772 .loc 1 1315 13
- 1773 006e FB88 ldrh r3, [r7, #6]
- 1774 0070 1A46 mov r2, r3
- 1775 0072 B968 ldr r1, [r7, #8]
- 1776 0074 F868 ldr r0, [r7, #12]
- 1777 0076 FFF7FEFF bl UART_Start_Receive_IT
- 1778 007a 0346 mov r3, r0
- 1779 007c 00E0 b .L96
- 1780 .L93:
- 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 1781 .loc 1 1319 12
- 1782 007e 0223 movs r3, #2
- 1783 .L96:
- 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 75
- 1784 .loc 1 1321 1
- 1785 0080 1846 mov r0, r3
- 1786 0082 2837 adds r7, r7, #40
- 1787 .LCFI56:
- 1788 .cfi_def_cfa_offset 8
- 1789 0084 BD46 mov sp, r7
- 1790 .LCFI57:
- 1791 .cfi_def_cfa_register 13
- 1792 @ sp needed
- 1793 0086 80BD pop {r7, pc}
- 1794 .cfi_endproc
- 1795 .LFE140:
- 1797 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
- 1798 .align 1
- 1799 .global HAL_UART_Transmit_DMA
- 1800 .syntax unified
- 1801 .thumb
- 1802 .thumb_func
- 1804 HAL_UART_Transmit_DMA:
- 1805 .LFB141:
- 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in DMA mode.
- 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
- 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData.
- 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
- 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S
- 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1806 .loc 1 1334 1
- 1807 .cfi_startproc
- 1808 @ args = 0, pretend = 0, frame = 40
- 1809 @ frame_needed = 1, uses_anonymous_args = 0
- 1810 0000 80B5 push {r7, lr}
- 1811 .LCFI58:
- 1812 .cfi_def_cfa_offset 8
- 1813 .cfi_offset 7, -8
- 1814 .cfi_offset 14, -4
- 1815 0002 8AB0 sub sp, sp, #40
- 1816 .LCFI59:
- 1817 .cfi_def_cfa_offset 48
- 1818 0004 00AF add r7, sp, #0
- 1819 .LCFI60:
- 1820 .cfi_def_cfa_register 7
- 1821 0006 F860 str r0, [r7, #12]
- 1822 0008 B960 str r1, [r7, #8]
- 1823 000a 1346 mov r3, r2
- 1824 000c FB80 strh r3, [r7, #6] @ movhi
- 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
- 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 1825 .loc 1 1336 12
- 1826 000e FB68 ldr r3, [r7, #12]
- 1827 0010 DB6F ldr r3, [r3, #124]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 76
- 1828 .loc 1 1336 6
- 1829 0012 202B cmp r3, #32
- 1830 0014 65D1 bne .L102
- 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1831 .loc 1 1338 8
- 1832 0016 BB68 ldr r3, [r7, #8]
- 1833 0018 002B cmp r3, #0
- 1834 001a 02D0 beq .L103
- 1835 .loc 1 1338 25 discriminator 1
- 1836 001c FB88 ldrh r3, [r7, #6]
- 1837 001e 002B cmp r3, #0
- 1838 0020 01D1 bne .L104
- 1839 .L103:
- 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 1840 .loc 1 1340 14
- 1841 0022 0123 movs r3, #1
- 1842 0024 5EE0 b .L105
- 1843 .L104:
- 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData;
- 1844 .loc 1 1343 24
- 1845 0026 FB68 ldr r3, [r7, #12]
- 1846 0028 BA68 ldr r2, [r7, #8]
- 1847 002a DA64 str r2, [r3, #76]
- 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size;
- 1848 .loc 1 1344 24
- 1849 002c FB68 ldr r3, [r7, #12]
- 1850 002e FA88 ldrh r2, [r7, #6] @ movhi
- 1851 0030 A3F85020 strh r2, [r3, #80] @ movhi
- 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size;
- 1852 .loc 1 1345 24
- 1853 0034 FB68 ldr r3, [r7, #12]
- 1854 0036 FA88 ldrh r2, [r7, #6] @ movhi
- 1855 0038 A3F85220 strh r2, [r3, #82] @ movhi
- 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 1856 .loc 1 1347 22
- 1857 003c FB68 ldr r3, [r7, #12]
- 1858 003e 0022 movs r2, #0
- 1859 0040 C3F88420 str r2, [r3, #132]
- 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
- 1860 .loc 1 1348 19
- 1861 0044 FB68 ldr r3, [r7, #12]
- 1862 0046 2122 movs r2, #33
- 1863 0048 DA67 str r2, [r3, #124]
- 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 1864 .loc 1 1350 14
- 1865 004a FB68 ldr r3, [r7, #12]
- 1866 004c 1B6F ldr r3, [r3, #112]
- 1867 .loc 1 1350 8
- 1868 004e 002B cmp r3, #0
- 1869 0050 27D0 beq .L106
- 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 77
- 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
- 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
- 1870 .loc 1 1353 12
- 1871 0052 FB68 ldr r3, [r7, #12]
- 1872 0054 1B6F ldr r3, [r3, #112]
- 1873 .loc 1 1353 39
- 1874 0056 254A ldr r2, .L110
- 1875 0058 9A62 str r2, [r3, #40]
- 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
- 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
- 1876 .loc 1 1356 12
- 1877 005a FB68 ldr r3, [r7, #12]
- 1878 005c 1B6F ldr r3, [r3, #112]
- 1879 .loc 1 1356 43
- 1880 005e 244A ldr r2, .L110+4
- 1881 0060 DA62 str r2, [r3, #44]
- 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */
- 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
- 1882 .loc 1 1359 12
- 1883 0062 FB68 ldr r3, [r7, #12]
- 1884 0064 1B6F ldr r3, [r3, #112]
- 1885 .loc 1 1359 40
- 1886 0066 234A ldr r2, .L110+8
- 1887 0068 1A63 str r2, [r3, #48]
- 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */
- 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 1888 .loc 1 1362 12
- 1889 006a FB68 ldr r3, [r7, #12]
- 1890 006c 1B6F ldr r3, [r3, #112]
- 1891 .loc 1 1362 40
- 1892 006e 0022 movs r2, #0
- 1893 0070 5A63 str r2, [r3, #52]
- 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART transmit DMA channel */
- 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->
- 1894 .loc 1 1365 11
- 1895 0072 FB68 ldr r3, [r7, #12]
- 1896 0074 186F ldr r0, [r3, #112]
- 1897 .loc 1 1365 58
- 1898 0076 FB68 ldr r3, [r7, #12]
- 1899 0078 DB6C ldr r3, [r3, #76]
- 1900 .loc 1 1365 11
- 1901 007a 1946 mov r1, r3
- 1902 .loc 1 1365 88
- 1903 007c FB68 ldr r3, [r7, #12]
- 1904 007e 1B68 ldr r3, [r3]
- 1905 .loc 1 1365 82
- 1906 0080 2833 adds r3, r3, #40
- 1907 .loc 1 1365 11
- 1908 0082 1A46 mov r2, r3
- 1909 0084 FB88 ldrh r3, [r7, #6]
- 1910 0086 FFF7FEFF bl HAL_DMA_Start_IT
- 1911 008a 0346 mov r3, r0
- 1912 .loc 1 1365 10
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 78
- 1913 008c 002B cmp r3, #0
- 1914 008e 08D0 beq .L106
- 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 1915 .loc 1 1368 26
- 1916 0090 FB68 ldr r3, [r7, #12]
- 1917 0092 1022 movs r2, #16
- 1918 0094 C3F88420 str r2, [r3, #132]
- 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to ready */
- 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 1919 .loc 1 1371 23
- 1920 0098 FB68 ldr r3, [r7, #12]
- 1921 009a 2022 movs r2, #32
- 1922 009c DA67 str r2, [r3, #124]
- 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 1923 .loc 1 1373 16
- 1924 009e 0123 movs r3, #1
- 1925 00a0 20E0 b .L105
- 1926 .L106:
- 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the TC flag in the ICR register */
- 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
- 1927 .loc 1 1377 5
- 1928 00a2 FB68 ldr r3, [r7, #12]
- 1929 00a4 1B68 ldr r3, [r3]
- 1930 00a6 4022 movs r2, #64
- 1931 00a8 1A62 str r2, [r3, #32]
- 1932 .L109:
- 1933 .LBB424:
- 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
- 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
- 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 1934 .loc 1 1381 5 discriminator 1
- 1935 00aa FB68 ldr r3, [r7, #12]
- 1936 00ac 1B68 ldr r3, [r3]
- 1937 00ae 0833 adds r3, r3, #8
- 1938 00b0 7B61 str r3, [r7, #20]
- 1939 .LBB425:
- 1940 .LBB426:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1941 .loc 2 1072 4 discriminator 1
- 1942 00b2 7B69 ldr r3, [r7, #20]
- 1943 .syntax unified
- 1944 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1945 00b4 53E8003F ldrex r3, [r3]
- 1946 @ 0 "" 2
- 1947 .thumb
- 1948 .syntax unified
- 1949 00b8 3B61 str r3, [r7, #16]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1950 .loc 2 1073 10 discriminator 1
- 1951 00ba 3B69 ldr r3, [r7, #16]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 79
- 1952 .LBE426:
- 1953 .LBE425:
- 1954 .loc 1 1381 5 discriminator 1
- 1955 00bc 43F08003 orr r3, r3, #128
- 1956 00c0 7B62 str r3, [r7, #36]
- 1957 00c2 FB68 ldr r3, [r7, #12]
- 1958 00c4 1B68 ldr r3, [r3]
- 1959 00c6 0833 adds r3, r3, #8
- 1960 00c8 7A6A ldr r2, [r7, #36]
- 1961 00ca 3A62 str r2, [r7, #32]
- 1962 00cc FB61 str r3, [r7, #28]
- 1963 .LBB427:
- 1964 .LBB428:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1965 .loc 2 1123 4 discriminator 1
- 1966 00ce F969 ldr r1, [r7, #28]
- 1967 00d0 3A6A ldr r2, [r7, #32]
- 1968 .syntax unified
- 1969 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1970 00d2 41E80023 strex r3, r2, [r1]
- 1971 @ 0 "" 2
- 1972 .thumb
- 1973 .syntax unified
- 1974 00d6 BB61 str r3, [r7, #24]
- 1975 .loc 2 1124 10 discriminator 1
- 1976 00d8 BB69 ldr r3, [r7, #24]
- 1977 .LBE428:
- 1978 .LBE427:
- 1979 .loc 1 1381 5 discriminator 1
- 1980 00da 002B cmp r3, #0
- 1981 00dc E5D1 bne .L109
- 1982 .LBE424:
- 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 1983 .loc 1 1383 12
- 1984 00de 0023 movs r3, #0
- 1985 00e0 00E0 b .L105
- 1986 .L102:
- 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 1987 .loc 1 1387 12
- 1988 00e2 0223 movs r3, #2
- 1989 .L105:
- 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1990 .loc 1 1389 1
- 1991 00e4 1846 mov r0, r3
- 1992 00e6 2837 adds r7, r7, #40
- 1993 .LCFI61:
- 1994 .cfi_def_cfa_offset 8
- 1995 00e8 BD46 mov sp, r7
- 1996 .LCFI62:
- 1997 .cfi_def_cfa_register 13
- 1998 @ sp needed
- 1999 00ea 80BD pop {r7, pc}
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 80
- 2000 .L111:
- 2001 .align 2
- 2002 .L110:
- 2003 00ec 00000000 .word UART_DMATransmitCplt
- 2004 00f0 00000000 .word UART_DMATxHalfCplt
- 2005 00f4 00000000 .word UART_DMAError
- 2006 .cfi_endproc
- 2007 .LFE141:
- 2009 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
- 2010 .align 1
- 2011 .global HAL_UART_Receive_DMA
- 2012 .syntax unified
- 2013 .thumb
- 2014 .thumb_func
- 2016 HAL_UART_Receive_DMA:
- 2017 .LFB142:
- 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode.
- 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
- 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the parity bit (MSB position).
- 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
- 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData.
- 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2018 .loc 1 1404 1
- 2019 .cfi_startproc
- 2020 @ args = 0, pretend = 0, frame = 40
- 2021 @ frame_needed = 1, uses_anonymous_args = 0
- 2022 0000 80B5 push {r7, lr}
- 2023 .LCFI63:
- 2024 .cfi_def_cfa_offset 8
- 2025 .cfi_offset 7, -8
- 2026 .cfi_offset 14, -4
- 2027 0002 8AB0 sub sp, sp, #40
- 2028 .LCFI64:
- 2029 .cfi_def_cfa_offset 48
- 2030 0004 00AF add r7, sp, #0
- 2031 .LCFI65:
- 2032 .cfi_def_cfa_register 7
- 2033 0006 F860 str r0, [r7, #12]
- 2034 0008 B960 str r1, [r7, #8]
- 2035 000a 1346 mov r3, r2
- 2036 000c FB80 strh r3, [r7, #6] @ movhi
- 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 2037 .loc 1 1406 12
- 2038 000e FB68 ldr r3, [r7, #12]
- 2039 0010 D3F88030 ldr r3, [r3, #128]
- 2040 .loc 1 1406 6
- 2041 0014 202B cmp r3, #32
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 81
- 2042 0016 32D1 bne .L113
- 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 2043 .loc 1 1408 8
- 2044 0018 BB68 ldr r3, [r7, #8]
- 2045 001a 002B cmp r3, #0
- 2046 001c 02D0 beq .L114
- 2047 .loc 1 1408 25 discriminator 1
- 2048 001e FB88 ldrh r3, [r7, #6]
- 2049 0020 002B cmp r3, #0
- 2050 0022 01D1 bne .L115
- 2051 .L114:
- 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 2052 .loc 1 1410 14
- 2053 0024 0123 movs r3, #1
- 2054 0026 2BE0 b .L116
- 2055 .L115:
- 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */
- 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 2056 .loc 1 1414 26
- 2057 0028 FB68 ldr r3, [r7, #12]
- 2058 002a 0022 movs r2, #0
- 2059 002c 1A66 str r2, [r3, #96]
- 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
- 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
- 2060 .loc 1 1417 9
- 2061 002e FB68 ldr r3, [r7, #12]
- 2062 0030 1B68 ldr r3, [r3]
- 2063 0032 5B68 ldr r3, [r3, #4]
- 2064 0034 03F40003 and r3, r3, #8388608
- 2065 .loc 1 1417 8
- 2066 0038 002B cmp r3, #0
- 2067 003a 18D0 beq .L117
- 2068 .L120:
- 2069 .LBB429:
- 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
- 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
- 2070 .loc 1 1420 7 discriminator 1
- 2071 003c FB68 ldr r3, [r7, #12]
- 2072 003e 1B68 ldr r3, [r3]
- 2073 0040 7B61 str r3, [r7, #20]
- 2074 .LBB430:
- 2075 .LBB431:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2076 .loc 2 1072 4 discriminator 1
- 2077 0042 7B69 ldr r3, [r7, #20]
- 2078 .syntax unified
- 2079 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2080 0044 53E8003F ldrex r3, [r3]
- 2081 @ 0 "" 2
- 2082 .thumb
- 2083 .syntax unified
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 82
- 2084 0048 3B61 str r3, [r7, #16]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2085 .loc 2 1073 10 discriminator 1
- 2086 004a 3B69 ldr r3, [r7, #16]
- 2087 .LBE431:
- 2088 .LBE430:
- 2089 .loc 1 1420 7 discriminator 1
- 2090 004c 43F08063 orr r3, r3, #67108864
- 2091 0050 7B62 str r3, [r7, #36]
- 2092 0052 FB68 ldr r3, [r7, #12]
- 2093 0054 1B68 ldr r3, [r3]
- 2094 0056 1A46 mov r2, r3
- 2095 0058 7B6A ldr r3, [r7, #36]
- 2096 005a 3B62 str r3, [r7, #32]
- 2097 005c FA61 str r2, [r7, #28]
- 2098 .LBB432:
- 2099 .LBB433:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2100 .loc 2 1123 4 discriminator 1
- 2101 005e F969 ldr r1, [r7, #28]
- 2102 0060 3A6A ldr r2, [r7, #32]
- 2103 .syntax unified
- 2104 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2105 0062 41E80023 strex r3, r2, [r1]
- 2106 @ 0 "" 2
- 2107 .thumb
- 2108 .syntax unified
- 2109 0066 BB61 str r3, [r7, #24]
- 2110 .loc 2 1124 10 discriminator 1
- 2111 0068 BB69 ldr r3, [r7, #24]
- 2112 .LBE433:
- 2113 .LBE432:
- 2114 .loc 1 1420 7 discriminator 1
- 2115 006a 002B cmp r3, #0
- 2116 006c E6D1 bne .L120
- 2117 .L117:
- 2118 .LBE429:
- 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
- 2119 .loc 1 1423 13
- 2120 006e FB88 ldrh r3, [r7, #6]
- 2121 0070 1A46 mov r2, r3
- 2122 0072 B968 ldr r1, [r7, #8]
- 2123 0074 F868 ldr r0, [r7, #12]
- 2124 0076 FFF7FEFF bl UART_Start_Receive_DMA
- 2125 007a 0346 mov r3, r0
- 2126 007c 00E0 b .L116
- 2127 .L113:
- 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 2128 .loc 1 1427 12
- 2129 007e 0223 movs r3, #2
- 2130 .L116:
- 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 83
- 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2131 .loc 1 1429 1
- 2132 0080 1846 mov r0, r3
- 2133 0082 2837 adds r7, r7, #40
- 2134 .LCFI66:
- 2135 .cfi_def_cfa_offset 8
- 2136 0084 BD46 mov sp, r7
- 2137 .LCFI67:
- 2138 .cfi_def_cfa_register 13
- 2139 @ sp needed
- 2140 0086 80BD pop {r7, pc}
- 2141 .cfi_endproc
- 2142 .LFE142:
- 2144 .section .text.HAL_UART_DMAPause,"ax",%progbits
- 2145 .align 1
- 2146 .global HAL_UART_DMAPause
- 2147 .syntax unified
- 2148 .thumb
- 2149 .thumb_func
- 2151 HAL_UART_DMAPause:
- 2152 .LFB143:
- 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Pause the DMA Transfer.
- 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
- 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2153 .loc 1 1437 1
- 2154 .cfi_startproc
- 2155 @ args = 0, pretend = 0, frame = 112
- 2156 @ frame_needed = 1, uses_anonymous_args = 0
- 2157 @ link register save eliminated.
- 2158 0000 80B4 push {r7}
- 2159 .LCFI68:
- 2160 .cfi_def_cfa_offset 4
- 2161 .cfi_offset 7, -4
- 2162 0002 9DB0 sub sp, sp, #116
- 2163 .LCFI69:
- 2164 .cfi_def_cfa_offset 120
- 2165 0004 00AF add r7, sp, #0
- 2166 .LCFI70:
- 2167 .cfi_def_cfa_register 7
- 2168 0006 7860 str r0, [r7, #4]
- 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
- 2169 .loc 1 1438 31
- 2170 0008 7B68 ldr r3, [r7, #4]
- 2171 000a DB6F ldr r3, [r3, #124]
- 2172 000c FB66 str r3, [r7, #108]
- 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
- 2173 .loc 1 1439 31
- 2174 000e 7B68 ldr r3, [r7, #4]
- 2175 0010 D3F88030 ldr r3, [r3, #128]
- 2176 0014 BB66 str r3, [r7, #104]
- 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 84
- 2177 .loc 1 1441 8
- 2178 0016 7B68 ldr r3, [r7, #4]
- 2179 0018 1B68 ldr r3, [r3]
- 2180 001a 9B68 ldr r3, [r3, #8]
- 2181 001c 03F08003 and r3, r3, #128
- 2182 .loc 1 1441 6
- 2183 0020 802B cmp r3, #128
- 2184 0022 1CD1 bne .L122
- 2185 .loc 1 1441 62 discriminator 1
- 2186 0024 FB6E ldr r3, [r7, #108]
- 2187 0026 212B cmp r3, #33
- 2188 0028 19D1 bne .L122
- 2189 .L125:
- 2190 .LBB434:
- 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
- 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request */
- 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 2191 .loc 1 1445 5 discriminator 1
- 2192 002a 7B68 ldr r3, [r7, #4]
- 2193 002c 1B68 ldr r3, [r3]
- 2194 002e 0833 adds r3, r3, #8
- 2195 0030 BB64 str r3, [r7, #72]
- 2196 .LBB435:
- 2197 .LBB436:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2198 .loc 2 1072 4 discriminator 1
- 2199 0032 BB6C ldr r3, [r7, #72]
- 2200 .syntax unified
- 2201 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2202 0034 53E8003F ldrex r3, [r3]
- 2203 @ 0 "" 2
- 2204 .thumb
- 2205 .syntax unified
- 2206 0038 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2207 .loc 2 1073 10 discriminator 1
- 2208 003a 7B6C ldr r3, [r7, #68]
- 2209 .LBE436:
- 2210 .LBE435:
- 2211 .loc 1 1445 5 discriminator 1
- 2212 003c 23F08003 bic r3, r3, #128
- 2213 0040 7B66 str r3, [r7, #100]
- 2214 0042 7B68 ldr r3, [r7, #4]
- 2215 0044 1B68 ldr r3, [r3]
- 2216 0046 0833 adds r3, r3, #8
- 2217 0048 7A6E ldr r2, [r7, #100]
- 2218 004a 7A65 str r2, [r7, #84]
- 2219 004c 3B65 str r3, [r7, #80]
- 2220 .LBB437:
- 2221 .LBB438:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2222 .loc 2 1123 4 discriminator 1
- 2223 004e 396D ldr r1, [r7, #80]
- 2224 0050 7A6D ldr r2, [r7, #84]
- 2225 .syntax unified
- 2226 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 85
- 2227 0052 41E80023 strex r3, r2, [r1]
- 2228 @ 0 "" 2
- 2229 .thumb
- 2230 .syntax unified
- 2231 0056 FB64 str r3, [r7, #76]
- 2232 .loc 2 1124 10 discriminator 1
- 2233 0058 FB6C ldr r3, [r7, #76]
- 2234 .LBE438:
- 2235 .LBE437:
- 2236 .loc 1 1445 5 discriminator 1
- 2237 005a 002B cmp r3, #0
- 2238 005c E5D1 bne .L125
- 2239 .L122:
- 2240 .LBE434:
- 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
- 2241 .loc 1 1447 8
- 2242 005e 7B68 ldr r3, [r7, #4]
- 2243 0060 1B68 ldr r3, [r3]
- 2244 0062 9B68 ldr r3, [r3, #8]
- 2245 0064 03F04003 and r3, r3, #64
- 2246 .loc 1 1447 6
- 2247 0068 402B cmp r3, #64
- 2248 006a 4FD1 bne .L126
- 2249 .loc 1 1447 62 discriminator 1
- 2250 006c BB6E ldr r3, [r7, #104]
- 2251 006e 222B cmp r3, #34
- 2252 0070 4CD1 bne .L126
- 2253 .L129:
- 2254 .LBB439:
- 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
- 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
- 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 2255 .loc 1 1451 5 discriminator 1
- 2256 0072 7B68 ldr r3, [r7, #4]
- 2257 0074 1B68 ldr r3, [r3]
- 2258 0076 7B63 str r3, [r7, #52]
- 2259 .LBB440:
- 2260 .LBB441:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2261 .loc 2 1072 4 discriminator 1
- 2262 0078 7B6B ldr r3, [r7, #52]
- 2263 .syntax unified
- 2264 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2265 007a 53E8003F ldrex r3, [r3]
- 2266 @ 0 "" 2
- 2267 .thumb
- 2268 .syntax unified
- 2269 007e 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2270 .loc 2 1073 10 discriminator 1
- 2271 0080 3B6B ldr r3, [r7, #48]
- 2272 .LBE441:
- 2273 .LBE440:
- 2274 .loc 1 1451 5 discriminator 1
- 2275 0082 23F48073 bic r3, r3, #256
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 86
- 2276 0086 3B66 str r3, [r7, #96]
- 2277 0088 7B68 ldr r3, [r7, #4]
- 2278 008a 1B68 ldr r3, [r3]
- 2279 008c 1A46 mov r2, r3
- 2280 008e 3B6E ldr r3, [r7, #96]
- 2281 0090 3B64 str r3, [r7, #64]
- 2282 0092 FA63 str r2, [r7, #60]
- 2283 .LBB442:
- 2284 .LBB443:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2285 .loc 2 1123 4 discriminator 1
- 2286 0094 F96B ldr r1, [r7, #60]
- 2287 0096 3A6C ldr r2, [r7, #64]
- 2288 .syntax unified
- 2289 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2290 0098 41E80023 strex r3, r2, [r1]
- 2291 @ 0 "" 2
- 2292 .thumb
- 2293 .syntax unified
- 2294 009c BB63 str r3, [r7, #56]
- 2295 .loc 2 1124 10 discriminator 1
- 2296 009e BB6B ldr r3, [r7, #56]
- 2297 .LBE443:
- 2298 .LBE442:
- 2299 .loc 1 1451 5 discriminator 1
- 2300 00a0 002B cmp r3, #0
- 2301 00a2 E6D1 bne .L129
- 2302 .L132:
- 2303 .LBE439:
- 2304 .LBB444:
- 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 2305 .loc 1 1452 5 discriminator 1
- 2306 00a4 7B68 ldr r3, [r7, #4]
- 2307 00a6 1B68 ldr r3, [r3]
- 2308 00a8 0833 adds r3, r3, #8
- 2309 00aa 3B62 str r3, [r7, #32]
- 2310 .LBB445:
- 2311 .LBB446:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2312 .loc 2 1072 4 discriminator 1
- 2313 00ac 3B6A ldr r3, [r7, #32]
- 2314 .syntax unified
- 2315 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2316 00ae 53E8003F ldrex r3, [r3]
- 2317 @ 0 "" 2
- 2318 .thumb
- 2319 .syntax unified
- 2320 00b2 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2321 .loc 2 1073 10 discriminator 1
- 2322 00b4 FB69 ldr r3, [r7, #28]
- 2323 .LBE446:
- 2324 .LBE445:
- 2325 .loc 1 1452 5 discriminator 1
- 2326 00b6 23F00103 bic r3, r3, #1
- 2327 00ba FB65 str r3, [r7, #92]
- 2328 00bc 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 87
- 2329 00be 1B68 ldr r3, [r3]
- 2330 00c0 0833 adds r3, r3, #8
- 2331 00c2 FA6D ldr r2, [r7, #92]
- 2332 00c4 FA62 str r2, [r7, #44]
- 2333 00c6 BB62 str r3, [r7, #40]
- 2334 .LBB447:
- 2335 .LBB448:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2336 .loc 2 1123 4 discriminator 1
- 2337 00c8 B96A ldr r1, [r7, #40]
- 2338 00ca FA6A ldr r2, [r7, #44]
- 2339 .syntax unified
- 2340 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2341 00cc 41E80023 strex r3, r2, [r1]
- 2342 @ 0 "" 2
- 2343 .thumb
- 2344 .syntax unified
- 2345 00d0 7B62 str r3, [r7, #36]
- 2346 .loc 2 1124 10 discriminator 1
- 2347 00d2 7B6A ldr r3, [r7, #36]
- 2348 .LBE448:
- 2349 .LBE447:
- 2350 .loc 1 1452 5 discriminator 1
- 2351 00d4 002B cmp r3, #0
- 2352 00d6 E5D1 bne .L132
- 2353 .L135:
- 2354 .LBE444:
- 2355 .LBB449:
- 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request */
- 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 2356 .loc 1 1455 5 discriminator 1
- 2357 00d8 7B68 ldr r3, [r7, #4]
- 2358 00da 1B68 ldr r3, [r3]
- 2359 00dc 0833 adds r3, r3, #8
- 2360 00de FB60 str r3, [r7, #12]
- 2361 .LBB450:
- 2362 .LBB451:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2363 .loc 2 1072 4 discriminator 1
- 2364 00e0 FB68 ldr r3, [r7, #12]
- 2365 .syntax unified
- 2366 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2367 00e2 53E8003F ldrex r3, [r3]
- 2368 @ 0 "" 2
- 2369 .thumb
- 2370 .syntax unified
- 2371 00e6 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2372 .loc 2 1073 10 discriminator 1
- 2373 00e8 BB68 ldr r3, [r7, #8]
- 2374 .LBE451:
- 2375 .LBE450:
- 2376 .loc 1 1455 5 discriminator 1
- 2377 00ea 23F04003 bic r3, r3, #64
- 2378 00ee BB65 str r3, [r7, #88]
- 2379 00f0 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 88
- 2380 00f2 1B68 ldr r3, [r3]
- 2381 00f4 0833 adds r3, r3, #8
- 2382 00f6 BA6D ldr r2, [r7, #88]
- 2383 00f8 BA61 str r2, [r7, #24]
- 2384 00fa 7B61 str r3, [r7, #20]
- 2385 .LBB452:
- 2386 .LBB453:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2387 .loc 2 1123 4 discriminator 1
- 2388 00fc 7969 ldr r1, [r7, #20]
- 2389 00fe BA69 ldr r2, [r7, #24]
- 2390 .syntax unified
- 2391 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2392 0100 41E80023 strex r3, r2, [r1]
- 2393 @ 0 "" 2
- 2394 .thumb
- 2395 .syntax unified
- 2396 0104 3B61 str r3, [r7, #16]
- 2397 .loc 2 1124 10 discriminator 1
- 2398 0106 3B69 ldr r3, [r7, #16]
- 2399 .LBE453:
- 2400 .LBE452:
- 2401 .loc 1 1455 5 discriminator 1
- 2402 0108 002B cmp r3, #0
- 2403 010a E5D1 bne .L135
- 2404 .L126:
- 2405 .LBE449:
- 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 2406 .loc 1 1458 10
- 2407 010c 0023 movs r3, #0
- 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2408 .loc 1 1459 1
- 2409 010e 1846 mov r0, r3
- 2410 0110 7437 adds r7, r7, #116
- 2411 .LCFI71:
- 2412 .cfi_def_cfa_offset 4
- 2413 0112 BD46 mov sp, r7
- 2414 .LCFI72:
- 2415 .cfi_def_cfa_register 13
- 2416 @ sp needed
- 2417 0114 5DF8047B ldr r7, [sp], #4
- 2418 .LCFI73:
- 2419 .cfi_restore 7
- 2420 .cfi_def_cfa_offset 0
- 2421 0118 7047 bx lr
- 2422 .cfi_endproc
- 2423 .LFE143:
- 2425 .section .text.HAL_UART_DMAResume,"ax",%progbits
- 2426 .align 1
- 2427 .global HAL_UART_DMAResume
- 2428 .syntax unified
- 2429 .thumb
- 2430 .thumb_func
- 2432 HAL_UART_DMAResume:
- 2433 .LFB144:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 89
- 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Resume the DMA Transfer.
- 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
- 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2434 .loc 1 1467 1
- 2435 .cfi_startproc
- 2436 @ args = 0, pretend = 0, frame = 104
- 2437 @ frame_needed = 1, uses_anonymous_args = 0
- 2438 @ link register save eliminated.
- 2439 0000 80B4 push {r7}
- 2440 .LCFI74:
- 2441 .cfi_def_cfa_offset 4
- 2442 .cfi_offset 7, -4
- 2443 0002 9BB0 sub sp, sp, #108
- 2444 .LCFI75:
- 2445 .cfi_def_cfa_offset 112
- 2446 0004 00AF add r7, sp, #0
- 2447 .LCFI76:
- 2448 .cfi_def_cfa_register 7
- 2449 0006 7860 str r0, [r7, #4]
- 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
- 2450 .loc 1 1468 12
- 2451 0008 7B68 ldr r3, [r7, #4]
- 2452 000a DB6F ldr r3, [r3, #124]
- 2453 .loc 1 1468 6
- 2454 000c 212B cmp r3, #33
- 2455 000e 19D1 bne .L138
- 2456 .L141:
- 2457 .LBB454:
- 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Tx request */
- 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 2458 .loc 1 1471 5 discriminator 1
- 2459 0010 7B68 ldr r3, [r7, #4]
- 2460 0012 1B68 ldr r3, [r3]
- 2461 0014 0833 adds r3, r3, #8
- 2462 0016 BB64 str r3, [r7, #72]
- 2463 .LBB455:
- 2464 .LBB456:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2465 .loc 2 1072 4 discriminator 1
- 2466 0018 BB6C ldr r3, [r7, #72]
- 2467 .syntax unified
- 2468 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2469 001a 53E8003F ldrex r3, [r3]
- 2470 @ 0 "" 2
- 2471 .thumb
- 2472 .syntax unified
- 2473 001e 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2474 .loc 2 1073 10 discriminator 1
- 2475 0020 7B6C ldr r3, [r7, #68]
- 2476 .LBE456:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 90
- 2477 .LBE455:
- 2478 .loc 1 1471 5 discriminator 1
- 2479 0022 43F08003 orr r3, r3, #128
- 2480 0026 7B66 str r3, [r7, #100]
- 2481 0028 7B68 ldr r3, [r7, #4]
- 2482 002a 1B68 ldr r3, [r3]
- 2483 002c 0833 adds r3, r3, #8
- 2484 002e 7A6E ldr r2, [r7, #100]
- 2485 0030 7A65 str r2, [r7, #84]
- 2486 0032 3B65 str r3, [r7, #80]
- 2487 .LBB457:
- 2488 .LBB458:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2489 .loc 2 1123 4 discriminator 1
- 2490 0034 396D ldr r1, [r7, #80]
- 2491 0036 7A6D ldr r2, [r7, #84]
- 2492 .syntax unified
- 2493 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2494 0038 41E80023 strex r3, r2, [r1]
- 2495 @ 0 "" 2
- 2496 .thumb
- 2497 .syntax unified
- 2498 003c FB64 str r3, [r7, #76]
- 2499 .loc 2 1124 10 discriminator 1
- 2500 003e FB6C ldr r3, [r7, #76]
- 2501 .LBE458:
- 2502 .LBE457:
- 2503 .loc 1 1471 5 discriminator 1
- 2504 0040 002B cmp r3, #0
- 2505 0042 E5D1 bne .L141
- 2506 .L138:
- 2507 .LBE454:
- 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
- 2508 .loc 1 1473 12
- 2509 0044 7B68 ldr r3, [r7, #4]
- 2510 0046 D3F88030 ldr r3, [r3, #128]
- 2511 .loc 1 1473 6
- 2512 004a 222B cmp r3, #34
- 2513 004c 54D1 bne .L142
- 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */
- 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
- 2514 .loc 1 1476 5
- 2515 004e 7B68 ldr r3, [r7, #4]
- 2516 0050 1B68 ldr r3, [r3]
- 2517 0052 0822 movs r2, #8
- 2518 0054 1A62 str r2, [r3, #32]
- 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
- 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
- 2519 .loc 1 1479 20
- 2520 0056 7B68 ldr r3, [r7, #4]
- 2521 0058 1B69 ldr r3, [r3, #16]
- 2522 .loc 1 1479 8
- 2523 005a 002B cmp r3, #0
- 2524 005c 18D0 beq .L149
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 91
- 2525 .L146:
- 2526 .LBB459:
- 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 2527 .loc 1 1481 7 discriminator 1
- 2528 005e 7B68 ldr r3, [r7, #4]
- 2529 0060 1B68 ldr r3, [r3]
- 2530 0062 7B63 str r3, [r7, #52]
- 2531 .LBB460:
- 2532 .LBB461:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2533 .loc 2 1072 4 discriminator 1
- 2534 0064 7B6B ldr r3, [r7, #52]
- 2535 .syntax unified
- 2536 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2537 0066 53E8003F ldrex r3, [r3]
- 2538 @ 0 "" 2
- 2539 .thumb
- 2540 .syntax unified
- 2541 006a 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2542 .loc 2 1073 10 discriminator 1
- 2543 006c 3B6B ldr r3, [r7, #48]
- 2544 .LBE461:
- 2545 .LBE460:
- 2546 .loc 1 1481 7 discriminator 1
- 2547 006e 43F48073 orr r3, r3, #256
- 2548 0072 3B66 str r3, [r7, #96]
- 2549 0074 7B68 ldr r3, [r7, #4]
- 2550 0076 1B68 ldr r3, [r3]
- 2551 0078 1A46 mov r2, r3
- 2552 007a 3B6E ldr r3, [r7, #96]
- 2553 007c 3B64 str r3, [r7, #64]
- 2554 007e FA63 str r2, [r7, #60]
- 2555 .LBB462:
- 2556 .LBB463:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2557 .loc 2 1123 4 discriminator 1
- 2558 0080 F96B ldr r1, [r7, #60]
- 2559 0082 3A6C ldr r2, [r7, #64]
- 2560 .syntax unified
- 2561 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2562 0084 41E80023 strex r3, r2, [r1]
- 2563 @ 0 "" 2
- 2564 .thumb
- 2565 .syntax unified
- 2566 0088 BB63 str r3, [r7, #56]
- 2567 .loc 2 1124 10 discriminator 1
- 2568 008a BB6B ldr r3, [r7, #56]
- 2569 .LBE463:
- 2570 .LBE462:
- 2571 .loc 1 1481 7 discriminator 1
- 2572 008c 002B cmp r3, #0
- 2573 008e E6D1 bne .L146
- 2574 .L149:
- 2575 .LBE459:
- 2576 .LBB464:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 92
- 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 2577 .loc 1 1483 5 discriminator 1
- 2578 0090 7B68 ldr r3, [r7, #4]
- 2579 0092 1B68 ldr r3, [r3]
- 2580 0094 0833 adds r3, r3, #8
- 2581 0096 3B62 str r3, [r7, #32]
- 2582 .LBB465:
- 2583 .LBB466:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2584 .loc 2 1072 4 discriminator 1
- 2585 0098 3B6A ldr r3, [r7, #32]
- 2586 .syntax unified
- 2587 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2588 009a 53E8003F ldrex r3, [r3]
- 2589 @ 0 "" 2
- 2590 .thumb
- 2591 .syntax unified
- 2592 009e FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2593 .loc 2 1073 10 discriminator 1
- 2594 00a0 FB69 ldr r3, [r7, #28]
- 2595 .LBE466:
- 2596 .LBE465:
- 2597 .loc 1 1483 5 discriminator 1
- 2598 00a2 43F00103 orr r3, r3, #1
- 2599 00a6 FB65 str r3, [r7, #92]
- 2600 00a8 7B68 ldr r3, [r7, #4]
- 2601 00aa 1B68 ldr r3, [r3]
- 2602 00ac 0833 adds r3, r3, #8
- 2603 00ae FA6D ldr r2, [r7, #92]
- 2604 00b0 FA62 str r2, [r7, #44]
- 2605 00b2 BB62 str r3, [r7, #40]
- 2606 .LBB467:
- 2607 .LBB468:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2608 .loc 2 1123 4 discriminator 1
- 2609 00b4 B96A ldr r1, [r7, #40]
- 2610 00b6 FA6A ldr r2, [r7, #44]
- 2611 .syntax unified
- 2612 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2613 00b8 41E80023 strex r3, r2, [r1]
- 2614 @ 0 "" 2
- 2615 .thumb
- 2616 .syntax unified
- 2617 00bc 7B62 str r3, [r7, #36]
- 2618 .loc 2 1124 10 discriminator 1
- 2619 00be 7B6A ldr r3, [r7, #36]
- 2620 .LBE468:
- 2621 .LBE467:
- 2622 .loc 1 1483 5 discriminator 1
- 2623 00c0 002B cmp r3, #0
- 2624 00c2 E5D1 bne .L149
- 2625 .L152:
- 2626 .LBE464:
- 2627 .LBB469:
- 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 93
- 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Rx request */
- 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 2628 .loc 1 1486 5 discriminator 1
- 2629 00c4 7B68 ldr r3, [r7, #4]
- 2630 00c6 1B68 ldr r3, [r3]
- 2631 00c8 0833 adds r3, r3, #8
- 2632 00ca FB60 str r3, [r7, #12]
- 2633 .LBB470:
- 2634 .LBB471:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2635 .loc 2 1072 4 discriminator 1
- 2636 00cc FB68 ldr r3, [r7, #12]
- 2637 .syntax unified
- 2638 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2639 00ce 53E8003F ldrex r3, [r3]
- 2640 @ 0 "" 2
- 2641 .thumb
- 2642 .syntax unified
- 2643 00d2 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2644 .loc 2 1073 10 discriminator 1
- 2645 00d4 BB68 ldr r3, [r7, #8]
- 2646 .LBE471:
- 2647 .LBE470:
- 2648 .loc 1 1486 5 discriminator 1
- 2649 00d6 43F04003 orr r3, r3, #64
- 2650 00da BB65 str r3, [r7, #88]
- 2651 00dc 7B68 ldr r3, [r7, #4]
- 2652 00de 1B68 ldr r3, [r3]
- 2653 00e0 0833 adds r3, r3, #8
- 2654 00e2 BA6D ldr r2, [r7, #88]
- 2655 00e4 BA61 str r2, [r7, #24]
- 2656 00e6 7B61 str r3, [r7, #20]
- 2657 .LBB472:
- 2658 .LBB473:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2659 .loc 2 1123 4 discriminator 1
- 2660 00e8 7969 ldr r1, [r7, #20]
- 2661 00ea BA69 ldr r2, [r7, #24]
- 2662 .syntax unified
- 2663 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2664 00ec 41E80023 strex r3, r2, [r1]
- 2665 @ 0 "" 2
- 2666 .thumb
- 2667 .syntax unified
- 2668 00f0 3B61 str r3, [r7, #16]
- 2669 .loc 2 1124 10 discriminator 1
- 2670 00f2 3B69 ldr r3, [r7, #16]
- 2671 .LBE473:
- 2672 .LBE472:
- 2673 .loc 1 1486 5 discriminator 1
- 2674 00f4 002B cmp r3, #0
- 2675 00f6 E5D1 bne .L152
- 2676 .L142:
- 2677 .LBE469:
- 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 94
- 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 2678 .loc 1 1489 10
- 2679 00f8 0023 movs r3, #0
- 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2680 .loc 1 1490 1
- 2681 00fa 1846 mov r0, r3
- 2682 00fc 6C37 adds r7, r7, #108
- 2683 .LCFI77:
- 2684 .cfi_def_cfa_offset 4
- 2685 00fe BD46 mov sp, r7
- 2686 .LCFI78:
- 2687 .cfi_def_cfa_register 13
- 2688 @ sp needed
- 2689 0100 5DF8047B ldr r7, [sp], #4
- 2690 .LCFI79:
- 2691 .cfi_restore 7
- 2692 .cfi_def_cfa_offset 0
- 2693 0104 7047 bx lr
- 2694 .cfi_endproc
- 2695 .LFE144:
- 2697 .section .text.HAL_UART_DMAStop,"ax",%progbits
- 2698 .align 1
- 2699 .global HAL_UART_DMAStop
- 2700 .syntax unified
- 2701 .thumb
- 2702 .thumb_func
- 2704 HAL_UART_DMAStop:
- 2705 .LFB145:
- 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Stop the DMA Transfer.
- 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
- 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2706 .loc 1 1498 1
- 2707 .cfi_startproc
- 2708 @ args = 0, pretend = 0, frame = 64
- 2709 @ frame_needed = 1, uses_anonymous_args = 0
- 2710 0000 80B5 push {r7, lr}
- 2711 .LCFI80:
- 2712 .cfi_def_cfa_offset 8
- 2713 .cfi_offset 7, -8
- 2714 .cfi_offset 14, -4
- 2715 0002 90B0 sub sp, sp, #64
- 2716 .LCFI81:
- 2717 .cfi_def_cfa_offset 72
- 2718 0004 00AF add r7, sp, #0
- 2719 .LCFI82:
- 2720 .cfi_def_cfa_register 7
- 2721 0006 7860 str r0, [r7, #4]
- 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
- 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
- 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback:
- 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete
- 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 95
- 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the stream and the corresponding call back is executed. */
- 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
- 2722 .loc 1 1506 31
- 2723 0008 7B68 ldr r3, [r7, #4]
- 2724 000a DB6F ldr r3, [r3, #124]
- 2725 000c FB63 str r3, [r7, #60]
- 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
- 2726 .loc 1 1507 31
- 2727 000e 7B68 ldr r3, [r7, #4]
- 2728 0010 D3F88030 ldr r3, [r3, #128]
- 2729 0014 BB63 str r3, [r7, #56]
- 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
- 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
- 2730 .loc 1 1510 8
- 2731 0016 7B68 ldr r3, [r7, #4]
- 2732 0018 1B68 ldr r3, [r3]
- 2733 001a 9B68 ldr r3, [r3, #8]
- 2734 001c 03F08003 and r3, r3, #128
- 2735 .loc 1 1510 6
- 2736 0020 802B cmp r3, #128
- 2737 0022 39D1 bne .L155
- 2738 .loc 1 1510 62 discriminator 1
- 2739 0024 FB6B ldr r3, [r7, #60]
- 2740 0026 212B cmp r3, #33
- 2741 0028 36D1 bne .L155
- 2742 .L158:
- 2743 .LBB474:
- 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
- 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 2744 .loc 1 1513 5 discriminator 1
- 2745 002a 7B68 ldr r3, [r7, #4]
- 2746 002c 1B68 ldr r3, [r3]
- 2747 002e 0833 adds r3, r3, #8
- 2748 0030 3B62 str r3, [r7, #32]
- 2749 .LBB475:
- 2750 .LBB476:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2751 .loc 2 1072 4 discriminator 1
- 2752 0032 3B6A ldr r3, [r7, #32]
- 2753 .syntax unified
- 2754 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2755 0034 53E8003F ldrex r3, [r3]
- 2756 @ 0 "" 2
- 2757 .thumb
- 2758 .syntax unified
- 2759 0038 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2760 .loc 2 1073 10 discriminator 1
- 2761 003a FB69 ldr r3, [r7, #28]
- 2762 .LBE476:
- 2763 .LBE475:
- 2764 .loc 1 1513 5 discriminator 1
- 2765 003c 23F08003 bic r3, r3, #128
- 2766 0040 7B63 str r3, [r7, #52]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 96
- 2767 0042 7B68 ldr r3, [r7, #4]
- 2768 0044 1B68 ldr r3, [r3]
- 2769 0046 0833 adds r3, r3, #8
- 2770 0048 7A6B ldr r2, [r7, #52]
- 2771 004a FA62 str r2, [r7, #44]
- 2772 004c BB62 str r3, [r7, #40]
- 2773 .LBB477:
- 2774 .LBB478:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2775 .loc 2 1123 4 discriminator 1
- 2776 004e B96A ldr r1, [r7, #40]
- 2777 0050 FA6A ldr r2, [r7, #44]
- 2778 .syntax unified
- 2779 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2780 0052 41E80023 strex r3, r2, [r1]
- 2781 @ 0 "" 2
- 2782 .thumb
- 2783 .syntax unified
- 2784 0056 7B62 str r3, [r7, #36]
- 2785 .loc 2 1124 10 discriminator 1
- 2786 0058 7B6A ldr r3, [r7, #36]
- 2787 .LBE478:
- 2788 .LBE477:
- 2789 .loc 1 1513 5 discriminator 1
- 2790 005a 002B cmp r3, #0
- 2791 005c E5D1 bne .L158
- 2792 .LBE474:
- 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel */
- 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 2793 .loc 1 1516 14
- 2794 005e 7B68 ldr r3, [r7, #4]
- 2795 0060 1B6F ldr r3, [r3, #112]
- 2796 .loc 1 1516 8
- 2797 0062 002B cmp r3, #0
- 2798 0064 15D0 beq .L159
- 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
- 2799 .loc 1 1518 11
- 2800 0066 7B68 ldr r3, [r7, #4]
- 2801 0068 1B6F ldr r3, [r3, #112]
- 2802 006a 1846 mov r0, r3
- 2803 006c FFF7FEFF bl HAL_DMA_Abort
- 2804 0070 0346 mov r3, r0
- 2805 .loc 1 1518 10
- 2806 0072 002B cmp r3, #0
- 2807 0074 0DD0 beq .L159
- 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
- 2808 .loc 1 1520 13
- 2809 0076 7B68 ldr r3, [r7, #4]
- 2810 0078 1B6F ldr r3, [r3, #112]
- 2811 007a 1846 mov r0, r3
- 2812 007c FFF7FEFF bl HAL_DMA_GetError
- 2813 0080 0346 mov r3, r0
- 2814 .loc 1 1520 12
- 2815 0082 202B cmp r3, #32
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 97
- 2816 0084 05D1 bne .L159
- 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 2817 .loc 1 1523 28
- 2818 0086 7B68 ldr r3, [r7, #4]
- 2819 0088 1022 movs r2, #16
- 2820 008a C3F88420 str r2, [r3, #132]
- 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 2821 .loc 1 1525 18
- 2822 008e 0323 movs r3, #3
- 2823 0090 44E0 b .L160
- 2824 .L159:
- 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart);
- 2825 .loc 1 1530 5
- 2826 0092 7868 ldr r0, [r7, #4]
- 2827 0094 FFF7FEFF bl UART_EndTxTransfer
- 2828 .L155:
- 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
- 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
- 2829 .loc 1 1534 8
- 2830 0098 7B68 ldr r3, [r7, #4]
- 2831 009a 1B68 ldr r3, [r3]
- 2832 009c 9B68 ldr r3, [r3, #8]
- 2833 009e 03F04003 and r3, r3, #64
- 2834 .loc 1 1534 6
- 2835 00a2 402B cmp r3, #64
- 2836 00a4 39D1 bne .L161
- 2837 .loc 1 1534 62 discriminator 1
- 2838 00a6 BB6B ldr r3, [r7, #56]
- 2839 00a8 222B cmp r3, #34
- 2840 00aa 36D1 bne .L161
- 2841 .L164:
- 2842 .LBB479:
- 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
- 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 2843 .loc 1 1537 5 discriminator 1
- 2844 00ac 7B68 ldr r3, [r7, #4]
- 2845 00ae 1B68 ldr r3, [r3]
- 2846 00b0 0833 adds r3, r3, #8
- 2847 00b2 FB60 str r3, [r7, #12]
- 2848 .LBB480:
- 2849 .LBB481:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2850 .loc 2 1072 4 discriminator 1
- 2851 00b4 FB68 ldr r3, [r7, #12]
- 2852 .syntax unified
- 2853 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2854 00b6 53E8003F ldrex r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 98
- 2855 @ 0 "" 2
- 2856 .thumb
- 2857 .syntax unified
- 2858 00ba BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2859 .loc 2 1073 10 discriminator 1
- 2860 00bc BB68 ldr r3, [r7, #8]
- 2861 .LBE481:
- 2862 .LBE480:
- 2863 .loc 1 1537 5 discriminator 1
- 2864 00be 23F04003 bic r3, r3, #64
- 2865 00c2 3B63 str r3, [r7, #48]
- 2866 00c4 7B68 ldr r3, [r7, #4]
- 2867 00c6 1B68 ldr r3, [r3]
- 2868 00c8 0833 adds r3, r3, #8
- 2869 00ca 3A6B ldr r2, [r7, #48]
- 2870 00cc BA61 str r2, [r7, #24]
- 2871 00ce 7B61 str r3, [r7, #20]
- 2872 .LBB482:
- 2873 .LBB483:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2874 .loc 2 1123 4 discriminator 1
- 2875 00d0 7969 ldr r1, [r7, #20]
- 2876 00d2 BA69 ldr r2, [r7, #24]
- 2877 .syntax unified
- 2878 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2879 00d4 41E80023 strex r3, r2, [r1]
- 2880 @ 0 "" 2
- 2881 .thumb
- 2882 .syntax unified
- 2883 00d8 3B61 str r3, [r7, #16]
- 2884 .loc 2 1124 10 discriminator 1
- 2885 00da 3B69 ldr r3, [r7, #16]
- 2886 .LBE483:
- 2887 .LBE482:
- 2888 .loc 1 1537 5 discriminator 1
- 2889 00dc 002B cmp r3, #0
- 2890 00de E5D1 bne .L164
- 2891 .LBE479:
- 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
- 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 2892 .loc 1 1540 14
- 2893 00e0 7B68 ldr r3, [r7, #4]
- 2894 00e2 5B6F ldr r3, [r3, #116]
- 2895 .loc 1 1540 8
- 2896 00e4 002B cmp r3, #0
- 2897 00e6 15D0 beq .L165
- 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
- 2898 .loc 1 1542 11
- 2899 00e8 7B68 ldr r3, [r7, #4]
- 2900 00ea 5B6F ldr r3, [r3, #116]
- 2901 00ec 1846 mov r0, r3
- 2902 00ee FFF7FEFF bl HAL_DMA_Abort
- 2903 00f2 0346 mov r3, r0
- 2904 .loc 1 1542 10
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 99
- 2905 00f4 002B cmp r3, #0
- 2906 00f6 0DD0 beq .L165
- 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
- 2907 .loc 1 1544 13
- 2908 00f8 7B68 ldr r3, [r7, #4]
- 2909 00fa 5B6F ldr r3, [r3, #116]
- 2910 00fc 1846 mov r0, r3
- 2911 00fe FFF7FEFF bl HAL_DMA_GetError
- 2912 0102 0346 mov r3, r0
- 2913 .loc 1 1544 12
- 2914 0104 202B cmp r3, #32
- 2915 0106 05D1 bne .L165
- 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 2916 .loc 1 1547 28
- 2917 0108 7B68 ldr r3, [r7, #4]
- 2918 010a 1022 movs r2, #16
- 2919 010c C3F88420 str r2, [r3, #132]
- 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 2920 .loc 1 1549 18
- 2921 0110 0323 movs r3, #3
- 2922 0112 03E0 b .L160
- 2923 .L165:
- 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 2924 .loc 1 1554 5
- 2925 0114 7868 ldr r0, [r7, #4]
- 2926 0116 FFF7FEFF bl UART_EndRxTransfer
- 2927 .L161:
- 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 2928 .loc 1 1557 10
- 2929 011a 0023 movs r3, #0
- 2930 .L160:
- 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2931 .loc 1 1558 1
- 2932 011c 1846 mov r0, r3
- 2933 011e 4037 adds r7, r7, #64
- 2934 .LCFI83:
- 2935 .cfi_def_cfa_offset 8
- 2936 0120 BD46 mov sp, r7
- 2937 .LCFI84:
- 2938 .cfi_def_cfa_register 13
- 2939 @ sp needed
- 2940 0122 80BD pop {r7, pc}
- 2941 .cfi_endproc
- 2942 .LFE145:
- 2944 .section .text.HAL_UART_Abort,"ax",%progbits
- 2945 .align 1
- 2946 .global HAL_UART_Abort
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 100
- 2947 .syntax unified
- 2948 .thumb
- 2949 .thumb_func
- 2951 HAL_UART_Abort:
- 2952 .LFB146:
- 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
- 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
- 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
- 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
- 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
- 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
- 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
- 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
- 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2953 .loc 1 1573 1
- 2954 .cfi_startproc
- 2955 @ args = 0, pretend = 0, frame = 128
- 2956 @ frame_needed = 1, uses_anonymous_args = 0
- 2957 0000 80B5 push {r7, lr}
- 2958 .LCFI85:
- 2959 .cfi_def_cfa_offset 8
- 2960 .cfi_offset 7, -8
- 2961 .cfi_offset 14, -4
- 2962 0002 A0B0 sub sp, sp, #128
- 2963 .LCFI86:
- 2964 .cfi_def_cfa_offset 136
- 2965 0004 00AF add r7, sp, #0
- 2966 .LCFI87:
- 2967 .cfi_def_cfa_register 7
- 2968 0006 7860 str r0, [r7, #4]
- 2969 .L169:
- 2970 .LBB484:
- 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
- 2971 .loc 1 1575 3 discriminator 1
- 2972 0008 7B68 ldr r3, [r7, #4]
- 2973 000a 1B68 ldr r3, [r3]
- 2974 000c FB65 str r3, [r7, #92]
- 2975 .LBB485:
- 2976 .LBB486:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2977 .loc 2 1072 4 discriminator 1
- 2978 000e FB6D ldr r3, [r7, #92]
- 2979 .syntax unified
- 2980 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2981 0010 53E8003F ldrex r3, [r3]
- 2982 @ 0 "" 2
- 2983 .thumb
- 2984 .syntax unified
- 2985 0014 BB65 str r3, [r7, #88]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 101
- 2986 .loc 2 1073 10 discriminator 1
- 2987 0016 BB6D ldr r3, [r7, #88]
- 2988 .LBE486:
- 2989 .LBE485:
- 2990 .loc 1 1575 3 discriminator 1
- 2991 0018 23F4F073 bic r3, r3, #480
- 2992 001c FB67 str r3, [r7, #124]
- 2993 001e 7B68 ldr r3, [r7, #4]
- 2994 0020 1B68 ldr r3, [r3]
- 2995 0022 1A46 mov r2, r3
- 2996 0024 FB6F ldr r3, [r7, #124]
- 2997 0026 BB66 str r3, [r7, #104]
- 2998 0028 7A66 str r2, [r7, #100]
- 2999 .LBB487:
- 3000 .LBB488:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3001 .loc 2 1123 4 discriminator 1
- 3002 002a 796E ldr r1, [r7, #100]
- 3003 002c BA6E ldr r2, [r7, #104]
- 3004 .syntax unified
- 3005 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3006 002e 41E80023 strex r3, r2, [r1]
- 3007 @ 0 "" 2
- 3008 .thumb
- 3009 .syntax unified
- 3010 0032 3B66 str r3, [r7, #96]
- 3011 .loc 2 1124 10 discriminator 1
- 3012 0034 3B6E ldr r3, [r7, #96]
- 3013 .LBE488:
- 3014 .LBE487:
- 3015 .loc 1 1575 3 discriminator 1
- 3016 0036 002B cmp r3, #0
- 3017 0038 E6D1 bne .L169
- 3018 .L172:
- 3019 .LBE484:
- 3020 .LBB489:
- 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 3021 .loc 1 1576 3 discriminator 1
- 3022 003a 7B68 ldr r3, [r7, #4]
- 3023 003c 1B68 ldr r3, [r3]
- 3024 003e 0833 adds r3, r3, #8
- 3025 0040 BB64 str r3, [r7, #72]
- 3026 .LBB490:
- 3027 .LBB491:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3028 .loc 2 1072 4 discriminator 1
- 3029 0042 BB6C ldr r3, [r7, #72]
- 3030 .syntax unified
- 3031 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3032 0044 53E8003F ldrex r3, [r3]
- 3033 @ 0 "" 2
- 3034 .thumb
- 3035 .syntax unified
- 3036 0048 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3037 .loc 2 1073 10 discriminator 1
- 3038 004a 7B6C ldr r3, [r7, #68]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 102
- 3039 .LBE491:
- 3040 .LBE490:
- 3041 .loc 1 1576 3 discriminator 1
- 3042 004c 23F00103 bic r3, r3, #1
- 3043 0050 BB67 str r3, [r7, #120]
- 3044 0052 7B68 ldr r3, [r7, #4]
- 3045 0054 1B68 ldr r3, [r3]
- 3046 0056 0833 adds r3, r3, #8
- 3047 0058 BA6F ldr r2, [r7, #120]
- 3048 005a 7A65 str r2, [r7, #84]
- 3049 005c 3B65 str r3, [r7, #80]
- 3050 .LBB492:
- 3051 .LBB493:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3052 .loc 2 1123 4 discriminator 1
- 3053 005e 396D ldr r1, [r7, #80]
- 3054 0060 7A6D ldr r2, [r7, #84]
- 3055 .syntax unified
- 3056 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3057 0062 41E80023 strex r3, r2, [r1]
- 3058 @ 0 "" 2
- 3059 .thumb
- 3060 .syntax unified
- 3061 0066 FB64 str r3, [r7, #76]
- 3062 .loc 2 1124 10 discriminator 1
- 3063 0068 FB6C ldr r3, [r7, #76]
- 3064 .LBE493:
- 3065 .LBE492:
- 3066 .loc 1 1576 3 discriminator 1
- 3067 006a 002B cmp r3, #0
- 3068 006c E5D1 bne .L172
- 3069 .LBE489:
- 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 3070 .loc 1 1579 12
- 3071 006e 7B68 ldr r3, [r7, #4]
- 3072 0070 1B6E ldr r3, [r3, #96]
- 3073 .loc 1 1579 6
- 3074 0072 012B cmp r3, #1
- 3075 0074 18D1 bne .L173
- 3076 .L176:
- 3077 .LBB494:
- 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 3078 .loc 1 1581 5 discriminator 1
- 3079 0076 7B68 ldr r3, [r7, #4]
- 3080 0078 1B68 ldr r3, [r3]
- 3081 007a 7B63 str r3, [r7, #52]
- 3082 .LBB495:
- 3083 .LBB496:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3084 .loc 2 1072 4 discriminator 1
- 3085 007c 7B6B ldr r3, [r7, #52]
- 3086 .syntax unified
- 3087 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3088 007e 53E8003F ldrex r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 103
- 3089 @ 0 "" 2
- 3090 .thumb
- 3091 .syntax unified
- 3092 0082 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3093 .loc 2 1073 10 discriminator 1
- 3094 0084 3B6B ldr r3, [r7, #48]
- 3095 .LBE496:
- 3096 .LBE495:
- 3097 .loc 1 1581 5 discriminator 1
- 3098 0086 23F01003 bic r3, r3, #16
- 3099 008a 7B67 str r3, [r7, #116]
- 3100 008c 7B68 ldr r3, [r7, #4]
- 3101 008e 1B68 ldr r3, [r3]
- 3102 0090 1A46 mov r2, r3
- 3103 0092 7B6F ldr r3, [r7, #116]
- 3104 0094 3B64 str r3, [r7, #64]
- 3105 0096 FA63 str r2, [r7, #60]
- 3106 .LBB497:
- 3107 .LBB498:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3108 .loc 2 1123 4 discriminator 1
- 3109 0098 F96B ldr r1, [r7, #60]
- 3110 009a 3A6C ldr r2, [r7, #64]
- 3111 .syntax unified
- 3112 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3113 009c 41E80023 strex r3, r2, [r1]
- 3114 @ 0 "" 2
- 3115 .thumb
- 3116 .syntax unified
- 3117 00a0 BB63 str r3, [r7, #56]
- 3118 .loc 2 1124 10 discriminator 1
- 3119 00a2 BB6B ldr r3, [r7, #56]
- 3120 .LBE498:
- 3121 .LBE497:
- 3122 .loc 1 1581 5 discriminator 1
- 3123 00a4 002B cmp r3, #0
- 3124 00a6 E6D1 bne .L176
- 3125 .L173:
- 3126 .LBE494:
- 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
- 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 3127 .loc 1 1585 7
- 3128 00a8 7B68 ldr r3, [r7, #4]
- 3129 00aa 1B68 ldr r3, [r3]
- 3130 00ac 9B68 ldr r3, [r3, #8]
- 3131 00ae 03F08003 and r3, r3, #128
- 3132 .loc 1 1585 6
- 3133 00b2 802B cmp r3, #128
- 3134 00b4 37D1 bne .L177
- 3135 .L180:
- 3136 .LBB499:
- 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
- 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 104
- 3137 .loc 1 1588 5 discriminator 1
- 3138 00b6 7B68 ldr r3, [r7, #4]
- 3139 00b8 1B68 ldr r3, [r3]
- 3140 00ba 0833 adds r3, r3, #8
- 3141 00bc 3B62 str r3, [r7, #32]
- 3142 .LBB500:
- 3143 .LBB501:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3144 .loc 2 1072 4 discriminator 1
- 3145 00be 3B6A ldr r3, [r7, #32]
- 3146 .syntax unified
- 3147 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3148 00c0 53E8003F ldrex r3, [r3]
- 3149 @ 0 "" 2
- 3150 .thumb
- 3151 .syntax unified
- 3152 00c4 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3153 .loc 2 1073 10 discriminator 1
- 3154 00c6 FB69 ldr r3, [r7, #28]
- 3155 .LBE501:
- 3156 .LBE500:
- 3157 .loc 1 1588 5 discriminator 1
- 3158 00c8 23F08003 bic r3, r3, #128
- 3159 00cc 3B67 str r3, [r7, #112]
- 3160 00ce 7B68 ldr r3, [r7, #4]
- 3161 00d0 1B68 ldr r3, [r3]
- 3162 00d2 0833 adds r3, r3, #8
- 3163 00d4 3A6F ldr r2, [r7, #112]
- 3164 00d6 FA62 str r2, [r7, #44]
- 3165 00d8 BB62 str r3, [r7, #40]
- 3166 .LBB502:
- 3167 .LBB503:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3168 .loc 2 1123 4 discriminator 1
- 3169 00da B96A ldr r1, [r7, #40]
- 3170 00dc FA6A ldr r2, [r7, #44]
- 3171 .syntax unified
- 3172 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3173 00de 41E80023 strex r3, r2, [r1]
- 3174 @ 0 "" 2
- 3175 .thumb
- 3176 .syntax unified
- 3177 00e2 7B62 str r3, [r7, #36]
- 3178 .loc 2 1124 10 discriminator 1
- 3179 00e4 7B6A ldr r3, [r7, #36]
- 3180 .LBE503:
- 3181 .LBE502:
- 3182 .loc 1 1588 5 discriminator 1
- 3183 00e6 002B cmp r3, #0
- 3184 00e8 E5D1 bne .L180
- 3185 .LBE499:
- 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
- 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 3186 .loc 1 1591 14
- 3187 00ea 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 105
- 3188 00ec 1B6F ldr r3, [r3, #112]
- 3189 .loc 1 1591 8
- 3190 00ee 002B cmp r3, #0
- 3191 00f0 19D0 beq .L177
- 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 3192 .loc 1 1595 12
- 3193 00f2 7B68 ldr r3, [r7, #4]
- 3194 00f4 1B6F ldr r3, [r3, #112]
- 3195 .loc 1 1595 40
- 3196 00f6 0022 movs r2, #0
- 3197 00f8 5A63 str r2, [r3, #52]
- 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
- 3198 .loc 1 1597 11
- 3199 00fa 7B68 ldr r3, [r7, #4]
- 3200 00fc 1B6F ldr r3, [r3, #112]
- 3201 00fe 1846 mov r0, r3
- 3202 0100 FFF7FEFF bl HAL_DMA_Abort
- 3203 0104 0346 mov r3, r0
- 3204 .loc 1 1597 10
- 3205 0106 002B cmp r3, #0
- 3206 0108 0DD0 beq .L177
- 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
- 3207 .loc 1 1599 13
- 3208 010a 7B68 ldr r3, [r7, #4]
- 3209 010c 1B6F ldr r3, [r3, #112]
- 3210 010e 1846 mov r0, r3
- 3211 0110 FFF7FEFF bl HAL_DMA_GetError
- 3212 0114 0346 mov r3, r0
- 3213 .loc 1 1599 12
- 3214 0116 202B cmp r3, #32
- 3215 0118 05D1 bne .L177
- 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 3216 .loc 1 1602 28
- 3217 011a 7B68 ldr r3, [r7, #4]
- 3218 011c 1022 movs r2, #16
- 3219 011e C3F88420 str r2, [r3, #132]
- 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 3220 .loc 1 1604 18
- 3221 0122 0323 movs r3, #3
- 3222 0124 61E0 b .L181
- 3223 .L177:
- 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
- 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 3224 .loc 1 1611 7
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 106
- 3225 0126 7B68 ldr r3, [r7, #4]
- 3226 0128 1B68 ldr r3, [r3]
- 3227 012a 9B68 ldr r3, [r3, #8]
- 3228 012c 03F04003 and r3, r3, #64
- 3229 .loc 1 1611 6
- 3230 0130 402B cmp r3, #64
- 3231 0132 37D1 bne .L182
- 3232 .L185:
- 3233 .LBB504:
- 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 3234 .loc 1 1614 5 discriminator 1
- 3235 0134 7B68 ldr r3, [r7, #4]
- 3236 0136 1B68 ldr r3, [r3]
- 3237 0138 0833 adds r3, r3, #8
- 3238 013a FB60 str r3, [r7, #12]
- 3239 .LBB505:
- 3240 .LBB506:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3241 .loc 2 1072 4 discriminator 1
- 3242 013c FB68 ldr r3, [r7, #12]
- 3243 .syntax unified
- 3244 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3245 013e 53E8003F ldrex r3, [r3]
- 3246 @ 0 "" 2
- 3247 .thumb
- 3248 .syntax unified
- 3249 0142 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3250 .loc 2 1073 10 discriminator 1
- 3251 0144 BB68 ldr r3, [r7, #8]
- 3252 .LBE506:
- 3253 .LBE505:
- 3254 .loc 1 1614 5 discriminator 1
- 3255 0146 23F04003 bic r3, r3, #64
- 3256 014a FB66 str r3, [r7, #108]
- 3257 014c 7B68 ldr r3, [r7, #4]
- 3258 014e 1B68 ldr r3, [r3]
- 3259 0150 0833 adds r3, r3, #8
- 3260 0152 FA6E ldr r2, [r7, #108]
- 3261 0154 BA61 str r2, [r7, #24]
- 3262 0156 7B61 str r3, [r7, #20]
- 3263 .LBB507:
- 3264 .LBB508:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3265 .loc 2 1123 4 discriminator 1
- 3266 0158 7969 ldr r1, [r7, #20]
- 3267 015a BA69 ldr r2, [r7, #24]
- 3268 .syntax unified
- 3269 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3270 015c 41E80023 strex r3, r2, [r1]
- 3271 @ 0 "" 2
- 3272 .thumb
- 3273 .syntax unified
- 3274 0160 3B61 str r3, [r7, #16]
- 3275 .loc 2 1124 10 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 107
- 3276 0162 3B69 ldr r3, [r7, #16]
- 3277 .LBE508:
- 3278 .LBE507:
- 3279 .loc 1 1614 5 discriminator 1
- 3280 0164 002B cmp r3, #0
- 3281 0166 E5D1 bne .L185
- 3282 .LBE504:
- 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
- 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 3283 .loc 1 1617 14
- 3284 0168 7B68 ldr r3, [r7, #4]
- 3285 016a 5B6F ldr r3, [r3, #116]
- 3286 .loc 1 1617 8
- 3287 016c 002B cmp r3, #0
- 3288 016e 19D0 beq .L182
- 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 3289 .loc 1 1621 12
- 3290 0170 7B68 ldr r3, [r7, #4]
- 3291 0172 5B6F ldr r3, [r3, #116]
- 3292 .loc 1 1621 40
- 3293 0174 0022 movs r2, #0
- 3294 0176 5A63 str r2, [r3, #52]
- 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
- 3295 .loc 1 1623 11
- 3296 0178 7B68 ldr r3, [r7, #4]
- 3297 017a 5B6F ldr r3, [r3, #116]
- 3298 017c 1846 mov r0, r3
- 3299 017e FFF7FEFF bl HAL_DMA_Abort
- 3300 0182 0346 mov r3, r0
- 3301 .loc 1 1623 10
- 3302 0184 002B cmp r3, #0
- 3303 0186 0DD0 beq .L182
- 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
- 3304 .loc 1 1625 13
- 3305 0188 7B68 ldr r3, [r7, #4]
- 3306 018a 5B6F ldr r3, [r3, #116]
- 3307 018c 1846 mov r0, r3
- 3308 018e FFF7FEFF bl HAL_DMA_GetError
- 3309 0192 0346 mov r3, r0
- 3310 .loc 1 1625 12
- 3311 0194 202B cmp r3, #32
- 3312 0196 05D1 bne .L182
- 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 3313 .loc 1 1628 28
- 3314 0198 7B68 ldr r3, [r7, #4]
- 3315 019a 1022 movs r2, #16
- 3316 019c C3F88420 str r2, [r3, #132]
- 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 108
- 3317 .loc 1 1630 18
- 3318 01a0 0323 movs r3, #3
- 3319 01a2 22E0 b .L181
- 3320 .L182:
- 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
- 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 3321 .loc 1 1637 22
- 3322 01a4 7B68 ldr r3, [r7, #4]
- 3323 01a6 0022 movs r2, #0
- 3324 01a8 A3F85220 strh r2, [r3, #82] @ movhi
- 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 3325 .loc 1 1638 22
- 3326 01ac 7B68 ldr r3, [r7, #4]
- 3327 01ae 0022 movs r2, #0
- 3328 01b0 A3F85A20 strh r2, [r3, #90] @ movhi
- 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
- 3329 .loc 1 1641 3
- 3330 01b4 7B68 ldr r3, [r7, #4]
- 3331 01b6 1B68 ldr r3, [r3]
- 3332 01b8 0F22 movs r2, #15
- 3333 01ba 1A62 str r2, [r3, #32]
- 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
- 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 3334 .loc 1 1645 3
- 3335 01bc 7B68 ldr r3, [r7, #4]
- 3336 01be 1B68 ldr r3, [r3]
- 3337 01c0 9A69 ldr r2, [r3, #24]
- 3338 01c2 7B68 ldr r3, [r7, #4]
- 3339 01c4 1B68 ldr r3, [r3]
- 3340 01c6 42F00802 orr r2, r2, #8
- 3341 01ca 9A61 str r2, [r3, #24]
- 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
- 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 3342 .loc 1 1648 18
- 3343 01cc 7B68 ldr r3, [r7, #4]
- 3344 01ce 2022 movs r2, #32
- 3345 01d0 DA67 str r2, [r3, #124]
- 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 3346 .loc 1 1649 18
- 3347 01d2 7B68 ldr r3, [r7, #4]
- 3348 01d4 2022 movs r2, #32
- 3349 01d6 C3F88020 str r2, [r3, #128]
- 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 3350 .loc 1 1650 24
- 3351 01da 7B68 ldr r3, [r7, #4]
- 3352 01dc 0022 movs r2, #0
- 3353 01de 1A66 str r2, [r3, #96]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 109
- 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 3354 .loc 1 1652 20
- 3355 01e0 7B68 ldr r3, [r7, #4]
- 3356 01e2 0022 movs r2, #0
- 3357 01e4 C3F88420 str r2, [r3, #132]
- 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 3358 .loc 1 1654 10
- 3359 01e8 0023 movs r3, #0
- 3360 .L181:
- 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3361 .loc 1 1655 1
- 3362 01ea 1846 mov r0, r3
- 3363 01ec 8037 adds r7, r7, #128
- 3364 .LCFI88:
- 3365 .cfi_def_cfa_offset 8
- 3366 01ee BD46 mov sp, r7
- 3367 .LCFI89:
- 3368 .cfi_def_cfa_register 13
- 3369 @ sp needed
- 3370 01f0 80BD pop {r7, pc}
- 3371 .cfi_endproc
- 3372 .LFE146:
- 3374 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
- 3375 .align 1
- 3376 .global HAL_UART_AbortTransmit
- 3377 .syntax unified
- 3378 .thumb
- 3379 .thumb_func
- 3381 HAL_UART_AbortTransmit:
- 3382 .LFB147:
- 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
- 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
- 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
- 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
- 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
- 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
- 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
- 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
- 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3383 .loc 1 1670 1
- 3384 .cfi_startproc
- 3385 @ args = 0, pretend = 0, frame = 56
- 3386 @ frame_needed = 1, uses_anonymous_args = 0
- 3387 0000 80B5 push {r7, lr}
- 3388 .LCFI90:
- 3389 .cfi_def_cfa_offset 8
- 3390 .cfi_offset 7, -8
- 3391 .cfi_offset 14, -4
- 3392 0002 8EB0 sub sp, sp, #56
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 110
- 3393 .LCFI91:
- 3394 .cfi_def_cfa_offset 64
- 3395 0004 00AF add r7, sp, #0
- 3396 .LCFI92:
- 3397 .cfi_def_cfa_register 7
- 3398 0006 7860 str r0, [r7, #4]
- 3399 .L189:
- 3400 .LBB509:
- 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
- 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
- 3401 .loc 1 1672 3 discriminator 1
- 3402 0008 7B68 ldr r3, [r7, #4]
- 3403 000a 1B68 ldr r3, [r3]
- 3404 000c 3B62 str r3, [r7, #32]
- 3405 .LBB510:
- 3406 .LBB511:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3407 .loc 2 1072 4 discriminator 1
- 3408 000e 3B6A ldr r3, [r7, #32]
- 3409 .syntax unified
- 3410 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3411 0010 53E8003F ldrex r3, [r3]
- 3412 @ 0 "" 2
- 3413 .thumb
- 3414 .syntax unified
- 3415 0014 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3416 .loc 2 1073 10 discriminator 1
- 3417 0016 FB69 ldr r3, [r7, #28]
- 3418 .LBE511:
- 3419 .LBE510:
- 3420 .loc 1 1672 3 discriminator 1
- 3421 0018 23F0C003 bic r3, r3, #192
- 3422 001c 7B63 str r3, [r7, #52]
- 3423 001e 7B68 ldr r3, [r7, #4]
- 3424 0020 1B68 ldr r3, [r3]
- 3425 0022 1A46 mov r2, r3
- 3426 0024 7B6B ldr r3, [r7, #52]
- 3427 0026 FB62 str r3, [r7, #44]
- 3428 0028 BA62 str r2, [r7, #40]
- 3429 .LBB512:
- 3430 .LBB513:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3431 .loc 2 1123 4 discriminator 1
- 3432 002a B96A ldr r1, [r7, #40]
- 3433 002c FA6A ldr r2, [r7, #44]
- 3434 .syntax unified
- 3435 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3436 002e 41E80023 strex r3, r2, [r1]
- 3437 @ 0 "" 2
- 3438 .thumb
- 3439 .syntax unified
- 3440 0032 7B62 str r3, [r7, #36]
- 3441 .loc 2 1124 10 discriminator 1
- 3442 0034 7B6A ldr r3, [r7, #36]
- 3443 .LBE513:
- 3444 .LBE512:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 111
- 3445 .loc 1 1672 3 discriminator 1
- 3446 0036 002B cmp r3, #0
- 3447 0038 E6D1 bne .L189
- 3448 .LBE509:
- 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
- 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 3449 .loc 1 1675 7
- 3450 003a 7B68 ldr r3, [r7, #4]
- 3451 003c 1B68 ldr r3, [r3]
- 3452 003e 9B68 ldr r3, [r3, #8]
- 3453 0040 03F08003 and r3, r3, #128
- 3454 .loc 1 1675 6
- 3455 0044 802B cmp r3, #128
- 3456 0046 37D1 bne .L190
- 3457 .L193:
- 3458 .LBB514:
- 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
- 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 3459 .loc 1 1678 5 discriminator 1
- 3460 0048 7B68 ldr r3, [r7, #4]
- 3461 004a 1B68 ldr r3, [r3]
- 3462 004c 0833 adds r3, r3, #8
- 3463 004e FB60 str r3, [r7, #12]
- 3464 .LBB515:
- 3465 .LBB516:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3466 .loc 2 1072 4 discriminator 1
- 3467 0050 FB68 ldr r3, [r7, #12]
- 3468 .syntax unified
- 3469 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3470 0052 53E8003F ldrex r3, [r3]
- 3471 @ 0 "" 2
- 3472 .thumb
- 3473 .syntax unified
- 3474 0056 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3475 .loc 2 1073 10 discriminator 1
- 3476 0058 BB68 ldr r3, [r7, #8]
- 3477 .LBE516:
- 3478 .LBE515:
- 3479 .loc 1 1678 5 discriminator 1
- 3480 005a 23F08003 bic r3, r3, #128
- 3481 005e 3B63 str r3, [r7, #48]
- 3482 0060 7B68 ldr r3, [r7, #4]
- 3483 0062 1B68 ldr r3, [r3]
- 3484 0064 0833 adds r3, r3, #8
- 3485 0066 3A6B ldr r2, [r7, #48]
- 3486 0068 BA61 str r2, [r7, #24]
- 3487 006a 7B61 str r3, [r7, #20]
- 3488 .LBB517:
- 3489 .LBB518:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3490 .loc 2 1123 4 discriminator 1
- 3491 006c 7969 ldr r1, [r7, #20]
- 3492 006e BA69 ldr r2, [r7, #24]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 112
- 3493 .syntax unified
- 3494 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3495 0070 41E80023 strex r3, r2, [r1]
- 3496 @ 0 "" 2
- 3497 .thumb
- 3498 .syntax unified
- 3499 0074 3B61 str r3, [r7, #16]
- 3500 .loc 2 1124 10 discriminator 1
- 3501 0076 3B69 ldr r3, [r7, #16]
- 3502 .LBE518:
- 3503 .LBE517:
- 3504 .loc 1 1678 5 discriminator 1
- 3505 0078 002B cmp r3, #0
- 3506 007a E5D1 bne .L193
- 3507 .LBE514:
- 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
- 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 3508 .loc 1 1681 14
- 3509 007c 7B68 ldr r3, [r7, #4]
- 3510 007e 1B6F ldr r3, [r3, #112]
- 3511 .loc 1 1681 8
- 3512 0080 002B cmp r3, #0
- 3513 0082 19D0 beq .L190
- 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 3514 .loc 1 1685 12
- 3515 0084 7B68 ldr r3, [r7, #4]
- 3516 0086 1B6F ldr r3, [r3, #112]
- 3517 .loc 1 1685 40
- 3518 0088 0022 movs r2, #0
- 3519 008a 5A63 str r2, [r3, #52]
- 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
- 3520 .loc 1 1687 11
- 3521 008c 7B68 ldr r3, [r7, #4]
- 3522 008e 1B6F ldr r3, [r3, #112]
- 3523 0090 1846 mov r0, r3
- 3524 0092 FFF7FEFF bl HAL_DMA_Abort
- 3525 0096 0346 mov r3, r0
- 3526 .loc 1 1687 10
- 3527 0098 002B cmp r3, #0
- 3528 009a 0DD0 beq .L190
- 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
- 3529 .loc 1 1689 13
- 3530 009c 7B68 ldr r3, [r7, #4]
- 3531 009e 1B6F ldr r3, [r3, #112]
- 3532 00a0 1846 mov r0, r3
- 3533 00a2 FFF7FEFF bl HAL_DMA_GetError
- 3534 00a6 0346 mov r3, r0
- 3535 .loc 1 1689 12
- 3536 00a8 202B cmp r3, #32
- 3537 00aa 05D1 bne .L190
- 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 113
- 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 3538 .loc 1 1692 28
- 3539 00ac 7B68 ldr r3, [r7, #4]
- 3540 00ae 1022 movs r2, #16
- 3541 00b0 C3F88420 str r2, [r3, #132]
- 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 3542 .loc 1 1694 18
- 3543 00b4 0323 movs r3, #3
- 3544 00b6 07E0 b .L194
- 3545 .L190:
- 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */
- 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 3546 .loc 1 1701 22
- 3547 00b8 7B68 ldr r3, [r7, #4]
- 3548 00ba 0022 movs r2, #0
- 3549 00bc A3F85220 strh r2, [r3, #82] @ movhi
- 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
- 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 3550 .loc 1 1705 17
- 3551 00c0 7B68 ldr r3, [r7, #4]
- 3552 00c2 2022 movs r2, #32
- 3553 00c4 DA67 str r2, [r3, #124]
- 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 3554 .loc 1 1707 10
- 3555 00c6 0023 movs r3, #0
- 3556 .L194:
- 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3557 .loc 1 1708 1
- 3558 00c8 1846 mov r0, r3
- 3559 00ca 3837 adds r7, r7, #56
- 3560 .LCFI93:
- 3561 .cfi_def_cfa_offset 8
- 3562 00cc BD46 mov sp, r7
- 3563 .LCFI94:
- 3564 .cfi_def_cfa_register 13
- 3565 @ sp needed
- 3566 00ce 80BD pop {r7, pc}
- 3567 .cfi_endproc
- 3568 .LFE147:
- 3570 .section .text.HAL_UART_AbortReceive,"ax",%progbits
- 3571 .align 1
- 3572 .global HAL_UART_AbortReceive
- 3573 .syntax unified
- 3574 .thumb
- 3575 .thumb_func
- 3577 HAL_UART_AbortReceive:
- 3578 .LFB148:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 114
- 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
- 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
- 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
- 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
- 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
- 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
- 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
- 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
- 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3579 .loc 1 1723 1
- 3580 .cfi_startproc
- 3581 @ args = 0, pretend = 0, frame = 104
- 3582 @ frame_needed = 1, uses_anonymous_args = 0
- 3583 0000 80B5 push {r7, lr}
- 3584 .LCFI95:
- 3585 .cfi_def_cfa_offset 8
- 3586 .cfi_offset 7, -8
- 3587 .cfi_offset 14, -4
- 3588 0002 9AB0 sub sp, sp, #104
- 3589 .LCFI96:
- 3590 .cfi_def_cfa_offset 112
- 3591 0004 00AF add r7, sp, #0
- 3592 .LCFI97:
- 3593 .cfi_def_cfa_register 7
- 3594 0006 7860 str r0, [r7, #4]
- 3595 .L198:
- 3596 .LBB519:
- 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 3597 .loc 1 1725 3 discriminator 1
- 3598 0008 7B68 ldr r3, [r7, #4]
- 3599 000a 1B68 ldr r3, [r3]
- 3600 000c BB64 str r3, [r7, #72]
- 3601 .LBB520:
- 3602 .LBB521:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3603 .loc 2 1072 4 discriminator 1
- 3604 000e BB6C ldr r3, [r7, #72]
- 3605 .syntax unified
- 3606 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3607 0010 53E8003F ldrex r3, [r3]
- 3608 @ 0 "" 2
- 3609 .thumb
- 3610 .syntax unified
- 3611 0014 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3612 .loc 2 1073 10 discriminator 1
- 3613 0016 7B6C ldr r3, [r7, #68]
- 3614 .LBE521:
- 3615 .LBE520:
- 3616 .loc 1 1725 3 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 115
- 3617 0018 23F49073 bic r3, r3, #288
- 3618 001c 7B66 str r3, [r7, #100]
- 3619 001e 7B68 ldr r3, [r7, #4]
- 3620 0020 1B68 ldr r3, [r3]
- 3621 0022 1A46 mov r2, r3
- 3622 0024 7B6E ldr r3, [r7, #100]
- 3623 0026 7B65 str r3, [r7, #84]
- 3624 0028 3A65 str r2, [r7, #80]
- 3625 .LBB522:
- 3626 .LBB523:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3627 .loc 2 1123 4 discriminator 1
- 3628 002a 396D ldr r1, [r7, #80]
- 3629 002c 7A6D ldr r2, [r7, #84]
- 3630 .syntax unified
- 3631 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3632 002e 41E80023 strex r3, r2, [r1]
- 3633 @ 0 "" 2
- 3634 .thumb
- 3635 .syntax unified
- 3636 0032 FB64 str r3, [r7, #76]
- 3637 .loc 2 1124 10 discriminator 1
- 3638 0034 FB6C ldr r3, [r7, #76]
- 3639 .LBE523:
- 3640 .LBE522:
- 3641 .loc 1 1725 3 discriminator 1
- 3642 0036 002B cmp r3, #0
- 3643 0038 E6D1 bne .L198
- 3644 .L201:
- 3645 .LBE519:
- 3646 .LBB524:
- 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 3647 .loc 1 1726 3 discriminator 1
- 3648 003a 7B68 ldr r3, [r7, #4]
- 3649 003c 1B68 ldr r3, [r3]
- 3650 003e 0833 adds r3, r3, #8
- 3651 0040 7B63 str r3, [r7, #52]
- 3652 .LBB525:
- 3653 .LBB526:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3654 .loc 2 1072 4 discriminator 1
- 3655 0042 7B6B ldr r3, [r7, #52]
- 3656 .syntax unified
- 3657 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3658 0044 53E8003F ldrex r3, [r3]
- 3659 @ 0 "" 2
- 3660 .thumb
- 3661 .syntax unified
- 3662 0048 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3663 .loc 2 1073 10 discriminator 1
- 3664 004a 3B6B ldr r3, [r7, #48]
- 3665 .LBE526:
- 3666 .LBE525:
- 3667 .loc 1 1726 3 discriminator 1
- 3668 004c 23F00103 bic r3, r3, #1
- 3669 0050 3B66 str r3, [r7, #96]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 116
- 3670 0052 7B68 ldr r3, [r7, #4]
- 3671 0054 1B68 ldr r3, [r3]
- 3672 0056 0833 adds r3, r3, #8
- 3673 0058 3A6E ldr r2, [r7, #96]
- 3674 005a 3A64 str r2, [r7, #64]
- 3675 005c FB63 str r3, [r7, #60]
- 3676 .LBB527:
- 3677 .LBB528:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3678 .loc 2 1123 4 discriminator 1
- 3679 005e F96B ldr r1, [r7, #60]
- 3680 0060 3A6C ldr r2, [r7, #64]
- 3681 .syntax unified
- 3682 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3683 0062 41E80023 strex r3, r2, [r1]
- 3684 @ 0 "" 2
- 3685 .thumb
- 3686 .syntax unified
- 3687 0066 BB63 str r3, [r7, #56]
- 3688 .loc 2 1124 10 discriminator 1
- 3689 0068 BB6B ldr r3, [r7, #56]
- 3690 .LBE528:
- 3691 .LBE527:
- 3692 .loc 1 1726 3 discriminator 1
- 3693 006a 002B cmp r3, #0
- 3694 006c E5D1 bne .L201
- 3695 .LBE524:
- 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 3696 .loc 1 1729 12
- 3697 006e 7B68 ldr r3, [r7, #4]
- 3698 0070 1B6E ldr r3, [r3, #96]
- 3699 .loc 1 1729 6
- 3700 0072 012B cmp r3, #1
- 3701 0074 18D1 bne .L202
- 3702 .L205:
- 3703 .LBB529:
- 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 3704 .loc 1 1731 5 discriminator 1
- 3705 0076 7B68 ldr r3, [r7, #4]
- 3706 0078 1B68 ldr r3, [r3]
- 3707 007a 3B62 str r3, [r7, #32]
- 3708 .LBB530:
- 3709 .LBB531:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3710 .loc 2 1072 4 discriminator 1
- 3711 007c 3B6A ldr r3, [r7, #32]
- 3712 .syntax unified
- 3713 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3714 007e 53E8003F ldrex r3, [r3]
- 3715 @ 0 "" 2
- 3716 .thumb
- 3717 .syntax unified
- 3718 0082 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 117
- 3719 .loc 2 1073 10 discriminator 1
- 3720 0084 FB69 ldr r3, [r7, #28]
- 3721 .LBE531:
- 3722 .LBE530:
- 3723 .loc 1 1731 5 discriminator 1
- 3724 0086 23F01003 bic r3, r3, #16
- 3725 008a FB65 str r3, [r7, #92]
- 3726 008c 7B68 ldr r3, [r7, #4]
- 3727 008e 1B68 ldr r3, [r3]
- 3728 0090 1A46 mov r2, r3
- 3729 0092 FB6D ldr r3, [r7, #92]
- 3730 0094 FB62 str r3, [r7, #44]
- 3731 0096 BA62 str r2, [r7, #40]
- 3732 .LBB532:
- 3733 .LBB533:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3734 .loc 2 1123 4 discriminator 1
- 3735 0098 B96A ldr r1, [r7, #40]
- 3736 009a FA6A ldr r2, [r7, #44]
- 3737 .syntax unified
- 3738 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3739 009c 41E80023 strex r3, r2, [r1]
- 3740 @ 0 "" 2
- 3741 .thumb
- 3742 .syntax unified
- 3743 00a0 7B62 str r3, [r7, #36]
- 3744 .loc 2 1124 10 discriminator 1
- 3745 00a2 7B6A ldr r3, [r7, #36]
- 3746 .LBE533:
- 3747 .LBE532:
- 3748 .loc 1 1731 5 discriminator 1
- 3749 00a4 002B cmp r3, #0
- 3750 00a6 E6D1 bne .L205
- 3751 .L202:
- 3752 .LBE529:
- 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
- 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 3753 .loc 1 1735 7
- 3754 00a8 7B68 ldr r3, [r7, #4]
- 3755 00aa 1B68 ldr r3, [r3]
- 3756 00ac 9B68 ldr r3, [r3, #8]
- 3757 00ae 03F04003 and r3, r3, #64
- 3758 .loc 1 1735 6
- 3759 00b2 402B cmp r3, #64
- 3760 00b4 37D1 bne .L206
- 3761 .L209:
- 3762 .LBB534:
- 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 3763 .loc 1 1738 5 discriminator 1
- 3764 00b6 7B68 ldr r3, [r7, #4]
- 3765 00b8 1B68 ldr r3, [r3]
- 3766 00ba 0833 adds r3, r3, #8
- 3767 00bc FB60 str r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 118
- 3768 .LBB535:
- 3769 .LBB536:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3770 .loc 2 1072 4 discriminator 1
- 3771 00be FB68 ldr r3, [r7, #12]
- 3772 .syntax unified
- 3773 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3774 00c0 53E8003F ldrex r3, [r3]
- 3775 @ 0 "" 2
- 3776 .thumb
- 3777 .syntax unified
- 3778 00c4 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3779 .loc 2 1073 10 discriminator 1
- 3780 00c6 BB68 ldr r3, [r7, #8]
- 3781 .LBE536:
- 3782 .LBE535:
- 3783 .loc 1 1738 5 discriminator 1
- 3784 00c8 23F04003 bic r3, r3, #64
- 3785 00cc BB65 str r3, [r7, #88]
- 3786 00ce 7B68 ldr r3, [r7, #4]
- 3787 00d0 1B68 ldr r3, [r3]
- 3788 00d2 0833 adds r3, r3, #8
- 3789 00d4 BA6D ldr r2, [r7, #88]
- 3790 00d6 BA61 str r2, [r7, #24]
- 3791 00d8 7B61 str r3, [r7, #20]
- 3792 .LBB537:
- 3793 .LBB538:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3794 .loc 2 1123 4 discriminator 1
- 3795 00da 7969 ldr r1, [r7, #20]
- 3796 00dc BA69 ldr r2, [r7, #24]
- 3797 .syntax unified
- 3798 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3799 00de 41E80023 strex r3, r2, [r1]
- 3800 @ 0 "" 2
- 3801 .thumb
- 3802 .syntax unified
- 3803 00e2 3B61 str r3, [r7, #16]
- 3804 .loc 2 1124 10 discriminator 1
- 3805 00e4 3B69 ldr r3, [r7, #16]
- 3806 .LBE538:
- 3807 .LBE537:
- 3808 .loc 1 1738 5 discriminator 1
- 3809 00e6 002B cmp r3, #0
- 3810 00e8 E5D1 bne .L209
- 3811 .LBE534:
- 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
- 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 3812 .loc 1 1741 14
- 3813 00ea 7B68 ldr r3, [r7, #4]
- 3814 00ec 5B6F ldr r3, [r3, #116]
- 3815 .loc 1 1741 8
- 3816 00ee 002B cmp r3, #0
- 3817 00f0 19D0 beq .L206
- 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 119
- 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 3818 .loc 1 1745 12
- 3819 00f2 7B68 ldr r3, [r7, #4]
- 3820 00f4 5B6F ldr r3, [r3, #116]
- 3821 .loc 1 1745 40
- 3822 00f6 0022 movs r2, #0
- 3823 00f8 5A63 str r2, [r3, #52]
- 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
- 3824 .loc 1 1747 11
- 3825 00fa 7B68 ldr r3, [r7, #4]
- 3826 00fc 5B6F ldr r3, [r3, #116]
- 3827 00fe 1846 mov r0, r3
- 3828 0100 FFF7FEFF bl HAL_DMA_Abort
- 3829 0104 0346 mov r3, r0
- 3830 .loc 1 1747 10
- 3831 0106 002B cmp r3, #0
- 3832 0108 0DD0 beq .L206
- 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
- 3833 .loc 1 1749 13
- 3834 010a 7B68 ldr r3, [r7, #4]
- 3835 010c 5B6F ldr r3, [r3, #116]
- 3836 010e 1846 mov r0, r3
- 3837 0110 FFF7FEFF bl HAL_DMA_GetError
- 3838 0114 0346 mov r3, r0
- 3839 .loc 1 1749 12
- 3840 0116 202B cmp r3, #32
- 3841 0118 05D1 bne .L206
- 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 3842 .loc 1 1752 28
- 3843 011a 7B68 ldr r3, [r7, #4]
- 3844 011c 1022 movs r2, #16
- 3845 011e C3F88420 str r2, [r3, #132]
- 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 3846 .loc 1 1754 18
- 3847 0122 0323 movs r3, #3
- 3848 0124 17E0 b .L210
- 3849 .L206:
- 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */
- 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 3850 .loc 1 1761 22
- 3851 0126 7B68 ldr r3, [r7, #4]
- 3852 0128 0022 movs r2, #0
- 3853 012a A3F85A20 strh r2, [r3, #90] @ movhi
- 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 120
- 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
- 3854 .loc 1 1764 3
- 3855 012e 7B68 ldr r3, [r7, #4]
- 3856 0130 1B68 ldr r3, [r3]
- 3857 0132 0F22 movs r2, #15
- 3858 0134 1A62 str r2, [r3, #32]
- 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
- 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 3859 .loc 1 1767 3
- 3860 0136 7B68 ldr r3, [r7, #4]
- 3861 0138 1B68 ldr r3, [r3]
- 3862 013a 9A69 ldr r2, [r3, #24]
- 3863 013c 7B68 ldr r3, [r7, #4]
- 3864 013e 1B68 ldr r3, [r3]
- 3865 0140 42F00802 orr r2, r2, #8
- 3866 0144 9A61 str r2, [r3, #24]
- 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 3867 .loc 1 1770 18
- 3868 0146 7B68 ldr r3, [r7, #4]
- 3869 0148 2022 movs r2, #32
- 3870 014a C3F88020 str r2, [r3, #128]
- 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 3871 .loc 1 1771 24
- 3872 014e 7B68 ldr r3, [r7, #4]
- 3873 0150 0022 movs r2, #0
- 3874 0152 1A66 str r2, [r3, #96]
- 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 3875 .loc 1 1773 10
- 3876 0154 0023 movs r3, #0
- 3877 .L210:
- 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3878 .loc 1 1774 1
- 3879 0156 1846 mov r0, r3
- 3880 0158 6837 adds r7, r7, #104
- 3881 .LCFI98:
- 3882 .cfi_def_cfa_offset 8
- 3883 015a BD46 mov sp, r7
- 3884 .LCFI99:
- 3885 .cfi_def_cfa_register 13
- 3886 @ sp needed
- 3887 015c 80BD pop {r7, pc}
- 3888 .cfi_endproc
- 3889 .LFE148:
- 3891 .section .text.HAL_UART_Abort_IT,"ax",%progbits
- 3892 .align 1
- 3893 .global HAL_UART_Abort_IT
- 3894 .syntax unified
- 3895 .thumb
- 3896 .thumb_func
- 3898 HAL_UART_Abort_IT:
- 3899 .LFB149:
- 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 121
- 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
- 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
- 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
- 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
- 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
- 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
- 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback
- 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
- 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
- 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
- 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3900 .loc 1 1791 1
- 3901 .cfi_startproc
- 3902 @ args = 0, pretend = 0, frame = 136
- 3903 @ frame_needed = 1, uses_anonymous_args = 0
- 3904 0000 80B5 push {r7, lr}
- 3905 .LCFI100:
- 3906 .cfi_def_cfa_offset 8
- 3907 .cfi_offset 7, -8
- 3908 .cfi_offset 14, -4
- 3909 0002 A2B0 sub sp, sp, #136
- 3910 .LCFI101:
- 3911 .cfi_def_cfa_offset 144
- 3912 0004 00AF add r7, sp, #0
- 3913 .LCFI102:
- 3914 .cfi_def_cfa_register 7
- 3915 0006 7860 str r0, [r7, #4]
- 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U;
- 3916 .loc 1 1792 12
- 3917 0008 0123 movs r3, #1
- 3918 000a C7F88430 str r3, [r7, #132]
- 3919 .L214:
- 3920 .LBB539:
- 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */
- 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
- 3921 .loc 1 1795 3 discriminator 1
- 3922 000e 7B68 ldr r3, [r7, #4]
- 3923 0010 1B68 ldr r3, [r3]
- 3924 0012 3B66 str r3, [r7, #96]
- 3925 .LBB540:
- 3926 .LBB541:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3927 .loc 2 1072 4 discriminator 1
- 3928 0014 3B6E ldr r3, [r7, #96]
- 3929 .syntax unified
- 3930 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3931 0016 53E8003F ldrex r3, [r3]
- 3932 @ 0 "" 2
- 3933 .thumb
- 3934 .syntax unified
- 3935 001a FB65 str r3, [r7, #92]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 122
- 3936 .loc 2 1073 10 discriminator 1
- 3937 001c FB6D ldr r3, [r7, #92]
- 3938 .LBE541:
- 3939 .LBE540:
- 3940 .loc 1 1795 3 discriminator 1
- 3941 001e 23F4F073 bic r3, r3, #480
- 3942 0022 C7F88030 str r3, [r7, #128]
- 3943 0026 7B68 ldr r3, [r7, #4]
- 3944 0028 1B68 ldr r3, [r3]
- 3945 002a 1A46 mov r2, r3
- 3946 002c D7F88030 ldr r3, [r7, #128]
- 3947 0030 FB66 str r3, [r7, #108]
- 3948 0032 BA66 str r2, [r7, #104]
- 3949 .LBB542:
- 3950 .LBB543:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3951 .loc 2 1123 4 discriminator 1
- 3952 0034 B96E ldr r1, [r7, #104]
- 3953 0036 FA6E ldr r2, [r7, #108]
- 3954 .syntax unified
- 3955 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3956 0038 41E80023 strex r3, r2, [r1]
- 3957 @ 0 "" 2
- 3958 .thumb
- 3959 .syntax unified
- 3960 003c 7B66 str r3, [r7, #100]
- 3961 .loc 2 1124 10 discriminator 1
- 3962 003e 7B6E ldr r3, [r7, #100]
- 3963 .LBE543:
- 3964 .LBE542:
- 3965 .loc 1 1795 3 discriminator 1
- 3966 0040 002B cmp r3, #0
- 3967 0042 E4D1 bne .L214
- 3968 .L217:
- 3969 .LBE539:
- 3970 .LBB544:
- 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 3971 .loc 1 1796 3 discriminator 1
- 3972 0044 7B68 ldr r3, [r7, #4]
- 3973 0046 1B68 ldr r3, [r3]
- 3974 0048 0833 adds r3, r3, #8
- 3975 004a FB64 str r3, [r7, #76]
- 3976 .LBB545:
- 3977 .LBB546:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3978 .loc 2 1072 4 discriminator 1
- 3979 004c FB6C ldr r3, [r7, #76]
- 3980 .syntax unified
- 3981 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3982 004e 53E8003F ldrex r3, [r3]
- 3983 @ 0 "" 2
- 3984 .thumb
- 3985 .syntax unified
- 3986 0052 BB64 str r3, [r7, #72]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3987 .loc 2 1073 10 discriminator 1
- 3988 0054 BB6C ldr r3, [r7, #72]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 123
- 3989 .LBE546:
- 3990 .LBE545:
- 3991 .loc 1 1796 3 discriminator 1
- 3992 0056 23F00103 bic r3, r3, #1
- 3993 005a FB67 str r3, [r7, #124]
- 3994 005c 7B68 ldr r3, [r7, #4]
- 3995 005e 1B68 ldr r3, [r3]
- 3996 0060 0833 adds r3, r3, #8
- 3997 0062 FA6F ldr r2, [r7, #124]
- 3998 0064 BA65 str r2, [r7, #88]
- 3999 0066 7B65 str r3, [r7, #84]
- 4000 .LBB547:
- 4001 .LBB548:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4002 .loc 2 1123 4 discriminator 1
- 4003 0068 796D ldr r1, [r7, #84]
- 4004 006a BA6D ldr r2, [r7, #88]
- 4005 .syntax unified
- 4006 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4007 006c 41E80023 strex r3, r2, [r1]
- 4008 @ 0 "" 2
- 4009 .thumb
- 4010 .syntax unified
- 4011 0070 3B65 str r3, [r7, #80]
- 4012 .loc 2 1124 10 discriminator 1
- 4013 0072 3B6D ldr r3, [r7, #80]
- 4014 .LBE548:
- 4015 .LBE547:
- 4016 .loc 1 1796 3 discriminator 1
- 4017 0074 002B cmp r3, #0
- 4018 0076 E5D1 bne .L217
- 4019 .LBE544:
- 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 4020 .loc 1 1799 12
- 4021 0078 7B68 ldr r3, [r7, #4]
- 4022 007a 1B6E ldr r3, [r3, #96]
- 4023 .loc 1 1799 6
- 4024 007c 012B cmp r3, #1
- 4025 007e 18D1 bne .L218
- 4026 .L221:
- 4027 .LBB549:
- 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 4028 .loc 1 1801 5 discriminator 1
- 4029 0080 7B68 ldr r3, [r7, #4]
- 4030 0082 1B68 ldr r3, [r3]
- 4031 0084 BB63 str r3, [r7, #56]
- 4032 .LBB550:
- 4033 .LBB551:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4034 .loc 2 1072 4 discriminator 1
- 4035 0086 BB6B ldr r3, [r7, #56]
- 4036 .syntax unified
- 4037 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4038 0088 53E8003F ldrex r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 124
- 4039 @ 0 "" 2
- 4040 .thumb
- 4041 .syntax unified
- 4042 008c 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4043 .loc 2 1073 10 discriminator 1
- 4044 008e 7B6B ldr r3, [r7, #52]
- 4045 .LBE551:
- 4046 .LBE550:
- 4047 .loc 1 1801 5 discriminator 1
- 4048 0090 23F01003 bic r3, r3, #16
- 4049 0094 BB67 str r3, [r7, #120]
- 4050 0096 7B68 ldr r3, [r7, #4]
- 4051 0098 1B68 ldr r3, [r3]
- 4052 009a 1A46 mov r2, r3
- 4053 009c BB6F ldr r3, [r7, #120]
- 4054 009e 7B64 str r3, [r7, #68]
- 4055 00a0 3A64 str r2, [r7, #64]
- 4056 .LBB552:
- 4057 .LBB553:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4058 .loc 2 1123 4 discriminator 1
- 4059 00a2 396C ldr r1, [r7, #64]
- 4060 00a4 7A6C ldr r2, [r7, #68]
- 4061 .syntax unified
- 4062 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4063 00a6 41E80023 strex r3, r2, [r1]
- 4064 @ 0 "" 2
- 4065 .thumb
- 4066 .syntax unified
- 4067 00aa FB63 str r3, [r7, #60]
- 4068 .loc 2 1124 10 discriminator 1
- 4069 00ac FB6B ldr r3, [r7, #60]
- 4070 .LBE553:
- 4071 .LBE552:
- 4072 .loc 1 1801 5 discriminator 1
- 4073 00ae 002B cmp r3, #0
- 4074 00b0 E6D1 bne .L221
- 4075 .L218:
- 4076 .LBE549:
- 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
- 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** before any call to DMA Abort functions */
- 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Tx Handle is valid */
- 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 4077 .loc 1 1807 12
- 4078 00b2 7B68 ldr r3, [r7, #4]
- 4079 00b4 1B6F ldr r3, [r3, #112]
- 4080 .loc 1 1807 6
- 4081 00b6 002B cmp r3, #0
- 4082 00b8 0FD0 beq .L222
- 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
- 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */
- 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 4083 .loc 1 1811 9
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 125
- 4084 00ba 7B68 ldr r3, [r7, #4]
- 4085 00bc 1B68 ldr r3, [r3]
- 4086 00be 9B68 ldr r3, [r3, #8]
- 4087 00c0 03F08003 and r3, r3, #128
- 4088 .loc 1 1811 8
- 4089 00c4 802B cmp r3, #128
- 4090 00c6 04D1 bne .L223
- 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
- 4091 .loc 1 1813 12
- 4092 00c8 7B68 ldr r3, [r7, #4]
- 4093 00ca 1B6F ldr r3, [r3, #112]
- 4094 .loc 1 1813 40
- 4095 00cc 5D4A ldr r2, .L238
- 4096 00ce 5A63 str r2, [r3, #52]
- 4097 00d0 03E0 b .L222
- 4098 .L223:
- 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 4099 .loc 1 1817 12
- 4100 00d2 7B68 ldr r3, [r7, #4]
- 4101 00d4 1B6F ldr r3, [r3, #112]
- 4102 .loc 1 1817 40
- 4103 00d6 0022 movs r2, #0
- 4104 00d8 5A63 str r2, [r3, #52]
- 4105 .L222:
- 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Rx Handle is valid */
- 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 4106 .loc 1 1821 12
- 4107 00da 7B68 ldr r3, [r7, #4]
- 4108 00dc 5B6F ldr r3, [r3, #116]
- 4109 .loc 1 1821 6
- 4110 00de 002B cmp r3, #0
- 4111 00e0 0FD0 beq .L224
- 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
- 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */
- 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 4112 .loc 1 1825 9
- 4113 00e2 7B68 ldr r3, [r7, #4]
- 4114 00e4 1B68 ldr r3, [r3]
- 4115 00e6 9B68 ldr r3, [r3, #8]
- 4116 00e8 03F04003 and r3, r3, #64
- 4117 .loc 1 1825 8
- 4118 00ec 402B cmp r3, #64
- 4119 00ee 04D1 bne .L225
- 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
- 4120 .loc 1 1827 12
- 4121 00f0 7B68 ldr r3, [r7, #4]
- 4122 00f2 5B6F ldr r3, [r3, #116]
- 4123 .loc 1 1827 40
- 4124 00f4 544A ldr r2, .L238+4
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 126
- 4125 00f6 5A63 str r2, [r3, #52]
- 4126 00f8 03E0 b .L224
- 4127 .L225:
- 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 4128 .loc 1 1831 12
- 4129 00fa 7B68 ldr r3, [r7, #4]
- 4130 00fc 5B6F ldr r3, [r3, #116]
- 4131 .loc 1 1831 40
- 4132 00fe 0022 movs r2, #0
- 4133 0100 5A63 str r2, [r3, #52]
- 4134 .L224:
- 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
- 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 4135 .loc 1 1836 7
- 4136 0102 7B68 ldr r3, [r7, #4]
- 4137 0104 1B68 ldr r3, [r3]
- 4138 0106 9B68 ldr r3, [r3, #8]
- 4139 0108 03F08003 and r3, r3, #128
- 4140 .loc 1 1836 6
- 4141 010c 802B cmp r3, #128
- 4142 010e 2DD1 bne .L226
- 4143 .L229:
- 4144 .LBB554:
- 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable DMA Tx at UART level */
- 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 4145 .loc 1 1839 5 discriminator 1
- 4146 0110 7B68 ldr r3, [r7, #4]
- 4147 0112 1B68 ldr r3, [r3]
- 4148 0114 0833 adds r3, r3, #8
- 4149 0116 7B62 str r3, [r7, #36]
- 4150 .LBB555:
- 4151 .LBB556:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4152 .loc 2 1072 4 discriminator 1
- 4153 0118 7B6A ldr r3, [r7, #36]
- 4154 .syntax unified
- 4155 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4156 011a 53E8003F ldrex r3, [r3]
- 4157 @ 0 "" 2
- 4158 .thumb
- 4159 .syntax unified
- 4160 011e 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4161 .loc 2 1073 10 discriminator 1
- 4162 0120 3B6A ldr r3, [r7, #32]
- 4163 .LBE556:
- 4164 .LBE555:
- 4165 .loc 1 1839 5 discriminator 1
- 4166 0122 23F08003 bic r3, r3, #128
- 4167 0126 7B67 str r3, [r7, #116]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 127
- 4168 0128 7B68 ldr r3, [r7, #4]
- 4169 012a 1B68 ldr r3, [r3]
- 4170 012c 0833 adds r3, r3, #8
- 4171 012e 7A6F ldr r2, [r7, #116]
- 4172 0130 3A63 str r2, [r7, #48]
- 4173 0132 FB62 str r3, [r7, #44]
- 4174 .LBB557:
- 4175 .LBB558:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4176 .loc 2 1123 4 discriminator 1
- 4177 0134 F96A ldr r1, [r7, #44]
- 4178 0136 3A6B ldr r2, [r7, #48]
- 4179 .syntax unified
- 4180 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4181 0138 41E80023 strex r3, r2, [r1]
- 4182 @ 0 "" 2
- 4183 .thumb
- 4184 .syntax unified
- 4185 013c BB62 str r3, [r7, #40]
- 4186 .loc 2 1124 10 discriminator 1
- 4187 013e BB6A ldr r3, [r7, #40]
- 4188 .LBE558:
- 4189 .LBE557:
- 4190 .loc 1 1839 5 discriminator 1
- 4191 0140 002B cmp r3, #0
- 4192 0142 E5D1 bne .L229
- 4193 .LBE554:
- 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
- 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 4194 .loc 1 1842 14
- 4195 0144 7B68 ldr r3, [r7, #4]
- 4196 0146 1B6F ldr r3, [r3, #112]
- 4197 .loc 1 1842 8
- 4198 0148 002B cmp r3, #0
- 4199 014a 0FD0 beq .L226
- 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
- 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */
- 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
- 4200 .loc 1 1848 11
- 4201 014c 7B68 ldr r3, [r7, #4]
- 4202 014e 1B6F ldr r3, [r3, #112]
- 4203 0150 1846 mov r0, r3
- 4204 0152 FFF7FEFF bl HAL_DMA_Abort_IT
- 4205 0156 0346 mov r3, r0
- 4206 .loc 1 1848 10
- 4207 0158 002B cmp r3, #0
- 4208 015a 04D0 beq .L230
- 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 4209 .loc 1 1850 14
- 4210 015c 7B68 ldr r3, [r7, #4]
- 4211 015e 1B6F ldr r3, [r3, #112]
- 4212 .loc 1 1850 42
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 128
- 4213 0160 0022 movs r2, #0
- 4214 0162 5A63 str r2, [r3, #52]
- 4215 0164 02E0 b .L226
- 4216 .L230:
- 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U;
- 4217 .loc 1 1854 19
- 4218 0166 0023 movs r3, #0
- 4219 0168 C7F88430 str r3, [r7, #132]
- 4220 .L226:
- 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
- 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 4221 .loc 1 1860 7
- 4222 016c 7B68 ldr r3, [r7, #4]
- 4223 016e 1B68 ldr r3, [r3]
- 4224 0170 9B68 ldr r3, [r3, #8]
- 4225 0172 03F04003 and r3, r3, #64
- 4226 .loc 1 1860 6
- 4227 0176 402B cmp r3, #64
- 4228 0178 30D1 bne .L231
- 4229 .L234:
- 4230 .LBB559:
- 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 4231 .loc 1 1863 5 discriminator 1
- 4232 017a 7B68 ldr r3, [r7, #4]
- 4233 017c 1B68 ldr r3, [r3]
- 4234 017e 0833 adds r3, r3, #8
- 4235 0180 3B61 str r3, [r7, #16]
- 4236 .LBB560:
- 4237 .LBB561:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4238 .loc 2 1072 4 discriminator 1
- 4239 0182 3B69 ldr r3, [r7, #16]
- 4240 .syntax unified
- 4241 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4242 0184 53E8003F ldrex r3, [r3]
- 4243 @ 0 "" 2
- 4244 .thumb
- 4245 .syntax unified
- 4246 0188 FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4247 .loc 2 1073 10 discriminator 1
- 4248 018a FB68 ldr r3, [r7, #12]
- 4249 .LBE561:
- 4250 .LBE560:
- 4251 .loc 1 1863 5 discriminator 1
- 4252 018c 23F04003 bic r3, r3, #64
- 4253 0190 3B67 str r3, [r7, #112]
- 4254 0192 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 129
- 4255 0194 1B68 ldr r3, [r3]
- 4256 0196 0833 adds r3, r3, #8
- 4257 0198 3A6F ldr r2, [r7, #112]
- 4258 019a FA61 str r2, [r7, #28]
- 4259 019c BB61 str r3, [r7, #24]
- 4260 .LBB562:
- 4261 .LBB563:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4262 .loc 2 1123 4 discriminator 1
- 4263 019e B969 ldr r1, [r7, #24]
- 4264 01a0 FA69 ldr r2, [r7, #28]
- 4265 .syntax unified
- 4266 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4267 01a2 41E80023 strex r3, r2, [r1]
- 4268 @ 0 "" 2
- 4269 .thumb
- 4270 .syntax unified
- 4271 01a6 7B61 str r3, [r7, #20]
- 4272 .loc 2 1124 10 discriminator 1
- 4273 01a8 7B69 ldr r3, [r7, #20]
- 4274 .LBE563:
- 4275 .LBE562:
- 4276 .loc 1 1863 5 discriminator 1
- 4277 01aa 002B cmp r3, #0
- 4278 01ac E5D1 bne .L234
- 4279 .LBE559:
- 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
- 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 4280 .loc 1 1866 14
- 4281 01ae 7B68 ldr r3, [r7, #4]
- 4282 01b0 5B6F ldr r3, [r3, #116]
- 4283 .loc 1 1866 8
- 4284 01b2 002B cmp r3, #0
- 4285 01b4 12D0 beq .L231
- 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
- 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */
- 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
- 4286 .loc 1 1872 11
- 4287 01b6 7B68 ldr r3, [r7, #4]
- 4288 01b8 5B6F ldr r3, [r3, #116]
- 4289 01ba 1846 mov r0, r3
- 4290 01bc FFF7FEFF bl HAL_DMA_Abort_IT
- 4291 01c0 0346 mov r3, r0
- 4292 .loc 1 1872 10
- 4293 01c2 002B cmp r3, #0
- 4294 01c4 07D0 beq .L235
- 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 4295 .loc 1 1874 14
- 4296 01c6 7B68 ldr r3, [r7, #4]
- 4297 01c8 5B6F ldr r3, [r3, #116]
- 4298 .loc 1 1874 42
- 4299 01ca 0022 movs r2, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 130
- 4300 01cc 5A63 str r2, [r3, #52]
- 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U;
- 4301 .loc 1 1875 19
- 4302 01ce 0123 movs r3, #1
- 4303 01d0 C7F88430 str r3, [r7, #132]
- 4304 01d4 02E0 b .L231
- 4305 .L235:
- 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U;
- 4306 .loc 1 1879 19
- 4307 01d6 0023 movs r3, #0
- 4308 01d8 C7F88430 str r3, [r7, #132]
- 4309 .L231:
- 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
- 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (abortcplt == 1U)
- 4310 .loc 1 1885 6
- 4311 01dc D7F88430 ldr r3, [r7, #132]
- 4312 01e0 012B cmp r3, #1
- 4313 01e2 2AD1 bne .L236
- 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
- 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 4314 .loc 1 1888 24
- 4315 01e4 7B68 ldr r3, [r7, #4]
- 4316 01e6 0022 movs r2, #0
- 4317 01e8 A3F85220 strh r2, [r3, #82] @ movhi
- 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 4318 .loc 1 1889 24
- 4319 01ec 7B68 ldr r3, [r7, #4]
- 4320 01ee 0022 movs r2, #0
- 4321 01f0 A3F85A20 strh r2, [r3, #90] @ movhi
- 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */
- 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
- 4322 .loc 1 1892 18
- 4323 01f4 7B68 ldr r3, [r7, #4]
- 4324 01f6 0022 movs r2, #0
- 4325 01f8 9A66 str r2, [r3, #104]
- 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
- 4326 .loc 1 1893 18
- 4327 01fa 7B68 ldr r3, [r7, #4]
- 4328 01fc 0022 movs r2, #0
- 4329 01fe DA66 str r2, [r3, #108]
- 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */
- 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 4330 .loc 1 1896 22
- 4331 0200 7B68 ldr r3, [r7, #4]
- 4332 0202 0022 movs r2, #0
- 4333 0204 C3F88420 str r2, [r3, #132]
- 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 131
- 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
- 4334 .loc 1 1899 5
- 4335 0208 7B68 ldr r3, [r7, #4]
- 4336 020a 1B68 ldr r3, [r3]
- 4337 020c 0F22 movs r2, #15
- 4338 020e 1A62 str r2, [r3, #32]
- 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
- 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 4339 .loc 1 1903 5
- 4340 0210 7B68 ldr r3, [r7, #4]
- 4341 0212 1B68 ldr r3, [r3]
- 4342 0214 9A69 ldr r2, [r3, #24]
- 4343 0216 7B68 ldr r3, [r7, #4]
- 4344 0218 1B68 ldr r3, [r3]
- 4345 021a 42F00802 orr r2, r2, #8
- 4346 021e 9A61 str r2, [r3, #24]
- 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
- 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 4347 .loc 1 1906 20
- 4348 0220 7B68 ldr r3, [r7, #4]
- 4349 0222 2022 movs r2, #32
- 4350 0224 DA67 str r2, [r3, #124]
- 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 4351 .loc 1 1907 20
- 4352 0226 7B68 ldr r3, [r7, #4]
- 4353 0228 2022 movs r2, #32
- 4354 022a C3F88020 str r2, [r3, #128]
- 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 4355 .loc 1 1908 26
- 4356 022e 7B68 ldr r3, [r7, #4]
- 4357 0230 0022 movs r2, #0
- 4358 0232 1A66 str r2, [r3, #96]
- 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */
- 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart);
- 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
- 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
- 4359 .loc 1 1916 5
- 4360 0234 7868 ldr r0, [r7, #4]
- 4361 0236 FFF7FEFF bl HAL_UART_AbortCpltCallback
- 4362 .L236:
- 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 4363 .loc 1 1920 10
- 4364 023a 0023 movs r3, #0
- 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 4365 .loc 1 1921 1
- 4366 023c 1846 mov r0, r3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 132
- 4367 023e 8837 adds r7, r7, #136
- 4368 .LCFI103:
- 4369 .cfi_def_cfa_offset 8
- 4370 0240 BD46 mov sp, r7
- 4371 .LCFI104:
- 4372 .cfi_def_cfa_register 13
- 4373 @ sp needed
- 4374 0242 80BD pop {r7, pc}
- 4375 .L239:
- 4376 .align 2
- 4377 .L238:
- 4378 0244 00000000 .word UART_DMATxAbortCallback
- 4379 0248 00000000 .word UART_DMARxAbortCallback
- 4380 .cfi_endproc
- 4381 .LFE149:
- 4383 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
- 4384 .align 1
- 4385 .global HAL_UART_AbortTransmit_IT
- 4386 .syntax unified
- 4387 .thumb
- 4388 .thumb_func
- 4390 HAL_UART_AbortTransmit_IT:
- 4391 .LFB150:
- 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
- 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
- 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
- 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
- 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
- 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
- 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback
- 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
- 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
- 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
- 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 4392 .loc 1 1938 1
- 4393 .cfi_startproc
- 4394 @ args = 0, pretend = 0, frame = 56
- 4395 @ frame_needed = 1, uses_anonymous_args = 0
- 4396 0000 80B5 push {r7, lr}
- 4397 .LCFI105:
- 4398 .cfi_def_cfa_offset 8
- 4399 .cfi_offset 7, -8
- 4400 .cfi_offset 14, -4
- 4401 0002 8EB0 sub sp, sp, #56
- 4402 .LCFI106:
- 4403 .cfi_def_cfa_offset 64
- 4404 0004 00AF add r7, sp, #0
- 4405 .LCFI107:
- 4406 .cfi_def_cfa_register 7
- 4407 0006 7860 str r0, [r7, #4]
- 4408 .L243:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 133
- 4409 .LBB564:
- 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */
- 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
- 4410 .loc 1 1940 3 discriminator 1
- 4411 0008 7B68 ldr r3, [r7, #4]
- 4412 000a 1B68 ldr r3, [r3]
- 4413 000c 3B62 str r3, [r7, #32]
- 4414 .LBB565:
- 4415 .LBB566:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4416 .loc 2 1072 4 discriminator 1
- 4417 000e 3B6A ldr r3, [r7, #32]
- 4418 .syntax unified
- 4419 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4420 0010 53E8003F ldrex r3, [r3]
- 4421 @ 0 "" 2
- 4422 .thumb
- 4423 .syntax unified
- 4424 0014 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4425 .loc 2 1073 10 discriminator 1
- 4426 0016 FB69 ldr r3, [r7, #28]
- 4427 .LBE566:
- 4428 .LBE565:
- 4429 .loc 1 1940 3 discriminator 1
- 4430 0018 23F0C003 bic r3, r3, #192
- 4431 001c 7B63 str r3, [r7, #52]
- 4432 001e 7B68 ldr r3, [r7, #4]
- 4433 0020 1B68 ldr r3, [r3]
- 4434 0022 1A46 mov r2, r3
- 4435 0024 7B6B ldr r3, [r7, #52]
- 4436 0026 FB62 str r3, [r7, #44]
- 4437 0028 BA62 str r2, [r7, #40]
- 4438 .LBB567:
- 4439 .LBB568:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4440 .loc 2 1123 4 discriminator 1
- 4441 002a B96A ldr r1, [r7, #40]
- 4442 002c FA6A ldr r2, [r7, #44]
- 4443 .syntax unified
- 4444 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4445 002e 41E80023 strex r3, r2, [r1]
- 4446 @ 0 "" 2
- 4447 .thumb
- 4448 .syntax unified
- 4449 0032 7B62 str r3, [r7, #36]
- 4450 .loc 2 1124 10 discriminator 1
- 4451 0034 7B6A ldr r3, [r7, #36]
- 4452 .LBE568:
- 4453 .LBE567:
- 4454 .loc 1 1940 3 discriminator 1
- 4455 0036 002B cmp r3, #0
- 4456 0038 E6D1 bne .L243
- 4457 .LBE564:
- 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
- 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 134
- 4458 .loc 1 1943 7
- 4459 003a 7B68 ldr r3, [r7, #4]
- 4460 003c 1B68 ldr r3, [r3]
- 4461 003e 9B68 ldr r3, [r3, #8]
- 4462 0040 03F08003 and r3, r3, #128
- 4463 .loc 1 1943 6
- 4464 0044 802B cmp r3, #128
- 4465 0046 3FD1 bne .L244
- 4466 .L247:
- 4467 .LBB569:
- 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
- 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 4468 .loc 1 1946 5 discriminator 1
- 4469 0048 7B68 ldr r3, [r7, #4]
- 4470 004a 1B68 ldr r3, [r3]
- 4471 004c 0833 adds r3, r3, #8
- 4472 004e FB60 str r3, [r7, #12]
- 4473 .LBB570:
- 4474 .LBB571:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4475 .loc 2 1072 4 discriminator 1
- 4476 0050 FB68 ldr r3, [r7, #12]
- 4477 .syntax unified
- 4478 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4479 0052 53E8003F ldrex r3, [r3]
- 4480 @ 0 "" 2
- 4481 .thumb
- 4482 .syntax unified
- 4483 0056 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4484 .loc 2 1073 10 discriminator 1
- 4485 0058 BB68 ldr r3, [r7, #8]
- 4486 .LBE571:
- 4487 .LBE570:
- 4488 .loc 1 1946 5 discriminator 1
- 4489 005a 23F08003 bic r3, r3, #128
- 4490 005e 3B63 str r3, [r7, #48]
- 4491 0060 7B68 ldr r3, [r7, #4]
- 4492 0062 1B68 ldr r3, [r3]
- 4493 0064 0833 adds r3, r3, #8
- 4494 0066 3A6B ldr r2, [r7, #48]
- 4495 0068 BA61 str r2, [r7, #24]
- 4496 006a 7B61 str r3, [r7, #20]
- 4497 .LBB572:
- 4498 .LBB573:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4499 .loc 2 1123 4 discriminator 1
- 4500 006c 7969 ldr r1, [r7, #20]
- 4501 006e BA69 ldr r2, [r7, #24]
- 4502 .syntax unified
- 4503 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4504 0070 41E80023 strex r3, r2, [r1]
- 4505 @ 0 "" 2
- 4506 .thumb
- 4507 .syntax unified
- 4508 0074 3B61 str r3, [r7, #16]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 135
- 4509 .loc 2 1124 10 discriminator 1
- 4510 0076 3B69 ldr r3, [r7, #16]
- 4511 .LBE573:
- 4512 .LBE572:
- 4513 .loc 1 1946 5 discriminator 1
- 4514 0078 002B cmp r3, #0
- 4515 007a E5D1 bne .L247
- 4516 .LBE569:
- 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
- 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 4517 .loc 1 1949 14
- 4518 007c 7B68 ldr r3, [r7, #4]
- 4519 007e 1B6F ldr r3, [r3, #112]
- 4520 .loc 1 1949 8
- 4521 0080 002B cmp r3, #0
- 4522 0082 13D0 beq .L248
- 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback :
- 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
- 4523 .loc 1 1953 12
- 4524 0084 7B68 ldr r3, [r7, #4]
- 4525 0086 1B6F ldr r3, [r3, #112]
- 4526 .loc 1 1953 40
- 4527 0088 184A ldr r2, .L251
- 4528 008a 5A63 str r2, [r3, #52]
- 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */
- 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
- 4529 .loc 1 1956 11
- 4530 008c 7B68 ldr r3, [r7, #4]
- 4531 008e 1B6F ldr r3, [r3, #112]
- 4532 0090 1846 mov r0, r3
- 4533 0092 FFF7FEFF bl HAL_DMA_Abort_IT
- 4534 0096 0346 mov r3, r0
- 4535 .loc 1 1956 10
- 4536 0098 002B cmp r3, #0
- 4537 009a 22D0 beq .L249
- 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
- 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
- 4538 .loc 1 1959 14
- 4539 009c 7B68 ldr r3, [r7, #4]
- 4540 009e 1B6F ldr r3, [r3, #112]
- 4541 .loc 1 1959 22
- 4542 00a0 5B6B ldr r3, [r3, #52]
- 4543 .loc 1 1959 47
- 4544 00a2 7A68 ldr r2, [r7, #4]
- 4545 00a4 126F ldr r2, [r2, #112]
- 4546 .loc 1 1959 9
- 4547 00a6 1046 mov r0, r2
- 4548 00a8 9847 blx r3
- 4549 .LVL0:
- 4550 00aa 1AE0 b .L249
- 4551 .L248:
- 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 136
- 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */
- 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 4552 .loc 1 1965 26
- 4553 00ac 7B68 ldr r3, [r7, #4]
- 4554 00ae 0022 movs r2, #0
- 4555 00b0 A3F85220 strh r2, [r3, #82] @ movhi
- 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */
- 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
- 4556 .loc 1 1968 20
- 4557 00b4 7B68 ldr r3, [r7, #4]
- 4558 00b6 0022 movs r2, #0
- 4559 00b8 DA66 str r2, [r3, #108]
- 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
- 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 4560 .loc 1 1971 21
- 4561 00ba 7B68 ldr r3, [r7, #4]
- 4562 00bc 2022 movs r2, #32
- 4563 00be DA67 str r2, [r3, #124]
- 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
- 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
- 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
- 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
- 4564 .loc 1 1979 7
- 4565 00c0 7868 ldr r0, [r7, #4]
- 4566 00c2 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
- 4567 00c6 0CE0 b .L249
- 4568 .L244:
- 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */
- 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 4569 .loc 1 1986 24
- 4570 00c8 7B68 ldr r3, [r7, #4]
- 4571 00ca 0022 movs r2, #0
- 4572 00cc A3F85220 strh r2, [r3, #82] @ movhi
- 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */
- 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
- 4573 .loc 1 1989 18
- 4574 00d0 7B68 ldr r3, [r7, #4]
- 4575 00d2 0022 movs r2, #0
- 4576 00d4 DA66 str r2, [r3, #108]
- 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 137
- 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 4577 .loc 1 1993 19
- 4578 00d6 7B68 ldr r3, [r7, #4]
- 4579 00d8 2022 movs r2, #32
- 4580 00da DA67 str r2, [r3, #124]
- 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
- 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
- 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
- 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
- 4581 .loc 1 2001 5
- 4582 00dc 7868 ldr r0, [r7, #4]
- 4583 00de FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
- 4584 .L249:
- 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 4585 .loc 1 2005 10
- 4586 00e2 0023 movs r3, #0
- 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 4587 .loc 1 2006 1
- 4588 00e4 1846 mov r0, r3
- 4589 00e6 3837 adds r7, r7, #56
- 4590 .LCFI108:
- 4591 .cfi_def_cfa_offset 8
- 4592 00e8 BD46 mov sp, r7
- 4593 .LCFI109:
- 4594 .cfi_def_cfa_register 13
- 4595 @ sp needed
- 4596 00ea 80BD pop {r7, pc}
- 4597 .L252:
- 4598 .align 2
- 4599 .L251:
- 4600 00ec 00000000 .word UART_DMATxOnlyAbortCallback
- 4601 .cfi_endproc
- 4602 .LFE150:
- 4604 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
- 4605 .align 1
- 4606 .global HAL_UART_AbortReceive_IT
- 4607 .syntax unified
- 4608 .thumb
- 4609 .thumb_func
- 4611 HAL_UART_AbortReceive_IT:
- 4612 .LFB151:
- 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
- 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
- 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations :
- 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
- 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 138
- 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY
- 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback
- 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
- 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
- 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
- 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 4613 .loc 1 2023 1
- 4614 .cfi_startproc
- 4615 @ args = 0, pretend = 0, frame = 104
- 4616 @ frame_needed = 1, uses_anonymous_args = 0
- 4617 0000 80B5 push {r7, lr}
- 4618 .LCFI110:
- 4619 .cfi_def_cfa_offset 8
- 4620 .cfi_offset 7, -8
- 4621 .cfi_offset 14, -4
- 4622 0002 9AB0 sub sp, sp, #104
- 4623 .LCFI111:
- 4624 .cfi_def_cfa_offset 112
- 4625 0004 00AF add r7, sp, #0
- 4626 .LCFI112:
- 4627 .cfi_def_cfa_register 7
- 4628 0006 7860 str r0, [r7, #4]
- 4629 .L256:
- 4630 .LBB574:
- 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 4631 .loc 1 2025 3 discriminator 1
- 4632 0008 7B68 ldr r3, [r7, #4]
- 4633 000a 1B68 ldr r3, [r3]
- 4634 000c BB64 str r3, [r7, #72]
- 4635 .LBB575:
- 4636 .LBB576:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4637 .loc 2 1072 4 discriminator 1
- 4638 000e BB6C ldr r3, [r7, #72]
- 4639 .syntax unified
- 4640 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4641 0010 53E8003F ldrex r3, [r3]
- 4642 @ 0 "" 2
- 4643 .thumb
- 4644 .syntax unified
- 4645 0014 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4646 .loc 2 1073 10 discriminator 1
- 4647 0016 7B6C ldr r3, [r7, #68]
- 4648 .LBE576:
- 4649 .LBE575:
- 4650 .loc 1 2025 3 discriminator 1
- 4651 0018 23F49073 bic r3, r3, #288
- 4652 001c 7B66 str r3, [r7, #100]
- 4653 001e 7B68 ldr r3, [r7, #4]
- 4654 0020 1B68 ldr r3, [r3]
- 4655 0022 1A46 mov r2, r3
- 4656 0024 7B6E ldr r3, [r7, #100]
- 4657 0026 7B65 str r3, [r7, #84]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 139
- 4658 0028 3A65 str r2, [r7, #80]
- 4659 .LBB577:
- 4660 .LBB578:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4661 .loc 2 1123 4 discriminator 1
- 4662 002a 396D ldr r1, [r7, #80]
- 4663 002c 7A6D ldr r2, [r7, #84]
- 4664 .syntax unified
- 4665 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4666 002e 41E80023 strex r3, r2, [r1]
- 4667 @ 0 "" 2
- 4668 .thumb
- 4669 .syntax unified
- 4670 0032 FB64 str r3, [r7, #76]
- 4671 .loc 2 1124 10 discriminator 1
- 4672 0034 FB6C ldr r3, [r7, #76]
- 4673 .LBE578:
- 4674 .LBE577:
- 4675 .loc 1 2025 3 discriminator 1
- 4676 0036 002B cmp r3, #0
- 4677 0038 E6D1 bne .L256
- 4678 .L259:
- 4679 .LBE574:
- 4680 .LBB579:
- 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 4681 .loc 1 2026 3 discriminator 1
- 4682 003a 7B68 ldr r3, [r7, #4]
- 4683 003c 1B68 ldr r3, [r3]
- 4684 003e 0833 adds r3, r3, #8
- 4685 0040 7B63 str r3, [r7, #52]
- 4686 .LBB580:
- 4687 .LBB581:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4688 .loc 2 1072 4 discriminator 1
- 4689 0042 7B6B ldr r3, [r7, #52]
- 4690 .syntax unified
- 4691 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4692 0044 53E8003F ldrex r3, [r3]
- 4693 @ 0 "" 2
- 4694 .thumb
- 4695 .syntax unified
- 4696 0048 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4697 .loc 2 1073 10 discriminator 1
- 4698 004a 3B6B ldr r3, [r7, #48]
- 4699 .LBE581:
- 4700 .LBE580:
- 4701 .loc 1 2026 3 discriminator 1
- 4702 004c 23F00103 bic r3, r3, #1
- 4703 0050 3B66 str r3, [r7, #96]
- 4704 0052 7B68 ldr r3, [r7, #4]
- 4705 0054 1B68 ldr r3, [r3]
- 4706 0056 0833 adds r3, r3, #8
- 4707 0058 3A6E ldr r2, [r7, #96]
- 4708 005a 3A64 str r2, [r7, #64]
- 4709 005c FB63 str r3, [r7, #60]
- 4710 .LBB582:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 140
- 4711 .LBB583:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4712 .loc 2 1123 4 discriminator 1
- 4713 005e F96B ldr r1, [r7, #60]
- 4714 0060 3A6C ldr r2, [r7, #64]
- 4715 .syntax unified
- 4716 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4717 0062 41E80023 strex r3, r2, [r1]
- 4718 @ 0 "" 2
- 4719 .thumb
- 4720 .syntax unified
- 4721 0066 BB63 str r3, [r7, #56]
- 4722 .loc 2 1124 10 discriminator 1
- 4723 0068 BB6B ldr r3, [r7, #56]
- 4724 .LBE583:
- 4725 .LBE582:
- 4726 .loc 1 2026 3 discriminator 1
- 4727 006a 002B cmp r3, #0
- 4728 006c E5D1 bne .L259
- 4729 .LBE579:
- 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 4730 .loc 1 2029 12
- 4731 006e 7B68 ldr r3, [r7, #4]
- 4732 0070 1B6E ldr r3, [r3, #96]
- 4733 .loc 1 2029 6
- 4734 0072 012B cmp r3, #1
- 4735 0074 18D1 bne .L260
- 4736 .L263:
- 4737 .LBB584:
- 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 4738 .loc 1 2031 5 discriminator 1
- 4739 0076 7B68 ldr r3, [r7, #4]
- 4740 0078 1B68 ldr r3, [r3]
- 4741 007a 3B62 str r3, [r7, #32]
- 4742 .LBB585:
- 4743 .LBB586:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4744 .loc 2 1072 4 discriminator 1
- 4745 007c 3B6A ldr r3, [r7, #32]
- 4746 .syntax unified
- 4747 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4748 007e 53E8003F ldrex r3, [r3]
- 4749 @ 0 "" 2
- 4750 .thumb
- 4751 .syntax unified
- 4752 0082 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4753 .loc 2 1073 10 discriminator 1
- 4754 0084 FB69 ldr r3, [r7, #28]
- 4755 .LBE586:
- 4756 .LBE585:
- 4757 .loc 1 2031 5 discriminator 1
- 4758 0086 23F01003 bic r3, r3, #16
- 4759 008a FB65 str r3, [r7, #92]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 141
- 4760 008c 7B68 ldr r3, [r7, #4]
- 4761 008e 1B68 ldr r3, [r3]
- 4762 0090 1A46 mov r2, r3
- 4763 0092 FB6D ldr r3, [r7, #92]
- 4764 0094 FB62 str r3, [r7, #44]
- 4765 0096 BA62 str r2, [r7, #40]
- 4766 .LBB587:
- 4767 .LBB588:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4768 .loc 2 1123 4 discriminator 1
- 4769 0098 B96A ldr r1, [r7, #40]
- 4770 009a FA6A ldr r2, [r7, #44]
- 4771 .syntax unified
- 4772 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4773 009c 41E80023 strex r3, r2, [r1]
- 4774 @ 0 "" 2
- 4775 .thumb
- 4776 .syntax unified
- 4777 00a0 7B62 str r3, [r7, #36]
- 4778 .loc 2 1124 10 discriminator 1
- 4779 00a2 7B6A ldr r3, [r7, #36]
- 4780 .LBE588:
- 4781 .LBE587:
- 4782 .loc 1 2031 5 discriminator 1
- 4783 00a4 002B cmp r3, #0
- 4784 00a6 E6D1 bne .L263
- 4785 .L260:
- 4786 .LBE584:
- 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
- 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 4787 .loc 1 2035 7
- 4788 00a8 7B68 ldr r3, [r7, #4]
- 4789 00aa 1B68 ldr r3, [r3]
- 4790 00ac 9B68 ldr r3, [r3, #8]
- 4791 00ae 03F04003 and r3, r3, #64
- 4792 .loc 1 2035 6
- 4793 00b2 402B cmp r3, #64
- 4794 00b4 4FD1 bne .L264
- 4795 .L267:
- 4796 .LBB589:
- 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 4797 .loc 1 2038 5 discriminator 1
- 4798 00b6 7B68 ldr r3, [r7, #4]
- 4799 00b8 1B68 ldr r3, [r3]
- 4800 00ba 0833 adds r3, r3, #8
- 4801 00bc FB60 str r3, [r7, #12]
- 4802 .LBB590:
- 4803 .LBB591:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4804 .loc 2 1072 4 discriminator 1
- 4805 00be FB68 ldr r3, [r7, #12]
- 4806 .syntax unified
- 4807 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 142
- 4808 00c0 53E8003F ldrex r3, [r3]
- 4809 @ 0 "" 2
- 4810 .thumb
- 4811 .syntax unified
- 4812 00c4 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4813 .loc 2 1073 10 discriminator 1
- 4814 00c6 BB68 ldr r3, [r7, #8]
- 4815 .LBE591:
- 4816 .LBE590:
- 4817 .loc 1 2038 5 discriminator 1
- 4818 00c8 23F04003 bic r3, r3, #64
- 4819 00cc BB65 str r3, [r7, #88]
- 4820 00ce 7B68 ldr r3, [r7, #4]
- 4821 00d0 1B68 ldr r3, [r3]
- 4822 00d2 0833 adds r3, r3, #8
- 4823 00d4 BA6D ldr r2, [r7, #88]
- 4824 00d6 BA61 str r2, [r7, #24]
- 4825 00d8 7B61 str r3, [r7, #20]
- 4826 .LBB592:
- 4827 .LBB593:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4828 .loc 2 1123 4 discriminator 1
- 4829 00da 7969 ldr r1, [r7, #20]
- 4830 00dc BA69 ldr r2, [r7, #24]
- 4831 .syntax unified
- 4832 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4833 00de 41E80023 strex r3, r2, [r1]
- 4834 @ 0 "" 2
- 4835 .thumb
- 4836 .syntax unified
- 4837 00e2 3B61 str r3, [r7, #16]
- 4838 .loc 2 1124 10 discriminator 1
- 4839 00e4 3B69 ldr r3, [r7, #16]
- 4840 .LBE593:
- 4841 .LBE592:
- 4842 .loc 1 2038 5 discriminator 1
- 4843 00e6 002B cmp r3, #0
- 4844 00e8 E5D1 bne .L267
- 4845 .LBE589:
- 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
- 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 4846 .loc 1 2041 14
- 4847 00ea 7B68 ldr r3, [r7, #4]
- 4848 00ec 5B6F ldr r3, [r3, #116]
- 4849 .loc 1 2041 8
- 4850 00ee 002B cmp r3, #0
- 4851 00f0 13D0 beq .L268
- 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback :
- 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
- 4852 .loc 1 2045 12
- 4853 00f2 7B68 ldr r3, [r7, #4]
- 4854 00f4 5B6F ldr r3, [r3, #116]
- 4855 .loc 1 2045 40
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 143
- 4856 00f6 254A ldr r2, .L271
- 4857 00f8 5A63 str r2, [r3, #52]
- 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */
- 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
- 4858 .loc 1 2048 11
- 4859 00fa 7B68 ldr r3, [r7, #4]
- 4860 00fc 5B6F ldr r3, [r3, #116]
- 4861 00fe 1846 mov r0, r3
- 4862 0100 FFF7FEFF bl HAL_DMA_Abort_IT
- 4863 0104 0346 mov r3, r0
- 4864 .loc 1 2048 10
- 4865 0106 002B cmp r3, #0
- 4866 0108 3AD0 beq .L269
- 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
- 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
- 4867 .loc 1 2051 14
- 4868 010a 7B68 ldr r3, [r7, #4]
- 4869 010c 5B6F ldr r3, [r3, #116]
- 4870 .loc 1 2051 22
- 4871 010e 5B6B ldr r3, [r3, #52]
- 4872 .loc 1 2051 47
- 4873 0110 7A68 ldr r2, [r7, #4]
- 4874 0112 526F ldr r2, [r2, #116]
- 4875 .loc 1 2051 9
- 4876 0114 1046 mov r0, r2
- 4877 0116 9847 blx r3
- 4878 .LVL1:
- 4879 0118 32E0 b .L269
- 4880 .L268:
- 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */
- 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 4881 .loc 1 2057 26
- 4882 011a 7B68 ldr r3, [r7, #4]
- 4883 011c 0022 movs r2, #0
- 4884 011e A3F85A20 strh r2, [r3, #90] @ movhi
- 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
- 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
- 4885 .loc 1 2060 25
- 4886 0122 7B68 ldr r3, [r7, #4]
- 4887 0124 0022 movs r2, #0
- 4888 0126 5A65 str r2, [r3, #84]
- 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F
- 4889 .loc 1 2063 7
- 4890 0128 7B68 ldr r3, [r7, #4]
- 4891 012a 1B68 ldr r3, [r3]
- 4892 012c 0F22 movs r2, #15
- 4893 012e 1A62 str r2, [r3, #32]
- 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 144
- 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
- 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 4894 .loc 1 2066 7
- 4895 0130 7B68 ldr r3, [r7, #4]
- 4896 0132 1B68 ldr r3, [r3]
- 4897 0134 9A69 ldr r2, [r3, #24]
- 4898 0136 7B68 ldr r3, [r7, #4]
- 4899 0138 1B68 ldr r3, [r3]
- 4900 013a 42F00802 orr r2, r2, #8
- 4901 013e 9A61 str r2, [r3, #24]
- 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 4902 .loc 1 2069 22
- 4903 0140 7B68 ldr r3, [r7, #4]
- 4904 0142 2022 movs r2, #32
- 4905 0144 C3F88020 str r2, [r3, #128]
- 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 4906 .loc 1 2070 28
- 4907 0148 7B68 ldr r3, [r7, #4]
- 4908 014a 0022 movs r2, #0
- 4909 014c 1A66 str r2, [r3, #96]
- 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
- 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
- 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
- 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
- 4910 .loc 1 2078 7
- 4911 014e 7868 ldr r0, [r7, #4]
- 4912 0150 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
- 4913 0154 14E0 b .L269
- 4914 .L264:
- 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */
- 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 4915 .loc 1 2085 24
- 4916 0156 7B68 ldr r3, [r7, #4]
- 4917 0158 0022 movs r2, #0
- 4918 015a A3F85A20 strh r2, [r3, #90] @ movhi
- 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
- 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
- 4919 .loc 1 2088 23
- 4920 015e 7B68 ldr r3, [r7, #4]
- 4921 0160 0022 movs r2, #0
- 4922 0162 5A65 str r2, [r3, #84]
- 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
- 4923 .loc 1 2091 5
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 145
- 4924 0164 7B68 ldr r3, [r7, #4]
- 4925 0166 1B68 ldr r3, [r3]
- 4926 0168 0F22 movs r2, #15
- 4927 016a 1A62 str r2, [r3, #32]
- 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 4928 .loc 1 2094 20
- 4929 016c 7B68 ldr r3, [r7, #4]
- 4930 016e 2022 movs r2, #32
- 4931 0170 C3F88020 str r2, [r3, #128]
- 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 4932 .loc 1 2095 26
- 4933 0174 7B68 ldr r3, [r7, #4]
- 4934 0176 0022 movs r2, #0
- 4935 0178 1A66 str r2, [r3, #96]
- 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
- 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
- 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
- 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
- 4936 .loc 1 2103 5
- 4937 017a 7868 ldr r0, [r7, #4]
- 4938 017c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
- 4939 .L269:
- 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 4940 .loc 1 2107 10
- 4941 0180 0023 movs r3, #0
- 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 4942 .loc 1 2108 1
- 4943 0182 1846 mov r0, r3
- 4944 0184 6837 adds r7, r7, #104
- 4945 .LCFI113:
- 4946 .cfi_def_cfa_offset 8
- 4947 0186 BD46 mov sp, r7
- 4948 .LCFI114:
- 4949 .cfi_def_cfa_register 13
- 4950 @ sp needed
- 4951 0188 80BD pop {r7, pc}
- 4952 .L272:
- 4953 018a 00BF .align 2
- 4954 .L271:
- 4955 018c 00000000 .word UART_DMARxOnlyAbortCallback
- 4956 .cfi_endproc
- 4957 .LFE151:
- 4959 .section .text.HAL_UART_IRQHandler,"ax",%progbits
- 4960 .align 1
- 4961 .global HAL_UART_IRQHandler
- 4962 .syntax unified
- 4963 .thumb
- 4964 .thumb_func
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 146
- 4966 HAL_UART_IRQHandler:
- 4967 .LFB152:
- 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Handle UART interrupt request.
- 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
- 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 4968 .loc 1 2116 1
- 4969 .cfi_startproc
- 4970 @ args = 0, pretend = 0, frame = 232
- 4971 @ frame_needed = 1, uses_anonymous_args = 0
- 4972 0000 80B5 push {r7, lr}
- 4973 .LCFI115:
- 4974 .cfi_def_cfa_offset 8
- 4975 .cfi_offset 7, -8
- 4976 .cfi_offset 14, -4
- 4977 0002 BAB0 sub sp, sp, #232
- 4978 .LCFI116:
- 4979 .cfi_def_cfa_offset 240
- 4980 0004 00AF add r7, sp, #0
- 4981 .LCFI117:
- 4982 .cfi_def_cfa_register 7
- 4983 0006 7860 str r0, [r7, #4]
- 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
- 4984 .loc 1 2117 25
- 4985 0008 7B68 ldr r3, [r7, #4]
- 4986 000a 1B68 ldr r3, [r3]
- 4987 .loc 1 2117 12
- 4988 000c DB69 ldr r3, [r3, #28]
- 4989 000e C7F8E430 str r3, [r7, #228]
- 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
- 4990 .loc 1 2118 25
- 4991 0012 7B68 ldr r3, [r7, #4]
- 4992 0014 1B68 ldr r3, [r3]
- 4993 .loc 1 2118 12
- 4994 0016 1B68 ldr r3, [r3]
- 4995 0018 C7F8E030 str r3, [r7, #224]
- 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
- 4996 .loc 1 2119 25
- 4997 001c 7B68 ldr r3, [r7, #4]
- 4998 001e 1B68 ldr r3, [r3]
- 4999 .loc 1 2119 12
- 5000 0020 9B68 ldr r3, [r3, #8]
- 5001 0022 C7F8DC30 str r3, [r7, #220]
- 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorflags;
- 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorcode;
- 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If no error occurs */
- 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE |
- 5002 .loc 1 2125 14
- 5003 0026 D7F8E420 ldr r2, [r7, #228]
- 5004 002a 40F60F03 movw r3, #2063
- 5005 002e 1340 ands r3, r3, r2
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 147
- 5006 0030 C7F8D830 str r3, [r7, #216]
- 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (errorflags == 0U)
- 5007 .loc 1 2126 6
- 5008 0034 D7F8D830 ldr r3, [r7, #216]
- 5009 0038 002B cmp r3, #0
- 5010 003a 15D1 bne .L274
- 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/
- 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
- 5011 .loc 1 2129 20
- 5012 003c D7F8E430 ldr r3, [r7, #228]
- 5013 0040 03F02003 and r3, r3, #32
- 5014 .loc 1 2129 8
- 5015 0044 002B cmp r3, #0
- 5016 0046 0FD0 beq .L274
- 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
- 5017 .loc 1 2130 21
- 5018 0048 D7F8E030 ldr r3, [r7, #224]
- 5019 004c 03F02003 and r3, r3, #32
- 5020 .loc 1 2130 9
- 5021 0050 002B cmp r3, #0
- 5022 0052 09D0 beq .L274
- 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL)
- 5023 .loc 1 2132 16
- 5024 0054 7B68 ldr r3, [r7, #4]
- 5025 0056 9B6E ldr r3, [r3, #104]
- 5026 .loc 1 2132 10
- 5027 0058 002B cmp r3, #0
- 5028 005a 00F0AB82 beq .L324
- 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart);
- 5029 .loc 1 2134 14
- 5030 005e 7B68 ldr r3, [r7, #4]
- 5031 0060 9B6E ldr r3, [r3, #104]
- 5032 .loc 1 2134 9
- 5033 0062 7868 ldr r0, [r7, #4]
- 5034 0064 9847 blx r3
- 5035 .LVL2:
- 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 5036 .loc 1 2136 7
- 5037 0066 A5E2 b .L324
- 5038 .L274:
- 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If some errors occur */
- 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((errorflags != 0U)
- 5039 .loc 1 2141 6
- 5040 0068 D7F8D830 ldr r3, [r7, #216]
- 5041 006c 002B cmp r3, #0
- 5042 006e 00F01781 beq .L277
- 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U)
- 5043 .loc 1 2142 20
- 5044 0072 D7F8DC30 ldr r3, [r7, #220]
- 5045 0076 03F00103 and r3, r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 148
- 5046 .loc 1 2142 7
- 5047 007a 002B cmp r3, #0
- 5048 007c 06D1 bne .L278
- 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
- 5049 .loc 1 2143 23
- 5050 007e D7F8E020 ldr r2, [r7, #224]
- 5051 0082 854B ldr r3, .L330
- 5052 0084 1340 ands r3, r3, r2
- 5053 .loc 1 2143 11
- 5054 0086 002B cmp r3, #0
- 5055 0088 00F00A81 beq .L277
- 5056 .L278:
- 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
- 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
- 5057 .loc 1 2146 20
- 5058 008c D7F8E430 ldr r3, [r7, #228]
- 5059 0090 03F00103 and r3, r3, #1
- 5060 .loc 1 2146 8
- 5061 0094 002B cmp r3, #0
- 5062 0096 11D0 beq .L279
- 5063 .loc 1 2146 55 discriminator 1
- 5064 0098 D7F8E030 ldr r3, [r7, #224]
- 5065 009c 03F48073 and r3, r3, #256
- 5066 .loc 1 2146 43 discriminator 1
- 5067 00a0 002B cmp r3, #0
- 5068 00a2 0BD0 beq .L279
- 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
- 5069 .loc 1 2148 7
- 5070 00a4 7B68 ldr r3, [r7, #4]
- 5071 00a6 1B68 ldr r3, [r3]
- 5072 00a8 0122 movs r2, #1
- 5073 00aa 1A62 str r2, [r3, #32]
- 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
- 5074 .loc 1 2150 24
- 5075 00ac 7B68 ldr r3, [r7, #4]
- 5076 00ae D3F88430 ldr r3, [r3, #132]
- 5077 00b2 43F00102 orr r2, r3, #1
- 5078 00b6 7B68 ldr r3, [r7, #4]
- 5079 00b8 C3F88420 str r2, [r3, #132]
- 5080 .L279:
- 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
- 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
- 5081 .loc 1 2154 20
- 5082 00bc D7F8E430 ldr r3, [r7, #228]
- 5083 00c0 03F00203 and r3, r3, #2
- 5084 .loc 1 2154 8
- 5085 00c4 002B cmp r3, #0
- 5086 00c6 11D0 beq .L280
- 5087 .loc 1 2154 55 discriminator 1
- 5088 00c8 D7F8DC30 ldr r3, [r7, #220]
- 5089 00cc 03F00103 and r3, r3, #1
- 5090 .loc 1 2154 43 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 149
- 5091 00d0 002B cmp r3, #0
- 5092 00d2 0BD0 beq .L280
- 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
- 5093 .loc 1 2156 7
- 5094 00d4 7B68 ldr r3, [r7, #4]
- 5095 00d6 1B68 ldr r3, [r3]
- 5096 00d8 0222 movs r2, #2
- 5097 00da 1A62 str r2, [r3, #32]
- 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
- 5098 .loc 1 2158 24
- 5099 00dc 7B68 ldr r3, [r7, #4]
- 5100 00de D3F88430 ldr r3, [r3, #132]
- 5101 00e2 43F00402 orr r2, r3, #4
- 5102 00e6 7B68 ldr r3, [r7, #4]
- 5103 00e8 C3F88420 str r2, [r3, #132]
- 5104 .L280:
- 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
- 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
- 5105 .loc 1 2162 20
- 5106 00ec D7F8E430 ldr r3, [r7, #228]
- 5107 00f0 03F00403 and r3, r3, #4
- 5108 .loc 1 2162 8
- 5109 00f4 002B cmp r3, #0
- 5110 00f6 11D0 beq .L281
- 5111 .loc 1 2162 55 discriminator 1
- 5112 00f8 D7F8DC30 ldr r3, [r7, #220]
- 5113 00fc 03F00103 and r3, r3, #1
- 5114 .loc 1 2162 43 discriminator 1
- 5115 0100 002B cmp r3, #0
- 5116 0102 0BD0 beq .L281
- 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
- 5117 .loc 1 2164 7
- 5118 0104 7B68 ldr r3, [r7, #4]
- 5119 0106 1B68 ldr r3, [r3]
- 5120 0108 0422 movs r2, #4
- 5121 010a 1A62 str r2, [r3, #32]
- 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
- 5122 .loc 1 2166 24
- 5123 010c 7B68 ldr r3, [r7, #4]
- 5124 010e D3F88430 ldr r3, [r3, #132]
- 5125 0112 43F00202 orr r2, r3, #2
- 5126 0116 7B68 ldr r3, [r7, #4]
- 5127 0118 C3F88420 str r2, [r3, #132]
- 5128 .L281:
- 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/
- 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U)
- 5129 .loc 1 2170 20
- 5130 011c D7F8E430 ldr r3, [r7, #228]
- 5131 0120 03F00803 and r3, r3, #8
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 150
- 5132 .loc 1 2170 8
- 5133 0124 002B cmp r3, #0
- 5134 0126 17D0 beq .L282
- 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
- 5135 .loc 1 2171 22
- 5136 0128 D7F8E030 ldr r3, [r7, #224]
- 5137 012c 03F02003 and r3, r3, #32
- 5138 .loc 1 2171 9
- 5139 0130 002B cmp r3, #0
- 5140 0132 05D1 bne .L283
- 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
- 5141 .loc 1 2172 22 discriminator 1
- 5142 0134 D7F8DC30 ldr r3, [r7, #220]
- 5143 0138 03F00103 and r3, r3, #1
- 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
- 5144 .loc 1 2171 49 discriminator 1
- 5145 013c 002B cmp r3, #0
- 5146 013e 0BD0 beq .L282
- 5147 .L283:
- 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
- 5148 .loc 1 2174 7
- 5149 0140 7B68 ldr r3, [r7, #4]
- 5150 0142 1B68 ldr r3, [r3]
- 5151 0144 0822 movs r2, #8
- 5152 0146 1A62 str r2, [r3, #32]
- 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
- 5153 .loc 1 2176 24
- 5154 0148 7B68 ldr r3, [r7, #4]
- 5155 014a D3F88430 ldr r3, [r3, #132]
- 5156 014e 43F00802 orr r2, r3, #8
- 5157 0152 7B68 ldr r3, [r7, #4]
- 5158 0154 C3F88420 str r2, [r3, #132]
- 5159 .L282:
- 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/
- 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U))
- 5160 .loc 1 2180 20
- 5161 0158 D7F8E430 ldr r3, [r7, #228]
- 5162 015c 03F40063 and r3, r3, #2048
- 5163 .loc 1 2180 8
- 5164 0160 002B cmp r3, #0
- 5165 0162 12D0 beq .L284
- 5166 .loc 1 2180 57 discriminator 1
- 5167 0164 D7F8E030 ldr r3, [r7, #224]
- 5168 0168 03F08063 and r3, r3, #67108864
- 5169 .loc 1 2180 45 discriminator 1
- 5170 016c 002B cmp r3, #0
- 5171 016e 0CD0 beq .L284
- 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
- 5172 .loc 1 2182 7
- 5173 0170 7B68 ldr r3, [r7, #4]
- 5174 0172 1B68 ldr r3, [r3]
- 5175 0174 4FF40062 mov r2, #2048
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 151
- 5176 0178 1A62 str r2, [r3, #32]
- 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO;
- 5177 .loc 1 2184 24
- 5178 017a 7B68 ldr r3, [r7, #4]
- 5179 017c D3F88430 ldr r3, [r3, #132]
- 5180 0180 43F02002 orr r2, r3, #32
- 5181 0184 7B68 ldr r3, [r7, #4]
- 5182 0186 C3F88420 str r2, [r3, #132]
- 5183 .L284:
- 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/
- 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
- 5184 .loc 1 2188 14
- 5185 018a 7B68 ldr r3, [r7, #4]
- 5186 018c D3F88430 ldr r3, [r3, #132]
- 5187 .loc 1 2188 8
- 5188 0190 002B cmp r3, #0
- 5189 0192 00F01182 beq .L325
- 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/
- 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
- 5190 .loc 1 2191 22
- 5191 0196 D7F8E430 ldr r3, [r7, #228]
- 5192 019a 03F02003 and r3, r3, #32
- 5193 .loc 1 2191 10
- 5194 019e 002B cmp r3, #0
- 5195 01a0 0DD0 beq .L286
- 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
- 5196 .loc 1 2192 23
- 5197 01a2 D7F8E030 ldr r3, [r7, #224]
- 5198 01a6 03F02003 and r3, r3, #32
- 5199 .loc 1 2192 11
- 5200 01aa 002B cmp r3, #0
- 5201 01ac 07D0 beq .L286
- 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL)
- 5202 .loc 1 2194 18
- 5203 01ae 7B68 ldr r3, [r7, #4]
- 5204 01b0 9B6E ldr r3, [r3, #104]
- 5205 .loc 1 2194 12
- 5206 01b2 002B cmp r3, #0
- 5207 01b4 03D0 beq .L286
- 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart);
- 5208 .loc 1 2196 16
- 5209 01b6 7B68 ldr r3, [r7, #4]
- 5210 01b8 9B6E ldr r3, [r3, #104]
- 5211 .loc 1 2196 11
- 5212 01ba 7868 ldr r0, [r7, #4]
- 5213 01bc 9847 blx r3
- 5214 .LVL3:
- 5215 .L286:
- 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 152
- 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Error is to be considered as blocking :
- 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Receiver Timeout error in Reception
- 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Overrun error in Reception
- 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - any error occurs in DMA mode reception
- 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** errorcode = huart->ErrorCode;
- 5216 .loc 1 2205 17
- 5217 01be 7B68 ldr r3, [r7, #4]
- 5218 01c0 D3F88430 ldr r3, [r3, #132]
- 5219 01c4 C7F8D430 str r3, [r7, #212]
- 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
- 5220 .loc 1 2206 12
- 5221 01c8 7B68 ldr r3, [r7, #4]
- 5222 01ca 1B68 ldr r3, [r3]
- 5223 01cc 9B68 ldr r3, [r3, #8]
- 5224 01ce 03F04003 and r3, r3, #64
- 5225 .loc 1 2206 10
- 5226 01d2 402B cmp r3, #64
- 5227 01d4 05D0 beq .L287
- 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
- 5228 .loc 1 2207 23 discriminator 1
- 5229 01d6 D7F8D430 ldr r3, [r7, #212]
- 5230 01da 03F02803 and r3, r3, #40
- 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
- 5231 .loc 1 2206 66 discriminator 1
- 5232 01de 002B cmp r3, #0
- 5233 01e0 4FD0 beq .L288
- 5234 .L287:
- 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted
- 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
- 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
- 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 5235 .loc 1 2212 9
- 5236 01e2 7868 ldr r0, [r7, #4]
- 5237 01e4 FFF7FEFF bl UART_EndRxTransfer
- 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
- 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 5238 .loc 1 2215 13
- 5239 01e8 7B68 ldr r3, [r7, #4]
- 5240 01ea 1B68 ldr r3, [r3]
- 5241 01ec 9B68 ldr r3, [r3, #8]
- 5242 01ee 03F04003 and r3, r3, #64
- 5243 .loc 1 2215 12
- 5244 01f2 402B cmp r3, #64
- 5245 01f4 41D1 bne .L289
- 5246 .L292:
- 5247 .LBB594:
- 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 5248 .loc 1 2218 11 discriminator 1
- 5249 01f6 7B68 ldr r3, [r7, #4]
- 5250 01f8 1B68 ldr r3, [r3]
- 5251 01fa 0833 adds r3, r3, #8
- 5252 01fc C7F89C30 str r3, [r7, #156]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 153
- 5253 .LBB595:
- 5254 .LBB596:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5255 .loc 2 1072 4 discriminator 1
- 5256 0200 D7F89C30 ldr r3, [r7, #156]
- 5257 .syntax unified
- 5258 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5259 0204 53E8003F ldrex r3, [r3]
- 5260 @ 0 "" 2
- 5261 .thumb
- 5262 .syntax unified
- 5263 0208 C7F89830 str r3, [r7, #152]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5264 .loc 2 1073 10 discriminator 1
- 5265 020c D7F89830 ldr r3, [r7, #152]
- 5266 .LBE596:
- 5267 .LBE595:
- 5268 .loc 1 2218 11 discriminator 1
- 5269 0210 23F04003 bic r3, r3, #64
- 5270 0214 C7F8D030 str r3, [r7, #208]
- 5271 0218 7B68 ldr r3, [r7, #4]
- 5272 021a 1B68 ldr r3, [r3]
- 5273 021c 0833 adds r3, r3, #8
- 5274 021e D7F8D020 ldr r2, [r7, #208]
- 5275 0222 C7F8A820 str r2, [r7, #168]
- 5276 0226 C7F8A430 str r3, [r7, #164]
- 5277 .LBB597:
- 5278 .LBB598:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5279 .loc 2 1123 4 discriminator 1
- 5280 022a D7F8A410 ldr r1, [r7, #164]
- 5281 022e D7F8A820 ldr r2, [r7, #168]
- 5282 .syntax unified
- 5283 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5284 0232 41E80023 strex r3, r2, [r1]
- 5285 @ 0 "" 2
- 5286 .thumb
- 5287 .syntax unified
- 5288 0236 C7F8A030 str r3, [r7, #160]
- 5289 .loc 2 1124 10 discriminator 1
- 5290 023a D7F8A030 ldr r3, [r7, #160]
- 5291 .LBE598:
- 5292 .LBE597:
- 5293 .loc 1 2218 11 discriminator 1
- 5294 023e 002B cmp r3, #0
- 5295 0240 D9D1 bne .L292
- 5296 .LBE594:
- 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
- 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 5297 .loc 1 2221 20
- 5298 0242 7B68 ldr r3, [r7, #4]
- 5299 0244 5B6F ldr r3, [r3, #116]
- 5300 .loc 1 2221 14
- 5301 0246 002B cmp r3, #0
- 5302 0248 13D0 beq .L293
- 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 154
- 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback :
- 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
- 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
- 5303 .loc 1 2225 18
- 5304 024a 7B68 ldr r3, [r7, #4]
- 5305 024c 5B6F ldr r3, [r3, #116]
- 5306 .loc 1 2225 46
- 5307 024e 134A ldr r2, .L330+4
- 5308 0250 5A63 str r2, [r3, #52]
- 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */
- 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
- 5309 .loc 1 2228 17
- 5310 0252 7B68 ldr r3, [r7, #4]
- 5311 0254 5B6F ldr r3, [r3, #116]
- 5312 0256 1846 mov r0, r3
- 5313 0258 FFF7FEFF bl HAL_DMA_Abort_IT
- 5314 025c 0346 mov r3, r0
- 5315 .loc 1 2228 16
- 5316 025e 002B cmp r3, #0
- 5317 0260 17D0 beq .L326
- 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
- 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
- 5318 .loc 1 2231 20
- 5319 0262 7B68 ldr r3, [r7, #4]
- 5320 0264 5B6F ldr r3, [r3, #116]
- 5321 .loc 1 2231 28
- 5322 0266 5B6B ldr r3, [r3, #52]
- 5323 .loc 1 2231 53
- 5324 0268 7A68 ldr r2, [r7, #4]
- 5325 026a 526F ldr r2, [r2, #116]
- 5326 .loc 1 2231 15
- 5327 026c 1046 mov r0, r2
- 5328 026e 9847 blx r3
- 5329 .LVL4:
- 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 5330 .loc 1 2215 12
- 5331 0270 0FE0 b .L326
- 5332 .L293:
- 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */
- 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
- 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
- 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
- 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 5333 .loc 1 2242 13
- 5334 0272 7868 ldr r0, [r7, #4]
- 5335 0274 FFF7FEFF bl HAL_UART_ErrorCallback
- 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 5336 .loc 1 2215 12
- 5337 0278 0BE0 b .L326
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 155
- 5338 .L289:
- 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */
- 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
- 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
- 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
- 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 5339 .loc 1 2255 11
- 5340 027a 7868 ldr r0, [r7, #4]
- 5341 027c FFF7FEFF bl HAL_UART_ErrorCallback
- 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 5342 .loc 1 2215 12
- 5343 0280 07E0 b .L326
- 5344 .L288:
- 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
- 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error is notified to user through user error callback */
- 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
- 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
- 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
- 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 5345 .loc 1 2268 9
- 5346 0282 7868 ldr r0, [r7, #4]
- 5347 0284 FFF7FEFF bl HAL_UART_ErrorCallback
- 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 5348 .loc 1 2270 26
- 5349 0288 7B68 ldr r3, [r7, #4]
- 5350 028a 0022 movs r2, #0
- 5351 028c C3F88420 str r2, [r3, #132]
- 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 5352 .loc 1 2273 5
- 5353 0290 92E1 b .L325
- 5354 .L326:
- 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 5355 .loc 1 2215 12
- 5356 0292 00BF nop
- 5357 .loc 1 2273 5
- 5358 0294 90E1 b .L325
- 5359 .L331:
- 5360 0296 00BF .align 2
- 5361 .L330:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 156
- 5362 0298 20010004 .word 67109152
- 5363 029c 00000000 .word UART_DMAAbortOnError
- 5364 .L277:
- 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } /* End if some error occurs */
- 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
- 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */
- 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 5365 .loc 1 2279 13
- 5366 02a0 7B68 ldr r3, [r7, #4]
- 5367 02a2 1B6E ldr r3, [r3, #96]
- 5368 .loc 1 2279 6
- 5369 02a4 012B cmp r3, #1
- 5370 02a6 40F04B81 bne .L295
- 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
- 5371 .loc 1 2280 21
- 5372 02aa D7F8E430 ldr r3, [r7, #228]
- 5373 02ae 03F01003 and r3, r3, #16
- 5374 .loc 1 2280 7
- 5375 02b2 002B cmp r3, #0
- 5376 02b4 00F04481 beq .L295
- 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
- 5377 .loc 1 2281 19
- 5378 02b8 D7F8E030 ldr r3, [r7, #224]
- 5379 02bc 03F01003 and r3, r3, #16
- 5380 .loc 1 2281 7
- 5381 02c0 002B cmp r3, #0
- 5382 02c2 00F03D81 beq .L295
- 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
- 5383 .loc 1 2283 5
- 5384 02c6 7B68 ldr r3, [r7, #4]
- 5385 02c8 1B68 ldr r3, [r3]
- 5386 02ca 1022 movs r2, #16
- 5387 02cc 1A62 str r2, [r3, #32]
- 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
- 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 5388 .loc 1 2286 9
- 5389 02ce 7B68 ldr r3, [r7, #4]
- 5390 02d0 1B68 ldr r3, [r3]
- 5391 02d2 9B68 ldr r3, [r3, #8]
- 5392 02d4 03F04003 and r3, r3, #64
- 5393 .loc 1 2286 8
- 5394 02d8 402B cmp r3, #64
- 5395 02da 40F0B580 bne .L296
- 5396 .LBB599:
- 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode enabled */
- 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
- 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (DMA cplt callback will be called).
- 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
- 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
- 5397 .loc 1 2292 50
- 5398 02de 7B68 ldr r3, [r7, #4]
- 5399 02e0 5B6F ldr r3, [r3, #116]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 157
- 5400 02e2 1B68 ldr r3, [r3]
- 5401 02e4 5B68 ldr r3, [r3, #4]
- 5402 .loc 1 2292 16
- 5403 02e6 A7F8BE30 strh r3, [r7, #190] @ movhi
- 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
- 5404 .loc 1 2293 10
- 5405 02ea B7F8BE30 ldrh r3, [r7, #190]
- 5406 02ee 002B cmp r3, #0
- 5407 02f0 00F06481 beq .L327
- 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
- 5408 .loc 1 2294 43
- 5409 02f4 7B68 ldr r3, [r7, #4]
- 5410 02f6 B3F85830 ldrh r3, [r3, #88]
- 5411 .loc 1 2294 11
- 5412 02fa B7F8BE20 ldrh r2, [r7, #190]
- 5413 02fe 9A42 cmp r2, r3
- 5414 0300 80F05C81 bcs .L327
- 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reception is not complete */
- 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
- 5415 .loc 1 2297 28
- 5416 0304 7B68 ldr r3, [r7, #4]
- 5417 0306 B7F8BE20 ldrh r2, [r7, #190] @ movhi
- 5418 030a A3F85A20 strh r2, [r3, #90] @ movhi
- 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
- 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR)
- 5419 .loc 1 2300 18
- 5420 030e 7B68 ldr r3, [r7, #4]
- 5421 0310 5B6F ldr r3, [r3, #116]
- 5422 .loc 1 2300 32
- 5423 0312 9B69 ldr r3, [r3, #24]
- 5424 .loc 1 2300 12
- 5425 0314 202B cmp r3, #32
- 5426 0316 00F08680 beq .L298
- 5427 .L301:
- 5428 .LBB600:
- 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
- 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 5429 .loc 1 2303 11 discriminator 1
- 5430 031a 7B68 ldr r3, [r7, #4]
- 5431 031c 1B68 ldr r3, [r3]
- 5432 031e C7F88830 str r3, [r7, #136]
- 5433 .LBB601:
- 5434 .LBB602:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5435 .loc 2 1072 4 discriminator 1
- 5436 0322 D7F88830 ldr r3, [r7, #136]
- 5437 .syntax unified
- 5438 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5439 0326 53E8003F ldrex r3, [r3]
- 5440 @ 0 "" 2
- 5441 .thumb
- 5442 .syntax unified
- 5443 032a C7F88430 str r3, [r7, #132]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 158
- 5444 .loc 2 1073 10 discriminator 1
- 5445 032e D7F88430 ldr r3, [r7, #132]
- 5446 .LBE602:
- 5447 .LBE601:
- 5448 .loc 1 2303 11 discriminator 1
- 5449 0332 23F48073 bic r3, r3, #256
- 5450 0336 C7F8B830 str r3, [r7, #184]
- 5451 033a 7B68 ldr r3, [r7, #4]
- 5452 033c 1B68 ldr r3, [r3]
- 5453 033e 1A46 mov r2, r3
- 5454 0340 D7F8B830 ldr r3, [r7, #184]
- 5455 0344 C7F89430 str r3, [r7, #148]
- 5456 0348 C7F89020 str r2, [r7, #144]
- 5457 .LBB603:
- 5458 .LBB604:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5459 .loc 2 1123 4 discriminator 1
- 5460 034c D7F89010 ldr r1, [r7, #144]
- 5461 0350 D7F89420 ldr r2, [r7, #148]
- 5462 .syntax unified
- 5463 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5464 0354 41E80023 strex r3, r2, [r1]
- 5465 @ 0 "" 2
- 5466 .thumb
- 5467 .syntax unified
- 5468 0358 C7F88C30 str r3, [r7, #140]
- 5469 .loc 2 1124 10 discriminator 1
- 5470 035c D7F88C30 ldr r3, [r7, #140]
- 5471 .LBE604:
- 5472 .LBE603:
- 5473 .loc 1 2303 11 discriminator 1
- 5474 0360 002B cmp r3, #0
- 5475 0362 DAD1 bne .L301
- 5476 .L304:
- 5477 .LBE600:
- 5478 .LBB605:
- 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 5479 .loc 1 2304 11 discriminator 1
- 5480 0364 7B68 ldr r3, [r7, #4]
- 5481 0366 1B68 ldr r3, [r3]
- 5482 0368 0833 adds r3, r3, #8
- 5483 036a 7B67 str r3, [r7, #116]
- 5484 .LBB606:
- 5485 .LBB607:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5486 .loc 2 1072 4 discriminator 1
- 5487 036c 7B6F ldr r3, [r7, #116]
- 5488 .syntax unified
- 5489 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5490 036e 53E8003F ldrex r3, [r3]
- 5491 @ 0 "" 2
- 5492 .thumb
- 5493 .syntax unified
- 5494 0372 3B67 str r3, [r7, #112]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5495 .loc 2 1073 10 discriminator 1
- 5496 0374 3B6F ldr r3, [r7, #112]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 159
- 5497 .LBE607:
- 5498 .LBE606:
- 5499 .loc 1 2304 11 discriminator 1
- 5500 0376 23F00103 bic r3, r3, #1
- 5501 037a C7F8B430 str r3, [r7, #180]
- 5502 037e 7B68 ldr r3, [r7, #4]
- 5503 0380 1B68 ldr r3, [r3]
- 5504 0382 0833 adds r3, r3, #8
- 5505 0384 D7F8B420 ldr r2, [r7, #180]
- 5506 0388 C7F88020 str r2, [r7, #128]
- 5507 038c FB67 str r3, [r7, #124]
- 5508 .LBB608:
- 5509 .LBB609:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5510 .loc 2 1123 4 discriminator 1
- 5511 038e F96F ldr r1, [r7, #124]
- 5512 0390 D7F88020 ldr r2, [r7, #128]
- 5513 .syntax unified
- 5514 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5515 0394 41E80023 strex r3, r2, [r1]
- 5516 @ 0 "" 2
- 5517 .thumb
- 5518 .syntax unified
- 5519 0398 BB67 str r3, [r7, #120]
- 5520 .loc 2 1124 10 discriminator 1
- 5521 039a BB6F ldr r3, [r7, #120]
- 5522 .LBE609:
- 5523 .LBE608:
- 5524 .loc 1 2304 11 discriminator 1
- 5525 039c 002B cmp r3, #0
- 5526 039e E1D1 bne .L304
- 5527 .L307:
- 5528 .LBE605:
- 5529 .LBB610:
- 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
- 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
- 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 5530 .loc 1 2308 11 discriminator 1
- 5531 03a0 7B68 ldr r3, [r7, #4]
- 5532 03a2 1B68 ldr r3, [r3]
- 5533 03a4 0833 adds r3, r3, #8
- 5534 03a6 3B66 str r3, [r7, #96]
- 5535 .LBB611:
- 5536 .LBB612:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5537 .loc 2 1072 4 discriminator 1
- 5538 03a8 3B6E ldr r3, [r7, #96]
- 5539 .syntax unified
- 5540 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5541 03aa 53E8003F ldrex r3, [r3]
- 5542 @ 0 "" 2
- 5543 .thumb
- 5544 .syntax unified
- 5545 03ae FB65 str r3, [r7, #92]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5546 .loc 2 1073 10 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 160
- 5547 03b0 FB6D ldr r3, [r7, #92]
- 5548 .LBE612:
- 5549 .LBE611:
- 5550 .loc 1 2308 11 discriminator 1
- 5551 03b2 23F04003 bic r3, r3, #64
- 5552 03b6 C7F8B030 str r3, [r7, #176]
- 5553 03ba 7B68 ldr r3, [r7, #4]
- 5554 03bc 1B68 ldr r3, [r3]
- 5555 03be 0833 adds r3, r3, #8
- 5556 03c0 D7F8B020 ldr r2, [r7, #176]
- 5557 03c4 FA66 str r2, [r7, #108]
- 5558 03c6 BB66 str r3, [r7, #104]
- 5559 .LBB613:
- 5560 .LBB614:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5561 .loc 2 1123 4 discriminator 1
- 5562 03c8 B96E ldr r1, [r7, #104]
- 5563 03ca FA6E ldr r2, [r7, #108]
- 5564 .syntax unified
- 5565 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5566 03cc 41E80023 strex r3, r2, [r1]
- 5567 @ 0 "" 2
- 5568 .thumb
- 5569 .syntax unified
- 5570 03d0 7B66 str r3, [r7, #100]
- 5571 .loc 2 1124 10 discriminator 1
- 5572 03d2 7B6E ldr r3, [r7, #100]
- 5573 .LBE614:
- 5574 .LBE613:
- 5575 .loc 1 2308 11 discriminator 1
- 5576 03d4 002B cmp r3, #0
- 5577 03d6 E3D1 bne .L307
- 5578 .LBE610:
- 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 5579 .loc 1 2311 26
- 5580 03d8 7B68 ldr r3, [r7, #4]
- 5581 03da 2022 movs r2, #32
- 5582 03dc C3F88020 str r2, [r3, #128]
- 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 5583 .loc 1 2312 32
- 5584 03e0 7B68 ldr r3, [r7, #4]
- 5585 03e2 0022 movs r2, #0
- 5586 03e4 1A66 str r2, [r3, #96]
- 5587 .L310:
- 5588 .LBB615:
- 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 5589 .loc 1 2314 11 discriminator 1
- 5590 03e6 7B68 ldr r3, [r7, #4]
- 5591 03e8 1B68 ldr r3, [r3]
- 5592 03ea FB64 str r3, [r7, #76]
- 5593 .LBB616:
- 5594 .LBB617:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5595 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 161
- 5596 03ec FB6C ldr r3, [r7, #76]
- 5597 .syntax unified
- 5598 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5599 03ee 53E8003F ldrex r3, [r3]
- 5600 @ 0 "" 2
- 5601 .thumb
- 5602 .syntax unified
- 5603 03f2 BB64 str r3, [r7, #72]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5604 .loc 2 1073 10 discriminator 1
- 5605 03f4 BB6C ldr r3, [r7, #72]
- 5606 .LBE617:
- 5607 .LBE616:
- 5608 .loc 1 2314 11 discriminator 1
- 5609 03f6 23F01003 bic r3, r3, #16
- 5610 03fa C7F8AC30 str r3, [r7, #172]
- 5611 03fe 7B68 ldr r3, [r7, #4]
- 5612 0400 1B68 ldr r3, [r3]
- 5613 0402 1A46 mov r2, r3
- 5614 0404 D7F8AC30 ldr r3, [r7, #172]
- 5615 0408 BB65 str r3, [r7, #88]
- 5616 040a 7A65 str r2, [r7, #84]
- 5617 .LBB618:
- 5618 .LBB619:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5619 .loc 2 1123 4 discriminator 1
- 5620 040c 796D ldr r1, [r7, #84]
- 5621 040e BA6D ldr r2, [r7, #88]
- 5622 .syntax unified
- 5623 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5624 0410 41E80023 strex r3, r2, [r1]
- 5625 @ 0 "" 2
- 5626 .thumb
- 5627 .syntax unified
- 5628 0414 3B65 str r3, [r7, #80]
- 5629 .loc 2 1124 10 discriminator 1
- 5630 0416 3B6D ldr r3, [r7, #80]
- 5631 .LBE619:
- 5632 .LBE618:
- 5633 .loc 1 2314 11 discriminator 1
- 5634 0418 002B cmp r3, #0
- 5635 041a E4D1 bne .L310
- 5636 .LBE615:
- 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
- 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
- 5637 .loc 1 2317 17
- 5638 041c 7B68 ldr r3, [r7, #4]
- 5639 041e 5B6F ldr r3, [r3, #116]
- 5640 0420 1846 mov r0, r3
- 5641 0422 FFF7FEFF bl HAL_DMA_Abort
- 5642 .L298:
- 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
- 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
- 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 162
- 5643 .loc 1 2322 28
- 5644 0426 7B68 ldr r3, [r7, #4]
- 5645 0428 0222 movs r2, #2
- 5646 042a 5A66 str r2, [r3, #100]
- 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
- 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
- 5647 .loc 1 2329 49
- 5648 042c 7B68 ldr r3, [r7, #4]
- 5649 042e B3F85820 ldrh r2, [r3, #88]
- 5650 .loc 1 2329 69
- 5651 0432 7B68 ldr r3, [r7, #4]
- 5652 0434 B3F85A30 ldrh r3, [r3, #90] @ movhi
- 5653 0438 9BB2 uxth r3, r3
- 5654 .loc 1 2329 9
- 5655 043a D31A subs r3, r2, r3
- 5656 043c 9BB2 uxth r3, r3
- 5657 043e 1946 mov r1, r3
- 5658 0440 7868 ldr r0, [r7, #4]
- 5659 0442 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 5660 .loc 1 2332 7
- 5661 0446 B9E0 b .L327
- 5662 .L296:
- 5663 .LBE599:
- 5664 .LBB620:
- 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode not enabled */
- 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
- 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
- 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
- 5665 .loc 1 2339 34
- 5666 0448 7B68 ldr r3, [r7, #4]
- 5667 044a B3F85820 ldrh r2, [r3, #88]
- 5668 .loc 1 2339 54
- 5669 044e 7B68 ldr r3, [r7, #4]
- 5670 0450 B3F85A30 ldrh r3, [r3, #90] @ movhi
- 5671 0454 9BB2 uxth r3, r3
- 5672 .loc 1 2339 16
- 5673 0456 D31A subs r3, r2, r3
- 5674 0458 A7F8CE30 strh r3, [r7, #206] @ movhi
- 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
- 5675 .loc 1 2340 17
- 5676 045c 7B68 ldr r3, [r7, #4]
- 5677 045e B3F85A30 ldrh r3, [r3, #90] @ movhi
- 5678 0462 9BB2 uxth r3, r3
- 5679 .loc 1 2340 10
- 5680 0464 002B cmp r3, #0
- 5681 0466 00F0AB80 beq .L328
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 163
- 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U))
- 5682 .loc 1 2341 11
- 5683 046a B7F8CE30 ldrh r3, [r7, #206]
- 5684 046e 002B cmp r3, #0
- 5685 0470 00F0A680 beq .L328
- 5686 .L314:
- 5687 .LBB621:
- 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
- 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 5688 .loc 1 2344 9 discriminator 1
- 5689 0474 7B68 ldr r3, [r7, #4]
- 5690 0476 1B68 ldr r3, [r3]
- 5691 0478 BB63 str r3, [r7, #56]
- 5692 .LBB622:
- 5693 .LBB623:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5694 .loc 2 1072 4 discriminator 1
- 5695 047a BB6B ldr r3, [r7, #56]
- 5696 .syntax unified
- 5697 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5698 047c 53E8003F ldrex r3, [r3]
- 5699 @ 0 "" 2
- 5700 .thumb
- 5701 .syntax unified
- 5702 0480 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5703 .loc 2 1073 10 discriminator 1
- 5704 0482 7B6B ldr r3, [r7, #52]
- 5705 .LBE623:
- 5706 .LBE622:
- 5707 .loc 1 2344 9 discriminator 1
- 5708 0484 23F49073 bic r3, r3, #288
- 5709 0488 C7F8C830 str r3, [r7, #200]
- 5710 048c 7B68 ldr r3, [r7, #4]
- 5711 048e 1B68 ldr r3, [r3]
- 5712 0490 1A46 mov r2, r3
- 5713 0492 D7F8C830 ldr r3, [r7, #200]
- 5714 0496 7B64 str r3, [r7, #68]
- 5715 0498 3A64 str r2, [r7, #64]
- 5716 .LBB624:
- 5717 .LBB625:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5718 .loc 2 1123 4 discriminator 1
- 5719 049a 396C ldr r1, [r7, #64]
- 5720 049c 7A6C ldr r2, [r7, #68]
- 5721 .syntax unified
- 5722 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5723 049e 41E80023 strex r3, r2, [r1]
- 5724 @ 0 "" 2
- 5725 .thumb
- 5726 .syntax unified
- 5727 04a2 FB63 str r3, [r7, #60]
- 5728 .loc 2 1124 10 discriminator 1
- 5729 04a4 FB6B ldr r3, [r7, #60]
- 5730 .LBE625:
- 5731 .LBE624:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 164
- 5732 .loc 1 2344 9 discriminator 1
- 5733 04a6 002B cmp r3, #0
- 5734 04a8 E4D1 bne .L314
- 5735 .L317:
- 5736 .LBE621:
- 5737 .LBB626:
- 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 5738 .loc 1 2347 9 discriminator 1
- 5739 04aa 7B68 ldr r3, [r7, #4]
- 5740 04ac 1B68 ldr r3, [r3]
- 5741 04ae 0833 adds r3, r3, #8
- 5742 04b0 7B62 str r3, [r7, #36]
- 5743 .LBB627:
- 5744 .LBB628:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5745 .loc 2 1072 4 discriminator 1
- 5746 04b2 7B6A ldr r3, [r7, #36]
- 5747 .syntax unified
- 5748 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5749 04b4 53E8003F ldrex r3, [r3]
- 5750 @ 0 "" 2
- 5751 .thumb
- 5752 .syntax unified
- 5753 04b8 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5754 .loc 2 1073 10 discriminator 1
- 5755 04ba 3B6A ldr r3, [r7, #32]
- 5756 .LBE628:
- 5757 .LBE627:
- 5758 .loc 1 2347 9 discriminator 1
- 5759 04bc 23F00103 bic r3, r3, #1
- 5760 04c0 C7F8C430 str r3, [r7, #196]
- 5761 04c4 7B68 ldr r3, [r7, #4]
- 5762 04c6 1B68 ldr r3, [r3]
- 5763 04c8 0833 adds r3, r3, #8
- 5764 04ca D7F8C420 ldr r2, [r7, #196]
- 5765 04ce 3A63 str r2, [r7, #48]
- 5766 04d0 FB62 str r3, [r7, #44]
- 5767 .LBB629:
- 5768 .LBB630:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5769 .loc 2 1123 4 discriminator 1
- 5770 04d2 F96A ldr r1, [r7, #44]
- 5771 04d4 3A6B ldr r2, [r7, #48]
- 5772 .syntax unified
- 5773 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5774 04d6 41E80023 strex r3, r2, [r1]
- 5775 @ 0 "" 2
- 5776 .thumb
- 5777 .syntax unified
- 5778 04da BB62 str r3, [r7, #40]
- 5779 .loc 2 1124 10 discriminator 1
- 5780 04dc BB6A ldr r3, [r7, #40]
- 5781 .LBE630:
- 5782 .LBE629:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 165
- 5783 .loc 1 2347 9 discriminator 1
- 5784 04de 002B cmp r3, #0
- 5785 04e0 E3D1 bne .L317
- 5786 .LBE626:
- 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
- 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 5787 .loc 1 2350 24
- 5788 04e2 7B68 ldr r3, [r7, #4]
- 5789 04e4 2022 movs r2, #32
- 5790 04e6 C3F88020 str r2, [r3, #128]
- 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 5791 .loc 1 2351 30
- 5792 04ea 7B68 ldr r3, [r7, #4]
- 5793 04ec 0022 movs r2, #0
- 5794 04ee 1A66 str r2, [r3, #96]
- 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
- 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
- 5795 .loc 1 2354 22
- 5796 04f0 7B68 ldr r3, [r7, #4]
- 5797 04f2 0022 movs r2, #0
- 5798 04f4 9A66 str r2, [r3, #104]
- 5799 .L320:
- 5800 .LBB631:
- 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 5801 .loc 1 2356 9 discriminator 1
- 5802 04f6 7B68 ldr r3, [r7, #4]
- 5803 04f8 1B68 ldr r3, [r3]
- 5804 04fa 3B61 str r3, [r7, #16]
- 5805 .LBB632:
- 5806 .LBB633:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5807 .loc 2 1072 4 discriminator 1
- 5808 04fc 3B69 ldr r3, [r7, #16]
- 5809 .syntax unified
- 5810 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5811 04fe 53E8003F ldrex r3, [r3]
- 5812 @ 0 "" 2
- 5813 .thumb
- 5814 .syntax unified
- 5815 0502 FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5816 .loc 2 1073 10 discriminator 1
- 5817 0504 FB68 ldr r3, [r7, #12]
- 5818 .LBE633:
- 5819 .LBE632:
- 5820 .loc 1 2356 9 discriminator 1
- 5821 0506 23F01003 bic r3, r3, #16
- 5822 050a C7F8C030 str r3, [r7, #192]
- 5823 050e 7B68 ldr r3, [r7, #4]
- 5824 0510 1B68 ldr r3, [r3]
- 5825 0512 1A46 mov r2, r3
- 5826 0514 D7F8C030 ldr r3, [r7, #192]
- 5827 0518 FB61 str r3, [r7, #28]
- 5828 051a BA61 str r2, [r7, #24]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 166
- 5829 .LBB634:
- 5830 .LBB635:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5831 .loc 2 1123 4 discriminator 1
- 5832 051c B969 ldr r1, [r7, #24]
- 5833 051e FA69 ldr r2, [r7, #28]
- 5834 .syntax unified
- 5835 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5836 0520 41E80023 strex r3, r2, [r1]
- 5837 @ 0 "" 2
- 5838 .thumb
- 5839 .syntax unified
- 5840 0524 7B61 str r3, [r7, #20]
- 5841 .loc 2 1124 10 discriminator 1
- 5842 0526 7B69 ldr r3, [r7, #20]
- 5843 .LBE635:
- 5844 .LBE634:
- 5845 .loc 1 2356 9 discriminator 1
- 5846 0528 002B cmp r3, #0
- 5847 052a E4D1 bne .L320
- 5848 .LBE631:
- 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
- 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
- 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
- 5849 .loc 1 2360 28
- 5850 052c 7B68 ldr r3, [r7, #4]
- 5851 052e 0222 movs r2, #2
- 5852 0530 5A66 str r2, [r3, #100]
- 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
- 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
- 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
- 5853 .loc 1 2367 9
- 5854 0532 B7F8CE30 ldrh r3, [r7, #206]
- 5855 0536 1946 mov r1, r3
- 5856 0538 7868 ldr r0, [r7, #4]
- 5857 053a FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 5858 .loc 1 2370 7
- 5859 053e 3FE0 b .L328
- 5860 .L295:
- 5861 .LBE620:
- 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/
- 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U))
- 5862 .loc 1 2375 18
- 5863 0540 D7F8E430 ldr r3, [r7, #228]
- 5864 0544 03F48013 and r3, r3, #1048576
- 5865 .loc 1 2375 6
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 167
- 5866 0548 002B cmp r3, #0
- 5867 054a 0ED0 beq .L321
- 5868 .loc 1 2375 54 discriminator 1
- 5869 054c D7F8DC30 ldr r3, [r7, #220]
- 5870 0550 03F48003 and r3, r3, #4194304
- 5871 .loc 1 2375 42 discriminator 1
- 5872 0554 002B cmp r3, #0
- 5873 0556 08D0 beq .L321
- 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF);
- 5874 .loc 1 2377 5
- 5875 0558 7B68 ldr r3, [r7, #4]
- 5876 055a 1B68 ldr r3, [r3]
- 5877 055c 4FF48012 mov r2, #1048576
- 5878 0560 1A62 str r2, [r3, #32]
- 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing.
- 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback
- 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Wakeup Callback */
- 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback(huart);
- 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */
- 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart);
- 5879 .loc 1 2387 5
- 5880 0562 7868 ldr r0, [r7, #4]
- 5881 0564 FFF7FEFF bl HAL_UARTEx_WakeupCallback
- 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 5882 .loc 1 2389 5
- 5883 0568 2DE0 b .L273
- 5884 .L321:
- 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
- 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U)
- 5885 .loc 1 2393 18
- 5886 056a D7F8E430 ldr r3, [r7, #228]
- 5887 056e 03F08003 and r3, r3, #128
- 5888 .loc 1 2393 6
- 5889 0572 002B cmp r3, #0
- 5890 0574 0ED0 beq .L322
- 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
- 5891 .loc 1 2394 19
- 5892 0576 D7F8E030 ldr r3, [r7, #224]
- 5893 057a 03F08003 and r3, r3, #128
- 5894 .loc 1 2394 7
- 5895 057e 002B cmp r3, #0
- 5896 0580 08D0 beq .L322
- 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxISR != NULL)
- 5897 .loc 1 2396 14
- 5898 0582 7B68 ldr r3, [r7, #4]
- 5899 0584 DB6E ldr r3, [r3, #108]
- 5900 .loc 1 2396 8
- 5901 0586 002B cmp r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 168
- 5902 0588 1CD0 beq .L329
- 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR(huart);
- 5903 .loc 1 2398 12
- 5904 058a 7B68 ldr r3, [r7, #4]
- 5905 058c DB6E ldr r3, [r3, #108]
- 5906 .loc 1 2398 7
- 5907 058e 7868 ldr r0, [r7, #4]
- 5908 0590 9847 blx r3
- 5909 .LVL5:
- 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 5910 .loc 1 2400 5
- 5911 0592 17E0 b .L329
- 5912 .L322:
- 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/
- 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
- 5913 .loc 1 2404 18
- 5914 0594 D7F8E430 ldr r3, [r7, #228]
- 5915 0598 03F04003 and r3, r3, #64
- 5916 .loc 1 2404 6
- 5917 059c 002B cmp r3, #0
- 5918 059e 12D0 beq .L273
- 5919 .loc 1 2404 53 discriminator 1
- 5920 05a0 D7F8E030 ldr r3, [r7, #224]
- 5921 05a4 03F04003 and r3, r3, #64
- 5922 .loc 1 2404 41 discriminator 1
- 5923 05a8 002B cmp r3, #0
- 5924 05aa 0CD0 beq .L273
- 2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTransmit_IT(huart);
- 5925 .loc 1 2406 5
- 5926 05ac 7868 ldr r0, [r7, #4]
- 5927 05ae FFF7FEFF bl UART_EndTransmit_IT
- 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 5928 .loc 1 2407 5
- 5929 05b2 08E0 b .L273
- 5930 .L324:
- 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 5931 .loc 1 2136 7
- 5932 05b4 00BF nop
- 5933 05b6 06E0 b .L273
- 5934 .L325:
- 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 5935 .loc 1 2273 5
- 5936 05b8 00BF nop
- 5937 05ba 04E0 b .L273
- 5938 .L327:
- 5939 .LBB636:
- 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 5940 .loc 1 2332 7
- 5941 05bc 00BF nop
- 5942 05be 02E0 b .L273
- 5943 .L328:
- 5944 .LBE636:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 169
- 5945 .LBB637:
- 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 5946 .loc 1 2370 7
- 5947 05c0 00BF nop
- 5948 05c2 00E0 b .L273
- 5949 .L329:
- 5950 .LBE637:
- 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 5951 .loc 1 2400 5
- 5952 05c4 00BF nop
- 5953 .L273:
- 2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 5954 .loc 1 2410 1
- 5955 05c6 E837 adds r7, r7, #232
- 5956 .LCFI118:
- 5957 .cfi_def_cfa_offset 8
- 5958 05c8 BD46 mov sp, r7
- 5959 .LCFI119:
- 5960 .cfi_def_cfa_register 13
- 5961 @ sp needed
- 5962 05ca 80BD pop {r7, pc}
- 5963 .cfi_endproc
- 5964 .LFE152:
- 5966 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
- 5967 .align 1
- 5968 .weak HAL_UART_TxCpltCallback
- 5969 .syntax unified
- 5970 .thumb
- 5971 .thumb_func
- 5973 HAL_UART_TxCpltCallback:
- 5974 .LFB153:
- 2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Tx Transfer completed callback.
- 2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
- 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 5975 .loc 1 2418 1
- 5976 .cfi_startproc
- 5977 @ args = 0, pretend = 0, frame = 8
- 5978 @ frame_needed = 1, uses_anonymous_args = 0
- 5979 @ link register save eliminated.
- 5980 0000 80B4 push {r7}
- 5981 .LCFI120:
- 5982 .cfi_def_cfa_offset 4
- 5983 .cfi_offset 7, -4
- 5984 0002 83B0 sub sp, sp, #12
- 5985 .LCFI121:
- 5986 .cfi_def_cfa_offset 16
- 5987 0004 00AF add r7, sp, #0
- 5988 .LCFI122:
- 5989 .cfi_def_cfa_register 7
- 5990 0006 7860 str r0, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 170
- 2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file.
- 2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 5991 .loc 1 2425 1
- 5992 0008 00BF nop
- 5993 000a 0C37 adds r7, r7, #12
- 5994 .LCFI123:
- 5995 .cfi_def_cfa_offset 4
- 5996 000c BD46 mov sp, r7
- 5997 .LCFI124:
- 5998 .cfi_def_cfa_register 13
- 5999 @ sp needed
- 6000 000e 5DF8047B ldr r7, [sp], #4
- 6001 .LCFI125:
- 6002 .cfi_restore 7
- 6003 .cfi_def_cfa_offset 0
- 6004 0012 7047 bx lr
- 6005 .cfi_endproc
- 6006 .LFE153:
- 6008 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
- 6009 .align 1
- 6010 .weak HAL_UART_TxHalfCpltCallback
- 6011 .syntax unified
- 6012 .thumb
- 6013 .thumb_func
- 6015 HAL_UART_TxHalfCpltCallback:
- 6016 .LFB154:
- 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Tx Half Transfer completed callback.
- 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
- 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6017 .loc 1 2433 1
- 6018 .cfi_startproc
- 6019 @ args = 0, pretend = 0, frame = 8
- 6020 @ frame_needed = 1, uses_anonymous_args = 0
- 6021 @ link register save eliminated.
- 6022 0000 80B4 push {r7}
- 6023 .LCFI126:
- 6024 .cfi_def_cfa_offset 4
- 6025 .cfi_offset 7, -4
- 6026 0002 83B0 sub sp, sp, #12
- 6027 .LCFI127:
- 6028 .cfi_def_cfa_offset 16
- 6029 0004 00AF add r7, sp, #0
- 6030 .LCFI128:
- 6031 .cfi_def_cfa_register 7
- 6032 0006 7860 str r0, [r7, #4]
- 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 171
- 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
- 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6033 .loc 1 2440 1
- 6034 0008 00BF nop
- 6035 000a 0C37 adds r7, r7, #12
- 6036 .LCFI129:
- 6037 .cfi_def_cfa_offset 4
- 6038 000c BD46 mov sp, r7
- 6039 .LCFI130:
- 6040 .cfi_def_cfa_register 13
- 6041 @ sp needed
- 6042 000e 5DF8047B ldr r7, [sp], #4
- 6043 .LCFI131:
- 6044 .cfi_restore 7
- 6045 .cfi_def_cfa_offset 0
- 6046 0012 7047 bx lr
- 6047 .cfi_endproc
- 6048 .LFE154:
- 6050 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
- 6051 .align 1
- 6052 .weak HAL_UART_RxCpltCallback
- 6053 .syntax unified
- 6054 .thumb
- 6055 .thumb_func
- 6057 HAL_UART_RxCpltCallback:
- 6058 .LFB155:
- 2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Transfer completed callback.
- 2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
- 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6059 .loc 1 2448 1
- 6060 .cfi_startproc
- 6061 @ args = 0, pretend = 0, frame = 8
- 6062 @ frame_needed = 1, uses_anonymous_args = 0
- 6063 @ link register save eliminated.
- 6064 0000 80B4 push {r7}
- 6065 .LCFI132:
- 6066 .cfi_def_cfa_offset 4
- 6067 .cfi_offset 7, -4
- 6068 0002 83B0 sub sp, sp, #12
- 6069 .LCFI133:
- 6070 .cfi_def_cfa_offset 16
- 6071 0004 00AF add r7, sp, #0
- 6072 .LCFI134:
- 6073 .cfi_def_cfa_register 7
- 6074 0006 7860 str r0, [r7, #4]
- 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 172
- 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file.
- 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6075 .loc 1 2455 1
- 6076 0008 00BF nop
- 6077 000a 0C37 adds r7, r7, #12
- 6078 .LCFI135:
- 6079 .cfi_def_cfa_offset 4
- 6080 000c BD46 mov sp, r7
- 6081 .LCFI136:
- 6082 .cfi_def_cfa_register 13
- 6083 @ sp needed
- 6084 000e 5DF8047B ldr r7, [sp], #4
- 6085 .LCFI137:
- 6086 .cfi_restore 7
- 6087 .cfi_def_cfa_offset 0
- 6088 0012 7047 bx lr
- 6089 .cfi_endproc
- 6090 .LFE155:
- 6092 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
- 6093 .align 1
- 6094 .weak HAL_UART_RxHalfCpltCallback
- 6095 .syntax unified
- 6096 .thumb
- 6097 .thumb_func
- 6099 HAL_UART_RxHalfCpltCallback:
- 6100 .LFB156:
- 2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Half Transfer completed callback.
- 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
- 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6101 .loc 1 2463 1
- 6102 .cfi_startproc
- 6103 @ args = 0, pretend = 0, frame = 8
- 6104 @ frame_needed = 1, uses_anonymous_args = 0
- 6105 @ link register save eliminated.
- 6106 0000 80B4 push {r7}
- 6107 .LCFI138:
- 6108 .cfi_def_cfa_offset 4
- 6109 .cfi_offset 7, -4
- 6110 0002 83B0 sub sp, sp, #12
- 6111 .LCFI139:
- 6112 .cfi_def_cfa_offset 16
- 6113 0004 00AF add r7, sp, #0
- 6114 .LCFI140:
- 6115 .cfi_def_cfa_register 7
- 6116 0006 7860 str r0, [r7, #4]
- 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
- 2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 173
- 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6117 .loc 1 2470 1
- 6118 0008 00BF nop
- 6119 000a 0C37 adds r7, r7, #12
- 6120 .LCFI141:
- 6121 .cfi_def_cfa_offset 4
- 6122 000c BD46 mov sp, r7
- 6123 .LCFI142:
- 6124 .cfi_def_cfa_register 13
- 6125 @ sp needed
- 6126 000e 5DF8047B ldr r7, [sp], #4
- 6127 .LCFI143:
- 6128 .cfi_restore 7
- 6129 .cfi_def_cfa_offset 0
- 6130 0012 7047 bx lr
- 6131 .cfi_endproc
- 6132 .LFE156:
- 6134 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
- 6135 .align 1
- 6136 .weak HAL_UART_ErrorCallback
- 6137 .syntax unified
- 6138 .thumb
- 6139 .thumb_func
- 6141 HAL_UART_ErrorCallback:
- 6142 .LFB157:
- 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART error callback.
- 2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
- 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6143 .loc 1 2478 1
- 6144 .cfi_startproc
- 6145 @ args = 0, pretend = 0, frame = 8
- 6146 @ frame_needed = 1, uses_anonymous_args = 0
- 6147 @ link register save eliminated.
- 6148 0000 80B4 push {r7}
- 6149 .LCFI144:
- 6150 .cfi_def_cfa_offset 4
- 6151 .cfi_offset 7, -4
- 6152 0002 83B0 sub sp, sp, #12
- 6153 .LCFI145:
- 6154 .cfi_def_cfa_offset 16
- 6155 0004 00AF add r7, sp, #0
- 6156 .LCFI146:
- 6157 .cfi_def_cfa_register 7
- 6158 0006 7860 str r0, [r7, #4]
- 2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file.
- 2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6159 .loc 1 2485 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 174
- 6160 0008 00BF nop
- 6161 000a 0C37 adds r7, r7, #12
- 6162 .LCFI147:
- 6163 .cfi_def_cfa_offset 4
- 6164 000c BD46 mov sp, r7
- 6165 .LCFI148:
- 6166 .cfi_def_cfa_register 13
- 6167 @ sp needed
- 6168 000e 5DF8047B ldr r7, [sp], #4
- 6169 .LCFI149:
- 6170 .cfi_restore 7
- 6171 .cfi_def_cfa_offset 0
- 6172 0012 7047 bx lr
- 6173 .cfi_endproc
- 6174 .LFE157:
- 6176 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
- 6177 .align 1
- 6178 .weak HAL_UART_AbortCpltCallback
- 6179 .syntax unified
- 6180 .thumb
- 6181 .thumb_func
- 6183 HAL_UART_AbortCpltCallback:
- 6184 .LFB158:
- 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback.
- 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
- 2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6185 .loc 1 2493 1
- 6186 .cfi_startproc
- 6187 @ args = 0, pretend = 0, frame = 8
- 6188 @ frame_needed = 1, uses_anonymous_args = 0
- 6189 @ link register save eliminated.
- 6190 0000 80B4 push {r7}
- 6191 .LCFI150:
- 6192 .cfi_def_cfa_offset 4
- 6193 .cfi_offset 7, -4
- 6194 0002 83B0 sub sp, sp, #12
- 6195 .LCFI151:
- 6196 .cfi_def_cfa_offset 16
- 6197 0004 00AF add r7, sp, #0
- 6198 .LCFI152:
- 6199 .cfi_def_cfa_register 7
- 6200 0006 7860 str r0, [r7, #4]
- 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
- 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6201 .loc 1 2500 1
- 6202 0008 00BF nop
- 6203 000a 0C37 adds r7, r7, #12
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 175
- 6204 .LCFI153:
- 6205 .cfi_def_cfa_offset 4
- 6206 000c BD46 mov sp, r7
- 6207 .LCFI154:
- 6208 .cfi_def_cfa_register 13
- 6209 @ sp needed
- 6210 000e 5DF8047B ldr r7, [sp], #4
- 6211 .LCFI155:
- 6212 .cfi_restore 7
- 6213 .cfi_def_cfa_offset 0
- 6214 0012 7047 bx lr
- 6215 .cfi_endproc
- 6216 .LFE158:
- 6218 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
- 6219 .align 1
- 6220 .weak HAL_UART_AbortTransmitCpltCallback
- 6221 .syntax unified
- 6222 .thumb
- 6223 .thumb_func
- 6225 HAL_UART_AbortTransmitCpltCallback:
- 6226 .LFB159:
- 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback.
- 2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
- 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6227 .loc 1 2508 1
- 6228 .cfi_startproc
- 6229 @ args = 0, pretend = 0, frame = 8
- 6230 @ frame_needed = 1, uses_anonymous_args = 0
- 6231 @ link register save eliminated.
- 6232 0000 80B4 push {r7}
- 6233 .LCFI156:
- 6234 .cfi_def_cfa_offset 4
- 6235 .cfi_offset 7, -4
- 6236 0002 83B0 sub sp, sp, #12
- 6237 .LCFI157:
- 6238 .cfi_def_cfa_offset 16
- 6239 0004 00AF add r7, sp, #0
- 6240 .LCFI158:
- 6241 .cfi_def_cfa_register 7
- 6242 0006 7860 str r0, [r7, #4]
- 2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
- 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6243 .loc 1 2515 1
- 6244 0008 00BF nop
- 6245 000a 0C37 adds r7, r7, #12
- 6246 .LCFI159:
- 6247 .cfi_def_cfa_offset 4
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 176
- 6248 000c BD46 mov sp, r7
- 6249 .LCFI160:
- 6250 .cfi_def_cfa_register 13
- 6251 @ sp needed
- 6252 000e 5DF8047B ldr r7, [sp], #4
- 6253 .LCFI161:
- 6254 .cfi_restore 7
- 6255 .cfi_def_cfa_offset 0
- 6256 0012 7047 bx lr
- 6257 .cfi_endproc
- 6258 .LFE159:
- 6260 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
- 6261 .align 1
- 6262 .weak HAL_UART_AbortReceiveCpltCallback
- 6263 .syntax unified
- 6264 .thumb
- 6265 .thumb_func
- 6267 HAL_UART_AbortReceiveCpltCallback:
- 6268 .LFB160:
- 2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
- 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
- 2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6269 .loc 1 2523 1
- 6270 .cfi_startproc
- 6271 @ args = 0, pretend = 0, frame = 8
- 6272 @ frame_needed = 1, uses_anonymous_args = 0
- 6273 @ link register save eliminated.
- 6274 0000 80B4 push {r7}
- 6275 .LCFI162:
- 6276 .cfi_def_cfa_offset 4
- 6277 .cfi_offset 7, -4
- 6278 0002 83B0 sub sp, sp, #12
- 6279 .LCFI163:
- 6280 .cfi_def_cfa_offset 16
- 6281 0004 00AF add r7, sp, #0
- 6282 .LCFI164:
- 6283 .cfi_def_cfa_register 7
- 6284 0006 7860 str r0, [r7, #4]
- 2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
- 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6285 .loc 1 2530 1
- 6286 0008 00BF nop
- 6287 000a 0C37 adds r7, r7, #12
- 6288 .LCFI165:
- 6289 .cfi_def_cfa_offset 4
- 6290 000c BD46 mov sp, r7
- 6291 .LCFI166:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 177
- 6292 .cfi_def_cfa_register 13
- 6293 @ sp needed
- 6294 000e 5DF8047B ldr r7, [sp], #4
- 6295 .LCFI167:
- 6296 .cfi_restore 7
- 6297 .cfi_def_cfa_offset 0
- 6298 0012 7047 bx lr
- 6299 .cfi_endproc
- 6300 .LFE160:
- 6302 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
- 6303 .align 1
- 6304 .weak HAL_UARTEx_RxEventCallback
- 6305 .syntax unified
- 6306 .thumb
- 6307 .thumb_func
- 6309 HAL_UARTEx_RxEventCallback:
- 6310 .LFB161:
- 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
- 2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle
- 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
- 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * reception buffer until which, data are available)
- 2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
- 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6311 .loc 1 2540 1
- 6312 .cfi_startproc
- 6313 @ args = 0, pretend = 0, frame = 8
- 6314 @ frame_needed = 1, uses_anonymous_args = 0
- 6315 @ link register save eliminated.
- 6316 0000 80B4 push {r7}
- 6317 .LCFI168:
- 6318 .cfi_def_cfa_offset 4
- 6319 .cfi_offset 7, -4
- 6320 0002 83B0 sub sp, sp, #12
- 6321 .LCFI169:
- 6322 .cfi_def_cfa_offset 16
- 6323 0004 00AF add r7, sp, #0
- 6324 .LCFI170:
- 6325 .cfi_def_cfa_register 7
- 6326 0006 7860 str r0, [r7, #4]
- 6327 0008 0B46 mov r3, r1
- 6328 000a 7B80 strh r3, [r7, #2] @ movhi
- 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart);
- 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(Size);
- 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
- 2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6329 .loc 1 2548 1
- 6330 000c 00BF nop
- 6331 000e 0C37 adds r7, r7, #12
- 6332 .LCFI171:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 178
- 6333 .cfi_def_cfa_offset 4
- 6334 0010 BD46 mov sp, r7
- 6335 .LCFI172:
- 6336 .cfi_def_cfa_register 13
- 6337 @ sp needed
- 6338 0012 5DF8047B ldr r7, [sp], #4
- 6339 .LCFI173:
- 6340 .cfi_restore 7
- 6341 .cfi_def_cfa_offset 0
- 6342 0016 7047 bx lr
- 6343 .cfi_endproc
- 6344 .LFE161:
- 6346 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits
- 6347 .align 1
- 6348 .global HAL_UART_ReceiverTimeout_Config
- 6349 .syntax unified
- 6350 .thumb
- 6351 .thumb_func
- 6353 HAL_UART_ReceiverTimeout_Config:
- 6354 .LFB162:
- 2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
- 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
- 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART control functions
- 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
- 2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral Control functions #####
- 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ===============================================================================
- 2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART.
- 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th
- 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature
- 2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature
- 2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode
- 2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode
- 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode
- 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral
- 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features
- 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization
- 2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter
- 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver
- 2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters
- 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
- 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register.
- 2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout
- 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF.
- 2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 179
- 2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
- 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6355 .loc 1 2588 1
- 6356 .cfi_startproc
- 6357 @ args = 0, pretend = 0, frame = 8
- 6358 @ frame_needed = 1, uses_anonymous_args = 0
- 6359 0000 80B5 push {r7, lr}
- 6360 .LCFI174:
- 6361 .cfi_def_cfa_offset 8
- 6362 .cfi_offset 7, -8
- 6363 .cfi_offset 14, -4
- 6364 0002 82B0 sub sp, sp, #8
- 6365 .LCFI175:
- 6366 .cfi_def_cfa_offset 16
- 6367 0004 00AF add r7, sp, #0
- 6368 .LCFI176:
- 6369 .cfi_def_cfa_register 7
- 6370 0006 7860 str r0, [r7, #4]
- 6371 0008 3960 str r1, [r7]
- 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
- 6372 .loc 1 2589 3
- 6373 000a 3B68 ldr r3, [r7]
- 6374 000c B3F1807F cmp r3, #16777216
- 6375 0010 04D3 bcc .L342
- 6376 .loc 1 2589 3 is_stmt 0 discriminator 1
- 6377 0012 40F61D21 movw r1, #2589
- 6378 0016 0848 ldr r0, .L343
- 6379 0018 FFF7FEFF bl assert_failed
- 6380 .L342:
- 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
- 6381 .loc 1 2590 3 is_stmt 1
- 6382 001c 7B68 ldr r3, [r7, #4]
- 6383 001e 1B68 ldr r3, [r3]
- 6384 0020 5B69 ldr r3, [r3, #20]
- 6385 0022 03F07F41 and r1, r3, #-16777216
- 6386 0026 7B68 ldr r3, [r7, #4]
- 6387 0028 1B68 ldr r3, [r3]
- 6388 002a 3A68 ldr r2, [r7]
- 6389 002c 0A43 orrs r2, r2, r1
- 6390 002e 5A61 str r2, [r3, #20]
- 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6391 .loc 1 2591 1
- 6392 0030 00BF nop
- 6393 0032 0837 adds r7, r7, #8
- 6394 .LCFI177:
- 6395 .cfi_def_cfa_offset 8
- 6396 0034 BD46 mov sp, r7
- 6397 .LCFI178:
- 6398 .cfi_def_cfa_register 13
- 6399 @ sp needed
- 6400 0036 80BD pop {r7, pc}
- 6401 .L344:
- 6402 .align 2
- 6403 .L343:
- 6404 0038 00000000 .word .LC0
- 6405 .cfi_endproc
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 180
- 6406 .LFE162:
- 6408 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits
- 6409 .align 1
- 6410 .global HAL_UART_EnableReceiverTimeout
- 6411 .syntax unified
- 6412 .thumb
- 6413 .thumb_func
- 6415 HAL_UART_EnableReceiverTimeout:
- 6416 .LFB163:
- 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature.
- 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
- 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6417 .loc 1 2600 1
- 6418 .cfi_startproc
- 6419 @ args = 0, pretend = 0, frame = 8
- 6420 @ frame_needed = 1, uses_anonymous_args = 0
- 6421 @ link register save eliminated.
- 6422 0000 80B4 push {r7}
- 6423 .LCFI179:
- 6424 .cfi_def_cfa_offset 4
- 6425 .cfi_offset 7, -4
- 6426 0002 83B0 sub sp, sp, #12
- 6427 .LCFI180:
- 6428 .cfi_def_cfa_offset 16
- 6429 0004 00AF add r7, sp, #0
- 6430 .LCFI181:
- 6431 .cfi_def_cfa_register 7
- 6432 0006 7860 str r0, [r7, #4]
- 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 6433 .loc 1 2601 12
- 6434 0008 7B68 ldr r3, [r7, #4]
- 6435 000a DB6F ldr r3, [r3, #124]
- 6436 .loc 1 2601 6
- 6437 000c 202B cmp r3, #32
- 6438 000e 1ED1 bne .L346
- 2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */
- 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
- 6439 .loc 1 2604 5
- 6440 0010 7B68 ldr r3, [r7, #4]
- 6441 0012 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
- 6442 0016 012B cmp r3, #1
- 6443 0018 01D1 bne .L347
- 6444 .loc 1 2604 5 is_stmt 0 discriminator 1
- 6445 001a 0223 movs r3, #2
- 6446 001c 18E0 b .L348
- 6447 .L347:
- 6448 .loc 1 2604 5 discriminator 2
- 6449 001e 7B68 ldr r3, [r7, #4]
- 6450 0020 0122 movs r2, #1
- 6451 0022 83F87820 strb r2, [r3, #120]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 181
- 2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6452 .loc 1 2606 19 is_stmt 1 discriminator 2
- 6453 0026 7B68 ldr r3, [r7, #4]
- 6454 0028 2422 movs r2, #36
- 6455 002a DA67 str r2, [r3, #124]
- 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART RTOEN bit */
- 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
- 6456 .loc 1 2609 5 discriminator 2
- 6457 002c 7B68 ldr r3, [r7, #4]
- 6458 002e 1B68 ldr r3, [r3]
- 6459 0030 5A68 ldr r2, [r3, #4]
- 6460 0032 7B68 ldr r3, [r7, #4]
- 6461 0034 1B68 ldr r3, [r3]
- 6462 0036 42F40002 orr r2, r2, #8388608
- 6463 003a 5A60 str r2, [r3, #4]
- 2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6464 .loc 1 2611 19 discriminator 2
- 6465 003c 7B68 ldr r3, [r7, #4]
- 6466 003e 2022 movs r2, #32
- 6467 0040 DA67 str r2, [r3, #124]
- 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
- 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 6468 .loc 1 2614 5 discriminator 2
- 6469 0042 7B68 ldr r3, [r7, #4]
- 6470 0044 0022 movs r2, #0
- 6471 0046 83F87820 strb r2, [r3, #120]
- 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 6472 .loc 1 2616 12 discriminator 2
- 6473 004a 0023 movs r3, #0
- 6474 004c 00E0 b .L348
- 6475 .L346:
- 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 6476 .loc 1 2620 12
- 6477 004e 0223 movs r3, #2
- 6478 .L348:
- 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6479 .loc 1 2622 1
- 6480 0050 1846 mov r0, r3
- 6481 0052 0C37 adds r7, r7, #12
- 6482 .LCFI182:
- 6483 .cfi_def_cfa_offset 4
- 6484 0054 BD46 mov sp, r7
- 6485 .LCFI183:
- 6486 .cfi_def_cfa_register 13
- 6487 @ sp needed
- 6488 0056 5DF8047B ldr r7, [sp], #4
- 6489 .LCFI184:
- 6490 .cfi_restore 7
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 182
- 6491 .cfi_def_cfa_offset 0
- 6492 005a 7047 bx lr
- 6493 .cfi_endproc
- 6494 .LFE163:
- 6496 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits
- 6497 .align 1
- 6498 .global HAL_UART_DisableReceiverTimeout
- 6499 .syntax unified
- 6500 .thumb
- 6501 .thumb_func
- 6503 HAL_UART_DisableReceiverTimeout:
- 6504 .LFB164:
- 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature.
- 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
- 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6505 .loc 1 2631 1
- 6506 .cfi_startproc
- 6507 @ args = 0, pretend = 0, frame = 8
- 6508 @ frame_needed = 1, uses_anonymous_args = 0
- 6509 @ link register save eliminated.
- 6510 0000 80B4 push {r7}
- 6511 .LCFI185:
- 6512 .cfi_def_cfa_offset 4
- 6513 .cfi_offset 7, -4
- 6514 0002 83B0 sub sp, sp, #12
- 6515 .LCFI186:
- 6516 .cfi_def_cfa_offset 16
- 6517 0004 00AF add r7, sp, #0
- 6518 .LCFI187:
- 6519 .cfi_def_cfa_register 7
- 6520 0006 7860 str r0, [r7, #4]
- 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 6521 .loc 1 2632 12
- 6522 0008 7B68 ldr r3, [r7, #4]
- 6523 000a DB6F ldr r3, [r3, #124]
- 6524 .loc 1 2632 6
- 6525 000c 202B cmp r3, #32
- 6526 000e 1ED1 bne .L350
- 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */
- 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
- 6527 .loc 1 2635 5
- 6528 0010 7B68 ldr r3, [r7, #4]
- 6529 0012 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
- 6530 0016 012B cmp r3, #1
- 6531 0018 01D1 bne .L351
- 6532 .loc 1 2635 5 is_stmt 0 discriminator 1
- 6533 001a 0223 movs r3, #2
- 6534 001c 18E0 b .L352
- 6535 .L351:
- 6536 .loc 1 2635 5 discriminator 2
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 183
- 6537 001e 7B68 ldr r3, [r7, #4]
- 6538 0020 0122 movs r2, #1
- 6539 0022 83F87820 strb r2, [r3, #120]
- 2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6540 .loc 1 2637 19 is_stmt 1 discriminator 2
- 6541 0026 7B68 ldr r3, [r7, #4]
- 6542 0028 2422 movs r2, #36
- 6543 002a DA67 str r2, [r3, #124]
- 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the USART RTOEN bit */
- 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
- 6544 .loc 1 2640 5 discriminator 2
- 6545 002c 7B68 ldr r3, [r7, #4]
- 6546 002e 1B68 ldr r3, [r3]
- 6547 0030 5A68 ldr r2, [r3, #4]
- 6548 0032 7B68 ldr r3, [r7, #4]
- 6549 0034 1B68 ldr r3, [r3]
- 6550 0036 22F40002 bic r2, r2, #8388608
- 6551 003a 5A60 str r2, [r3, #4]
- 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6552 .loc 1 2642 19 discriminator 2
- 6553 003c 7B68 ldr r3, [r7, #4]
- 6554 003e 2022 movs r2, #32
- 6555 0040 DA67 str r2, [r3, #124]
- 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
- 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 6556 .loc 1 2645 5 discriminator 2
- 6557 0042 7B68 ldr r3, [r7, #4]
- 6558 0044 0022 movs r2, #0
- 6559 0046 83F87820 strb r2, [r3, #120]
- 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 6560 .loc 1 2647 12 discriminator 2
- 6561 004a 0023 movs r3, #0
- 6562 004c 00E0 b .L352
- 6563 .L350:
- 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY;
- 6564 .loc 1 2651 12
- 6565 004e 0223 movs r3, #2
- 6566 .L352:
- 2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6567 .loc 1 2653 1
- 6568 0050 1846 mov r0, r3
- 6569 0052 0C37 adds r7, r7, #12
- 6570 .LCFI188:
- 6571 .cfi_def_cfa_offset 4
- 6572 0054 BD46 mov sp, r7
- 6573 .LCFI189:
- 6574 .cfi_def_cfa_register 13
- 6575 @ sp needed
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 184
- 6576 0056 5DF8047B ldr r7, [sp], #4
- 6577 .LCFI190:
- 6578 .cfi_restore 7
- 6579 .cfi_def_cfa_offset 0
- 6580 005a 7047 bx lr
- 6581 .cfi_endproc
- 6582 .LFE164:
- 6584 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits
- 6585 .align 1
- 6586 .global HAL_MultiProcessor_EnableMuteMode
- 6587 .syntax unified
- 6588 .thumb
- 6589 .thumb_func
- 6591 HAL_MultiProcessor_EnableMuteMode:
- 6592 .LFB165:
- 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode;
- 2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called).
- 2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
- 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6593 .loc 1 2662 1
- 6594 .cfi_startproc
- 6595 @ args = 0, pretend = 0, frame = 32
- 6596 @ frame_needed = 1, uses_anonymous_args = 0
- 6597 0000 80B5 push {r7, lr}
- 6598 .LCFI191:
- 6599 .cfi_def_cfa_offset 8
- 6600 .cfi_offset 7, -8
- 6601 .cfi_offset 14, -4
- 6602 0002 88B0 sub sp, sp, #32
- 6603 .LCFI192:
- 6604 .cfi_def_cfa_offset 40
- 6605 0004 00AF add r7, sp, #0
- 6606 .LCFI193:
- 6607 .cfi_def_cfa_register 7
- 6608 0006 7860 str r0, [r7, #4]
- 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
- 6609 .loc 1 2663 3
- 6610 0008 7B68 ldr r3, [r7, #4]
- 6611 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
- 6612 000e 012B cmp r3, #1
- 6613 0010 01D1 bne .L354
- 6614 .loc 1 2663 3 is_stmt 0 discriminator 1
- 6615 0012 0223 movs r3, #2
- 6616 0014 26E0 b .L355
- 6617 .L354:
- 6618 .loc 1 2663 3 discriminator 2
- 6619 0016 7B68 ldr r3, [r7, #4]
- 6620 0018 0122 movs r2, #1
- 6621 001a 83F87820 strb r2, [r3, #120]
- 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6622 .loc 1 2665 17 is_stmt 1 discriminator 2
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 185
- 6623 001e 7B68 ldr r3, [r7, #4]
- 6624 0020 2422 movs r2, #36
- 6625 0022 DA67 str r2, [r3, #124]
- 6626 .L358:
- 6627 .LBB638:
- 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */
- 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME);
- 6628 .loc 1 2668 3 discriminator 1
- 6629 0024 7B68 ldr r3, [r7, #4]
- 6630 0026 1B68 ldr r3, [r3]
- 6631 0028 FB60 str r3, [r7, #12]
- 6632 .LBB639:
- 6633 .LBB640:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6634 .loc 2 1072 4 discriminator 1
- 6635 002a FB68 ldr r3, [r7, #12]
- 6636 .syntax unified
- 6637 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6638 002c 53E8003F ldrex r3, [r3]
- 6639 @ 0 "" 2
- 6640 .thumb
- 6641 .syntax unified
- 6642 0030 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 6643 .loc 2 1073 10 discriminator 1
- 6644 0032 BB68 ldr r3, [r7, #8]
- 6645 .LBE640:
- 6646 .LBE639:
- 6647 .loc 1 2668 3 discriminator 1
- 6648 0034 43F40053 orr r3, r3, #8192
- 6649 0038 FB61 str r3, [r7, #28]
- 6650 003a 7B68 ldr r3, [r7, #4]
- 6651 003c 1B68 ldr r3, [r3]
- 6652 003e 1A46 mov r2, r3
- 6653 0040 FB69 ldr r3, [r7, #28]
- 6654 0042 BB61 str r3, [r7, #24]
- 6655 0044 7A61 str r2, [r7, #20]
- 6656 .LBB641:
- 6657 .LBB642:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6658 .loc 2 1123 4 discriminator 1
- 6659 0046 7969 ldr r1, [r7, #20]
- 6660 0048 BA69 ldr r2, [r7, #24]
- 6661 .syntax unified
- 6662 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6663 004a 41E80023 strex r3, r2, [r1]
- 6664 @ 0 "" 2
- 6665 .thumb
- 6666 .syntax unified
- 6667 004e 3B61 str r3, [r7, #16]
- 6668 .loc 2 1124 10 discriminator 1
- 6669 0050 3B69 ldr r3, [r7, #16]
- 6670 .LBE642:
- 6671 .LBE641:
- 6672 .loc 1 2668 3 discriminator 1
- 6673 0052 002B cmp r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 186
- 6674 0054 E6D1 bne .L358
- 6675 .LBE638:
- 2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6676 .loc 1 2670 17
- 6677 0056 7B68 ldr r3, [r7, #4]
- 6678 0058 2022 movs r2, #32
- 6679 005a DA67 str r2, [r3, #124]
- 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
- 6680 .loc 1 2672 11
- 6681 005c 7868 ldr r0, [r7, #4]
- 6682 005e FFF7FEFF bl UART_CheckIdleState
- 6683 0062 0346 mov r3, r0
- 6684 .L355:
- 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6685 .loc 1 2673 1
- 6686 0064 1846 mov r0, r3
- 6687 0066 2037 adds r7, r7, #32
- 6688 .LCFI194:
- 6689 .cfi_def_cfa_offset 8
- 6690 0068 BD46 mov sp, r7
- 6691 .LCFI195:
- 6692 .cfi_def_cfa_register 13
- 6693 @ sp needed
- 6694 006a 80BD pop {r7, pc}
- 6695 .cfi_endproc
- 6696 .LFE165:
- 6698 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits
- 6699 .align 1
- 6700 .global HAL_MultiProcessor_DisableMuteMode
- 6701 .syntax unified
- 6702 .thumb
- 6703 .thumb_func
- 6705 HAL_MultiProcessor_DisableMuteMode:
- 6706 .LFB166:
- 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode
- 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * as it may not have been in mute mode at this very moment).
- 2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
- 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6707 .loc 1 2682 1
- 6708 .cfi_startproc
- 6709 @ args = 0, pretend = 0, frame = 32
- 6710 @ frame_needed = 1, uses_anonymous_args = 0
- 6711 0000 80B5 push {r7, lr}
- 6712 .LCFI196:
- 6713 .cfi_def_cfa_offset 8
- 6714 .cfi_offset 7, -8
- 6715 .cfi_offset 14, -4
- 6716 0002 88B0 sub sp, sp, #32
- 6717 .LCFI197:
- 6718 .cfi_def_cfa_offset 40
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 187
- 6719 0004 00AF add r7, sp, #0
- 6720 .LCFI198:
- 6721 .cfi_def_cfa_register 7
- 6722 0006 7860 str r0, [r7, #4]
- 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
- 6723 .loc 1 2683 3
- 6724 0008 7B68 ldr r3, [r7, #4]
- 6725 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
- 6726 000e 012B cmp r3, #1
- 6727 0010 01D1 bne .L360
- 6728 .loc 1 2683 3 is_stmt 0 discriminator 1
- 6729 0012 0223 movs r3, #2
- 6730 0014 26E0 b .L361
- 6731 .L360:
- 6732 .loc 1 2683 3 discriminator 2
- 6733 0016 7B68 ldr r3, [r7, #4]
- 6734 0018 0122 movs r2, #1
- 6735 001a 83F87820 strb r2, [r3, #120]
- 2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6736 .loc 1 2685 17 is_stmt 1 discriminator 2
- 6737 001e 7B68 ldr r3, [r7, #4]
- 6738 0020 2422 movs r2, #36
- 6739 0022 DA67 str r2, [r3, #124]
- 6740 .L364:
- 6741 .LBB643:
- 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */
- 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME);
- 6742 .loc 1 2688 3 discriminator 1
- 6743 0024 7B68 ldr r3, [r7, #4]
- 6744 0026 1B68 ldr r3, [r3]
- 6745 0028 FB60 str r3, [r7, #12]
- 6746 .LBB644:
- 6747 .LBB645:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6748 .loc 2 1072 4 discriminator 1
- 6749 002a FB68 ldr r3, [r7, #12]
- 6750 .syntax unified
- 6751 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6752 002c 53E8003F ldrex r3, [r3]
- 6753 @ 0 "" 2
- 6754 .thumb
- 6755 .syntax unified
- 6756 0030 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 6757 .loc 2 1073 10 discriminator 1
- 6758 0032 BB68 ldr r3, [r7, #8]
- 6759 .LBE645:
- 6760 .LBE644:
- 6761 .loc 1 2688 3 discriminator 1
- 6762 0034 23F40053 bic r3, r3, #8192
- 6763 0038 FB61 str r3, [r7, #28]
- 6764 003a 7B68 ldr r3, [r7, #4]
- 6765 003c 1B68 ldr r3, [r3]
- 6766 003e 1A46 mov r2, r3
- 6767 0040 FB69 ldr r3, [r7, #28]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 188
- 6768 0042 BB61 str r3, [r7, #24]
- 6769 0044 7A61 str r2, [r7, #20]
- 6770 .LBB646:
- 6771 .LBB647:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6772 .loc 2 1123 4 discriminator 1
- 6773 0046 7969 ldr r1, [r7, #20]
- 6774 0048 BA69 ldr r2, [r7, #24]
- 6775 .syntax unified
- 6776 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6777 004a 41E80023 strex r3, r2, [r1]
- 6778 @ 0 "" 2
- 6779 .thumb
- 6780 .syntax unified
- 6781 004e 3B61 str r3, [r7, #16]
- 6782 .loc 2 1124 10 discriminator 1
- 6783 0050 3B69 ldr r3, [r7, #16]
- 6784 .LBE647:
- 6785 .LBE646:
- 6786 .loc 1 2688 3 discriminator 1
- 6787 0052 002B cmp r3, #0
- 6788 0054 E6D1 bne .L364
- 6789 .LBE643:
- 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6790 .loc 1 2690 17
- 6791 0056 7B68 ldr r3, [r7, #4]
- 6792 0058 2022 movs r2, #32
- 6793 005a DA67 str r2, [r3, #124]
- 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart));
- 6794 .loc 1 2692 11
- 6795 005c 7868 ldr r0, [r7, #4]
- 6796 005e FFF7FEFF bl UART_CheckIdleState
- 6797 0062 0346 mov r3, r0
- 6798 .L361:
- 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6799 .loc 1 2693 1
- 6800 0064 1846 mov r0, r3
- 6801 0066 2037 adds r7, r7, #32
- 6802 .LCFI199:
- 6803 .cfi_def_cfa_offset 8
- 6804 0068 BD46 mov sp, r7
- 6805 .LCFI200:
- 6806 .cfi_def_cfa_register 13
- 6807 @ sp needed
- 6808 006a 80BD pop {r7, pc}
- 6809 .cfi_endproc
- 6810 .LFE166:
- 6812 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
- 6813 .align 1
- 6814 .global HAL_MultiProcessor_EnterMuteMode
- 6815 .syntax unified
- 6816 .thumb
- 6817 .thumb_func
- 6819 HAL_MultiProcessor_EnterMuteMode:
- 6820 .LFB167:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 189
- 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode).
- 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called.
- 2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
- 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6821 .loc 1 2702 1
- 6822 .cfi_startproc
- 6823 @ args = 0, pretend = 0, frame = 8
- 6824 @ frame_needed = 1, uses_anonymous_args = 0
- 6825 @ link register save eliminated.
- 6826 0000 80B4 push {r7}
- 6827 .LCFI201:
- 6828 .cfi_def_cfa_offset 4
- 6829 .cfi_offset 7, -4
- 6830 0002 83B0 sub sp, sp, #12
- 6831 .LCFI202:
- 6832 .cfi_def_cfa_offset 16
- 6833 0004 00AF add r7, sp, #0
- 6834 .LCFI203:
- 6835 .cfi_def_cfa_register 7
- 6836 0006 7860 str r0, [r7, #4]
- 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
- 6837 .loc 1 2703 3
- 6838 0008 7B68 ldr r3, [r7, #4]
- 6839 000a 1B68 ldr r3, [r3]
- 6840 000c 9A69 ldr r2, [r3, #24]
- 6841 000e 7B68 ldr r3, [r7, #4]
- 6842 0010 1B68 ldr r3, [r3]
- 6843 0012 42F00402 orr r2, r2, #4
- 6844 0016 9A61 str r2, [r3, #24]
- 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 6845 .loc 1 2704 1
- 6846 0018 00BF nop
- 6847 001a 0C37 adds r7, r7, #12
- 6848 .LCFI204:
- 6849 .cfi_def_cfa_offset 4
- 6850 001c BD46 mov sp, r7
- 6851 .LCFI205:
- 6852 .cfi_def_cfa_register 13
- 6853 @ sp needed
- 6854 001e 5DF8047B ldr r7, [sp], #4
- 6855 .LCFI206:
- 6856 .cfi_restore 7
- 6857 .cfi_def_cfa_offset 0
- 6858 0022 7047 bx lr
- 6859 .cfi_endproc
- 6860 .LFE167:
- 6862 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
- 6863 .align 1
- 6864 .global HAL_HalfDuplex_EnableTransmitter
- 6865 .syntax unified
- 6866 .thumb
- 6867 .thumb_func
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 190
- 6869 HAL_HalfDuplex_EnableTransmitter:
- 6870 .LFB168:
- 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver.
- 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
- 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 6871 .loc 1 2712 1
- 6872 .cfi_startproc
- 6873 @ args = 0, pretend = 0, frame = 56
- 6874 @ frame_needed = 1, uses_anonymous_args = 0
- 6875 @ link register save eliminated.
- 6876 0000 80B4 push {r7}
- 6877 .LCFI207:
- 6878 .cfi_def_cfa_offset 4
- 6879 .cfi_offset 7, -4
- 6880 0002 8FB0 sub sp, sp, #60
- 6881 .LCFI208:
- 6882 .cfi_def_cfa_offset 64
- 6883 0004 00AF add r7, sp, #0
- 6884 .LCFI209:
- 6885 .cfi_def_cfa_register 7
- 6886 0006 7860 str r0, [r7, #4]
- 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
- 6887 .loc 1 2713 3
- 6888 0008 7B68 ldr r3, [r7, #4]
- 6889 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
- 6890 000e 012B cmp r3, #1
- 6891 0010 01D1 bne .L367
- 6892 .loc 1 2713 3 is_stmt 0 discriminator 1
- 6893 0012 0223 movs r3, #2
- 6894 0014 40E0 b .L368
- 6895 .L367:
- 6896 .loc 1 2713 3 discriminator 2
- 6897 0016 7B68 ldr r3, [r7, #4]
- 6898 0018 0122 movs r2, #1
- 6899 001a 83F87820 strb r2, [r3, #120]
- 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6900 .loc 1 2714 17 is_stmt 1 discriminator 2
- 6901 001e 7B68 ldr r3, [r7, #4]
- 6902 0020 2422 movs r2, #36
- 6903 0022 DA67 str r2, [r3, #124]
- 6904 .L371:
- 6905 .LBB648:
- 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */
- 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
- 6906 .loc 1 2717 3 discriminator 1
- 6907 0024 7B68 ldr r3, [r7, #4]
- 6908 0026 1B68 ldr r3, [r3]
- 6909 0028 3B62 str r3, [r7, #32]
- 6910 .LBB649:
- 6911 .LBB650:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 191
- 6912 .loc 2 1072 4 discriminator 1
- 6913 002a 3B6A ldr r3, [r7, #32]
- 6914 .syntax unified
- 6915 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6916 002c 53E8003F ldrex r3, [r3]
- 6917 @ 0 "" 2
- 6918 .thumb
- 6919 .syntax unified
- 6920 0030 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 6921 .loc 2 1073 10 discriminator 1
- 6922 0032 FB69 ldr r3, [r7, #28]
- 6923 .LBE650:
- 6924 .LBE649:
- 6925 .loc 1 2717 3 discriminator 1
- 6926 0034 23F00C03 bic r3, r3, #12
- 6927 0038 7B63 str r3, [r7, #52]
- 6928 003a 7B68 ldr r3, [r7, #4]
- 6929 003c 1B68 ldr r3, [r3]
- 6930 003e 1A46 mov r2, r3
- 6931 0040 7B6B ldr r3, [r7, #52]
- 6932 0042 FB62 str r3, [r7, #44]
- 6933 0044 BA62 str r2, [r7, #40]
- 6934 .LBB651:
- 6935 .LBB652:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6936 .loc 2 1123 4 discriminator 1
- 6937 0046 B96A ldr r1, [r7, #40]
- 6938 0048 FA6A ldr r2, [r7, #44]
- 6939 .syntax unified
- 6940 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6941 004a 41E80023 strex r3, r2, [r1]
- 6942 @ 0 "" 2
- 6943 .thumb
- 6944 .syntax unified
- 6945 004e 7B62 str r3, [r7, #36]
- 6946 .loc 2 1124 10 discriminator 1
- 6947 0050 7B6A ldr r3, [r7, #36]
- 6948 .LBE652:
- 6949 .LBE651:
- 6950 .loc 1 2717 3 discriminator 1
- 6951 0052 002B cmp r3, #0
- 6952 0054 E6D1 bne .L371
- 6953 .L374:
- 6954 .LBE648:
- 6955 .LBB653:
- 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
- 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE);
- 6956 .loc 1 2720 3 discriminator 1
- 6957 0056 7B68 ldr r3, [r7, #4]
- 6958 0058 1B68 ldr r3, [r3]
- 6959 005a FB60 str r3, [r7, #12]
- 6960 .LBB654:
- 6961 .LBB655:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6962 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 192
- 6963 005c FB68 ldr r3, [r7, #12]
- 6964 .syntax unified
- 6965 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6966 005e 53E8003F ldrex r3, [r3]
- 6967 @ 0 "" 2
- 6968 .thumb
- 6969 .syntax unified
- 6970 0062 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 6971 .loc 2 1073 10 discriminator 1
- 6972 0064 BB68 ldr r3, [r7, #8]
- 6973 .LBE655:
- 6974 .LBE654:
- 6975 .loc 1 2720 3 discriminator 1
- 6976 0066 43F00803 orr r3, r3, #8
- 6977 006a 3B63 str r3, [r7, #48]
- 6978 006c 7B68 ldr r3, [r7, #4]
- 6979 006e 1B68 ldr r3, [r3]
- 6980 0070 1A46 mov r2, r3
- 6981 0072 3B6B ldr r3, [r7, #48]
- 6982 0074 BB61 str r3, [r7, #24]
- 6983 0076 7A61 str r2, [r7, #20]
- 6984 .LBB656:
- 6985 .LBB657:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6986 .loc 2 1123 4 discriminator 1
- 6987 0078 7969 ldr r1, [r7, #20]
- 6988 007a BA69 ldr r2, [r7, #24]
- 6989 .syntax unified
- 6990 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6991 007c 41E80023 strex r3, r2, [r1]
- 6992 @ 0 "" 2
- 6993 .thumb
- 6994 .syntax unified
- 6995 0080 3B61 str r3, [r7, #16]
- 6996 .loc 2 1124 10 discriminator 1
- 6997 0082 3B69 ldr r3, [r7, #16]
- 6998 .LBE657:
- 6999 .LBE656:
- 7000 .loc 1 2720 3 discriminator 1
- 7001 0084 002B cmp r3, #0
- 7002 0086 E6D1 bne .L374
- 7003 .LBE653:
- 2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 7004 .loc 1 2722 17
- 7005 0088 7B68 ldr r3, [r7, #4]
- 7006 008a 2022 movs r2, #32
- 7007 008c DA67 str r2, [r3, #124]
- 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 7008 .loc 1 2724 3
- 7009 008e 7B68 ldr r3, [r7, #4]
- 7010 0090 0022 movs r2, #0
- 7011 0092 83F87820 strb r2, [r3, #120]
- 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 193
- 7012 .loc 1 2726 10
- 7013 0096 0023 movs r3, #0
- 7014 .L368:
- 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 7015 .loc 1 2727 1
- 7016 0098 1846 mov r0, r3
- 7017 009a 3C37 adds r7, r7, #60
- 7018 .LCFI210:
- 7019 .cfi_def_cfa_offset 4
- 7020 009c BD46 mov sp, r7
- 7021 .LCFI211:
- 7022 .cfi_def_cfa_register 13
- 7023 @ sp needed
- 7024 009e 5DF8047B ldr r7, [sp], #4
- 7025 .LCFI212:
- 7026 .cfi_restore 7
- 7027 .cfi_def_cfa_offset 0
- 7028 00a2 7047 bx lr
- 7029 .cfi_endproc
- 7030 .LFE168:
- 7032 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
- 7033 .align 1
- 7034 .global HAL_HalfDuplex_EnableReceiver
- 7035 .syntax unified
- 7036 .thumb
- 7037 .thumb_func
- 7039 HAL_HalfDuplex_EnableReceiver:
- 7040 .LFB169:
- 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter.
- 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status.
- 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
- 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 7041 .loc 1 2735 1
- 7042 .cfi_startproc
- 7043 @ args = 0, pretend = 0, frame = 56
- 7044 @ frame_needed = 1, uses_anonymous_args = 0
- 7045 @ link register save eliminated.
- 7046 0000 80B4 push {r7}
- 7047 .LCFI213:
- 7048 .cfi_def_cfa_offset 4
- 7049 .cfi_offset 7, -4
- 7050 0002 8FB0 sub sp, sp, #60
- 7051 .LCFI214:
- 7052 .cfi_def_cfa_offset 64
- 7053 0004 00AF add r7, sp, #0
- 7054 .LCFI215:
- 7055 .cfi_def_cfa_register 7
- 7056 0006 7860 str r0, [r7, #4]
- 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
- 7057 .loc 1 2736 3
- 7058 0008 7B68 ldr r3, [r7, #4]
- 7059 000a 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
- 7060 000e 012B cmp r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 194
- 7061 0010 01D1 bne .L376
- 7062 .loc 1 2736 3 is_stmt 0 discriminator 1
- 7063 0012 0223 movs r3, #2
- 7064 0014 40E0 b .L377
- 7065 .L376:
- 7066 .loc 1 2736 3 discriminator 2
- 7067 0016 7B68 ldr r3, [r7, #4]
- 7068 0018 0122 movs r2, #1
- 7069 001a 83F87820 strb r2, [r3, #120]
- 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 7070 .loc 1 2737 17 is_stmt 1 discriminator 2
- 7071 001e 7B68 ldr r3, [r7, #4]
- 7072 0020 2422 movs r2, #36
- 7073 0022 DA67 str r2, [r3, #124]
- 7074 .L380:
- 7075 .LBB658:
- 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */
- 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
- 7076 .loc 1 2740 3 discriminator 1
- 7077 0024 7B68 ldr r3, [r7, #4]
- 7078 0026 1B68 ldr r3, [r3]
- 7079 0028 3B62 str r3, [r7, #32]
- 7080 .LBB659:
- 7081 .LBB660:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7082 .loc 2 1072 4 discriminator 1
- 7083 002a 3B6A ldr r3, [r7, #32]
- 7084 .syntax unified
- 7085 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7086 002c 53E8003F ldrex r3, [r3]
- 7087 @ 0 "" 2
- 7088 .thumb
- 7089 .syntax unified
- 7090 0030 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7091 .loc 2 1073 10 discriminator 1
- 7092 0032 FB69 ldr r3, [r7, #28]
- 7093 .LBE660:
- 7094 .LBE659:
- 7095 .loc 1 2740 3 discriminator 1
- 7096 0034 23F00C03 bic r3, r3, #12
- 7097 0038 7B63 str r3, [r7, #52]
- 7098 003a 7B68 ldr r3, [r7, #4]
- 7099 003c 1B68 ldr r3, [r3]
- 7100 003e 1A46 mov r2, r3
- 7101 0040 7B6B ldr r3, [r7, #52]
- 7102 0042 FB62 str r3, [r7, #44]
- 7103 0044 BA62 str r2, [r7, #40]
- 7104 .LBB661:
- 7105 .LBB662:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7106 .loc 2 1123 4 discriminator 1
- 7107 0046 B96A ldr r1, [r7, #40]
- 7108 0048 FA6A ldr r2, [r7, #44]
- 7109 .syntax unified
- 7110 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 195
- 7111 004a 41E80023 strex r3, r2, [r1]
- 7112 @ 0 "" 2
- 7113 .thumb
- 7114 .syntax unified
- 7115 004e 7B62 str r3, [r7, #36]
- 7116 .loc 2 1124 10 discriminator 1
- 7117 0050 7B6A ldr r3, [r7, #36]
- 7118 .LBE662:
- 7119 .LBE661:
- 7120 .loc 1 2740 3 discriminator 1
- 7121 0052 002B cmp r3, #0
- 7122 0054 E6D1 bne .L380
- 7123 .L383:
- 7124 .LBE658:
- 7125 .LBB663:
- 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
- 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE);
- 7126 .loc 1 2743 3 discriminator 1
- 7127 0056 7B68 ldr r3, [r7, #4]
- 7128 0058 1B68 ldr r3, [r3]
- 7129 005a FB60 str r3, [r7, #12]
- 7130 .LBB664:
- 7131 .LBB665:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7132 .loc 2 1072 4 discriminator 1
- 7133 005c FB68 ldr r3, [r7, #12]
- 7134 .syntax unified
- 7135 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7136 005e 53E8003F ldrex r3, [r3]
- 7137 @ 0 "" 2
- 7138 .thumb
- 7139 .syntax unified
- 7140 0062 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7141 .loc 2 1073 10 discriminator 1
- 7142 0064 BB68 ldr r3, [r7, #8]
- 7143 .LBE665:
- 7144 .LBE664:
- 7145 .loc 1 2743 3 discriminator 1
- 7146 0066 43F00403 orr r3, r3, #4
- 7147 006a 3B63 str r3, [r7, #48]
- 7148 006c 7B68 ldr r3, [r7, #4]
- 7149 006e 1B68 ldr r3, [r3]
- 7150 0070 1A46 mov r2, r3
- 7151 0072 3B6B ldr r3, [r7, #48]
- 7152 0074 BB61 str r3, [r7, #24]
- 7153 0076 7A61 str r2, [r7, #20]
- 7154 .LBB666:
- 7155 .LBB667:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7156 .loc 2 1123 4 discriminator 1
- 7157 0078 7969 ldr r1, [r7, #20]
- 7158 007a BA69 ldr r2, [r7, #24]
- 7159 .syntax unified
- 7160 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7161 007c 41E80023 strex r3, r2, [r1]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 196
- 7162 @ 0 "" 2
- 7163 .thumb
- 7164 .syntax unified
- 7165 0080 3B61 str r3, [r7, #16]
- 7166 .loc 2 1124 10 discriminator 1
- 7167 0082 3B69 ldr r3, [r7, #16]
- 7168 .LBE667:
- 7169 .LBE666:
- 7170 .loc 1 2743 3 discriminator 1
- 7171 0084 002B cmp r3, #0
- 7172 0086 E6D1 bne .L383
- 7173 .LBE663:
- 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 7174 .loc 1 2745 17
- 7175 0088 7B68 ldr r3, [r7, #4]
- 7176 008a 2022 movs r2, #32
- 7177 008c DA67 str r2, [r3, #124]
- 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 7178 .loc 1 2747 3
- 7179 008e 7B68 ldr r3, [r7, #4]
- 7180 0090 0022 movs r2, #0
- 7181 0092 83F87820 strb r2, [r3, #120]
- 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 7182 .loc 1 2749 10
- 7183 0096 0023 movs r3, #0
- 7184 .L377:
- 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 7185 .loc 1 2750 1
- 7186 0098 1846 mov r0, r3
- 7187 009a 3C37 adds r7, r7, #60
- 7188 .LCFI216:
- 7189 .cfi_def_cfa_offset 4
- 7190 009c BD46 mov sp, r7
- 7191 .LCFI217:
- 7192 .cfi_def_cfa_register 13
- 7193 @ sp needed
- 7194 009e 5DF8047B ldr r7, [sp], #4
- 7195 .LCFI218:
- 7196 .cfi_restore 7
- 7197 .cfi_def_cfa_offset 0
- 7198 00a2 7047 bx lr
- 7199 .cfi_endproc
- 7200 .LFE169:
- 7202 .section .text.HAL_LIN_SendBreak,"ax",%progbits
- 7203 .align 1
- 7204 .global HAL_LIN_SendBreak
- 7205 .syntax unified
- 7206 .thumb
- 7207 .thumb_func
- 7209 HAL_LIN_SendBreak:
- 7210 .LFB170:
- 2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 197
- 2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Transmit break characters.
- 2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
- 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 7211 .loc 1 2759 1
- 7212 .cfi_startproc
- 7213 @ args = 0, pretend = 0, frame = 8
- 7214 @ frame_needed = 1, uses_anonymous_args = 0
- 7215 0000 80B5 push {r7, lr}
- 7216 .LCFI219:
- 7217 .cfi_def_cfa_offset 8
- 7218 .cfi_offset 7, -8
- 7219 .cfi_offset 14, -4
- 7220 0002 82B0 sub sp, sp, #8
- 7221 .LCFI220:
- 7222 .cfi_def_cfa_offset 16
- 7223 0004 00AF add r7, sp, #0
- 7224 .LCFI221:
- 7225 .cfi_def_cfa_register 7
- 7226 0006 7860 str r0, [r7, #4]
- 2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
- 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
- 7227 .loc 1 2761 3
- 7228 0008 7B68 ldr r3, [r7, #4]
- 7229 000a 1B68 ldr r3, [r3]
- 7230 000c 1E4A ldr r2, .L388
- 7231 000e 9342 cmp r3, r2
- 7232 0010 18D0 beq .L385
- 7233 .loc 1 2761 3 is_stmt 0 discriminator 1
- 7234 0012 7B68 ldr r3, [r7, #4]
- 7235 0014 1B68 ldr r3, [r3]
- 7236 0016 1D4A ldr r2, .L388+4
- 7237 0018 9342 cmp r3, r2
- 7238 001a 13D0 beq .L385
- 7239 .loc 1 2761 3 discriminator 2
- 7240 001c 7B68 ldr r3, [r7, #4]
- 7241 001e 1B68 ldr r3, [r3]
- 7242 0020 1B4A ldr r2, .L388+8
- 7243 0022 9342 cmp r3, r2
- 7244 0024 0ED0 beq .L385
- 7245 .loc 1 2761 3 discriminator 3
- 7246 0026 7B68 ldr r3, [r7, #4]
- 7247 0028 1B68 ldr r3, [r3]
- 7248 002a 1A4A ldr r2, .L388+12
- 7249 002c 9342 cmp r3, r2
- 7250 002e 09D0 beq .L385
- 7251 .loc 1 2761 3 discriminator 4
- 7252 0030 7B68 ldr r3, [r7, #4]
- 7253 0032 1B68 ldr r3, [r3]
- 7254 0034 184A ldr r2, .L388+16
- 7255 0036 9342 cmp r3, r2
- 7256 0038 04D0 beq .L385
- 7257 .loc 1 2761 3 discriminator 5
- 7258 003a 40F6C921 movw r1, #2761
- 7259 003e 1748 ldr r0, .L388+20
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 198
- 7260 0040 FFF7FEFF bl assert_failed
- 7261 .L385:
- 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart);
- 7262 .loc 1 2763 3 is_stmt 1
- 7263 0044 7B68 ldr r3, [r7, #4]
- 7264 0046 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2
- 7265 004a 012B cmp r3, #1
- 7266 004c 01D1 bne .L386
- 7267 .loc 1 2763 3 is_stmt 0 discriminator 1
- 7268 004e 0223 movs r3, #2
- 7269 0050 16E0 b .L387
- 7270 .L386:
- 7271 .loc 1 2763 3 discriminator 2
- 7272 0052 7B68 ldr r3, [r7, #4]
- 7273 0054 0122 movs r2, #1
- 7274 0056 83F87820 strb r2, [r3, #120]
- 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 7275 .loc 1 2765 17 is_stmt 1 discriminator 2
- 7276 005a 7B68 ldr r3, [r7, #4]
- 7277 005c 2422 movs r2, #36
- 7278 005e DA67 str r2, [r3, #124]
- 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Send break characters */
- 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST);
- 7279 .loc 1 2768 3 discriminator 2
- 7280 0060 7B68 ldr r3, [r7, #4]
- 7281 0062 1B68 ldr r3, [r3]
- 7282 0064 9A69 ldr r2, [r3, #24]
- 7283 0066 7B68 ldr r3, [r7, #4]
- 7284 0068 1B68 ldr r3, [r3]
- 7285 006a 42F00202 orr r2, r2, #2
- 7286 006e 9A61 str r2, [r3, #24]
- 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 7287 .loc 1 2770 17 discriminator 2
- 7288 0070 7B68 ldr r3, [r7, #4]
- 7289 0072 2022 movs r2, #32
- 7290 0074 DA67 str r2, [r3, #124]
- 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 7291 .loc 1 2772 3 discriminator 2
- 7292 0076 7B68 ldr r3, [r7, #4]
- 7293 0078 0022 movs r2, #0
- 7294 007a 83F87820 strb r2, [r3, #120]
- 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 7295 .loc 1 2774 10 discriminator 2
- 7296 007e 0023 movs r3, #0
- 7297 .L387:
- 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 7298 .loc 1 2775 1
- 7299 0080 1846 mov r0, r3
- 7300 0082 0837 adds r7, r7, #8
- 7301 .LCFI222:
- 7302 .cfi_def_cfa_offset 8
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 199
- 7303 0084 BD46 mov sp, r7
- 7304 .LCFI223:
- 7305 .cfi_def_cfa_register 13
- 7306 @ sp needed
- 7307 0086 80BD pop {r7, pc}
- 7308 .L389:
- 7309 .align 2
- 7310 .L388:
- 7311 0088 00380140 .word 1073821696
- 7312 008c 00440040 .word 1073759232
- 7313 0090 00480040 .word 1073760256
- 7314 0094 004C0040 .word 1073761280
- 7315 0098 00500040 .word 1073762304
- 7316 009c 00000000 .word .LC0
- 7317 .cfi_endproc
- 7318 .LFE170:
- 7320 .section .text.HAL_UART_GetState,"ax",%progbits
- 7321 .align 1
- 7322 .global HAL_UART_GetState
- 7323 .syntax unified
- 7324 .thumb
- 7325 .thumb_func
- 7327 HAL_UART_GetState:
- 7328 .LFB171:
- 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
- 2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
- 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Peripheral State functions
- 2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *
- 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim
- 2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ==============================================================================
- 2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral State and Error functions #####
- 2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ==============================================================================
- 2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..]
- 2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides functions allowing to :
- 2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle state.
- 2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle error code
- 2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim
- 2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle state.
- 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART.
- 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL state
- 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart)
- 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 7329 .loc 1 2804 1
- 7330 .cfi_startproc
- 7331 @ args = 0, pretend = 0, frame = 16
- 7332 @ frame_needed = 1, uses_anonymous_args = 0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 200
- 7333 @ link register save eliminated.
- 7334 0000 80B4 push {r7}
- 7335 .LCFI224:
- 7336 .cfi_def_cfa_offset 4
- 7337 .cfi_offset 7, -4
- 7338 0002 85B0 sub sp, sp, #20
- 7339 .LCFI225:
- 7340 .cfi_def_cfa_offset 24
- 7341 0004 00AF add r7, sp, #0
- 7342 .LCFI226:
- 7343 .cfi_def_cfa_register 7
- 7344 0006 7860 str r0, [r7, #4]
- 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp1;
- 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp2;
- 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp1 = huart->gState;
- 7345 .loc 1 2807 9
- 7346 0008 7B68 ldr r3, [r7, #4]
- 7347 000a DB6F ldr r3, [r3, #124]
- 7348 000c FB60 str r3, [r7, #12]
- 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState;
- 7349 .loc 1 2808 9
- 7350 000e 7B68 ldr r3, [r7, #4]
- 7351 0010 D3F88030 ldr r3, [r3, #128]
- 7352 0014 BB60 str r3, [r7, #8]
- 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
- 7353 .loc 1 2810 10
- 7354 0016 FA68 ldr r2, [r7, #12]
- 7355 0018 BB68 ldr r3, [r7, #8]
- 7356 001a 1343 orrs r3, r3, r2
- 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 7357 .loc 1 2811 1
- 7358 001c 1846 mov r0, r3
- 7359 001e 1437 adds r7, r7, #20
- 7360 .LCFI227:
- 7361 .cfi_def_cfa_offset 4
- 7362 0020 BD46 mov sp, r7
- 7363 .LCFI228:
- 7364 .cfi_def_cfa_register 13
- 7365 @ sp needed
- 7366 0022 5DF8047B ldr r7, [sp], #4
- 7367 .LCFI229:
- 7368 .cfi_restore 7
- 7369 .cfi_def_cfa_offset 0
- 7370 0026 7047 bx lr
- 7371 .cfi_endproc
- 7372 .LFE171:
- 7374 .section .text.HAL_UART_GetError,"ax",%progbits
- 7375 .align 1
- 7376 .global HAL_UART_GetError
- 7377 .syntax unified
- 7378 .thumb
- 7379 .thumb_func
- 7381 HAL_UART_GetError:
- 7382 .LFB172:
- 2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 201
- 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle error code.
- 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART.
- 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval UART Error Code
- 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart)
- 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 7383 .loc 1 2820 1
- 7384 .cfi_startproc
- 7385 @ args = 0, pretend = 0, frame = 8
- 7386 @ frame_needed = 1, uses_anonymous_args = 0
- 7387 @ link register save eliminated.
- 7388 0000 80B4 push {r7}
- 7389 .LCFI230:
- 7390 .cfi_def_cfa_offset 4
- 7391 .cfi_offset 7, -4
- 7392 0002 83B0 sub sp, sp, #12
- 7393 .LCFI231:
- 7394 .cfi_def_cfa_offset 16
- 7395 0004 00AF add r7, sp, #0
- 7396 .LCFI232:
- 7397 .cfi_def_cfa_register 7
- 7398 0006 7860 str r0, [r7, #4]
- 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return huart->ErrorCode;
- 7399 .loc 1 2821 15
- 7400 0008 7B68 ldr r3, [r7, #4]
- 7401 000a D3F88430 ldr r3, [r3, #132]
- 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 7402 .loc 1 2822 1
- 7403 000e 1846 mov r0, r3
- 7404 0010 0C37 adds r7, r7, #12
- 7405 .LCFI233:
- 7406 .cfi_def_cfa_offset 4
- 7407 0012 BD46 mov sp, r7
- 7408 .LCFI234:
- 7409 .cfi_def_cfa_register 13
- 7410 @ sp needed
- 7411 0014 5DF8047B ldr r7, [sp], #4
- 7412 .LCFI235:
- 7413 .cfi_restore 7
- 7414 .cfi_def_cfa_offset 0
- 7415 0018 7047 bx lr
- 7416 .cfi_endproc
- 7417 .LFE172:
- 7419 .section .text.UART_SetConfig,"ax",%progbits
- 7420 .align 1
- 7421 .global UART_SetConfig
- 7422 .syntax unified
- 7423 .thumb
- 7424 .thumb_func
- 7426 UART_SetConfig:
- 7427 .LFB173:
- 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
- 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 202
- 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @}
- 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
- 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{
- 2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
- 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval none
- 2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
- 2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the UART Callback settings */
- 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
- 2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
- 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
- 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
- 2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
- 2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
- 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
- 2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
- 2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb
- 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
- 2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Configure the UART peripheral.
- 2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
- 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 7428 .loc 1 2864 1
- 7429 .cfi_startproc
- 7430 @ args = 0, pretend = 0, frame = 32
- 7431 @ frame_needed = 1, uses_anonymous_args = 0
- 7432 0000 80B5 push {r7, lr}
- 7433 .LCFI236:
- 7434 .cfi_def_cfa_offset 8
- 7435 .cfi_offset 7, -8
- 7436 .cfi_offset 14, -4
- 7437 0002 88B0 sub sp, sp, #32
- 7438 .LCFI237:
- 7439 .cfi_def_cfa_offset 40
- 7440 0004 00AF add r7, sp, #0
- 7441 .LCFI238:
- 7442 .cfi_def_cfa_register 7
- 7443 0006 7860 str r0, [r7, #4]
- 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg;
- 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t brrtemp;
- 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource;
- 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t usartdiv;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 203
- 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
- 7444 .loc 1 2869 21
- 7445 0008 0023 movs r3, #0
- 7446 000a BB77 strb r3, [r7, #30]
- 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t pclk;
- 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */
- 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
- 7447 .loc 1 2873 3
- 7448 000c 7B68 ldr r3, [r7, #4]
- 7449 000e 5B68 ldr r3, [r3, #4]
- 7450 0010 994A ldr r2, .L463
- 7451 0012 9342 cmp r3, r2
- 7452 0014 04D9 bls .L395
- 7453 .loc 1 2873 3 is_stmt 0 discriminator 1
- 7454 0016 40F63931 movw r1, #2873
- 7455 001a 9848 ldr r0, .L463+4
- 7456 001c FFF7FEFF bl assert_failed
- 7457 .L395:
- 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
- 7458 .loc 1 2874 3 is_stmt 1
- 7459 0020 7B68 ldr r3, [r7, #4]
- 7460 0022 9B68 ldr r3, [r3, #8]
- 7461 0024 002B cmp r3, #0
- 7462 0026 09D0 beq .L396
- 7463 .loc 1 2874 3 is_stmt 0 discriminator 1
- 7464 0028 7B68 ldr r3, [r7, #4]
- 7465 002a 9B68 ldr r3, [r3, #8]
- 7466 002c B3F5805F cmp r3, #4096
- 7467 0030 04D0 beq .L396
- 7468 .loc 1 2874 3 discriminator 2
- 7469 0032 40F63A31 movw r1, #2874
- 7470 0036 9148 ldr r0, .L463+4
- 7471 0038 FFF7FEFF bl assert_failed
- 7472 .L396:
- 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
- 7473 .loc 1 2875 3 is_stmt 1
- 7474 003c 7B68 ldr r3, [r7, #4]
- 7475 003e DB68 ldr r3, [r3, #12]
- 7476 0040 B3F5805F cmp r3, #4096
- 7477 0044 12D0 beq .L397
- 7478 .loc 1 2875 3 is_stmt 0 discriminator 1
- 7479 0046 7B68 ldr r3, [r7, #4]
- 7480 0048 DB68 ldr r3, [r3, #12]
- 7481 004a 002B cmp r3, #0
- 7482 004c 0ED0 beq .L397
- 7483 .loc 1 2875 3 discriminator 2
- 7484 004e 7B68 ldr r3, [r7, #4]
- 7485 0050 DB68 ldr r3, [r3, #12]
- 7486 0052 B3F5405F cmp r3, #12288
- 7487 0056 09D0 beq .L397
- 7488 .loc 1 2875 3 discriminator 3
- 7489 0058 7B68 ldr r3, [r7, #4]
- 7490 005a DB68 ldr r3, [r3, #12]
- 7491 005c B3F5005F cmp r3, #8192
- 7492 0060 04D0 beq .L397
- 7493 .loc 1 2875 3 discriminator 4
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 204
- 7494 0062 40F63B31 movw r1, #2875
- 7495 0066 8548 ldr r0, .L463+4
- 7496 0068 FFF7FEFF bl assert_failed
- 7497 .L397:
- 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
- 7498 .loc 1 2876 3 is_stmt 1
- 7499 006c 7B68 ldr r3, [r7, #4]
- 7500 006e 1B6A ldr r3, [r3, #32]
- 7501 0070 002B cmp r3, #0
- 7502 0072 09D0 beq .L398
- 7503 .loc 1 2876 3 is_stmt 0 discriminator 1
- 7504 0074 7B68 ldr r3, [r7, #4]
- 7505 0076 1B6A ldr r3, [r3, #32]
- 7506 0078 B3F5006F cmp r3, #2048
- 7507 007c 04D0 beq .L398
- 7508 .loc 1 2876 3 discriminator 2
- 7509 007e 40F63C31 movw r1, #2876
- 7510 0082 7E48 ldr r0, .L463+4
- 7511 0084 FFF7FEFF bl assert_failed
- 7512 .L398:
- 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
- 7513 .loc 1 2878 3 is_stmt 1
- 7514 0088 7B68 ldr r3, [r7, #4]
- 7515 008a 1B69 ldr r3, [r3, #16]
- 7516 008c 002B cmp r3, #0
- 7517 008e 0ED0 beq .L399
- 7518 .loc 1 2878 3 is_stmt 0 discriminator 1
- 7519 0090 7B68 ldr r3, [r7, #4]
- 7520 0092 1B69 ldr r3, [r3, #16]
- 7521 0094 B3F5806F cmp r3, #1024
- 7522 0098 09D0 beq .L399
- 7523 .loc 1 2878 3 discriminator 2
- 7524 009a 7B68 ldr r3, [r7, #4]
- 7525 009c 1B69 ldr r3, [r3, #16]
- 7526 009e B3F5C06F cmp r3, #1536
- 7527 00a2 04D0 beq .L399
- 7528 .loc 1 2878 3 discriminator 3
- 7529 00a4 40F63E31 movw r1, #2878
- 7530 00a8 7448 ldr r0, .L463+4
- 7531 00aa FFF7FEFF bl assert_failed
- 7532 .L399:
- 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
- 7533 .loc 1 2879 3 is_stmt 1
- 7534 00ae 7B68 ldr r3, [r7, #4]
- 7535 00b0 5B69 ldr r3, [r3, #20]
- 7536 00b2 23F00C03 bic r3, r3, #12
- 7537 00b6 002B cmp r3, #0
- 7538 00b8 03D1 bne .L400
- 7539 .loc 1 2879 3 is_stmt 0 discriminator 2
- 7540 00ba 7B68 ldr r3, [r7, #4]
- 7541 00bc 5B69 ldr r3, [r3, #20]
- 7542 00be 002B cmp r3, #0
- 7543 00c0 04D1 bne .L401
- 7544 .L400:
- 7545 .loc 1 2879 3 discriminator 3
- 7546 00c2 40F63F31 movw r1, #2879
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 205
- 7547 00c6 6D48 ldr r0, .L463+4
- 7548 00c8 FFF7FEFF bl assert_failed
- 7549 .L401:
- 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
- 7550 .loc 1 2880 3 is_stmt 1
- 7551 00cc 7B68 ldr r3, [r7, #4]
- 7552 00ce 9B69 ldr r3, [r3, #24]
- 7553 00d0 002B cmp r3, #0
- 7554 00d2 13D0 beq .L402
- 7555 .loc 1 2880 3 is_stmt 0 discriminator 1
- 7556 00d4 7B68 ldr r3, [r7, #4]
- 7557 00d6 9B69 ldr r3, [r3, #24]
- 7558 00d8 B3F5807F cmp r3, #256
- 7559 00dc 0ED0 beq .L402
- 7560 .loc 1 2880 3 discriminator 2
- 7561 00de 7B68 ldr r3, [r7, #4]
- 7562 00e0 9B69 ldr r3, [r3, #24]
- 7563 00e2 B3F5007F cmp r3, #512
- 7564 00e6 09D0 beq .L402
- 7565 .loc 1 2880 3 discriminator 3
- 7566 00e8 7B68 ldr r3, [r7, #4]
- 7567 00ea 9B69 ldr r3, [r3, #24]
- 7568 00ec B3F5407F cmp r3, #768
- 7569 00f0 04D0 beq .L402
- 7570 .loc 1 2880 3 discriminator 4
- 7571 00f2 4FF43461 mov r1, #2880
- 7572 00f6 6148 ldr r0, .L463+4
- 7573 00f8 FFF7FEFF bl assert_failed
- 7574 .L402:
- 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
- 7575 .loc 1 2881 3 is_stmt 1
- 7576 00fc 7B68 ldr r3, [r7, #4]
- 7577 00fe DB69 ldr r3, [r3, #28]
- 7578 0100 002B cmp r3, #0
- 7579 0102 09D0 beq .L403
- 7580 .loc 1 2881 3 is_stmt 0 discriminator 1
- 7581 0104 7B68 ldr r3, [r7, #4]
- 7582 0106 DB69 ldr r3, [r3, #28]
- 7583 0108 B3F5004F cmp r3, #32768
- 7584 010c 04D0 beq .L403
- 7585 .loc 1 2881 3 discriminator 2
- 7586 010e 40F64131 movw r1, #2881
- 7587 0112 5A48 ldr r0, .L463+4
- 7588 0114 FFF7FEFF bl assert_failed
- 7589 .L403:
- 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
- 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure
- 2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling:
- 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value
- 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value
- 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value
- 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */
- 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
- 7590 .loc 1 2890 33 is_stmt 1
- 7591 0118 7B68 ldr r3, [r7, #4]
- 7592 011a 9A68 ldr r2, [r3, #8]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 206
- 7593 .loc 1 2890 58
- 7594 011c 7B68 ldr r3, [r7, #4]
- 7595 011e 1B69 ldr r3, [r3, #16]
- 7596 .loc 1 2890 45
- 7597 0120 1A43 orrs r2, r2, r3
- 7598 .loc 1 2890 79
- 7599 0122 7B68 ldr r3, [r7, #4]
- 7600 0124 5B69 ldr r3, [r3, #20]
- 7601 .loc 1 2890 66
- 7602 0126 1A43 orrs r2, r2, r3
- 7603 .loc 1 2890 98
- 7604 0128 7B68 ldr r3, [r7, #4]
- 7605 012a DB69 ldr r3, [r3, #28]
- 7606 .loc 1 2890 10
- 7607 012c 1343 orrs r3, r3, r2
- 7608 012e 7B61 str r3, [r7, #20]
- 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
- 7609 .loc 1 2891 3
- 7610 0130 7B68 ldr r3, [r7, #4]
- 7611 0132 1B68 ldr r3, [r3]
- 7612 0134 1B68 ldr r3, [r3]
- 7613 0136 23F41643 bic r3, r3, #38400
- 7614 013a 23F00C03 bic r3, r3, #12
- 7615 013e 7A68 ldr r2, [r7, #4]
- 7616 0140 1268 ldr r2, [r2]
- 7617 0142 7969 ldr r1, [r7, #20]
- 7618 0144 0B43 orrs r3, r3, r1
- 7619 0146 1360 str r3, [r2]
- 2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
- 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according
- 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.StopBits value */
- 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
- 7620 .loc 1 2896 3
- 7621 0148 7B68 ldr r3, [r7, #4]
- 7622 014a 1B68 ldr r3, [r3]
- 7623 014c 5B68 ldr r3, [r3, #4]
- 7624 014e 23F44051 bic r1, r3, #12288
- 7625 0152 7B68 ldr r3, [r7, #4]
- 7626 0154 DA68 ldr r2, [r3, #12]
- 7627 0156 7B68 ldr r3, [r7, #4]
- 7628 0158 1B68 ldr r3, [r3]
- 7629 015a 0A43 orrs r2, r2, r1
- 7630 015c 5A60 str r2, [r3, #4]
- 2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
- 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure
- 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according
- 2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.HwFlowCtl value
- 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according
- 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */
- 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl;
- 7631 .loc 1 2904 10
- 7632 015e 7B68 ldr r3, [r7, #4]
- 7633 0160 9B69 ldr r3, [r3, #24]
- 7634 0162 7B61 str r3, [r7, #20]
- 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 207
- 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling;
- 7635 .loc 1 2906 24
- 7636 0164 7B68 ldr r3, [r7, #4]
- 7637 0166 1B6A ldr r3, [r3, #32]
- 7638 .loc 1 2906 10
- 7639 0168 7A69 ldr r2, [r7, #20]
- 7640 016a 1343 orrs r3, r3, r2
- 7641 016c 7B61 str r3, [r7, #20]
- 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
- 7642 .loc 1 2907 3
- 7643 016e 7B68 ldr r3, [r7, #4]
- 7644 0170 1B68 ldr r3, [r3]
- 7645 0172 9B68 ldr r3, [r3, #8]
- 7646 0174 23F43061 bic r1, r3, #2816
- 7647 0178 7B68 ldr r3, [r7, #4]
- 7648 017a 1B68 ldr r3, [r3]
- 7649 017c 7A69 ldr r2, [r7, #20]
- 7650 017e 0A43 orrs r2, r2, r1
- 7651 0180 9A60 str r2, [r3, #8]
- 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/
- 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource);
- 7652 .loc 1 2911 3
- 7653 0182 7B68 ldr r3, [r7, #4]
- 7654 0184 1B68 ldr r3, [r3]
- 7655 0186 3E4A ldr r2, .L463+8
- 7656 0188 9342 cmp r3, r2
- 7657 018a 20D1 bne .L404
- 7658 .loc 1 2911 3 is_stmt 0 discriminator 1
- 7659 018c 3D4B ldr r3, .L463+12
- 7660 018e 1B6B ldr r3, [r3, #48]
- 7661 0190 03F00303 and r3, r3, #3
- 7662 0194 032B cmp r3, #3
- 7663 0196 17D8 bhi .L405
- 7664 0198 01A2 adr r2, .L407
- 7665 019a 52F823F0 ldr pc, [r2, r3, lsl #2]
- 7666 019e 00BF .p2align 2
- 7667 .L407:
- 7668 01a0 B1010000 .word .L410+1
- 7669 01a4 BD010000 .word .L409+1
- 7670 01a8 C3010000 .word .L408+1
- 7671 01ac B7010000 .word .L406+1
- 7672 .p2align 1
- 7673 .L410:
- 7674 .loc 1 2911 3 discriminator 4
- 7675 01b0 0123 movs r3, #1
- 7676 01b2 FB77 strb r3, [r7, #31]
- 7677 01b4 C2E0 b .L412
- 7678 .L406:
- 7679 .loc 1 2911 3 discriminator 7
- 7680 01b6 0223 movs r3, #2
- 7681 01b8 FB77 strb r3, [r7, #31]
- 7682 01ba BFE0 b .L412
- 7683 .L409:
- 7684 .loc 1 2911 3 discriminator 5
- 7685 01bc 0423 movs r3, #4
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 208
- 7686 01be FB77 strb r3, [r7, #31]
- 7687 01c0 BCE0 b .L412
- 7688 .L408:
- 7689 .loc 1 2911 3 discriminator 6
- 7690 01c2 0823 movs r3, #8
- 7691 01c4 FB77 strb r3, [r7, #31]
- 7692 01c6 B9E0 b .L412
- 7693 .L405:
- 7694 .loc 1 2911 3 discriminator 3
- 7695 01c8 1023 movs r3, #16
- 7696 01ca FB77 strb r3, [r7, #31]
- 7697 01cc B6E0 b .L412
- 7698 .L404:
- 7699 .loc 1 2911 3 discriminator 2
- 7700 01ce 7B68 ldr r3, [r7, #4]
- 7701 01d0 1B68 ldr r3, [r3]
- 7702 01d2 2D4A ldr r2, .L463+16
- 7703 01d4 9342 cmp r3, r2
- 7704 01d6 24D1 bne .L413
- 7705 .loc 1 2911 3 discriminator 13
- 7706 01d8 2A4B ldr r3, .L463+12
- 7707 01da 1B6B ldr r3, [r3, #48]
- 7708 01dc 03F44033 and r3, r3, #196608
- 7709 01e0 B3F5403F cmp r3, #196608
- 7710 01e4 11D0 beq .L414
- 7711 .loc 1 2911 3
- 7712 01e6 B3F5403F cmp r3, #196608
- 7713 01ea 17D8 bhi .L415
- 7714 01ec B3F5003F cmp r3, #131072
- 7715 01f0 11D0 beq .L416
- 7716 01f2 B3F5003F cmp r3, #131072
- 7717 01f6 11D8 bhi .L415
- 7718 01f8 002B cmp r3, #0
- 7719 01fa 03D0 beq .L417
- 7720 01fc B3F5803F cmp r3, #65536
- 7721 0200 06D0 beq .L418
- 7722 0202 0BE0 b .L415
- 7723 .L417:
- 7724 .loc 1 2911 3 discriminator 16
- 7725 0204 0023 movs r3, #0
- 7726 0206 FB77 strb r3, [r7, #31]
- 7727 0208 98E0 b .L412
- 7728 .L414:
- 7729 .loc 1 2911 3 discriminator 19
- 7730 020a 0223 movs r3, #2
- 7731 020c FB77 strb r3, [r7, #31]
- 7732 020e 95E0 b .L412
- 7733 .L418:
- 7734 .loc 1 2911 3 discriminator 17
- 7735 0210 0423 movs r3, #4
- 7736 0212 FB77 strb r3, [r7, #31]
- 7737 0214 92E0 b .L412
- 7738 .L416:
- 7739 .loc 1 2911 3 discriminator 18
- 7740 0216 0823 movs r3, #8
- 7741 0218 FB77 strb r3, [r7, #31]
- 7742 021a 8FE0 b .L412
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 209
- 7743 .L415:
- 7744 .loc 1 2911 3 discriminator 15
- 7745 021c 1023 movs r3, #16
- 7746 021e FB77 strb r3, [r7, #31]
- 7747 0220 8CE0 b .L412
- 7748 .L413:
- 7749 .loc 1 2911 3 discriminator 14
- 7750 0222 7B68 ldr r3, [r7, #4]
- 7751 0224 1B68 ldr r3, [r3]
- 7752 0226 194A ldr r2, .L463+20
- 7753 0228 9342 cmp r3, r2
- 7754 022a 31D1 bne .L420
- 7755 .loc 1 2911 3 discriminator 25
- 7756 022c 154B ldr r3, .L463+12
- 7757 022e 1B6B ldr r3, [r3, #48]
- 7758 0230 03F44023 and r3, r3, #786432
- 7759 0234 B3F5402F cmp r3, #786432
- 7760 0238 11D0 beq .L421
- 7761 .loc 1 2911 3
- 7762 023a B3F5402F cmp r3, #786432
- 7763 023e 17D8 bhi .L422
- 7764 0240 B3F5002F cmp r3, #524288
- 7765 0244 11D0 beq .L423
- 7766 0246 B3F5002F cmp r3, #524288
- 7767 024a 11D8 bhi .L422
- 7768 024c 002B cmp r3, #0
- 7769 024e 03D0 beq .L424
- 7770 0250 B3F5802F cmp r3, #262144
- 7771 0254 06D0 beq .L425
- 7772 0256 0BE0 b .L422
- 7773 .L424:
- 7774 .loc 1 2911 3 discriminator 28
- 7775 0258 0023 movs r3, #0
- 7776 025a FB77 strb r3, [r7, #31]
- 7777 025c 6EE0 b .L412
- 7778 .L421:
- 7779 .loc 1 2911 3 discriminator 31
- 7780 025e 0223 movs r3, #2
- 7781 0260 FB77 strb r3, [r7, #31]
- 7782 0262 6BE0 b .L412
- 7783 .L425:
- 7784 .loc 1 2911 3 discriminator 29
- 7785 0264 0423 movs r3, #4
- 7786 0266 FB77 strb r3, [r7, #31]
- 7787 0268 68E0 b .L412
- 7788 .L423:
- 7789 .loc 1 2911 3 discriminator 30
- 7790 026a 0823 movs r3, #8
- 7791 026c FB77 strb r3, [r7, #31]
- 7792 026e 65E0 b .L412
- 7793 .L422:
- 7794 .loc 1 2911 3 discriminator 27
- 7795 0270 1023 movs r3, #16
- 7796 0272 FB77 strb r3, [r7, #31]
- 7797 0274 62E0 b .L412
- 7798 .L464:
- 7799 0276 00BF .align 2
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 210
- 7800 .L463:
- 7801 0278 40548900 .word 9000000
- 7802 027c 00000000 .word .LC0
- 7803 0280 00380140 .word 1073821696
- 7804 0284 00100240 .word 1073876992
- 7805 0288 00440040 .word 1073759232
- 7806 028c 00480040 .word 1073760256
- 7807 .L420:
- 7808 .loc 1 2911 3 discriminator 26
- 7809 0290 7B68 ldr r3, [r7, #4]
- 7810 0292 1B68 ldr r3, [r3]
- 7811 0294 864A ldr r2, .L465
- 7812 0296 9342 cmp r3, r2
- 7813 0298 24D1 bne .L427
- 7814 .loc 1 2911 3 discriminator 37
- 7815 029a 864B ldr r3, .L465+4
- 7816 029c 1B6B ldr r3, [r3, #48]
- 7817 029e 03F44013 and r3, r3, #3145728
- 7818 02a2 B3F5401F cmp r3, #3145728
- 7819 02a6 11D0 beq .L428
- 7820 .loc 1 2911 3
- 7821 02a8 B3F5401F cmp r3, #3145728
- 7822 02ac 17D8 bhi .L429
- 7823 02ae B3F5001F cmp r3, #2097152
- 7824 02b2 11D0 beq .L430
- 7825 02b4 B3F5001F cmp r3, #2097152
- 7826 02b8 11D8 bhi .L429
- 7827 02ba 002B cmp r3, #0
- 7828 02bc 03D0 beq .L431
- 7829 02be B3F5801F cmp r3, #1048576
- 7830 02c2 06D0 beq .L432
- 7831 02c4 0BE0 b .L429
- 7832 .L431:
- 7833 .loc 1 2911 3 discriminator 40
- 7834 02c6 0023 movs r3, #0
- 7835 02c8 FB77 strb r3, [r7, #31]
- 7836 02ca 37E0 b .L412
- 7837 .L428:
- 7838 .loc 1 2911 3 discriminator 43
- 7839 02cc 0223 movs r3, #2
- 7840 02ce FB77 strb r3, [r7, #31]
- 7841 02d0 34E0 b .L412
- 7842 .L432:
- 7843 .loc 1 2911 3 discriminator 41
- 7844 02d2 0423 movs r3, #4
- 7845 02d4 FB77 strb r3, [r7, #31]
- 7846 02d6 31E0 b .L412
- 7847 .L430:
- 7848 .loc 1 2911 3 discriminator 42
- 7849 02d8 0823 movs r3, #8
- 7850 02da FB77 strb r3, [r7, #31]
- 7851 02dc 2EE0 b .L412
- 7852 .L429:
- 7853 .loc 1 2911 3 discriminator 39
- 7854 02de 1023 movs r3, #16
- 7855 02e0 FB77 strb r3, [r7, #31]
- 7856 02e2 2BE0 b .L412
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 211
- 7857 .L427:
- 7858 .loc 1 2911 3 discriminator 38
- 7859 02e4 7B68 ldr r3, [r7, #4]
- 7860 02e6 1B68 ldr r3, [r3]
- 7861 02e8 734A ldr r2, .L465+8
- 7862 02ea 9342 cmp r3, r2
- 7863 02ec 24D1 bne .L434
- 7864 .loc 1 2911 3 discriminator 49
- 7865 02ee 714B ldr r3, .L465+4
- 7866 02f0 1B6B ldr r3, [r3, #48]
- 7867 02f2 03F44003 and r3, r3, #12582912
- 7868 02f6 B3F5400F cmp r3, #12582912
- 7869 02fa 11D0 beq .L435
- 7870 .loc 1 2911 3
- 7871 02fc B3F5400F cmp r3, #12582912
- 7872 0300 17D8 bhi .L436
- 7873 0302 B3F5000F cmp r3, #8388608
- 7874 0306 11D0 beq .L437
- 7875 0308 B3F5000F cmp r3, #8388608
- 7876 030c 11D8 bhi .L436
- 7877 030e 002B cmp r3, #0
- 7878 0310 03D0 beq .L438
- 7879 0312 B3F5800F cmp r3, #4194304
- 7880 0316 06D0 beq .L439
- 7881 0318 0BE0 b .L436
- 7882 .L438:
- 7883 .loc 1 2911 3 discriminator 52
- 7884 031a 0023 movs r3, #0
- 7885 031c FB77 strb r3, [r7, #31]
- 7886 031e 0DE0 b .L412
- 7887 .L435:
- 7888 .loc 1 2911 3 discriminator 55
- 7889 0320 0223 movs r3, #2
- 7890 0322 FB77 strb r3, [r7, #31]
- 7891 0324 0AE0 b .L412
- 7892 .L439:
- 7893 .loc 1 2911 3 discriminator 53
- 7894 0326 0423 movs r3, #4
- 7895 0328 FB77 strb r3, [r7, #31]
- 7896 032a 07E0 b .L412
- 7897 .L437:
- 7898 .loc 1 2911 3 discriminator 54
- 7899 032c 0823 movs r3, #8
- 7900 032e FB77 strb r3, [r7, #31]
- 7901 0330 04E0 b .L412
- 7902 .L436:
- 7903 .loc 1 2911 3 discriminator 51
- 7904 0332 1023 movs r3, #16
- 7905 0334 FB77 strb r3, [r7, #31]
- 7906 0336 01E0 b .L412
- 7907 .L434:
- 7908 .loc 1 2911 3 discriminator 50
- 7909 0338 1023 movs r3, #16
- 7910 033a FB77 strb r3, [r7, #31]
- 7911 .L412:
- 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 212
- 7912 .loc 1 2913 18 is_stmt 1
- 7913 033c 7B68 ldr r3, [r7, #4]
- 7914 033e DB69 ldr r3, [r3, #28]
- 7915 .loc 1 2913 6
- 7916 0340 B3F5004F cmp r3, #32768
- 7917 0344 5BD1 bne .L441
- 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource)
- 7918 .loc 1 2915 5
- 7919 0346 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
- 7920 0348 082B cmp r3, #8
- 7921 034a 28D8 bhi .L442
- 7922 034c 01A2 adr r2, .L444
- 7923 034e 52F823F0 ldr pc, [r2, r3, lsl #2]
- 7924 0352 00BF .p2align 2
- 7925 .L444:
- 7926 0354 79030000 .word .L448+1
- 7927 0358 81030000 .word .L447+1
- 7928 035c 89030000 .word .L446+1
- 7929 0360 9F030000 .word .L442+1
- 7930 0364 8F030000 .word .L445+1
- 7931 0368 9F030000 .word .L442+1
- 7932 036c 9F030000 .word .L442+1
- 7933 0370 9F030000 .word .L442+1
- 7934 0374 97030000 .word .L443+1
- 7935 .p2align 1
- 7936 .L448:
- 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
- 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
- 7937 .loc 1 2918 16
- 7938 0378 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
- 7939 037c B861 str r0, [r7, #24]
- 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 7940 .loc 1 2919 9
- 7941 037e 13E0 b .L449
- 7942 .L447:
- 2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
- 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
- 7943 .loc 1 2921 16
- 7944 0380 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
- 7945 0384 B861 str r0, [r7, #24]
- 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 7946 .loc 1 2922 9
- 7947 0386 0FE0 b .L449
- 7948 .L446:
- 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
- 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
- 7949 .loc 1 2924 14
- 7950 0388 4C4B ldr r3, .L465+12
- 7951 038a BB61 str r3, [r7, #24]
- 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 7952 .loc 1 2925 9
- 7953 038c 0CE0 b .L449
- 7954 .L445:
- 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
- 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 213
- 7955 .loc 1 2927 16
- 7956 038e FFF7FEFF bl HAL_RCC_GetSysClockFreq
- 7957 0392 B861 str r0, [r7, #24]
- 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 7958 .loc 1 2928 9
- 7959 0394 08E0 b .L449
- 7960 .L443:
- 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
- 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
- 7961 .loc 1 2930 14
- 7962 0396 4FF40043 mov r3, #32768
- 7963 039a BB61 str r3, [r7, #24]
- 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 7964 .loc 1 2931 9
- 7965 039c 04E0 b .L449
- 7966 .L442:
- 2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default:
- 2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U;
- 7967 .loc 1 2933 14
- 7968 039e 0023 movs r3, #0
- 7969 03a0 BB61 str r3, [r7, #24]
- 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
- 7970 .loc 1 2934 13
- 7971 03a2 0123 movs r3, #1
- 7972 03a4 BB77 strb r3, [r7, #30]
- 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 7973 .loc 1 2935 9
- 7974 03a6 00BF nop
- 7975 .L449:
- 2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
- 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U)
- 7976 .loc 1 2939 8
- 7977 03a8 BB69 ldr r3, [r7, #24]
- 7978 03aa 002B cmp r3, #0
- 7979 03ac 74D0 beq .L452
- 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate));
- 7980 .loc 1 2941 29
- 7981 03ae BB69 ldr r3, [r7, #24]
- 7982 03b0 5A00 lsls r2, r3, #1
- 7983 03b2 7B68 ldr r3, [r7, #4]
- 7984 03b4 5B68 ldr r3, [r3, #4]
- 7985 03b6 5B08 lsrs r3, r3, #1
- 7986 03b8 1A44 add r2, r2, r3
- 7987 03ba 7B68 ldr r3, [r7, #4]
- 7988 03bc 5B68 ldr r3, [r3, #4]
- 7989 .loc 1 2941 16
- 7990 03be B2FBF3F3 udiv r3, r2, r3
- 7991 03c2 3B61 str r3, [r7, #16]
- 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
- 7992 .loc 1 2942 10
- 7993 03c4 3B69 ldr r3, [r7, #16]
- 7994 03c6 0F2B cmp r3, #15
- 7995 03c8 16D9 bls .L451
- 7996 .loc 1 2942 38 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 214
- 7997 03ca 3B69 ldr r3, [r7, #16]
- 7998 03cc B3F5803F cmp r3, #65536
- 7999 03d0 12D2 bcs .L451
- 2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
- 8000 .loc 1 2944 19
- 8001 03d2 3B69 ldr r3, [r7, #16]
- 8002 03d4 9BB2 uxth r3, r3
- 8003 .loc 1 2944 17
- 8004 03d6 23F00F03 bic r3, r3, #15
- 8005 03da FB81 strh r3, [r7, #14] @ movhi
- 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
- 8006 .loc 1 2945 62
- 8007 03dc 3B69 ldr r3, [r7, #16]
- 8008 03de 5B08 lsrs r3, r3, #1
- 8009 .loc 1 2945 20
- 8010 03e0 9BB2 uxth r3, r3
- 8011 03e2 03F00703 and r3, r3, #7
- 8012 03e6 9AB2 uxth r2, r3
- 8013 .loc 1 2945 17
- 8014 03e8 FB89 ldrh r3, [r7, #14] @ movhi
- 8015 03ea 1343 orrs r3, r3, r2
- 8016 03ec FB81 strh r3, [r7, #14] @ movhi
- 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
- 8017 .loc 1 2946 14
- 8018 03ee 7B68 ldr r3, [r7, #4]
- 8019 03f0 1B68 ldr r3, [r3]
- 8020 .loc 1 2946 30
- 8021 03f2 FA89 ldrh r2, [r7, #14]
- 8022 03f4 DA60 str r2, [r3, #12]
- 8023 03f6 4FE0 b .L452
- 8024 .L451:
- 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
- 8025 .loc 1 2950 13
- 8026 03f8 0123 movs r3, #1
- 8027 03fa BB77 strb r3, [r7, #30]
- 8028 03fc 4CE0 b .L452
- 8029 .L441:
- 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource)
- 8030 .loc 1 2956 5
- 8031 03fe FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
- 8032 0400 082B cmp r3, #8
- 8033 0402 28D8 bhi .L453
- 8034 0404 01A2 adr r2, .L455
- 8035 0406 52F823F0 ldr pc, [r2, r3, lsl #2]
- 8036 040a 00BF .p2align 2
- 8037 .L455:
- 8038 040c 31040000 .word .L459+1
- 8039 0410 39040000 .word .L458+1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 215
- 8040 0414 41040000 .word .L457+1
- 8041 0418 57040000 .word .L453+1
- 8042 041c 47040000 .word .L456+1
- 8043 0420 57040000 .word .L453+1
- 8044 0424 57040000 .word .L453+1
- 8045 0428 57040000 .word .L453+1
- 8046 042c 4F040000 .word .L454+1
- 8047 .p2align 1
- 8048 .L459:
- 2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
- 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
- 8049 .loc 1 2959 16
- 8050 0430 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
- 8051 0434 B861 str r0, [r7, #24]
- 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 8052 .loc 1 2960 9
- 8053 0436 13E0 b .L460
- 8054 .L458:
- 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
- 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
- 8055 .loc 1 2962 16
- 8056 0438 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
- 8057 043c B861 str r0, [r7, #24]
- 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 8058 .loc 1 2963 9
- 8059 043e 0FE0 b .L460
- 8060 .L457:
- 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
- 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
- 8061 .loc 1 2965 14
- 8062 0440 1E4B ldr r3, .L465+12
- 8063 0442 BB61 str r3, [r7, #24]
- 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 8064 .loc 1 2966 9
- 8065 0444 0CE0 b .L460
- 8066 .L456:
- 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
- 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
- 8067 .loc 1 2968 16
- 8068 0446 FFF7FEFF bl HAL_RCC_GetSysClockFreq
- 8069 044a B861 str r0, [r7, #24]
- 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 8070 .loc 1 2969 9
- 8071 044c 08E0 b .L460
- 8072 .L454:
- 2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
- 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
- 8073 .loc 1 2971 14
- 8074 044e 4FF40043 mov r3, #32768
- 8075 0452 BB61 str r3, [r7, #24]
- 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 8076 .loc 1 2972 9
- 8077 0454 04E0 b .L460
- 8078 .L453:
- 2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default:
- 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 216
- 8079 .loc 1 2974 14
- 8080 0456 0023 movs r3, #0
- 8081 0458 BB61 str r3, [r7, #24]
- 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
- 8082 .loc 1 2975 13
- 8083 045a 0123 movs r3, #1
- 8084 045c BB77 strb r3, [r7, #30]
- 2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break;
- 8085 .loc 1 2976 9
- 8086 045e 00BF nop
- 8087 .L460:
- 2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U)
- 8088 .loc 1 2979 8
- 8089 0460 BB69 ldr r3, [r7, #24]
- 8090 0462 002B cmp r3, #0
- 8091 0464 18D0 beq .L452
- 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
- 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate));
- 8092 .loc 1 2982 29
- 8093 0466 7B68 ldr r3, [r7, #4]
- 8094 0468 5B68 ldr r3, [r3, #4]
- 8095 046a 5A08 lsrs r2, r3, #1
- 8096 046c BB69 ldr r3, [r7, #24]
- 8097 046e 1A44 add r2, r2, r3
- 8098 0470 7B68 ldr r3, [r7, #4]
- 8099 0472 5B68 ldr r3, [r3, #4]
- 8100 .loc 1 2982 16
- 8101 0474 B2FBF3F3 udiv r3, r2, r3
- 8102 0478 3B61 str r3, [r7, #16]
- 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
- 8103 .loc 1 2983 10
- 8104 047a 3B69 ldr r3, [r7, #16]
- 8105 047c 0F2B cmp r3, #15
- 8106 047e 09D9 bls .L461
- 8107 .loc 1 2983 38 discriminator 1
- 8108 0480 3B69 ldr r3, [r7, #16]
- 8109 0482 B3F5803F cmp r3, #65536
- 8110 0486 05D2 bcs .L461
- 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv;
- 8111 .loc 1 2985 32
- 8112 0488 3B69 ldr r3, [r7, #16]
- 8113 048a 9AB2 uxth r2, r3
- 8114 .loc 1 2985 14
- 8115 048c 7B68 ldr r3, [r7, #4]
- 8116 048e 1B68 ldr r3, [r3]
- 8117 .loc 1 2985 30
- 8118 0490 DA60 str r2, [r3, #12]
- 8119 0492 01E0 b .L452
- 8120 .L461:
- 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 217
- 8121 .loc 1 2989 13
- 8122 0494 0123 movs r3, #1
- 8123 0496 BB77 strb r3, [r7, #30]
- 8124 .L452:
- 2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */
- 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
- 8125 .loc 1 2996 16
- 8126 0498 7B68 ldr r3, [r7, #4]
- 8127 049a 0022 movs r2, #0
- 8128 049c 9A66 str r2, [r3, #104]
- 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
- 8129 .loc 1 2997 16
- 8130 049e 7B68 ldr r3, [r7, #4]
- 8131 04a0 0022 movs r2, #0
- 8132 04a2 DA66 str r2, [r3, #108]
- 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return ret;
- 8133 .loc 1 2999 10
- 8134 04a4 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2
- 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 8135 .loc 1 3000 1
- 8136 04a6 1846 mov r0, r3
- 8137 04a8 2037 adds r7, r7, #32
- 8138 .LCFI239:
- 8139 .cfi_def_cfa_offset 8
- 8140 04aa BD46 mov sp, r7
- 8141 .LCFI240:
- 8142 .cfi_def_cfa_register 13
- 8143 @ sp needed
- 8144 04ac 80BD pop {r7, pc}
- 8145 .L466:
- 8146 04ae 00BF .align 2
- 8147 .L465:
- 8148 04b0 004C0040 .word 1073761280
- 8149 04b4 00100240 .word 1073876992
- 8150 04b8 00500040 .word 1073762304
- 8151 04bc 00127A00 .word 8000000
- 8152 .cfi_endproc
- 8153 .LFE173:
- 8155 .section .text.UART_AdvFeatureConfig,"ax",%progbits
- 8156 .align 1
- 8157 .global UART_AdvFeatureConfig
- 8158 .syntax unified
- 8159 .thumb
- 8160 .thumb_func
- 8162 UART_AdvFeatureConfig:
- 8163 .LFB174:
- 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features.
- 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 218
- 3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
- 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 8164 .loc 1 3008 1
- 8165 .cfi_startproc
- 8166 @ args = 0, pretend = 0, frame = 8
- 8167 @ frame_needed = 1, uses_anonymous_args = 0
- 8168 0000 80B5 push {r7, lr}
- 8169 .LCFI241:
- 8170 .cfi_def_cfa_offset 8
- 8171 .cfi_offset 7, -8
- 8172 .cfi_offset 14, -4
- 8173 0002 82B0 sub sp, sp, #8
- 8174 .LCFI242:
- 8175 .cfi_def_cfa_offset 16
- 8176 0004 00AF add r7, sp, #0
- 8177 .LCFI243:
- 8178 .cfi_def_cfa_register 7
- 8179 0006 7860 str r0, [r7, #4]
- 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
- 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
- 8180 .loc 1 3010 3
- 8181 0008 7B68 ldr r3, [r7, #4]
- 8182 000a 5B6A ldr r3, [r3, #36]
- 8183 000c FF2B cmp r3, #255
- 8184 000e 04D9 bls .L468
- 8185 .loc 1 3010 3 is_stmt 0 discriminator 1
- 8186 0010 40F6C231 movw r1, #3010
- 8187 0014 9648 ldr r0, .L488
- 8188 0016 FFF7FEFF bl assert_failed
- 8189 .L468:
- 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX/TX pins swap */
- 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
- 8190 .loc 1 3013 7 is_stmt 1
- 8191 001a 7B68 ldr r3, [r7, #4]
- 8192 001c 5B6A ldr r3, [r3, #36]
- 8193 001e 03F00803 and r3, r3, #8
- 8194 .loc 1 3013 6
- 8195 0022 002B cmp r3, #0
- 8196 0024 18D0 beq .L469
- 3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
- 8197 .loc 1 3015 5
- 8198 0026 7B68 ldr r3, [r7, #4]
- 8199 0028 5B6B ldr r3, [r3, #52]
- 8200 002a 002B cmp r3, #0
- 8201 002c 09D0 beq .L470
- 8202 .loc 1 3015 5 is_stmt 0 discriminator 1
- 8203 002e 7B68 ldr r3, [r7, #4]
- 8204 0030 5B6B ldr r3, [r3, #52]
- 8205 0032 B3F5004F cmp r3, #32768
- 8206 0036 04D0 beq .L470
- 8207 .loc 1 3015 5 discriminator 2
- 8208 0038 40F6C731 movw r1, #3015
- 8209 003c 8C48 ldr r0, .L488
- 8210 003e FFF7FEFF bl assert_failed
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 219
- 8211 .L470:
- 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
- 8212 .loc 1 3016 5 is_stmt 1
- 8213 0042 7B68 ldr r3, [r7, #4]
- 8214 0044 1B68 ldr r3, [r3]
- 8215 0046 5B68 ldr r3, [r3, #4]
- 8216 0048 23F40041 bic r1, r3, #32768
- 8217 004c 7B68 ldr r3, [r7, #4]
- 8218 004e 5A6B ldr r2, [r3, #52]
- 8219 0050 7B68 ldr r3, [r7, #4]
- 8220 0052 1B68 ldr r3, [r3]
- 8221 0054 0A43 orrs r2, r2, r1
- 8222 0056 5A60 str r2, [r3, #4]
- 8223 .L469:
- 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure TX pin active level inversion */
- 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
- 8224 .loc 1 3020 7
- 8225 0058 7B68 ldr r3, [r7, #4]
- 8226 005a 5B6A ldr r3, [r3, #36]
- 8227 005c 03F00103 and r3, r3, #1
- 8228 .loc 1 3020 6
- 8229 0060 002B cmp r3, #0
- 8230 0062 18D0 beq .L471
- 3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
- 8231 .loc 1 3022 5
- 8232 0064 7B68 ldr r3, [r7, #4]
- 8233 0066 9B6A ldr r3, [r3, #40]
- 8234 0068 002B cmp r3, #0
- 8235 006a 09D0 beq .L472
- 8236 .loc 1 3022 5 is_stmt 0 discriminator 1
- 8237 006c 7B68 ldr r3, [r7, #4]
- 8238 006e 9B6A ldr r3, [r3, #40]
- 8239 0070 B3F5003F cmp r3, #131072
- 8240 0074 04D0 beq .L472
- 8241 .loc 1 3022 5 discriminator 2
- 8242 0076 40F6CE31 movw r1, #3022
- 8243 007a 7D48 ldr r0, .L488
- 8244 007c FFF7FEFF bl assert_failed
- 8245 .L472:
- 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
- 8246 .loc 1 3023 5 is_stmt 1
- 8247 0080 7B68 ldr r3, [r7, #4]
- 8248 0082 1B68 ldr r3, [r3]
- 8249 0084 5B68 ldr r3, [r3, #4]
- 8250 0086 23F40031 bic r1, r3, #131072
- 8251 008a 7B68 ldr r3, [r7, #4]
- 8252 008c 9A6A ldr r2, [r3, #40]
- 8253 008e 7B68 ldr r3, [r7, #4]
- 8254 0090 1B68 ldr r3, [r3]
- 8255 0092 0A43 orrs r2, r2, r1
- 8256 0094 5A60 str r2, [r3, #4]
- 8257 .L471:
- 3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 220
- 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX pin active level inversion */
- 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
- 8258 .loc 1 3027 7
- 8259 0096 7B68 ldr r3, [r7, #4]
- 8260 0098 5B6A ldr r3, [r3, #36]
- 8261 009a 03F00203 and r3, r3, #2
- 8262 .loc 1 3027 6
- 8263 009e 002B cmp r3, #0
- 8264 00a0 18D0 beq .L473
- 3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
- 8265 .loc 1 3029 5
- 8266 00a2 7B68 ldr r3, [r7, #4]
- 8267 00a4 DB6A ldr r3, [r3, #44]
- 8268 00a6 002B cmp r3, #0
- 8269 00a8 09D0 beq .L474
- 8270 .loc 1 3029 5 is_stmt 0 discriminator 1
- 8271 00aa 7B68 ldr r3, [r7, #4]
- 8272 00ac DB6A ldr r3, [r3, #44]
- 8273 00ae B3F5803F cmp r3, #65536
- 8274 00b2 04D0 beq .L474
- 8275 .loc 1 3029 5 discriminator 2
- 8276 00b4 40F6D531 movw r1, #3029
- 8277 00b8 6D48 ldr r0, .L488
- 8278 00ba FFF7FEFF bl assert_failed
- 8279 .L474:
- 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
- 8280 .loc 1 3030 5 is_stmt 1
- 8281 00be 7B68 ldr r3, [r7, #4]
- 8282 00c0 1B68 ldr r3, [r3]
- 8283 00c2 5B68 ldr r3, [r3, #4]
- 8284 00c4 23F48031 bic r1, r3, #65536
- 8285 00c8 7B68 ldr r3, [r7, #4]
- 8286 00ca DA6A ldr r2, [r3, #44]
- 8287 00cc 7B68 ldr r3, [r7, #4]
- 8288 00ce 1B68 ldr r3, [r3]
- 8289 00d0 0A43 orrs r2, r2, r1
- 8290 00d2 5A60 str r2, [r3, #4]
- 8291 .L473:
- 3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure data inversion */
- 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
- 8292 .loc 1 3034 7
- 8293 00d4 7B68 ldr r3, [r7, #4]
- 8294 00d6 5B6A ldr r3, [r3, #36]
- 8295 00d8 03F00403 and r3, r3, #4
- 8296 .loc 1 3034 6
- 8297 00dc 002B cmp r3, #0
- 8298 00de 18D0 beq .L475
- 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
- 8299 .loc 1 3036 5
- 8300 00e0 7B68 ldr r3, [r7, #4]
- 8301 00e2 1B6B ldr r3, [r3, #48]
- 8302 00e4 002B cmp r3, #0
- 8303 00e6 09D0 beq .L476
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 221
- 8304 .loc 1 3036 5 is_stmt 0 discriminator 1
- 8305 00e8 7B68 ldr r3, [r7, #4]
- 8306 00ea 1B6B ldr r3, [r3, #48]
- 8307 00ec B3F5802F cmp r3, #262144
- 8308 00f0 04D0 beq .L476
- 8309 .loc 1 3036 5 discriminator 2
- 8310 00f2 40F6DC31 movw r1, #3036
- 8311 00f6 5E48 ldr r0, .L488
- 8312 00f8 FFF7FEFF bl assert_failed
- 8313 .L476:
- 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
- 8314 .loc 1 3037 5 is_stmt 1
- 8315 00fc 7B68 ldr r3, [r7, #4]
- 8316 00fe 1B68 ldr r3, [r3]
- 8317 0100 5B68 ldr r3, [r3, #4]
- 8318 0102 23F48021 bic r1, r3, #262144
- 8319 0106 7B68 ldr r3, [r7, #4]
- 8320 0108 1A6B ldr r2, [r3, #48]
- 8321 010a 7B68 ldr r3, [r7, #4]
- 8322 010c 1B68 ldr r3, [r3]
- 8323 010e 0A43 orrs r2, r2, r1
- 8324 0110 5A60 str r2, [r3, #4]
- 8325 .L475:
- 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */
- 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
- 8326 .loc 1 3041 7
- 8327 0112 7B68 ldr r3, [r7, #4]
- 8328 0114 5B6A ldr r3, [r3, #36]
- 8329 0116 03F01003 and r3, r3, #16
- 8330 .loc 1 3041 6
- 8331 011a 002B cmp r3, #0
- 8332 011c 18D0 beq .L477
- 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
- 8333 .loc 1 3043 5
- 8334 011e 7B68 ldr r3, [r7, #4]
- 8335 0120 9B6B ldr r3, [r3, #56]
- 8336 0122 002B cmp r3, #0
- 8337 0124 09D0 beq .L478
- 8338 .loc 1 3043 5 is_stmt 0 discriminator 1
- 8339 0126 7B68 ldr r3, [r7, #4]
- 8340 0128 9B6B ldr r3, [r3, #56]
- 8341 012a B3F5805F cmp r3, #4096
- 8342 012e 04D0 beq .L478
- 8343 .loc 1 3043 5 discriminator 2
- 8344 0130 40F6E331 movw r1, #3043
- 8345 0134 4E48 ldr r0, .L488
- 8346 0136 FFF7FEFF bl assert_failed
- 8347 .L478:
- 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
- 8348 .loc 1 3044 5 is_stmt 1
- 8349 013a 7B68 ldr r3, [r7, #4]
- 8350 013c 1B68 ldr r3, [r3]
- 8351 013e 9B68 ldr r3, [r3, #8]
- 8352 0140 23F48051 bic r1, r3, #4096
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 222
- 8353 0144 7B68 ldr r3, [r7, #4]
- 8354 0146 9A6B ldr r2, [r3, #56]
- 8355 0148 7B68 ldr r3, [r7, #4]
- 8356 014a 1B68 ldr r3, [r3]
- 8357 014c 0A43 orrs r2, r2, r1
- 8358 014e 9A60 str r2, [r3, #8]
- 8359 .L477:
- 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */
- 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
- 8360 .loc 1 3048 7
- 8361 0150 7B68 ldr r3, [r7, #4]
- 8362 0152 5B6A ldr r3, [r3, #36]
- 8363 0154 03F02003 and r3, r3, #32
- 8364 .loc 1 3048 6
- 8365 0158 002B cmp r3, #0
- 8366 015a 18D0 beq .L479
- 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
- 8367 .loc 1 3050 5
- 8368 015c 7B68 ldr r3, [r7, #4]
- 8369 015e DB6B ldr r3, [r3, #60]
- 8370 0160 002B cmp r3, #0
- 8371 0162 09D0 beq .L480
- 8372 .loc 1 3050 5 is_stmt 0 discriminator 1
- 8373 0164 7B68 ldr r3, [r7, #4]
- 8374 0166 DB6B ldr r3, [r3, #60]
- 8375 0168 B3F5005F cmp r3, #8192
- 8376 016c 04D0 beq .L480
- 8377 .loc 1 3050 5 discriminator 2
- 8378 016e 40F6EA31 movw r1, #3050
- 8379 0172 3F48 ldr r0, .L488
- 8380 0174 FFF7FEFF bl assert_failed
- 8381 .L480:
- 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
- 8382 .loc 1 3051 5 is_stmt 1
- 8383 0178 7B68 ldr r3, [r7, #4]
- 8384 017a 1B68 ldr r3, [r3]
- 8385 017c 9B68 ldr r3, [r3, #8]
- 8386 017e 23F40051 bic r1, r3, #8192
- 8387 0182 7B68 ldr r3, [r7, #4]
- 8388 0184 DA6B ldr r2, [r3, #60]
- 8389 0186 7B68 ldr r3, [r7, #4]
- 8390 0188 1B68 ldr r3, [r3]
- 8391 018a 0A43 orrs r2, r2, r1
- 8392 018c 9A60 str r2, [r3, #8]
- 8393 .L479:
- 3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */
- 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
- 8394 .loc 1 3055 7
- 8395 018e 7B68 ldr r3, [r7, #4]
- 8396 0190 5B6A ldr r3, [r3, #36]
- 8397 0192 03F04003 and r3, r3, #64
- 8398 .loc 1 3055 6
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 223
- 8399 0196 002B cmp r3, #0
- 8400 0198 54D0 beq .L481
- 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
- 8401 .loc 1 3057 5
- 8402 019a 7B68 ldr r3, [r7, #4]
- 8403 019c 1B68 ldr r3, [r3]
- 8404 019e 354A ldr r2, .L488+4
- 8405 01a0 9342 cmp r3, r2
- 8406 01a2 0ED0 beq .L482
- 8407 .loc 1 3057 5 is_stmt 0 discriminator 1
- 8408 01a4 7B68 ldr r3, [r7, #4]
- 8409 01a6 1B68 ldr r3, [r3]
- 8410 01a8 334A ldr r2, .L488+8
- 8411 01aa 9342 cmp r3, r2
- 8412 01ac 09D0 beq .L482
- 8413 .loc 1 3057 5 discriminator 2
- 8414 01ae 7B68 ldr r3, [r7, #4]
- 8415 01b0 1B68 ldr r3, [r3]
- 8416 01b2 324A ldr r2, .L488+12
- 8417 01b4 9342 cmp r3, r2
- 8418 01b6 04D0 beq .L482
- 8419 .loc 1 3057 5 discriminator 3
- 8420 01b8 40F6F131 movw r1, #3057
- 8421 01bc 2C48 ldr r0, .L488
- 8422 01be FFF7FEFF bl assert_failed
- 8423 .L482:
- 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
- 8424 .loc 1 3058 5 is_stmt 1
- 8425 01c2 7B68 ldr r3, [r7, #4]
- 8426 01c4 1B6C ldr r3, [r3, #64]
- 8427 01c6 002B cmp r3, #0
- 8428 01c8 09D0 beq .L483
- 8429 .loc 1 3058 5 is_stmt 0 discriminator 1
- 8430 01ca 7B68 ldr r3, [r7, #4]
- 8431 01cc 1B6C ldr r3, [r3, #64]
- 8432 01ce B3F5801F cmp r3, #1048576
- 8433 01d2 04D0 beq .L483
- 8434 .loc 1 3058 5 discriminator 2
- 8435 01d4 40F6F231 movw r1, #3058
- 8436 01d8 2548 ldr r0, .L488
- 8437 01da FFF7FEFF bl assert_failed
- 8438 .L483:
- 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
- 8439 .loc 1 3059 5 is_stmt 1
- 8440 01de 7B68 ldr r3, [r7, #4]
- 8441 01e0 1B68 ldr r3, [r3]
- 8442 01e2 5B68 ldr r3, [r3, #4]
- 8443 01e4 23F48011 bic r1, r3, #1048576
- 8444 01e8 7B68 ldr r3, [r7, #4]
- 8445 01ea 1A6C ldr r2, [r3, #64]
- 8446 01ec 7B68 ldr r3, [r7, #4]
- 8447 01ee 1B68 ldr r3, [r3]
- 8448 01f0 0A43 orrs r2, r2, r1
- 8449 01f2 5A60 str r2, [r3, #4]
- 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
- 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 224
- 8450 .loc 1 3061 28
- 8451 01f4 7B68 ldr r3, [r7, #4]
- 8452 01f6 1B6C ldr r3, [r3, #64]
- 8453 .loc 1 3061 8
- 8454 01f8 B3F5801F cmp r3, #1048576
- 8455 01fc 22D1 bne .L481
- 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
- 8456 .loc 1 3063 7
- 8457 01fe 7B68 ldr r3, [r7, #4]
- 8458 0200 5B6C ldr r3, [r3, #68]
- 8459 0202 002B cmp r3, #0
- 8460 0204 13D0 beq .L484
- 8461 .loc 1 3063 7 is_stmt 0 discriminator 1
- 8462 0206 7B68 ldr r3, [r7, #4]
- 8463 0208 5B6C ldr r3, [r3, #68]
- 8464 020a B3F5001F cmp r3, #2097152
- 8465 020e 0ED0 beq .L484
- 8466 .loc 1 3063 7 discriminator 2
- 8467 0210 7B68 ldr r3, [r7, #4]
- 8468 0212 5B6C ldr r3, [r3, #68]
- 8469 0214 B3F5800F cmp r3, #4194304
- 8470 0218 09D0 beq .L484
- 8471 .loc 1 3063 7 discriminator 3
- 8472 021a 7B68 ldr r3, [r7, #4]
- 8473 021c 5B6C ldr r3, [r3, #68]
- 8474 021e B3F5C00F cmp r3, #6291456
- 8475 0222 04D0 beq .L484
- 8476 .loc 1 3063 7 discriminator 4
- 8477 0224 40F6F731 movw r1, #3063
- 8478 0228 1148 ldr r0, .L488
- 8479 022a FFF7FEFF bl assert_failed
- 8480 .L484:
- 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
- 8481 .loc 1 3064 7 is_stmt 1
- 8482 022e 7B68 ldr r3, [r7, #4]
- 8483 0230 1B68 ldr r3, [r3]
- 8484 0232 5B68 ldr r3, [r3, #4]
- 8485 0234 23F4C001 bic r1, r3, #6291456
- 8486 0238 7B68 ldr r3, [r7, #4]
- 8487 023a 5A6C ldr r2, [r3, #68]
- 8488 023c 7B68 ldr r3, [r7, #4]
- 8489 023e 1B68 ldr r3, [r3]
- 8490 0240 0A43 orrs r2, r2, r1
- 8491 0242 5A60 str r2, [r3, #4]
- 8492 .L481:
- 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure MSB first on communication line */
- 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
- 8493 .loc 1 3069 7
- 8494 0244 7B68 ldr r3, [r7, #4]
- 8495 0246 5B6A ldr r3, [r3, #36]
- 8496 0248 03F08003 and r3, r3, #128
- 8497 .loc 1 3069 6
- 8498 024c 002B cmp r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 225
- 8499 024e 22D0 beq .L487
- 3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
- 8500 .loc 1 3071 5
- 8501 0250 7B68 ldr r3, [r7, #4]
- 8502 0252 9B6C ldr r3, [r3, #72]
- 8503 0254 002B cmp r3, #0
- 8504 0256 13D0 beq .L486
- 8505 .loc 1 3071 5 is_stmt 0 discriminator 1
- 8506 0258 7B68 ldr r3, [r7, #4]
- 8507 025a 9B6C ldr r3, [r3, #72]
- 8508 025c B3F5002F cmp r3, #524288
- 8509 0260 0ED0 beq .L486
- 8510 .loc 1 3071 5 discriminator 2
- 8511 0262 40F6FF31 movw r1, #3071
- 8512 0266 0248 ldr r0, .L488
- 8513 0268 FFF7FEFF bl assert_failed
- 8514 026c 08E0 b .L489
- 8515 .L490:
- 8516 026e 00BF .align 2
- 8517 .L488:
- 8518 0270 00000000 .word .LC0
- 8519 0274 00380140 .word 1073821696
- 8520 0278 00440040 .word 1073759232
- 8521 027c 00480040 .word 1073760256
- 8522 .L489:
- 8523 .L486:
- 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
- 8524 .loc 1 3072 5 is_stmt 1
- 8525 0280 7B68 ldr r3, [r7, #4]
- 8526 0282 1B68 ldr r3, [r3]
- 8527 0284 5B68 ldr r3, [r3, #4]
- 8528 0286 23F40021 bic r1, r3, #524288
- 8529 028a 7B68 ldr r3, [r7, #4]
- 8530 028c 9A6C ldr r2, [r3, #72]
- 8531 028e 7B68 ldr r3, [r7, #4]
- 8532 0290 1B68 ldr r3, [r3]
- 8533 0292 0A43 orrs r2, r2, r1
- 8534 0294 5A60 str r2, [r3, #4]
- 8535 .L487:
- 3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 8536 .loc 1 3074 1
- 8537 0296 00BF nop
- 8538 0298 0837 adds r7, r7, #8
- 8539 .LCFI244:
- 8540 .cfi_def_cfa_offset 8
- 8541 029a BD46 mov sp, r7
- 8542 .LCFI245:
- 8543 .cfi_def_cfa_register 13
- 8544 @ sp needed
- 8545 029c 80BD pop {r7, pc}
- 8546 .cfi_endproc
- 8547 .LFE174:
- 8549 029e 00BF .section .text.UART_CheckIdleState,"ax",%progbits
- 8550 .align 1
- 8551 .global UART_CheckIdleState
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 226
- 8552 .syntax unified
- 8553 .thumb
- 8554 .thumb_func
- 8556 UART_CheckIdleState:
- 8557 .LFB175:
- 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Check the UART Idle State.
- 3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
- 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 8558 .loc 1 3082 1
- 8559 .cfi_startproc
- 8560 @ args = 0, pretend = 0, frame = 88
- 8561 @ frame_needed = 1, uses_anonymous_args = 0
- 8562 0000 80B5 push {r7, lr}
- 8563 .LCFI246:
- 8564 .cfi_def_cfa_offset 8
- 8565 .cfi_offset 7, -8
- 8566 .cfi_offset 14, -4
- 8567 0002 98B0 sub sp, sp, #96
- 8568 .LCFI247:
- 8569 .cfi_def_cfa_offset 104
- 8570 0004 02AF add r7, sp, #8
- 8571 .LCFI248:
- 8572 .cfi_def_cfa 7, 96
- 8573 0006 7860 str r0, [r7, #4]
- 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart;
- 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART ErrorCode */
- 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8574 .loc 1 3086 20
- 8575 0008 7B68 ldr r3, [r7, #4]
- 8576 000a 0022 movs r2, #0
- 8577 000c C3F88420 str r2, [r3, #132]
- 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */
- 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick();
- 8578 .loc 1 3089 15
- 8579 0010 FFF7FEFF bl HAL_GetTick
- 8580 0014 7865 str r0, [r7, #84]
- 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Transmitter is enabled */
- 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
- 8581 .loc 1 3092 13
- 8582 0016 7B68 ldr r3, [r7, #4]
- 8583 0018 1B68 ldr r3, [r3]
- 8584 .loc 1 3092 23
- 8585 001a 1B68 ldr r3, [r3]
- 8586 .loc 1 3092 29
- 8587 001c 03F00803 and r3, r3, #8
- 8588 .loc 1 3092 6
- 8589 0020 082B cmp r3, #8
- 8590 0022 2ED1 bne .L492
- 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 227
- 3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until TEACK flag is set */
- 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
- 8591 .loc 1 3095 9
- 8592 0024 6FF07E43 mvn r3, #-33554432
- 8593 0028 0093 str r3, [sp]
- 8594 002a 7B6D ldr r3, [r7, #84]
- 8595 002c 0022 movs r2, #0
- 8596 002e 4FF40011 mov r1, #2097152
- 8597 0032 7868 ldr r0, [r7, #4]
- 8598 0034 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 8599 0038 0346 mov r3, r0
- 8600 .loc 1 3095 8
- 8601 003a 002B cmp r3, #0
- 8602 003c 21D0 beq .L492
- 8603 .L495:
- 8604 .LBB668:
- 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXE interrupt for the interrupt process */
- 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE));
- 8605 .loc 1 3098 7 discriminator 1
- 8606 003e 7B68 ldr r3, [r7, #4]
- 8607 0040 1B68 ldr r3, [r3]
- 8608 0042 BB63 str r3, [r7, #56]
- 8609 .LBB669:
- 8610 .LBB670:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8611 .loc 2 1072 4 discriminator 1
- 8612 0044 BB6B ldr r3, [r7, #56]
- 8613 .syntax unified
- 8614 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8615 0046 53E8003F ldrex r3, [r3]
- 8616 @ 0 "" 2
- 8617 .thumb
- 8618 .syntax unified
- 8619 004a 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8620 .loc 2 1073 10 discriminator 1
- 8621 004c 7B6B ldr r3, [r7, #52]
- 8622 .LBE670:
- 8623 .LBE669:
- 8624 .loc 1 3098 7 discriminator 1
- 8625 004e 23F08003 bic r3, r3, #128
- 8626 0052 3B65 str r3, [r7, #80]
- 8627 0054 7B68 ldr r3, [r7, #4]
- 8628 0056 1B68 ldr r3, [r3]
- 8629 0058 1A46 mov r2, r3
- 8630 005a 3B6D ldr r3, [r7, #80]
- 8631 005c 7B64 str r3, [r7, #68]
- 8632 005e 3A64 str r2, [r7, #64]
- 8633 .LBB671:
- 8634 .LBB672:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8635 .loc 2 1123 4 discriminator 1
- 8636 0060 396C ldr r1, [r7, #64]
- 8637 0062 7A6C ldr r2, [r7, #68]
- 8638 .syntax unified
- 8639 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 228
- 8640 0064 41E80023 strex r3, r2, [r1]
- 8641 @ 0 "" 2
- 8642 .thumb
- 8643 .syntax unified
- 8644 0068 FB63 str r3, [r7, #60]
- 8645 .loc 2 1124 10 discriminator 1
- 8646 006a FB6B ldr r3, [r7, #60]
- 8647 .LBE672:
- 8648 .LBE671:
- 8649 .loc 1 3098 7 discriminator 1
- 8650 006c 002B cmp r3, #0
- 8651 006e E6D1 bne .L495
- 8652 .LBE668:
- 3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 8653 .loc 1 3100 21
- 8654 0070 7B68 ldr r3, [r7, #4]
- 8655 0072 2022 movs r2, #32
- 8656 0074 DA67 str r2, [r3, #124]
- 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 8657 .loc 1 3102 7
- 8658 0076 7B68 ldr r3, [r7, #4]
- 8659 0078 0022 movs r2, #0
- 8660 007a 83F87820 strb r2, [r3, #120]
- 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */
- 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 8661 .loc 1 3105 14
- 8662 007e 0323 movs r3, #3
- 8663 0080 62E0 b .L496
- 8664 .L492:
- 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Receiver is enabled */
- 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE)
- 8665 .loc 1 3110 13
- 8666 0082 7B68 ldr r3, [r7, #4]
- 8667 0084 1B68 ldr r3, [r3]
- 8668 .loc 1 3110 23
- 8669 0086 1B68 ldr r3, [r3]
- 8670 .loc 1 3110 29
- 8671 0088 03F00403 and r3, r3, #4
- 8672 .loc 1 3110 6
- 8673 008c 042B cmp r3, #4
- 8674 008e 49D1 bne .L497
- 3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until REACK flag is set */
- 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
- 8675 .loc 1 3113 9
- 8676 0090 6FF07E43 mvn r3, #-33554432
- 8677 0094 0093 str r3, [sp]
- 8678 0096 7B6D ldr r3, [r7, #84]
- 8679 0098 0022 movs r2, #0
- 8680 009a 4FF48001 mov r1, #4194304
- 8681 009e 7868 ldr r0, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 229
- 8682 00a0 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 8683 00a4 0346 mov r3, r0
- 8684 .loc 1 3113 8
- 8685 00a6 002B cmp r3, #0
- 8686 00a8 3CD0 beq .L497
- 8687 .L500:
- 8688 .LBB673:
- 3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error)
- 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupts for the interrupt process */
- 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 8689 .loc 1 3117 7 discriminator 1
- 8690 00aa 7B68 ldr r3, [r7, #4]
- 8691 00ac 1B68 ldr r3, [r3]
- 8692 00ae 7B62 str r3, [r7, #36]
- 8693 .LBB674:
- 8694 .LBB675:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8695 .loc 2 1072 4 discriminator 1
- 8696 00b0 7B6A ldr r3, [r7, #36]
- 8697 .syntax unified
- 8698 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8699 00b2 53E8003F ldrex r3, [r3]
- 8700 @ 0 "" 2
- 8701 .thumb
- 8702 .syntax unified
- 8703 00b6 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8704 .loc 2 1073 10 discriminator 1
- 8705 00b8 3B6A ldr r3, [r7, #32]
- 8706 .LBE675:
- 8707 .LBE674:
- 8708 .loc 1 3117 7 discriminator 1
- 8709 00ba 23F49073 bic r3, r3, #288
- 8710 00be FB64 str r3, [r7, #76]
- 8711 00c0 7B68 ldr r3, [r7, #4]
- 8712 00c2 1B68 ldr r3, [r3]
- 8713 00c4 1A46 mov r2, r3
- 8714 00c6 FB6C ldr r3, [r7, #76]
- 8715 00c8 3B63 str r3, [r7, #48]
- 8716 00ca FA62 str r2, [r7, #44]
- 8717 .LBB676:
- 8718 .LBB677:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8719 .loc 2 1123 4 discriminator 1
- 8720 00cc F96A ldr r1, [r7, #44]
- 8721 00ce 3A6B ldr r2, [r7, #48]
- 8722 .syntax unified
- 8723 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8724 00d0 41E80023 strex r3, r2, [r1]
- 8725 @ 0 "" 2
- 8726 .thumb
- 8727 .syntax unified
- 8728 00d4 BB62 str r3, [r7, #40]
- 8729 .loc 2 1124 10 discriminator 1
- 8730 00d6 BB6A ldr r3, [r7, #40]
- 8731 .LBE677:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 230
- 8732 .LBE676:
- 8733 .loc 1 3117 7 discriminator 1
- 8734 00d8 002B cmp r3, #0
- 8735 00da E6D1 bne .L500
- 8736 .L503:
- 8737 .LBE673:
- 8738 .LBB678:
- 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 8739 .loc 1 3118 7 discriminator 1
- 8740 00dc 7B68 ldr r3, [r7, #4]
- 8741 00de 1B68 ldr r3, [r3]
- 8742 00e0 0833 adds r3, r3, #8
- 8743 00e2 3B61 str r3, [r7, #16]
- 8744 .LBB679:
- 8745 .LBB680:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8746 .loc 2 1072 4 discriminator 1
- 8747 00e4 3B69 ldr r3, [r7, #16]
- 8748 .syntax unified
- 8749 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8750 00e6 53E8003F ldrex r3, [r3]
- 8751 @ 0 "" 2
- 8752 .thumb
- 8753 .syntax unified
- 8754 00ea FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8755 .loc 2 1073 10 discriminator 1
- 8756 00ec FB68 ldr r3, [r7, #12]
- 8757 .LBE680:
- 8758 .LBE679:
- 8759 .loc 1 3118 7 discriminator 1
- 8760 00ee 23F00103 bic r3, r3, #1
- 8761 00f2 BB64 str r3, [r7, #72]
- 8762 00f4 7B68 ldr r3, [r7, #4]
- 8763 00f6 1B68 ldr r3, [r3]
- 8764 00f8 0833 adds r3, r3, #8
- 8765 00fa BA6C ldr r2, [r7, #72]
- 8766 00fc FA61 str r2, [r7, #28]
- 8767 00fe BB61 str r3, [r7, #24]
- 8768 .LBB681:
- 8769 .LBB682:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8770 .loc 2 1123 4 discriminator 1
- 8771 0100 B969 ldr r1, [r7, #24]
- 8772 0102 FA69 ldr r2, [r7, #28]
- 8773 .syntax unified
- 8774 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8775 0104 41E80023 strex r3, r2, [r1]
- 8776 @ 0 "" 2
- 8777 .thumb
- 8778 .syntax unified
- 8779 0108 7B61 str r3, [r7, #20]
- 8780 .loc 2 1124 10 discriminator 1
- 8781 010a 7B69 ldr r3, [r7, #20]
- 8782 .LBE682:
- 8783 .LBE681:
- 8784 .loc 1 3118 7 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 231
- 8785 010c 002B cmp r3, #0
- 8786 010e E5D1 bne .L503
- 8787 .LBE678:
- 3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 8788 .loc 1 3120 22
- 8789 0110 7B68 ldr r3, [r7, #4]
- 8790 0112 2022 movs r2, #32
- 8791 0114 C3F88020 str r2, [r3, #128]
- 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 8792 .loc 1 3122 7
- 8793 0118 7B68 ldr r3, [r7, #4]
- 8794 011a 0022 movs r2, #0
- 8795 011c 83F87820 strb r2, [r3, #120]
- 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */
- 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 8796 .loc 1 3125 14
- 8797 0120 0323 movs r3, #3
- 8798 0122 11E0 b .L496
- 8799 .L497:
- 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART State */
- 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 8800 .loc 1 3130 17
- 8801 0124 7B68 ldr r3, [r7, #4]
- 8802 0126 2022 movs r2, #32
- 8803 0128 DA67 str r2, [r3, #124]
- 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 8804 .loc 1 3131 18
- 8805 012a 7B68 ldr r3, [r7, #4]
- 8806 012c 2022 movs r2, #32
- 8807 012e C3F88020 str r2, [r3, #128]
- 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 8808 .loc 1 3132 24
- 8809 0132 7B68 ldr r3, [r7, #4]
- 8810 0134 0022 movs r2, #0
- 8811 0136 1A66 str r2, [r3, #96]
- 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
- 8812 .loc 1 3133 22
- 8813 0138 7B68 ldr r3, [r7, #4]
- 8814 013a 0022 movs r2, #0
- 8815 013c 5A66 str r2, [r3, #100]
- 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 8816 .loc 1 3135 3
- 8817 013e 7B68 ldr r3, [r7, #4]
- 8818 0140 0022 movs r2, #0
- 8819 0142 83F87820 strb r2, [r3, #120]
- 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 8820 .loc 1 3137 10
- 8821 0146 0023 movs r3, #0
- 8822 .L496:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 232
- 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 8823 .loc 1 3138 1
- 8824 0148 1846 mov r0, r3
- 8825 014a 5837 adds r7, r7, #88
- 8826 .LCFI249:
- 8827 .cfi_def_cfa_offset 8
- 8828 014c BD46 mov sp, r7
- 8829 .LCFI250:
- 8830 .cfi_def_cfa_register 13
- 8831 @ sp needed
- 8832 014e 80BD pop {r7, pc}
- 8833 .cfi_endproc
- 8834 .LFE175:
- 8836 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
- 8837 .align 1
- 8838 .global UART_WaitOnFlagUntilTimeout
- 8839 .syntax unified
- 8840 .thumb
- 8841 .thumb_func
- 8843 UART_WaitOnFlagUntilTimeout:
- 8844 .LFB176:
- 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits
- 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * until a flag is no longer in the specified status.
- 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Flag Specifies the UART flag to check
- 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET)
- 3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Tickstart Tick start value
- 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration
- 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus
- 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
- 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 8845 .loc 1 3152 1
- 8846 .cfi_startproc
- 8847 @ args = 4, pretend = 0, frame = 16
- 8848 @ frame_needed = 1, uses_anonymous_args = 0
- 8849 0000 80B5 push {r7, lr}
- 8850 .LCFI251:
- 8851 .cfi_def_cfa_offset 8
- 8852 .cfi_offset 7, -8
- 8853 .cfi_offset 14, -4
- 8854 0002 84B0 sub sp, sp, #16
- 8855 .LCFI252:
- 8856 .cfi_def_cfa_offset 24
- 8857 0004 00AF add r7, sp, #0
- 8858 .LCFI253:
- 8859 .cfi_def_cfa_register 7
- 8860 0006 F860 str r0, [r7, #12]
- 8861 0008 B960 str r1, [r7, #8]
- 8862 000a 3B60 str r3, [r7]
- 8863 000c 1346 mov r3, r2
- 8864 000e FB71 strb r3, [r7, #7]
- 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */
- 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 233
- 8865 .loc 1 3154 9
- 8866 0010 4FE0 b .L505
- 8867 .L510:
- 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check for the Timeout */
- 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
- 8868 .loc 1 3157 8
- 8869 0012 BB69 ldr r3, [r7, #24]
- 8870 0014 B3F1FF3F cmp r3, #-1
- 8871 0018 4BD0 beq .L505
- 3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
- 8872 .loc 1 3159 13
- 8873 001a FFF7FEFF bl HAL_GetTick
- 8874 001e 0246 mov r2, r0
- 8875 .loc 1 3159 27
- 8876 0020 3B68 ldr r3, [r7]
- 8877 0022 D31A subs r3, r2, r3
- 8878 .loc 1 3159 10
- 8879 0024 BA69 ldr r2, [r7, #24]
- 8880 0026 9A42 cmp r2, r3
- 8881 0028 02D3 bcc .L506
- 8882 .loc 1 3159 51 discriminator 1
- 8883 002a BB69 ldr r3, [r7, #24]
- 8884 002c 002B cmp r3, #0
- 8885 002e 01D1 bne .L507
- 8886 .L506:
- 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 8887 .loc 1 3162 16
- 8888 0030 0323 movs r3, #3
- 8889 0032 4EE0 b .L508
- 8890 .L507:
- 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag
- 8891 .loc 1 3165 12
- 8892 0034 FB68 ldr r3, [r7, #12]
- 8893 0036 1B68 ldr r3, [r3]
- 8894 0038 1B68 ldr r3, [r3]
- 8895 003a 03F00403 and r3, r3, #4
- 8896 .loc 1 3165 10
- 8897 003e 002B cmp r3, #0
- 8898 0040 37D0 beq .L505
- 8899 .loc 1 3165 64 discriminator 1
- 8900 0042 BB68 ldr r3, [r7, #8]
- 8901 0044 802B cmp r3, #128
- 8902 0046 34D0 beq .L505
- 8903 .loc 1 3165 91 discriminator 2
- 8904 0048 BB68 ldr r3, [r7, #8]
- 8905 004a 402B cmp r3, #64
- 8906 004c 31D0 beq .L505
- 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET)
- 8907 .loc 1 3167 13
- 8908 004e FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 234
- 8909 0050 1B68 ldr r3, [r3]
- 8910 0052 DB69 ldr r3, [r3, #28]
- 8911 0054 03F00803 and r3, r3, #8
- 8912 .loc 1 3167 12
- 8913 0058 082B cmp r3, #8
- 8914 005a 10D1 bne .L509
- 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Overrun Error flag*/
- 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
- 8915 .loc 1 3170 11
- 8916 005c FB68 ldr r3, [r7, #12]
- 8917 005e 1B68 ldr r3, [r3]
- 8918 0060 0822 movs r2, #8
- 8919 0062 1A62 str r2, [r3, #32]
- 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted
- 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
- 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */
- 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 8920 .loc 1 3175 11
- 8921 0064 F868 ldr r0, [r7, #12]
- 8922 0066 FFF7FEFF bl UART_EndRxTransfer
- 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE;
- 8923 .loc 1 3177 28
- 8924 006a FB68 ldr r3, [r7, #12]
- 8925 006c 0822 movs r2, #8
- 8926 006e C3F88420 str r2, [r3, #132]
- 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
- 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 8927 .loc 1 3180 11
- 8928 0072 FB68 ldr r3, [r7, #12]
- 8929 0074 0022 movs r2, #0
- 8930 0076 83F87820 strb r2, [r3, #120]
- 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 8931 .loc 1 3182 18
- 8932 007a 0123 movs r3, #1
- 8933 007c 29E0 b .L508
- 8934 .L509:
- 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET)
- 8935 .loc 1 3184 13
- 8936 007e FB68 ldr r3, [r7, #12]
- 8937 0080 1B68 ldr r3, [r3]
- 8938 0082 DB69 ldr r3, [r3, #28]
- 8939 0084 03F40063 and r3, r3, #2048
- 8940 .loc 1 3184 12
- 8941 0088 B3F5006F cmp r3, #2048
- 8942 008c 11D1 bne .L505
- 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Receiver Timeout flag*/
- 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
- 8943 .loc 1 3187 11
- 8944 008e FB68 ldr r3, [r7, #12]
- 8945 0090 1B68 ldr r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 235
- 8946 0092 4FF40062 mov r2, #2048
- 8947 0096 1A62 str r2, [r3, #32]
- 3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted
- 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
- 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */
- 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 8948 .loc 1 3192 11
- 8949 0098 F868 ldr r0, [r7, #12]
- 8950 009a FFF7FEFF bl UART_EndRxTransfer
- 3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
- 8951 .loc 1 3194 28
- 8952 009e FB68 ldr r3, [r7, #12]
- 8953 00a0 2022 movs r2, #32
- 8954 00a2 C3F88420 str r2, [r3, #132]
- 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */
- 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 8955 .loc 1 3197 11
- 8956 00a6 FB68 ldr r3, [r7, #12]
- 8957 00a8 0022 movs r2, #0
- 8958 00aa 83F87820 strb r2, [r3, #120]
- 3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT;
- 8959 .loc 1 3199 18
- 8960 00ae 0323 movs r3, #3
- 8961 00b0 0FE0 b .L508
- 8962 .L505:
- 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 8963 .loc 1 3154 11
- 8964 00b2 FB68 ldr r3, [r7, #12]
- 8965 00b4 1B68 ldr r3, [r3]
- 8966 00b6 DA69 ldr r2, [r3, #28]
- 8967 00b8 BB68 ldr r3, [r7, #8]
- 8968 00ba 1340 ands r3, r3, r2
- 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 8969 .loc 1 3154 50
- 8970 00bc BA68 ldr r2, [r7, #8]
- 8971 00be 9A42 cmp r2, r3
- 8972 00c0 0CBF ite eq
- 8973 00c2 0123 moveq r3, #1
- 8974 00c4 0023 movne r3, #0
- 8975 00c6 DBB2 uxtb r3, r3
- 8976 00c8 1A46 mov r2, r3
- 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 8977 .loc 1 3154 59
- 8978 00ca FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
- 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 8979 .loc 1 3154 9
- 8980 00cc 9A42 cmp r2, r3
- 8981 00ce A0D0 beq .L510
- 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 236
- 8982 .loc 1 3204 10
- 8983 00d0 0023 movs r3, #0
- 8984 .L508:
- 3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 8985 .loc 1 3205 1
- 8986 00d2 1846 mov r0, r3
- 8987 00d4 1037 adds r7, r7, #16
- 8988 .LCFI254:
- 8989 .cfi_def_cfa_offset 8
- 8990 00d6 BD46 mov sp, r7
- 8991 .LCFI255:
- 8992 .cfi_def_cfa_register 13
- 8993 @ sp needed
- 8994 00d8 80BD pop {r7, pc}
- 8995 .cfi_endproc
- 8996 .LFE176:
- 8998 .section .text.UART_Start_Receive_IT,"ax",%progbits
- 8999 .align 1
- 9000 .global UART_Start_Receive_IT
- 9001 .syntax unified
- 9002 .thumb
- 9003 .thumb_func
- 9005 UART_Start_Receive_IT:
- 9006 .LFB177:
- 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
- 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
- 3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
- 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
- 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked.
- 3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 9007 .loc 1 3219 1
- 9008 .cfi_startproc
- 9009 @ args = 0, pretend = 0, frame = 88
- 9010 @ frame_needed = 1, uses_anonymous_args = 0
- 9011 @ link register save eliminated.
- 9012 0000 80B4 push {r7}
- 9013 .LCFI256:
- 9014 .cfi_def_cfa_offset 4
- 9015 .cfi_offset 7, -4
- 9016 0002 97B0 sub sp, sp, #92
- 9017 .LCFI257:
- 9018 .cfi_def_cfa_offset 96
- 9019 0004 00AF add r7, sp, #0
- 9020 .LCFI258:
- 9021 .cfi_def_cfa_register 7
- 9022 0006 F860 str r0, [r7, #12]
- 9023 0008 B960 str r1, [r7, #8]
- 9024 000a 1346 mov r3, r2
- 9025 000c FB80 strh r3, [r7, #6] @ movhi
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 237
- 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData;
- 9026 .loc 1 3220 22
- 9027 000e FB68 ldr r3, [r7, #12]
- 9028 0010 BA68 ldr r2, [r7, #8]
- 9029 0012 5A65 str r2, [r3, #84]
- 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size;
- 9030 .loc 1 3221 22
- 9031 0014 FB68 ldr r3, [r7, #12]
- 9032 0016 FA88 ldrh r2, [r7, #6] @ movhi
- 9033 0018 A3F85820 strh r2, [r3, #88] @ movhi
- 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size;
- 9034 .loc 1 3222 22
- 9035 001c FB68 ldr r3, [r7, #12]
- 9036 001e FA88 ldrh r2, [r7, #6] @ movhi
- 9037 0020 A3F85A20 strh r2, [r3, #90] @ movhi
- 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
- 9038 .loc 1 3223 22
- 9039 0024 FB68 ldr r3, [r7, #12]
- 9040 0026 0022 movs r2, #0
- 9041 0028 9A66 str r2, [r3, #104]
- 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
- 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
- 9042 .loc 1 3226 3
- 9043 002a FB68 ldr r3, [r7, #12]
- 9044 002c 9B68 ldr r3, [r3, #8]
- 9045 002e B3F5805F cmp r3, #4096
- 9046 0032 0ED1 bne .L512
- 9047 .loc 1 3226 3 is_stmt 0 discriminator 1
- 9048 0034 FB68 ldr r3, [r7, #12]
- 9049 0036 1B69 ldr r3, [r3, #16]
- 9050 0038 002B cmp r3, #0
- 9051 003a 05D1 bne .L513
- 9052 .loc 1 3226 3 discriminator 3
- 9053 003c FB68 ldr r3, [r7, #12]
- 9054 003e 40F2FF12 movw r2, #511
- 9055 0042 A3F85C20 strh r2, [r3, #92] @ movhi
- 9056 0046 1AE0 b .L514
- 9057 .L513:
- 9058 .loc 1 3226 3 discriminator 4
- 9059 0048 FB68 ldr r3, [r7, #12]
- 9060 004a FF22 movs r2, #255
- 9061 004c A3F85C20 strh r2, [r3, #92] @ movhi
- 9062 0050 15E0 b .L514
- 9063 .L512:
- 9064 .loc 1 3226 3 discriminator 2
- 9065 0052 FB68 ldr r3, [r7, #12]
- 9066 0054 9B68 ldr r3, [r3, #8]
- 9067 0056 002B cmp r3, #0
- 9068 0058 0DD1 bne .L515
- 9069 .loc 1 3226 3 discriminator 5
- 9070 005a FB68 ldr r3, [r7, #12]
- 9071 005c 1B69 ldr r3, [r3, #16]
- 9072 005e 002B cmp r3, #0
- 9073 0060 04D1 bne .L516
- 9074 .loc 1 3226 3 discriminator 7
- 9075 0062 FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 238
- 9076 0064 FF22 movs r2, #255
- 9077 0066 A3F85C20 strh r2, [r3, #92] @ movhi
- 9078 006a 08E0 b .L514
- 9079 .L516:
- 9080 .loc 1 3226 3 discriminator 8
- 9081 006c FB68 ldr r3, [r7, #12]
- 9082 006e 7F22 movs r2, #127
- 9083 0070 A3F85C20 strh r2, [r3, #92] @ movhi
- 9084 0074 03E0 b .L514
- 9085 .L515:
- 9086 .loc 1 3226 3 discriminator 6
- 9087 0076 FB68 ldr r3, [r7, #12]
- 9088 0078 0022 movs r2, #0
- 9089 007a A3F85C20 strh r2, [r3, #92] @ movhi
- 9090 .L514:
- 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 9091 .loc 1 3228 20 is_stmt 1
- 9092 007e FB68 ldr r3, [r7, #12]
- 9093 0080 0022 movs r2, #0
- 9094 0082 C3F88420 str r2, [r3, #132]
- 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
- 9095 .loc 1 3229 18
- 9096 0086 FB68 ldr r3, [r7, #12]
- 9097 0088 2222 movs r2, #34
- 9098 008a C3F88020 str r2, [r3, #128]
- 9099 .L519:
- 9100 .LBB683:
- 3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 9101 .loc 1 3232 3 discriminator 1
- 9102 008e FB68 ldr r3, [r7, #12]
- 9103 0090 1B68 ldr r3, [r3]
- 9104 0092 0833 adds r3, r3, #8
- 9105 0094 FB63 str r3, [r7, #60]
- 9106 .LBB684:
- 9107 .LBB685:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9108 .loc 2 1072 4 discriminator 1
- 9109 0096 FB6B ldr r3, [r7, #60]
- 9110 .syntax unified
- 9111 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9112 0098 53E8003F ldrex r3, [r3]
- 9113 @ 0 "" 2
- 9114 .thumb
- 9115 .syntax unified
- 9116 009c BB63 str r3, [r7, #56]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9117 .loc 2 1073 10 discriminator 1
- 9118 009e BB6B ldr r3, [r7, #56]
- 9119 .LBE685:
- 9120 .LBE684:
- 9121 .loc 1 3232 3 discriminator 1
- 9122 00a0 43F00103 orr r3, r3, #1
- 9123 00a4 7B65 str r3, [r7, #84]
- 9124 00a6 FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 239
- 9125 00a8 1B68 ldr r3, [r3]
- 9126 00aa 0833 adds r3, r3, #8
- 9127 00ac 7A6D ldr r2, [r7, #84]
- 9128 00ae BA64 str r2, [r7, #72]
- 9129 00b0 7B64 str r3, [r7, #68]
- 9130 .LBB686:
- 9131 .LBB687:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9132 .loc 2 1123 4 discriminator 1
- 9133 00b2 796C ldr r1, [r7, #68]
- 9134 00b4 BA6C ldr r2, [r7, #72]
- 9135 .syntax unified
- 9136 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9137 00b6 41E80023 strex r3, r2, [r1]
- 9138 @ 0 "" 2
- 9139 .thumb
- 9140 .syntax unified
- 9141 00ba 3B64 str r3, [r7, #64]
- 9142 .loc 2 1124 10 discriminator 1
- 9143 00bc 3B6C ldr r3, [r7, #64]
- 9144 .LBE687:
- 9145 .LBE686:
- 9146 .loc 1 3232 3 discriminator 1
- 9147 00be 002B cmp r3, #0
- 9148 00c0 E5D1 bne .L519
- 9149 .LBE683:
- 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */
- 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 9150 .loc 1 3235 19
- 9151 00c2 FB68 ldr r3, [r7, #12]
- 9152 00c4 9B68 ldr r3, [r3, #8]
- 9153 .loc 1 3235 6
- 9154 00c6 B3F5805F cmp r3, #4096
- 9155 00ca 07D1 bne .L520
- 9156 .loc 1 3235 69 discriminator 1
- 9157 00cc FB68 ldr r3, [r7, #12]
- 9158 00ce 1B69 ldr r3, [r3, #16]
- 9159 .loc 1 3235 54 discriminator 1
- 9160 00d0 002B cmp r3, #0
- 9161 00d2 03D1 bne .L520
- 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT;
- 9162 .loc 1 3237 18
- 9163 00d4 FB68 ldr r3, [r7, #12]
- 9164 00d6 224A ldr r2, .L530
- 9165 00d8 9A66 str r2, [r3, #104]
- 9166 00da 02E0 b .L521
- 9167 .L520:
- 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT;
- 9168 .loc 1 3241 18
- 9169 00dc FB68 ldr r3, [r7, #12]
- 9170 00de 214A ldr r2, .L530+4
- 9171 00e0 9A66 str r2, [r3, #104]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 240
- 9172 .L521:
- 3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */
- 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
- 9173 .loc 1 3245 18
- 9174 00e2 FB68 ldr r3, [r7, #12]
- 9175 00e4 1B69 ldr r3, [r3, #16]
- 9176 .loc 1 3245 6
- 9177 00e6 002B cmp r3, #0
- 9178 00e8 19D0 beq .L522
- 9179 .L525:
- 9180 .LBB688:
- 3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);
- 9181 .loc 1 3247 5 discriminator 1
- 9182 00ea FB68 ldr r3, [r7, #12]
- 9183 00ec 1B68 ldr r3, [r3]
- 9184 00ee BB62 str r3, [r7, #40]
- 9185 .LBB689:
- 9186 .LBB690:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9187 .loc 2 1072 4 discriminator 1
- 9188 00f0 BB6A ldr r3, [r7, #40]
- 9189 .syntax unified
- 9190 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9191 00f2 53E8003F ldrex r3, [r3]
- 9192 @ 0 "" 2
- 9193 .thumb
- 9194 .syntax unified
- 9195 00f6 7B62 str r3, [r7, #36]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9196 .loc 2 1073 10 discriminator 1
- 9197 00f8 7B6A ldr r3, [r7, #36]
- 9198 .LBE690:
- 9199 .LBE689:
- 9200 .loc 1 3247 5 discriminator 1
- 9201 00fa 43F49073 orr r3, r3, #288
- 9202 00fe FB64 str r3, [r7, #76]
- 9203 0100 FB68 ldr r3, [r7, #12]
- 9204 0102 1B68 ldr r3, [r3]
- 9205 0104 1A46 mov r2, r3
- 9206 0106 FB6C ldr r3, [r7, #76]
- 9207 0108 7B63 str r3, [r7, #52]
- 9208 010a 3A63 str r2, [r7, #48]
- 9209 .LBB691:
- 9210 .LBB692:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9211 .loc 2 1123 4 discriminator 1
- 9212 010c 396B ldr r1, [r7, #48]
- 9213 010e 7A6B ldr r2, [r7, #52]
- 9214 .syntax unified
- 9215 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9216 0110 41E80023 strex r3, r2, [r1]
- 9217 @ 0 "" 2
- 9218 .thumb
- 9219 .syntax unified
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 241
- 9220 0114 FB62 str r3, [r7, #44]
- 9221 .loc 2 1124 10 discriminator 1
- 9222 0116 FB6A ldr r3, [r7, #44]
- 9223 .LBE692:
- 9224 .LBE691:
- 9225 .loc 1 3247 5 discriminator 1
- 9226 0118 002B cmp r3, #0
- 9227 011a E6D1 bne .L525
- 9228 011c 18E0 b .L526
- 9229 .L522:
- 9230 .LBE688:
- 9231 .LBB693:
- 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE);
- 9232 .loc 1 3251 5 discriminator 1
- 9233 011e FB68 ldr r3, [r7, #12]
- 9234 0120 1B68 ldr r3, [r3]
- 9235 0122 7B61 str r3, [r7, #20]
- 9236 .LBB694:
- 9237 .LBB695:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9238 .loc 2 1072 4 discriminator 1
- 9239 0124 7B69 ldr r3, [r7, #20]
- 9240 .syntax unified
- 9241 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9242 0126 53E8003F ldrex r3, [r3]
- 9243 @ 0 "" 2
- 9244 .thumb
- 9245 .syntax unified
- 9246 012a 3B61 str r3, [r7, #16]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9247 .loc 2 1073 10 discriminator 1
- 9248 012c 3B69 ldr r3, [r7, #16]
- 9249 .LBE695:
- 9250 .LBE694:
- 9251 .loc 1 3251 5 discriminator 1
- 9252 012e 43F02003 orr r3, r3, #32
- 9253 0132 3B65 str r3, [r7, #80]
- 9254 0134 FB68 ldr r3, [r7, #12]
- 9255 0136 1B68 ldr r3, [r3]
- 9256 0138 1A46 mov r2, r3
- 9257 013a 3B6D ldr r3, [r7, #80]
- 9258 013c 3B62 str r3, [r7, #32]
- 9259 013e FA61 str r2, [r7, #28]
- 9260 .LBB696:
- 9261 .LBB697:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9262 .loc 2 1123 4 discriminator 1
- 9263 0140 F969 ldr r1, [r7, #28]
- 9264 0142 3A6A ldr r2, [r7, #32]
- 9265 .syntax unified
- 9266 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9267 0144 41E80023 strex r3, r2, [r1]
- 9268 @ 0 "" 2
- 9269 .thumb
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 242
- 9270 .syntax unified
- 9271 0148 BB61 str r3, [r7, #24]
- 9272 .loc 2 1124 10 discriminator 1
- 9273 014a BB69 ldr r3, [r7, #24]
- 9274 .LBE697:
- 9275 .LBE696:
- 9276 .loc 1 3251 5 discriminator 1
- 9277 014c 002B cmp r3, #0
- 9278 014e E6D1 bne .L522
- 9279 .L526:
- 9280 .LBE693:
- 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 9281 .loc 1 3253 10
- 9282 0150 0023 movs r3, #0
- 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 9283 .loc 1 3254 1
- 9284 0152 1846 mov r0, r3
- 9285 0154 5C37 adds r7, r7, #92
- 9286 .LCFI259:
- 9287 .cfi_def_cfa_offset 4
- 9288 0156 BD46 mov sp, r7
- 9289 .LCFI260:
- 9290 .cfi_def_cfa_register 13
- 9291 @ sp needed
- 9292 0158 5DF8047B ldr r7, [sp], #4
- 9293 .LCFI261:
- 9294 .cfi_restore 7
- 9295 .cfi_def_cfa_offset 0
- 9296 015c 7047 bx lr
- 9297 .L531:
- 9298 015e 00BF .align 2
- 9299 .L530:
- 9300 0160 00000000 .word UART_RxISR_16BIT
- 9301 0164 00000000 .word UART_RxISR_8BIT
- 9302 .cfi_endproc
- 9303 .LFE177:
- 9305 .section .text.UART_Start_Receive_DMA,"ax",%progbits
- 9306 .align 1
- 9307 .global UART_Start_Receive_DMA
- 9308 .syntax unified
- 9309 .thumb
- 9310 .thumb_func
- 9312 UART_Start_Receive_DMA:
- 9313 .LFB178:
- 3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
- 3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
- 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
- 3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
- 3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked.
- 3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status
- 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 243
- 3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 9314 .loc 1 3268 1
- 9315 .cfi_startproc
- 9316 @ args = 0, pretend = 0, frame = 88
- 9317 @ frame_needed = 1, uses_anonymous_args = 0
- 9318 0000 80B5 push {r7, lr}
- 9319 .LCFI262:
- 9320 .cfi_def_cfa_offset 8
- 9321 .cfi_offset 7, -8
- 9322 .cfi_offset 14, -4
- 9323 0002 96B0 sub sp, sp, #88
- 9324 .LCFI263:
- 9325 .cfi_def_cfa_offset 96
- 9326 0004 00AF add r7, sp, #0
- 9327 .LCFI264:
- 9328 .cfi_def_cfa_register 7
- 9329 0006 F860 str r0, [r7, #12]
- 9330 0008 B960 str r1, [r7, #8]
- 9331 000a 1346 mov r3, r2
- 9332 000c FB80 strh r3, [r7, #6] @ movhi
- 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData;
- 9333 .loc 1 3269 21
- 9334 000e FB68 ldr r3, [r7, #12]
- 9335 0010 BA68 ldr r2, [r7, #8]
- 9336 0012 5A65 str r2, [r3, #84]
- 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size;
- 9337 .loc 1 3270 21
- 9338 0014 FB68 ldr r3, [r7, #12]
- 9339 0016 FA88 ldrh r2, [r7, #6] @ movhi
- 9340 0018 A3F85820 strh r2, [r3, #88] @ movhi
- 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 9341 .loc 1 3272 20
- 9342 001c FB68 ldr r3, [r7, #12]
- 9343 001e 0022 movs r2, #0
- 9344 0020 C3F88420 str r2, [r3, #132]
- 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
- 9345 .loc 1 3273 18
- 9346 0024 FB68 ldr r3, [r7, #12]
- 9347 0026 2222 movs r2, #34
- 9348 0028 C3F88020 str r2, [r3, #128]
- 3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 9349 .loc 1 3275 12
- 9350 002c FB68 ldr r3, [r7, #12]
- 9351 002e 5B6F ldr r3, [r3, #116]
- 9352 .loc 1 3275 6
- 9353 0030 002B cmp r3, #0
- 9354 0032 28D0 beq .L533
- 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
- 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
- 9355 .loc 1 3278 10
- 9356 0034 FB68 ldr r3, [r7, #12]
- 9357 0036 5B6F ldr r3, [r3, #116]
- 9358 .loc 1 3278 37
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 244
- 9359 0038 3E4A ldr r2, .L545
- 9360 003a 9A62 str r2, [r3, #40]
- 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
- 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
- 9361 .loc 1 3281 10
- 9362 003c FB68 ldr r3, [r7, #12]
- 9363 003e 5B6F ldr r3, [r3, #116]
- 9364 .loc 1 3281 41
- 9365 0040 3D4A ldr r2, .L545+4
- 9366 0042 DA62 str r2, [r3, #44]
- 3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */
- 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
- 9367 .loc 1 3284 10
- 9368 0044 FB68 ldr r3, [r7, #12]
- 9369 0046 5B6F ldr r3, [r3, #116]
- 9370 .loc 1 3284 38
- 9371 0048 3C4A ldr r2, .L545+8
- 9372 004a 1A63 str r2, [r3, #48]
- 3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */
- 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 9373 .loc 1 3287 10
- 9374 004c FB68 ldr r3, [r7, #12]
- 9375 004e 5B6F ldr r3, [r3, #116]
- 9376 .loc 1 3287 38
- 9377 0050 0022 movs r2, #0
- 9378 0052 5A63 str r2, [r3, #52]
- 3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA channel */
- 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt
- 9379 .loc 1 3290 9
- 9380 0054 FB68 ldr r3, [r7, #12]
- 9381 0056 586F ldr r0, [r3, #116]
- 9382 .loc 1 3290 57
- 9383 0058 FB68 ldr r3, [r7, #12]
- 9384 005a 1B68 ldr r3, [r3]
- 9385 .loc 1 3290 51
- 9386 005c 2433 adds r3, r3, #36
- 9387 .loc 1 3290 9
- 9388 005e 1946 mov r1, r3
- 9389 .loc 1 3290 89
- 9390 0060 FB68 ldr r3, [r7, #12]
- 9391 0062 5B6D ldr r3, [r3, #84]
- 9392 .loc 1 3290 9
- 9393 0064 1A46 mov r2, r3
- 9394 0066 FB88 ldrh r3, [r7, #6]
- 9395 0068 FFF7FEFF bl HAL_DMA_Start_IT
- 9396 006c 0346 mov r3, r0
- 9397 .loc 1 3290 8
- 9398 006e 002B cmp r3, #0
- 9399 0070 09D0 beq .L533
- 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */
- 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 9400 .loc 1 3293 24
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 245
- 9401 0072 FB68 ldr r3, [r7, #12]
- 9402 0074 1022 movs r2, #16
- 9403 0076 C3F88420 str r2, [r3, #132]
- 3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to ready */
- 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 9404 .loc 1 3296 22
- 9405 007a FB68 ldr r3, [r7, #12]
- 9406 007c 2022 movs r2, #32
- 9407 007e C3F88020 str r2, [r3, #128]
- 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR;
- 9408 .loc 1 3298 14
- 9409 0082 0123 movs r3, #1
- 9410 0084 51E0 b .L534
- 9411 .L533:
- 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
- 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
- 9412 .loc 1 3303 18
- 9413 0086 FB68 ldr r3, [r7, #12]
- 9414 0088 1B69 ldr r3, [r3, #16]
- 9415 .loc 1 3303 6
- 9416 008a 002B cmp r3, #0
- 9417 008c 18D0 beq .L541
- 9418 .L538:
- 9419 .LBB698:
- 3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 9420 .loc 1 3305 5 discriminator 1
- 9421 008e FB68 ldr r3, [r7, #12]
- 9422 0090 1B68 ldr r3, [r3]
- 9423 0092 FB63 str r3, [r7, #60]
- 9424 .LBB699:
- 9425 .LBB700:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9426 .loc 2 1072 4 discriminator 1
- 9427 0094 FB6B ldr r3, [r7, #60]
- 9428 .syntax unified
- 9429 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9430 0096 53E8003F ldrex r3, [r3]
- 9431 @ 0 "" 2
- 9432 .thumb
- 9433 .syntax unified
- 9434 009a BB63 str r3, [r7, #56]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9435 .loc 2 1073 10 discriminator 1
- 9436 009c BB6B ldr r3, [r7, #56]
- 9437 .LBE700:
- 9438 .LBE699:
- 9439 .loc 1 3305 5 discriminator 1
- 9440 009e 43F48073 orr r3, r3, #256
- 9441 00a2 7B65 str r3, [r7, #84]
- 9442 00a4 FB68 ldr r3, [r7, #12]
- 9443 00a6 1B68 ldr r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 246
- 9444 00a8 1A46 mov r2, r3
- 9445 00aa 7B6D ldr r3, [r7, #84]
- 9446 00ac BB64 str r3, [r7, #72]
- 9447 00ae 7A64 str r2, [r7, #68]
- 9448 .LBB701:
- 9449 .LBB702:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9450 .loc 2 1123 4 discriminator 1
- 9451 00b0 796C ldr r1, [r7, #68]
- 9452 00b2 BA6C ldr r2, [r7, #72]
- 9453 .syntax unified
- 9454 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9455 00b4 41E80023 strex r3, r2, [r1]
- 9456 @ 0 "" 2
- 9457 .thumb
- 9458 .syntax unified
- 9459 00b8 3B64 str r3, [r7, #64]
- 9460 .loc 2 1124 10 discriminator 1
- 9461 00ba 3B6C ldr r3, [r7, #64]
- 9462 .LBE702:
- 9463 .LBE701:
- 9464 .loc 1 3305 5 discriminator 1
- 9465 00bc 002B cmp r3, #0
- 9466 00be E6D1 bne .L538
- 9467 .L541:
- 9468 .LBE698:
- 9469 .LBB703:
- 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 9470 .loc 1 3309 3 discriminator 1
- 9471 00c0 FB68 ldr r3, [r7, #12]
- 9472 00c2 1B68 ldr r3, [r3]
- 9473 00c4 0833 adds r3, r3, #8
- 9474 00c6 BB62 str r3, [r7, #40]
- 9475 .LBB704:
- 9476 .LBB705:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9477 .loc 2 1072 4 discriminator 1
- 9478 00c8 BB6A ldr r3, [r7, #40]
- 9479 .syntax unified
- 9480 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9481 00ca 53E8003F ldrex r3, [r3]
- 9482 @ 0 "" 2
- 9483 .thumb
- 9484 .syntax unified
- 9485 00ce 7B62 str r3, [r7, #36]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9486 .loc 2 1073 10 discriminator 1
- 9487 00d0 7B6A ldr r3, [r7, #36]
- 9488 .LBE705:
- 9489 .LBE704:
- 9490 .loc 1 3309 3 discriminator 1
- 9491 00d2 43F00103 orr r3, r3, #1
- 9492 00d6 3B65 str r3, [r7, #80]
- 9493 00d8 FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 247
- 9494 00da 1B68 ldr r3, [r3]
- 9495 00dc 0833 adds r3, r3, #8
- 9496 00de 3A6D ldr r2, [r7, #80]
- 9497 00e0 7A63 str r2, [r7, #52]
- 9498 00e2 3B63 str r3, [r7, #48]
- 9499 .LBB706:
- 9500 .LBB707:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9501 .loc 2 1123 4 discriminator 1
- 9502 00e4 396B ldr r1, [r7, #48]
- 9503 00e6 7A6B ldr r2, [r7, #52]
- 9504 .syntax unified
- 9505 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9506 00e8 41E80023 strex r3, r2, [r1]
- 9507 @ 0 "" 2
- 9508 .thumb
- 9509 .syntax unified
- 9510 00ec FB62 str r3, [r7, #44]
- 9511 .loc 2 1124 10 discriminator 1
- 9512 00ee FB6A ldr r3, [r7, #44]
- 9513 .LBE707:
- 9514 .LBE706:
- 9515 .loc 1 3309 3 discriminator 1
- 9516 00f0 002B cmp r3, #0
- 9517 00f2 E5D1 bne .L541
- 9518 .L544:
- 9519 .LBE703:
- 9520 .LBB708:
- 3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
- 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
- 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 9521 .loc 1 3313 3 discriminator 1
- 9522 00f4 FB68 ldr r3, [r7, #12]
- 9523 00f6 1B68 ldr r3, [r3]
- 9524 00f8 0833 adds r3, r3, #8
- 9525 00fa 7B61 str r3, [r7, #20]
- 9526 .LBB709:
- 9527 .LBB710:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9528 .loc 2 1072 4 discriminator 1
- 9529 00fc 7B69 ldr r3, [r7, #20]
- 9530 .syntax unified
- 9531 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9532 00fe 53E8003F ldrex r3, [r3]
- 9533 @ 0 "" 2
- 9534 .thumb
- 9535 .syntax unified
- 9536 0102 3B61 str r3, [r7, #16]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9537 .loc 2 1073 10 discriminator 1
- 9538 0104 3B69 ldr r3, [r7, #16]
- 9539 .LBE710:
- 9540 .LBE709:
- 9541 .loc 1 3313 3 discriminator 1
- 9542 0106 43F04003 orr r3, r3, #64
- 9543 010a FB64 str r3, [r7, #76]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 248
- 9544 010c FB68 ldr r3, [r7, #12]
- 9545 010e 1B68 ldr r3, [r3]
- 9546 0110 0833 adds r3, r3, #8
- 9547 0112 FA6C ldr r2, [r7, #76]
- 9548 0114 3A62 str r2, [r7, #32]
- 9549 0116 FB61 str r3, [r7, #28]
- 9550 .LBB711:
- 9551 .LBB712:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9552 .loc 2 1123 4 discriminator 1
- 9553 0118 F969 ldr r1, [r7, #28]
- 9554 011a 3A6A ldr r2, [r7, #32]
- 9555 .syntax unified
- 9556 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9557 011c 41E80023 strex r3, r2, [r1]
- 9558 @ 0 "" 2
- 9559 .thumb
- 9560 .syntax unified
- 9561 0120 BB61 str r3, [r7, #24]
- 9562 .loc 2 1124 10 discriminator 1
- 9563 0122 BB69 ldr r3, [r7, #24]
- 9564 .LBE712:
- 9565 .LBE711:
- 9566 .loc 1 3313 3 discriminator 1
- 9567 0124 002B cmp r3, #0
- 9568 0126 E5D1 bne .L544
- 9569 .LBE708:
- 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK;
- 9570 .loc 1 3315 10
- 9571 0128 0023 movs r3, #0
- 9572 .L534:
- 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 9573 .loc 1 3316 1
- 9574 012a 1846 mov r0, r3
- 9575 012c 5837 adds r7, r7, #88
- 9576 .LCFI265:
- 9577 .cfi_def_cfa_offset 8
- 9578 012e BD46 mov sp, r7
- 9579 .LCFI266:
- 9580 .cfi_def_cfa_register 13
- 9581 @ sp needed
- 9582 0130 80BD pop {r7, pc}
- 9583 .L546:
- 9584 0132 00BF .align 2
- 9585 .L545:
- 9586 0134 00000000 .word UART_DMAReceiveCplt
- 9587 0138 00000000 .word UART_DMARxHalfCplt
- 9588 013c 00000000 .word UART_DMAError
- 9589 .cfi_endproc
- 9590 .LFE178:
- 9592 .section .text.UART_EndTxTransfer,"ax",%progbits
- 9593 .align 1
- 9594 .syntax unified
- 9595 .thumb
- 9596 .thumb_func
- 9598 UART_EndTxTransfer:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 249
- 9599 .LFB179:
- 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
- 3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
- 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 9600 .loc 1 3325 1
- 9601 .cfi_startproc
- 9602 @ args = 0, pretend = 0, frame = 32
- 9603 @ frame_needed = 1, uses_anonymous_args = 0
- 9604 @ link register save eliminated.
- 9605 0000 80B4 push {r7}
- 9606 .LCFI267:
- 9607 .cfi_def_cfa_offset 4
- 9608 .cfi_offset 7, -4
- 9609 0002 89B0 sub sp, sp, #36
- 9610 .LCFI268:
- 9611 .cfi_def_cfa_offset 40
- 9612 0004 00AF add r7, sp, #0
- 9613 .LCFI269:
- 9614 .cfi_def_cfa_register 7
- 9615 0006 7860 str r0, [r7, #4]
- 9616 .L550:
- 9617 .LBB713:
- 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
- 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
- 9618 .loc 1 3327 3 discriminator 1
- 9619 0008 7B68 ldr r3, [r7, #4]
- 9620 000a 1B68 ldr r3, [r3]
- 9621 000c FB60 str r3, [r7, #12]
- 9622 .LBB714:
- 9623 .LBB715:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9624 .loc 2 1072 4 discriminator 1
- 9625 000e FB68 ldr r3, [r7, #12]
- 9626 .syntax unified
- 9627 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9628 0010 53E8003F ldrex r3, [r3]
- 9629 @ 0 "" 2
- 9630 .thumb
- 9631 .syntax unified
- 9632 0014 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9633 .loc 2 1073 10 discriminator 1
- 9634 0016 BB68 ldr r3, [r7, #8]
- 9635 .LBE715:
- 9636 .LBE714:
- 9637 .loc 1 3327 3 discriminator 1
- 9638 0018 23F0C003 bic r3, r3, #192
- 9639 001c FB61 str r3, [r7, #28]
- 9640 001e 7B68 ldr r3, [r7, #4]
- 9641 0020 1B68 ldr r3, [r3]
- 9642 0022 1A46 mov r2, r3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 250
- 9643 0024 FB69 ldr r3, [r7, #28]
- 9644 0026 BB61 str r3, [r7, #24]
- 9645 0028 7A61 str r2, [r7, #20]
- 9646 .LBB716:
- 9647 .LBB717:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9648 .loc 2 1123 4 discriminator 1
- 9649 002a 7969 ldr r1, [r7, #20]
- 9650 002c BA69 ldr r2, [r7, #24]
- 9651 .syntax unified
- 9652 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9653 002e 41E80023 strex r3, r2, [r1]
- 9654 @ 0 "" 2
- 9655 .thumb
- 9656 .syntax unified
- 9657 0032 3B61 str r3, [r7, #16]
- 9658 .loc 2 1124 10 discriminator 1
- 9659 0034 3B69 ldr r3, [r7, #16]
- 9660 .LBE717:
- 9661 .LBE716:
- 9662 .loc 1 3327 3 discriminator 1
- 9663 0036 002B cmp r3, #0
- 9664 0038 E6D1 bne .L550
- 9665 .LBE713:
- 3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
- 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 9666 .loc 1 3330 17
- 9667 003a 7B68 ldr r3, [r7, #4]
- 9668 003c 2022 movs r2, #32
- 9669 003e DA67 str r2, [r3, #124]
- 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 9670 .loc 1 3331 1
- 9671 0040 00BF nop
- 9672 0042 2437 adds r7, r7, #36
- 9673 .LCFI270:
- 9674 .cfi_def_cfa_offset 4
- 9675 0044 BD46 mov sp, r7
- 9676 .LCFI271:
- 9677 .cfi_def_cfa_register 13
- 9678 @ sp needed
- 9679 0046 5DF8047B ldr r7, [sp], #4
- 9680 .LCFI272:
- 9681 .cfi_restore 7
- 9682 .cfi_def_cfa_offset 0
- 9683 004a 7047 bx lr
- 9684 .cfi_endproc
- 9685 .LFE179:
- 9687 .section .text.UART_EndRxTransfer,"ax",%progbits
- 9688 .align 1
- 9689 .syntax unified
- 9690 .thumb
- 9691 .thumb_func
- 9693 UART_EndRxTransfer:
- 9694 .LFB180:
- 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 251
- 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
- 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
- 3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 9695 .loc 1 3340 1
- 9696 .cfi_startproc
- 9697 @ args = 0, pretend = 0, frame = 80
- 9698 @ frame_needed = 1, uses_anonymous_args = 0
- 9699 @ link register save eliminated.
- 9700 0000 80B4 push {r7}
- 9701 .LCFI273:
- 9702 .cfi_def_cfa_offset 4
- 9703 .cfi_offset 7, -4
- 9704 0002 95B0 sub sp, sp, #84
- 9705 .LCFI274:
- 9706 .cfi_def_cfa_offset 88
- 9707 0004 00AF add r7, sp, #0
- 9708 .LCFI275:
- 9709 .cfi_def_cfa_register 7
- 9710 0006 7860 str r0, [r7, #4]
- 9711 .L554:
- 9712 .LBB718:
- 3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 9713 .loc 1 3342 3 discriminator 1
- 9714 0008 7B68 ldr r3, [r7, #4]
- 9715 000a 1B68 ldr r3, [r3]
- 9716 000c 7B63 str r3, [r7, #52]
- 9717 .LBB719:
- 9718 .LBB720:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9719 .loc 2 1072 4 discriminator 1
- 9720 000e 7B6B ldr r3, [r7, #52]
- 9721 .syntax unified
- 9722 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9723 0010 53E8003F ldrex r3, [r3]
- 9724 @ 0 "" 2
- 9725 .thumb
- 9726 .syntax unified
- 9727 0014 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9728 .loc 2 1073 10 discriminator 1
- 9729 0016 3B6B ldr r3, [r7, #48]
- 9730 .LBE720:
- 9731 .LBE719:
- 9732 .loc 1 3342 3 discriminator 1
- 9733 0018 23F49073 bic r3, r3, #288
- 9734 001c FB64 str r3, [r7, #76]
- 9735 001e 7B68 ldr r3, [r7, #4]
- 9736 0020 1B68 ldr r3, [r3]
- 9737 0022 1A46 mov r2, r3
- 9738 0024 FB6C ldr r3, [r7, #76]
- 9739 0026 3B64 str r3, [r7, #64]
- 9740 0028 FA63 str r2, [r7, #60]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 252
- 9741 .LBB721:
- 9742 .LBB722:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9743 .loc 2 1123 4 discriminator 1
- 9744 002a F96B ldr r1, [r7, #60]
- 9745 002c 3A6C ldr r2, [r7, #64]
- 9746 .syntax unified
- 9747 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9748 002e 41E80023 strex r3, r2, [r1]
- 9749 @ 0 "" 2
- 9750 .thumb
- 9751 .syntax unified
- 9752 0032 BB63 str r3, [r7, #56]
- 9753 .loc 2 1124 10 discriminator 1
- 9754 0034 BB6B ldr r3, [r7, #56]
- 9755 .LBE722:
- 9756 .LBE721:
- 9757 .loc 1 3342 3 discriminator 1
- 9758 0036 002B cmp r3, #0
- 9759 0038 E6D1 bne .L554
- 9760 .L557:
- 9761 .LBE718:
- 9762 .LBB723:
- 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 9763 .loc 1 3343 3 discriminator 1
- 9764 003a 7B68 ldr r3, [r7, #4]
- 9765 003c 1B68 ldr r3, [r3]
- 9766 003e 0833 adds r3, r3, #8
- 9767 0040 3B62 str r3, [r7, #32]
- 9768 .LBB724:
- 9769 .LBB725:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9770 .loc 2 1072 4 discriminator 1
- 9771 0042 3B6A ldr r3, [r7, #32]
- 9772 .syntax unified
- 9773 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9774 0044 53E8003F ldrex r3, [r3]
- 9775 @ 0 "" 2
- 9776 .thumb
- 9777 .syntax unified
- 9778 0048 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9779 .loc 2 1073 10 discriminator 1
- 9780 004a FB69 ldr r3, [r7, #28]
- 9781 .LBE725:
- 9782 .LBE724:
- 9783 .loc 1 3343 3 discriminator 1
- 9784 004c 23F00103 bic r3, r3, #1
- 9785 0050 BB64 str r3, [r7, #72]
- 9786 0052 7B68 ldr r3, [r7, #4]
- 9787 0054 1B68 ldr r3, [r3]
- 9788 0056 0833 adds r3, r3, #8
- 9789 0058 BA6C ldr r2, [r7, #72]
- 9790 005a FA62 str r2, [r7, #44]
- 9791 005c BB62 str r3, [r7, #40]
- 9792 .LBB726:
- 9793 .LBB727:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 253
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9794 .loc 2 1123 4 discriminator 1
- 9795 005e B96A ldr r1, [r7, #40]
- 9796 0060 FA6A ldr r2, [r7, #44]
- 9797 .syntax unified
- 9798 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9799 0062 41E80023 strex r3, r2, [r1]
- 9800 @ 0 "" 2
- 9801 .thumb
- 9802 .syntax unified
- 9803 0066 7B62 str r3, [r7, #36]
- 9804 .loc 2 1124 10 discriminator 1
- 9805 0068 7B6A ldr r3, [r7, #36]
- 9806 .LBE727:
- 9807 .LBE726:
- 9808 .loc 1 3343 3 discriminator 1
- 9809 006a 002B cmp r3, #0
- 9810 006c E5D1 bne .L557
- 9811 .LBE723:
- 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
- 3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 9812 .loc 1 3346 12
- 9813 006e 7B68 ldr r3, [r7, #4]
- 9814 0070 1B6E ldr r3, [r3, #96]
- 9815 .loc 1 3346 6
- 9816 0072 012B cmp r3, #1
- 9817 0074 18D1 bne .L558
- 9818 .L561:
- 9819 .LBB728:
- 3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 9820 .loc 1 3348 5 discriminator 1
- 9821 0076 7B68 ldr r3, [r7, #4]
- 9822 0078 1B68 ldr r3, [r3]
- 9823 007a FB60 str r3, [r7, #12]
- 9824 .LBB729:
- 9825 .LBB730:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9826 .loc 2 1072 4 discriminator 1
- 9827 007c FB68 ldr r3, [r7, #12]
- 9828 .syntax unified
- 9829 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9830 007e 53E8003F ldrex r3, [r3]
- 9831 @ 0 "" 2
- 9832 .thumb
- 9833 .syntax unified
- 9834 0082 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9835 .loc 2 1073 10 discriminator 1
- 9836 0084 BB68 ldr r3, [r7, #8]
- 9837 .LBE730:
- 9838 .LBE729:
- 9839 .loc 1 3348 5 discriminator 1
- 9840 0086 23F01003 bic r3, r3, #16
- 9841 008a 7B64 str r3, [r7, #68]
- 9842 008c 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 254
- 9843 008e 1B68 ldr r3, [r3]
- 9844 0090 1A46 mov r2, r3
- 9845 0092 7B6C ldr r3, [r7, #68]
- 9846 0094 BB61 str r3, [r7, #24]
- 9847 0096 7A61 str r2, [r7, #20]
- 9848 .LBB731:
- 9849 .LBB732:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9850 .loc 2 1123 4 discriminator 1
- 9851 0098 7969 ldr r1, [r7, #20]
- 9852 009a BA69 ldr r2, [r7, #24]
- 9853 .syntax unified
- 9854 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9855 009c 41E80023 strex r3, r2, [r1]
- 9856 @ 0 "" 2
- 9857 .thumb
- 9858 .syntax unified
- 9859 00a0 3B61 str r3, [r7, #16]
- 9860 .loc 2 1124 10 discriminator 1
- 9861 00a2 3B69 ldr r3, [r7, #16]
- 9862 .LBE732:
- 9863 .LBE731:
- 9864 .loc 1 3348 5 discriminator 1
- 9865 00a4 002B cmp r3, #0
- 9866 00a6 E6D1 bne .L561
- 9867 .L558:
- 9868 .LBE728:
- 3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 9869 .loc 1 3352 18
- 9870 00a8 7B68 ldr r3, [r7, #4]
- 9871 00aa 2022 movs r2, #32
- 9872 00ac C3F88020 str r2, [r3, #128]
- 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 9873 .loc 1 3353 24
- 9874 00b0 7B68 ldr r3, [r7, #4]
- 9875 00b2 0022 movs r2, #0
- 9876 00b4 1A66 str r2, [r3, #96]
- 3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset RxIsr function pointer */
- 3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
- 9877 .loc 1 3356 16
- 9878 00b6 7B68 ldr r3, [r7, #4]
- 9879 00b8 0022 movs r2, #0
- 9880 00ba 9A66 str r2, [r3, #104]
- 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 9881 .loc 1 3357 1
- 9882 00bc 00BF nop
- 9883 00be 5437 adds r7, r7, #84
- 9884 .LCFI276:
- 9885 .cfi_def_cfa_offset 4
- 9886 00c0 BD46 mov sp, r7
- 9887 .LCFI277:
- 9888 .cfi_def_cfa_register 13
- 9889 @ sp needed
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 255
- 9890 00c2 5DF8047B ldr r7, [sp], #4
- 9891 .LCFI278:
- 9892 .cfi_restore 7
- 9893 .cfi_def_cfa_offset 0
- 9894 00c6 7047 bx lr
- 9895 .cfi_endproc
- 9896 .LFE180:
- 9898 .section .text.UART_DMATransmitCplt,"ax",%progbits
- 9899 .align 1
- 9900 .syntax unified
- 9901 .thumb
- 9902 .thumb_func
- 9904 UART_DMATransmitCplt:
- 9905 .LFB181:
- 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
- 3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
- 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 9906 .loc 1 3366 1
- 9907 .cfi_startproc
- 9908 @ args = 0, pretend = 0, frame = 64
- 9909 @ frame_needed = 1, uses_anonymous_args = 0
- 9910 0000 80B5 push {r7, lr}
- 9911 .LCFI279:
- 9912 .cfi_def_cfa_offset 8
- 9913 .cfi_offset 7, -8
- 9914 .cfi_offset 14, -4
- 9915 0002 90B0 sub sp, sp, #64
- 9916 .LCFI280:
- 9917 .cfi_def_cfa_offset 72
- 9918 0004 00AF add r7, sp, #0
- 9919 .LCFI281:
- 9920 .cfi_def_cfa_register 7
- 9921 0006 7860 str r0, [r7, #4]
- 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 9922 .loc 1 3367 23
- 9923 0008 7B68 ldr r3, [r7, #4]
- 9924 000a 5B6A ldr r3, [r3, #36]
- 9925 000c FB63 str r3, [r7, #60]
- 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */
- 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
- 9926 .loc 1 3370 17
- 9927 000e 7B68 ldr r3, [r7, #4]
- 9928 0010 9B69 ldr r3, [r3, #24]
- 9929 .loc 1 3370 6
- 9930 0012 202B cmp r3, #32
- 9931 0014 37D0 beq .L563
- 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 9932 .loc 1 3372 24
- 9933 0016 FB6B ldr r3, [r7, #60]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 256
- 9934 0018 0022 movs r2, #0
- 9935 001a A3F85220 strh r2, [r3, #82] @ movhi
- 9936 .L566:
- 9937 .LBB733:
- 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit
- 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
- 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 9938 .loc 1 3376 5 discriminator 1
- 9939 001e FB6B ldr r3, [r7, #60]
- 9940 0020 1B68 ldr r3, [r3]
- 9941 0022 0833 adds r3, r3, #8
- 9942 0024 7B62 str r3, [r7, #36]
- 9943 .LBB734:
- 9944 .LBB735:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9945 .loc 2 1072 4 discriminator 1
- 9946 0026 7B6A ldr r3, [r7, #36]
- 9947 .syntax unified
- 9948 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9949 0028 53E8003F ldrex r3, [r3]
- 9950 @ 0 "" 2
- 9951 .thumb
- 9952 .syntax unified
- 9953 002c 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9954 .loc 2 1073 10 discriminator 1
- 9955 002e 3B6A ldr r3, [r7, #32]
- 9956 .LBE735:
- 9957 .LBE734:
- 9958 .loc 1 3376 5 discriminator 1
- 9959 0030 23F08003 bic r3, r3, #128
- 9960 0034 BB63 str r3, [r7, #56]
- 9961 0036 FB6B ldr r3, [r7, #60]
- 9962 0038 1B68 ldr r3, [r3]
- 9963 003a 0833 adds r3, r3, #8
- 9964 003c BA6B ldr r2, [r7, #56]
- 9965 003e 3A63 str r2, [r7, #48]
- 9966 0040 FB62 str r3, [r7, #44]
- 9967 .LBB736:
- 9968 .LBB737:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9969 .loc 2 1123 4 discriminator 1
- 9970 0042 F96A ldr r1, [r7, #44]
- 9971 0044 3A6B ldr r2, [r7, #48]
- 9972 .syntax unified
- 9973 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9974 0046 41E80023 strex r3, r2, [r1]
- 9975 @ 0 "" 2
- 9976 .thumb
- 9977 .syntax unified
- 9978 004a BB62 str r3, [r7, #40]
- 9979 .loc 2 1124 10 discriminator 1
- 9980 004c BB6A ldr r3, [r7, #40]
- 9981 .LBE737:
- 9982 .LBE736:
- 9983 .loc 1 3376 5 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 257
- 9984 004e 002B cmp r3, #0
- 9985 0050 E5D1 bne .L566
- 9986 .L569:
- 9987 .LBE733:
- 9988 .LBB738:
- 3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
- 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
- 9989 .loc 1 3379 5 discriminator 1
- 9990 0052 FB6B ldr r3, [r7, #60]
- 9991 0054 1B68 ldr r3, [r3]
- 9992 0056 3B61 str r3, [r7, #16]
- 9993 .LBB739:
- 9994 .LBB740:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9995 .loc 2 1072 4 discriminator 1
- 9996 0058 3B69 ldr r3, [r7, #16]
- 9997 .syntax unified
- 9998 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9999 005a 53E8003F ldrex r3, [r3]
- 10000 @ 0 "" 2
- 10001 .thumb
- 10002 .syntax unified
- 10003 005e FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 10004 .loc 2 1073 10 discriminator 1
- 10005 0060 FB68 ldr r3, [r7, #12]
- 10006 .LBE740:
- 10007 .LBE739:
- 10008 .loc 1 3379 5 discriminator 1
- 10009 0062 43F04003 orr r3, r3, #64
- 10010 0066 7B63 str r3, [r7, #52]
- 10011 0068 FB6B ldr r3, [r7, #60]
- 10012 006a 1B68 ldr r3, [r3]
- 10013 006c 1A46 mov r2, r3
- 10014 006e 7B6B ldr r3, [r7, #52]
- 10015 0070 FB61 str r3, [r7, #28]
- 10016 0072 BA61 str r2, [r7, #24]
- 10017 .LBB741:
- 10018 .LBB742:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10019 .loc 2 1123 4 discriminator 1
- 10020 0074 B969 ldr r1, [r7, #24]
- 10021 0076 FA69 ldr r2, [r7, #28]
- 10022 .syntax unified
- 10023 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10024 0078 41E80023 strex r3, r2, [r1]
- 10025 @ 0 "" 2
- 10026 .thumb
- 10027 .syntax unified
- 10028 007c 7B61 str r3, [r7, #20]
- 10029 .loc 2 1124 10 discriminator 1
- 10030 007e 7B69 ldr r3, [r7, #20]
- 10031 .LBE742:
- 10032 .LBE741:
- 10033 .loc 1 3379 5 discriminator 1
- 10034 0080 002B cmp r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 258
- 10035 0082 E6D1 bne .L569
- 10036 .LBE738:
- 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Circular mode */
- 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/
- 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart);
- 3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
- 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
- 3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10037 .loc 1 3392 1
- 10038 0084 02E0 b .L571
- 10039 .L563:
- 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 10040 .loc 1 3389 5
- 10041 0086 F86B ldr r0, [r7, #60]
- 10042 0088 FFF7FEFF bl HAL_UART_TxCpltCallback
- 10043 .L571:
- 10044 .loc 1 3392 1
- 10045 008c 00BF nop
- 10046 008e 4037 adds r7, r7, #64
- 10047 .LCFI282:
- 10048 .cfi_def_cfa_offset 8
- 10049 0090 BD46 mov sp, r7
- 10050 .LCFI283:
- 10051 .cfi_def_cfa_register 13
- 10052 @ sp needed
- 10053 0092 80BD pop {r7, pc}
- 10054 .cfi_endproc
- 10055 .LFE181:
- 10057 .section .text.UART_DMATxHalfCplt,"ax",%progbits
- 10058 .align 1
- 10059 .syntax unified
- 10060 .thumb
- 10061 .thumb_func
- 10063 UART_DMATxHalfCplt:
- 10064 .LFB182:
- 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback.
- 3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
- 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10065 .loc 1 3400 1
- 10066 .cfi_startproc
- 10067 @ args = 0, pretend = 0, frame = 16
- 10068 @ frame_needed = 1, uses_anonymous_args = 0
- 10069 0000 80B5 push {r7, lr}
- 10070 .LCFI284:
- 10071 .cfi_def_cfa_offset 8
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 259
- 10072 .cfi_offset 7, -8
- 10073 .cfi_offset 14, -4
- 10074 0002 84B0 sub sp, sp, #16
- 10075 .LCFI285:
- 10076 .cfi_def_cfa_offset 24
- 10077 0004 00AF add r7, sp, #0
- 10078 .LCFI286:
- 10079 .cfi_def_cfa_register 7
- 10080 0006 7860 str r0, [r7, #4]
- 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10081 .loc 1 3401 23
- 10082 0008 7B68 ldr r3, [r7, #4]
- 10083 000a 5B6A ldr r3, [r3, #36]
- 10084 000c FB60 str r3, [r7, #12]
- 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx Half complete callback*/
- 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
- 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/
- 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
- 10085 .loc 1 3408 3
- 10086 000e F868 ldr r0, [r7, #12]
- 10087 0010 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
- 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10088 .loc 1 3410 1
- 10089 0014 00BF nop
- 10090 0016 1037 adds r7, r7, #16
- 10091 .LCFI287:
- 10092 .cfi_def_cfa_offset 8
- 10093 0018 BD46 mov sp, r7
- 10094 .LCFI288:
- 10095 .cfi_def_cfa_register 13
- 10096 @ sp needed
- 10097 001a 80BD pop {r7, pc}
- 10098 .cfi_endproc
- 10099 .LFE182:
- 10101 .section .text.UART_DMAReceiveCplt,"ax",%progbits
- 10102 .align 1
- 10103 .syntax unified
- 10104 .thumb
- 10105 .thumb_func
- 10107 UART_DMAReceiveCplt:
- 10108 .LFB183:
- 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
- 3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
- 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10109 .loc 1 3418 1
- 10110 .cfi_startproc
- 10111 @ args = 0, pretend = 0, frame = 112
- 10112 @ frame_needed = 1, uses_anonymous_args = 0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 260
- 10113 0000 80B5 push {r7, lr}
- 10114 .LCFI289:
- 10115 .cfi_def_cfa_offset 8
- 10116 .cfi_offset 7, -8
- 10117 .cfi_offset 14, -4
- 10118 0002 9CB0 sub sp, sp, #112
- 10119 .LCFI290:
- 10120 .cfi_def_cfa_offset 120
- 10121 0004 00AF add r7, sp, #0
- 10122 .LCFI291:
- 10123 .cfi_def_cfa_register 7
- 10124 0006 7860 str r0, [r7, #4]
- 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10125 .loc 1 3419 23
- 10126 0008 7B68 ldr r3, [r7, #4]
- 10127 000a 5B6A ldr r3, [r3, #36]
- 10128 000c FB66 str r3, [r7, #108]
- 3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */
- 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
- 10129 .loc 1 3422 17
- 10130 000e 7B68 ldr r3, [r7, #4]
- 10131 0010 9B69 ldr r3, [r3, #24]
- 10132 .loc 1 3422 6
- 10133 0012 202B cmp r3, #32
- 10134 0014 71D0 beq .L574
- 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 10135 .loc 1 3424 24
- 10136 0016 FB6E ldr r3, [r7, #108]
- 10137 0018 0022 movs r2, #0
- 10138 001a A3F85A20 strh r2, [r3, #90] @ movhi
- 10139 .L577:
- 10140 .LBB743:
- 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
- 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 10141 .loc 1 3427 5 discriminator 1
- 10142 001e FB6E ldr r3, [r7, #108]
- 10143 0020 1B68 ldr r3, [r3]
- 10144 0022 FB64 str r3, [r7, #76]
- 10145 .LBB744:
- 10146 .LBB745:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10147 .loc 2 1072 4 discriminator 1
- 10148 0024 FB6C ldr r3, [r7, #76]
- 10149 .syntax unified
- 10150 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10151 0026 53E8003F ldrex r3, [r3]
- 10152 @ 0 "" 2
- 10153 .thumb
- 10154 .syntax unified
- 10155 002a BB64 str r3, [r7, #72]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 10156 .loc 2 1073 10 discriminator 1
- 10157 002c BB6C ldr r3, [r7, #72]
- 10158 .LBE745:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 261
- 10159 .LBE744:
- 10160 .loc 1 3427 5 discriminator 1
- 10161 002e 23F48073 bic r3, r3, #256
- 10162 0032 BB66 str r3, [r7, #104]
- 10163 0034 FB6E ldr r3, [r7, #108]
- 10164 0036 1B68 ldr r3, [r3]
- 10165 0038 1A46 mov r2, r3
- 10166 003a BB6E ldr r3, [r7, #104]
- 10167 003c BB65 str r3, [r7, #88]
- 10168 003e 7A65 str r2, [r7, #84]
- 10169 .LBB746:
- 10170 .LBB747:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10171 .loc 2 1123 4 discriminator 1
- 10172 0040 796D ldr r1, [r7, #84]
- 10173 0042 BA6D ldr r2, [r7, #88]
- 10174 .syntax unified
- 10175 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10176 0044 41E80023 strex r3, r2, [r1]
- 10177 @ 0 "" 2
- 10178 .thumb
- 10179 .syntax unified
- 10180 0048 3B65 str r3, [r7, #80]
- 10181 .loc 2 1124 10 discriminator 1
- 10182 004a 3B6D ldr r3, [r7, #80]
- 10183 .LBE747:
- 10184 .LBE746:
- 10185 .loc 1 3427 5 discriminator 1
- 10186 004c 002B cmp r3, #0
- 10187 004e E6D1 bne .L577
- 10188 .L580:
- 10189 .LBE743:
- 10190 .LBB748:
- 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 10191 .loc 1 3428 5 discriminator 1
- 10192 0050 FB6E ldr r3, [r7, #108]
- 10193 0052 1B68 ldr r3, [r3]
- 10194 0054 0833 adds r3, r3, #8
- 10195 0056 BB63 str r3, [r7, #56]
- 10196 .LBB749:
- 10197 .LBB750:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10198 .loc 2 1072 4 discriminator 1
- 10199 0058 BB6B ldr r3, [r7, #56]
- 10200 .syntax unified
- 10201 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10202 005a 53E8003F ldrex r3, [r3]
- 10203 @ 0 "" 2
- 10204 .thumb
- 10205 .syntax unified
- 10206 005e 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 10207 .loc 2 1073 10 discriminator 1
- 10208 0060 7B6B ldr r3, [r7, #52]
- 10209 .LBE750:
- 10210 .LBE749:
- 10211 .loc 1 3428 5 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 262
- 10212 0062 23F00103 bic r3, r3, #1
- 10213 0066 7B66 str r3, [r7, #100]
- 10214 0068 FB6E ldr r3, [r7, #108]
- 10215 006a 1B68 ldr r3, [r3]
- 10216 006c 0833 adds r3, r3, #8
- 10217 006e 7A6E ldr r2, [r7, #100]
- 10218 0070 7A64 str r2, [r7, #68]
- 10219 0072 3B64 str r3, [r7, #64]
- 10220 .LBB751:
- 10221 .LBB752:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10222 .loc 2 1123 4 discriminator 1
- 10223 0074 396C ldr r1, [r7, #64]
- 10224 0076 7A6C ldr r2, [r7, #68]
- 10225 .syntax unified
- 10226 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10227 0078 41E80023 strex r3, r2, [r1]
- 10228 @ 0 "" 2
- 10229 .thumb
- 10230 .syntax unified
- 10231 007c FB63 str r3, [r7, #60]
- 10232 .loc 2 1124 10 discriminator 1
- 10233 007e FB6B ldr r3, [r7, #60]
- 10234 .LBE752:
- 10235 .LBE751:
- 10236 .loc 1 3428 5 discriminator 1
- 10237 0080 002B cmp r3, #0
- 10238 0082 E5D1 bne .L580
- 10239 .L583:
- 10240 .LBE748:
- 10241 .LBB753:
- 3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
- 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */
- 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 10242 .loc 1 3432 5 discriminator 1
- 10243 0084 FB6E ldr r3, [r7, #108]
- 10244 0086 1B68 ldr r3, [r3]
- 10245 0088 0833 adds r3, r3, #8
- 10246 008a 7B62 str r3, [r7, #36]
- 10247 .LBB754:
- 10248 .LBB755:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10249 .loc 2 1072 4 discriminator 1
- 10250 008c 7B6A ldr r3, [r7, #36]
- 10251 .syntax unified
- 10252 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10253 008e 53E8003F ldrex r3, [r3]
- 10254 @ 0 "" 2
- 10255 .thumb
- 10256 .syntax unified
- 10257 0092 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 10258 .loc 2 1073 10 discriminator 1
- 10259 0094 3B6A ldr r3, [r7, #32]
- 10260 .LBE755:
- 10261 .LBE754:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 263
- 10262 .loc 1 3432 5 discriminator 1
- 10263 0096 23F04003 bic r3, r3, #64
- 10264 009a 3B66 str r3, [r7, #96]
- 10265 009c FB6E ldr r3, [r7, #108]
- 10266 009e 1B68 ldr r3, [r3]
- 10267 00a0 0833 adds r3, r3, #8
- 10268 00a2 3A6E ldr r2, [r7, #96]
- 10269 00a4 3A63 str r2, [r7, #48]
- 10270 00a6 FB62 str r3, [r7, #44]
- 10271 .LBB756:
- 10272 .LBB757:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10273 .loc 2 1123 4 discriminator 1
- 10274 00a8 F96A ldr r1, [r7, #44]
- 10275 00aa 3A6B ldr r2, [r7, #48]
- 10276 .syntax unified
- 10277 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10278 00ac 41E80023 strex r3, r2, [r1]
- 10279 @ 0 "" 2
- 10280 .thumb
- 10281 .syntax unified
- 10282 00b0 BB62 str r3, [r7, #40]
- 10283 .loc 2 1124 10 discriminator 1
- 10284 00b2 BB6A ldr r3, [r7, #40]
- 10285 .LBE757:
- 10286 .LBE756:
- 10287 .loc 1 3432 5 discriminator 1
- 10288 00b4 002B cmp r3, #0
- 10289 00b6 E5D1 bne .L583
- 10290 .LBE753:
- 3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 10291 .loc 1 3435 20
- 10292 00b8 FB6E ldr r3, [r7, #108]
- 10293 00ba 2022 movs r2, #32
- 10294 00bc C3F88020 str r2, [r3, #128]
- 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
- 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 10295 .loc 1 3438 14
- 10296 00c0 FB6E ldr r3, [r7, #108]
- 10297 00c2 1B6E ldr r3, [r3, #96]
- 10298 .loc 1 3438 8
- 10299 00c4 012B cmp r3, #1
- 10300 00c6 18D1 bne .L574
- 10301 .L586:
- 10302 .LBB758:
- 3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 10303 .loc 1 3440 7 discriminator 1
- 10304 00c8 FB6E ldr r3, [r7, #108]
- 10305 00ca 1B68 ldr r3, [r3]
- 10306 00cc 3B61 str r3, [r7, #16]
- 10307 .LBB759:
- 10308 .LBB760:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 264
- 10309 .loc 2 1072 4 discriminator 1
- 10310 00ce 3B69 ldr r3, [r7, #16]
- 10311 .syntax unified
- 10312 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10313 00d0 53E8003F ldrex r3, [r3]
- 10314 @ 0 "" 2
- 10315 .thumb
- 10316 .syntax unified
- 10317 00d4 FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 10318 .loc 2 1073 10 discriminator 1
- 10319 00d6 FB68 ldr r3, [r7, #12]
- 10320 .LBE760:
- 10321 .LBE759:
- 10322 .loc 1 3440 7 discriminator 1
- 10323 00d8 23F01003 bic r3, r3, #16
- 10324 00dc FB65 str r3, [r7, #92]
- 10325 00de FB6E ldr r3, [r7, #108]
- 10326 00e0 1B68 ldr r3, [r3]
- 10327 00e2 1A46 mov r2, r3
- 10328 00e4 FB6D ldr r3, [r7, #92]
- 10329 00e6 FB61 str r3, [r7, #28]
- 10330 00e8 BA61 str r2, [r7, #24]
- 10331 .LBB761:
- 10332 .LBB762:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10333 .loc 2 1123 4 discriminator 1
- 10334 00ea B969 ldr r1, [r7, #24]
- 10335 00ec FA69 ldr r2, [r7, #28]
- 10336 .syntax unified
- 10337 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10338 00ee 41E80023 strex r3, r2, [r1]
- 10339 @ 0 "" 2
- 10340 .thumb
- 10341 .syntax unified
- 10342 00f2 7B61 str r3, [r7, #20]
- 10343 .loc 2 1124 10 discriminator 1
- 10344 00f4 7B69 ldr r3, [r7, #20]
- 10345 .LBE762:
- 10346 .LBE761:
- 10347 .loc 1 3440 7 discriminator 1
- 10348 00f6 002B cmp r3, #0
- 10349 00f8 E6D1 bne .L586
- 10350 .L574:
- 10351 .LBE758:
- 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
- 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */
- 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
- 10352 .loc 1 3446 22
- 10353 00fa FB6E ldr r3, [r7, #108]
- 10354 00fc 0022 movs r2, #0
- 10355 00fe 5A66 str r2, [r3, #100]
- 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 265
- 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
- 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 10356 .loc 1 3450 12
- 10357 0100 FB6E ldr r3, [r7, #108]
- 10358 0102 1B6E ldr r3, [r3, #96]
- 10359 .loc 1 3450 6
- 10360 0104 012B cmp r3, #1
- 10361 0106 07D1 bne .L587
- 3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
- 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
- 10362 .loc 1 3457 5
- 10363 0108 FB6E ldr r3, [r7, #108]
- 10364 010a B3F85830 ldrh r3, [r3, #88]
- 10365 010e 1946 mov r1, r3
- 10366 0110 F86E ldr r0, [r7, #108]
- 10367 0112 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
- 3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
- 3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart);
- 3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
- 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
- 3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10368 .loc 1 3471 1
- 10369 0116 02E0 b .L589
- 10370 .L587:
- 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 10371 .loc 1 3468 5
- 10372 0118 F86E ldr r0, [r7, #108]
- 10373 011a FFF7FEFF bl HAL_UART_RxCpltCallback
- 10374 .L589:
- 10375 .loc 1 3471 1
- 10376 011e 00BF nop
- 10377 0120 7037 adds r7, r7, #112
- 10378 .LCFI292:
- 10379 .cfi_def_cfa_offset 8
- 10380 0122 BD46 mov sp, r7
- 10381 .LCFI293:
- 10382 .cfi_def_cfa_register 13
- 10383 @ sp needed
- 10384 0124 80BD pop {r7, pc}
- 10385 .cfi_endproc
- 10386 .LFE183:
- 10388 .section .text.UART_DMARxHalfCplt,"ax",%progbits
- 10389 .align 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 266
- 10390 .syntax unified
- 10391 .thumb
- 10392 .thumb_func
- 10394 UART_DMARxHalfCplt:
- 10395 .LFB184:
- 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process half complete callback.
- 3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
- 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10396 .loc 1 3479 1
- 10397 .cfi_startproc
- 10398 @ args = 0, pretend = 0, frame = 16
- 10399 @ frame_needed = 1, uses_anonymous_args = 0
- 10400 0000 80B5 push {r7, lr}
- 10401 .LCFI294:
- 10402 .cfi_def_cfa_offset 8
- 10403 .cfi_offset 7, -8
- 10404 .cfi_offset 14, -4
- 10405 0002 84B0 sub sp, sp, #16
- 10406 .LCFI295:
- 10407 .cfi_def_cfa_offset 24
- 10408 0004 00AF add r7, sp, #0
- 10409 .LCFI296:
- 10410 .cfi_def_cfa_register 7
- 10411 0006 7860 str r0, [r7, #4]
- 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10412 .loc 1 3480 23
- 10413 0008 7B68 ldr r3, [r7, #4]
- 10414 000a 5B6A ldr r3, [r3, #36]
- 10415 000c FB60 str r3, [r7, #12]
- 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
- 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */
- 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT;
- 10416 .loc 1 3484 22
- 10417 000e FB68 ldr r3, [r7, #12]
- 10418 0010 0122 movs r2, #1
- 10419 0012 5A66 str r2, [r3, #100]
- 3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
- 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
- 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 10420 .loc 1 3488 12
- 10421 0014 FB68 ldr r3, [r7, #12]
- 10422 0016 1B6E ldr r3, [r3, #96]
- 10423 .loc 1 3488 6
- 10424 0018 012B cmp r3, #1
- 10425 001a 09D1 bne .L591
- 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
- 3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 267
- 3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
- 10426 .loc 1 3495 44
- 10427 001c FB68 ldr r3, [r7, #12]
- 10428 001e B3F85830 ldrh r3, [r3, #88]
- 10429 .loc 1 3495 5
- 10430 0022 5B08 lsrs r3, r3, #1
- 10431 0024 9BB2 uxth r3, r3
- 10432 0026 1946 mov r1, r3
- 10433 0028 F868 ldr r0, [r7, #12]
- 10434 002a FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
- 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
- 3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
- 3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
- 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
- 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10435 .loc 1 3509 1
- 10436 002e 02E0 b .L593
- 10437 .L591:
- 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 10438 .loc 1 3506 5
- 10439 0030 F868 ldr r0, [r7, #12]
- 10440 0032 FFF7FEFF bl HAL_UART_RxHalfCpltCallback
- 10441 .L593:
- 10442 .loc 1 3509 1
- 10443 0036 00BF nop
- 10444 0038 1037 adds r7, r7, #16
- 10445 .LCFI297:
- 10446 .cfi_def_cfa_offset 8
- 10447 003a BD46 mov sp, r7
- 10448 .LCFI298:
- 10449 .cfi_def_cfa_register 13
- 10450 @ sp needed
- 10451 003c 80BD pop {r7, pc}
- 10452 .cfi_endproc
- 10453 .LFE184:
- 10455 .section .text.UART_DMAError,"ax",%progbits
- 10456 .align 1
- 10457 .syntax unified
- 10458 .thumb
- 10459 .thumb_func
- 10461 UART_DMAError:
- 10462 .LFB185:
- 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication error callback.
- 3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 268
- 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
- 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10463 .loc 1 3517 1
- 10464 .cfi_startproc
- 10465 @ args = 0, pretend = 0, frame = 24
- 10466 @ frame_needed = 1, uses_anonymous_args = 0
- 10467 0000 80B5 push {r7, lr}
- 10468 .LCFI299:
- 10469 .cfi_def_cfa_offset 8
- 10470 .cfi_offset 7, -8
- 10471 .cfi_offset 14, -4
- 10472 0002 86B0 sub sp, sp, #24
- 10473 .LCFI300:
- 10474 .cfi_def_cfa_offset 32
- 10475 0004 00AF add r7, sp, #0
- 10476 .LCFI301:
- 10477 .cfi_def_cfa_register 7
- 10478 0006 7860 str r0, [r7, #4]
- 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10479 .loc 1 3518 23
- 10480 0008 7B68 ldr r3, [r7, #4]
- 10481 000a 5B6A ldr r3, [r3, #36]
- 10482 000c 7B61 str r3, [r7, #20]
- 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
- 10483 .loc 1 3520 31
- 10484 000e 7B69 ldr r3, [r7, #20]
- 10485 0010 DB6F ldr r3, [r3, #124]
- 10486 0012 3B61 str r3, [r7, #16]
- 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
- 10487 .loc 1 3521 31
- 10488 0014 7B69 ldr r3, [r7, #20]
- 10489 0016 D3F88030 ldr r3, [r3, #128]
- 10490 001a FB60 str r3, [r7, #12]
- 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
- 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
- 10491 .loc 1 3524 8
- 10492 001c 7B69 ldr r3, [r7, #20]
- 10493 001e 1B68 ldr r3, [r3]
- 10494 0020 9B68 ldr r3, [r3, #8]
- 10495 0022 03F08003 and r3, r3, #128
- 10496 .loc 1 3524 6
- 10497 0026 802B cmp r3, #128
- 10498 0028 09D1 bne .L595
- 10499 .loc 1 3524 62 discriminator 1
- 10500 002a 3B69 ldr r3, [r7, #16]
- 10501 002c 212B cmp r3, #33
- 10502 002e 06D1 bne .L595
- 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
- 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 10503 .loc 1 3527 24
- 10504 0030 7B69 ldr r3, [r7, #20]
- 10505 0032 0022 movs r2, #0
- 10506 0034 A3F85220 strh r2, [r3, #82] @ movhi
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 269
- 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart);
- 10507 .loc 1 3528 5
- 10508 0038 7869 ldr r0, [r7, #20]
- 10509 003a FFF7FEFF bl UART_EndTxTransfer
- 10510 .L595:
- 3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
- 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
- 10511 .loc 1 3532 8
- 10512 003e 7B69 ldr r3, [r7, #20]
- 10513 0040 1B68 ldr r3, [r3]
- 10514 0042 9B68 ldr r3, [r3, #8]
- 10515 0044 03F04003 and r3, r3, #64
- 10516 .loc 1 3532 6
- 10517 0048 402B cmp r3, #64
- 10518 004a 09D1 bne .L596
- 10519 .loc 1 3532 62 discriminator 1
- 10520 004c FB68 ldr r3, [r7, #12]
- 10521 004e 222B cmp r3, #34
- 10522 0050 06D1 bne .L596
- 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
- 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 10523 .loc 1 3535 24
- 10524 0052 7B69 ldr r3, [r7, #20]
- 10525 0054 0022 movs r2, #0
- 10526 0056 A3F85A20 strh r2, [r3, #90] @ movhi
- 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 10527 .loc 1 3536 5
- 10528 005a 7869 ldr r0, [r7, #20]
- 10529 005c FFF7FEFF bl UART_EndRxTransfer
- 10530 .L596:
- 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
- 10531 .loc 1 3539 20
- 10532 0060 7B69 ldr r3, [r7, #20]
- 10533 0062 D3F88430 ldr r3, [r3, #132]
- 10534 0066 43F01002 orr r2, r3, #16
- 10535 006a 7B69 ldr r3, [r7, #20]
- 10536 006c C3F88420 str r2, [r3, #132]
- 3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
- 3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
- 3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
- 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 10537 .loc 1 3546 3
- 10538 0070 7869 ldr r0, [r7, #20]
- 10539 0072 FFF7FEFF bl HAL_UART_ErrorCallback
- 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10540 .loc 1 3548 1
- 10541 0076 00BF nop
- 10542 0078 1837 adds r7, r7, #24
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 270
- 10543 .LCFI302:
- 10544 .cfi_def_cfa_offset 8
- 10545 007a BD46 mov sp, r7
- 10546 .LCFI303:
- 10547 .cfi_def_cfa_register 13
- 10548 @ sp needed
- 10549 007c 80BD pop {r7, pc}
- 10550 .cfi_endproc
- 10551 .LFE185:
- 10553 .section .text.UART_DMAAbortOnError,"ax",%progbits
- 10554 .align 1
- 10555 .syntax unified
- 10556 .thumb
- 10557 .thumb_func
- 10559 UART_DMAAbortOnError:
- 10560 .LFB186:
- 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
- 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
- 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
- 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10561 .loc 1 3557 1
- 10562 .cfi_startproc
- 10563 @ args = 0, pretend = 0, frame = 16
- 10564 @ frame_needed = 1, uses_anonymous_args = 0
- 10565 0000 80B5 push {r7, lr}
- 10566 .LCFI304:
- 10567 .cfi_def_cfa_offset 8
- 10568 .cfi_offset 7, -8
- 10569 .cfi_offset 14, -4
- 10570 0002 84B0 sub sp, sp, #16
- 10571 .LCFI305:
- 10572 .cfi_def_cfa_offset 24
- 10573 0004 00AF add r7, sp, #0
- 10574 .LCFI306:
- 10575 .cfi_def_cfa_register 7
- 10576 0006 7860 str r0, [r7, #4]
- 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10577 .loc 1 3558 23
- 10578 0008 7B68 ldr r3, [r7, #4]
- 10579 000a 5B6A ldr r3, [r3, #36]
- 10580 000c FB60 str r3, [r7, #12]
- 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 10581 .loc 1 3559 22
- 10582 000e FB68 ldr r3, [r7, #12]
- 10583 0010 0022 movs r2, #0
- 10584 0012 A3F85A20 strh r2, [r3, #90] @ movhi
- 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 10585 .loc 1 3560 22
- 10586 0016 FB68 ldr r3, [r7, #12]
- 10587 0018 0022 movs r2, #0
- 10588 001a A3F85220 strh r2, [r3, #82] @ movhi
- 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 271
- 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/
- 3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart);
- 3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/
- 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 10589 .loc 1 3567 3
- 10590 001e F868 ldr r0, [r7, #12]
- 10591 0020 FFF7FEFF bl HAL_UART_ErrorCallback
- 3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10592 .loc 1 3569 1
- 10593 0024 00BF nop
- 10594 0026 1037 adds r7, r7, #16
- 10595 .LCFI307:
- 10596 .cfi_def_cfa_offset 8
- 10597 0028 BD46 mov sp, r7
- 10598 .LCFI308:
- 10599 .cfi_def_cfa_register 13
- 10600 @ sp needed
- 10601 002a 80BD pop {r7, pc}
- 10602 .cfi_endproc
- 10603 .LFE186:
- 10605 .section .text.UART_DMATxAbortCallback,"ax",%progbits
- 10606 .align 1
- 10607 .syntax unified
- 10608 .thumb
- 10609 .thumb_func
- 10611 UART_DMATxAbortCallback:
- 10612 .LFB187:
- 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
- 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
- 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
- 3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
- 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
- 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10613 .loc 1 3580 1
- 10614 .cfi_startproc
- 10615 @ args = 0, pretend = 0, frame = 16
- 10616 @ frame_needed = 1, uses_anonymous_args = 0
- 10617 0000 80B5 push {r7, lr}
- 10618 .LCFI309:
- 10619 .cfi_def_cfa_offset 8
- 10620 .cfi_offset 7, -8
- 10621 .cfi_offset 14, -4
- 10622 0002 84B0 sub sp, sp, #16
- 10623 .LCFI310:
- 10624 .cfi_def_cfa_offset 24
- 10625 0004 00AF add r7, sp, #0
- 10626 .LCFI311:
- 10627 .cfi_def_cfa_register 7
- 10628 0006 7860 str r0, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 272
- 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10629 .loc 1 3581 23
- 10630 0008 7B68 ldr r3, [r7, #4]
- 10631 000a 5B6A ldr r3, [r3, #36]
- 10632 000c FB60 str r3, [r7, #12]
- 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 10633 .loc 1 3583 8
- 10634 000e FB68 ldr r3, [r7, #12]
- 10635 0010 1B6F ldr r3, [r3, #112]
- 10636 .loc 1 3583 36
- 10637 0012 0022 movs r2, #0
- 10638 0014 5A63 str r2, [r3, #52]
- 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
- 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 10639 .loc 1 3586 12
- 10640 0016 FB68 ldr r3, [r7, #12]
- 10641 0018 5B6F ldr r3, [r3, #116]
- 10642 .loc 1 3586 6
- 10643 001a 002B cmp r3, #0
- 10644 001c 04D0 beq .L599
- 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
- 10645 .loc 1 3588 14
- 10646 001e FB68 ldr r3, [r7, #12]
- 10647 0020 5B6F ldr r3, [r3, #116]
- 10648 .loc 1 3588 22
- 10649 0022 5B6B ldr r3, [r3, #52]
- 10650 .loc 1 3588 8
- 10651 0024 002B cmp r3, #0
- 10652 0026 1DD1 bne .L601
- 10653 .L599:
- 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
- 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 10654 .loc 1 3595 22
- 10655 0028 FB68 ldr r3, [r7, #12]
- 10656 002a 0022 movs r2, #0
- 10657 002c A3F85220 strh r2, [r3, #82] @ movhi
- 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 10658 .loc 1 3596 22
- 10659 0030 FB68 ldr r3, [r7, #12]
- 10660 0032 0022 movs r2, #0
- 10661 0034 A3F85A20 strh r2, [r3, #90] @ movhi
- 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */
- 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 10662 .loc 1 3599 20
- 10663 0038 FB68 ldr r3, [r7, #12]
- 10664 003a 0022 movs r2, #0
- 10665 003c C3F88420 str r2, [r3, #132]
- 3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 273
- 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
- 10666 .loc 1 3602 3
- 10667 0040 FB68 ldr r3, [r7, #12]
- 10668 0042 1B68 ldr r3, [r3]
- 10669 0044 0F22 movs r2, #15
- 10670 0046 1A62 str r2, [r3, #32]
- 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
- 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 10671 .loc 1 3606 18
- 10672 0048 FB68 ldr r3, [r7, #12]
- 10673 004a 2022 movs r2, #32
- 10674 004c DA67 str r2, [r3, #124]
- 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 10675 .loc 1 3607 18
- 10676 004e FB68 ldr r3, [r7, #12]
- 10677 0050 2022 movs r2, #32
- 10678 0052 C3F88020 str r2, [r3, #128]
- 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 10679 .loc 1 3608 24
- 10680 0056 FB68 ldr r3, [r7, #12]
- 10681 0058 0022 movs r2, #0
- 10682 005a 1A66 str r2, [r3, #96]
- 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
- 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */
- 3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart);
- 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
- 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
- 10683 .loc 1 3616 3
- 10684 005c F868 ldr r0, [r7, #12]
- 10685 005e FFF7FEFF bl HAL_UART_AbortCpltCallback
- 10686 0062 00E0 b .L598
- 10687 .L601:
- 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10688 .loc 1 3590 7
- 10689 0064 00BF nop
- 10690 .L598:
- 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10691 .loc 1 3618 1
- 10692 0066 1037 adds r7, r7, #16
- 10693 .LCFI312:
- 10694 .cfi_def_cfa_offset 8
- 10695 0068 BD46 mov sp, r7
- 10696 .LCFI313:
- 10697 .cfi_def_cfa_register 13
- 10698 @ sp needed
- 10699 006a 80BD pop {r7, pc}
- 10700 .cfi_endproc
- 10701 .LFE187:
- 10703 .section .text.UART_DMARxAbortCallback,"ax",%progbits
- 10704 .align 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 274
- 10705 .syntax unified
- 10706 .thumb
- 10707 .thumb_func
- 10709 UART_DMARxAbortCallback:
- 10710 .LFB188:
- 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
- 3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
- 3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
- 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
- 3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
- 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10711 .loc 1 3630 1
- 10712 .cfi_startproc
- 10713 @ args = 0, pretend = 0, frame = 16
- 10714 @ frame_needed = 1, uses_anonymous_args = 0
- 10715 0000 80B5 push {r7, lr}
- 10716 .LCFI314:
- 10717 .cfi_def_cfa_offset 8
- 10718 .cfi_offset 7, -8
- 10719 .cfi_offset 14, -4
- 10720 0002 84B0 sub sp, sp, #16
- 10721 .LCFI315:
- 10722 .cfi_def_cfa_offset 24
- 10723 0004 00AF add r7, sp, #0
- 10724 .LCFI316:
- 10725 .cfi_def_cfa_register 7
- 10726 0006 7860 str r0, [r7, #4]
- 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10727 .loc 1 3631 23
- 10728 0008 7B68 ldr r3, [r7, #4]
- 10729 000a 5B6A ldr r3, [r3, #36]
- 10730 000c FB60 str r3, [r7, #12]
- 3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 10731 .loc 1 3633 8
- 10732 000e FB68 ldr r3, [r7, #12]
- 10733 0010 5B6F ldr r3, [r3, #116]
- 10734 .loc 1 3633 36
- 10735 0012 0022 movs r2, #0
- 10736 0014 5A63 str r2, [r3, #52]
- 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
- 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 10737 .loc 1 3636 12
- 10738 0016 FB68 ldr r3, [r7, #12]
- 10739 0018 1B6F ldr r3, [r3, #112]
- 10740 .loc 1 3636 6
- 10741 001a 002B cmp r3, #0
- 10742 001c 04D0 beq .L603
- 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 275
- 10743 .loc 1 3638 14
- 10744 001e FB68 ldr r3, [r7, #12]
- 10745 0020 1B6F ldr r3, [r3, #112]
- 10746 .loc 1 3638 22
- 10747 0022 5B6B ldr r3, [r3, #52]
- 10748 .loc 1 3638 8
- 10749 0024 002B cmp r3, #0
- 10750 0026 25D1 bne .L605
- 10751 .L603:
- 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return;
- 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
- 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 10752 .loc 1 3645 22
- 10753 0028 FB68 ldr r3, [r7, #12]
- 10754 002a 0022 movs r2, #0
- 10755 002c A3F85220 strh r2, [r3, #82] @ movhi
- 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 10756 .loc 1 3646 22
- 10757 0030 FB68 ldr r3, [r7, #12]
- 10758 0032 0022 movs r2, #0
- 10759 0034 A3F85A20 strh r2, [r3, #90] @ movhi
- 3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */
- 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 10760 .loc 1 3649 20
- 10761 0038 FB68 ldr r3, [r7, #12]
- 10762 003a 0022 movs r2, #0
- 10763 003c C3F88420 str r2, [r3, #132]
- 3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
- 10764 .loc 1 3652 3
- 10765 0040 FB68 ldr r3, [r7, #12]
- 10766 0042 1B68 ldr r3, [r3]
- 10767 0044 0F22 movs r2, #15
- 10768 0046 1A62 str r2, [r3, #32]
- 3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
- 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 10769 .loc 1 3655 3
- 10770 0048 FB68 ldr r3, [r7, #12]
- 10771 004a 1B68 ldr r3, [r3]
- 10772 004c 9A69 ldr r2, [r3, #24]
- 10773 004e FB68 ldr r3, [r7, #12]
- 10774 0050 1B68 ldr r3, [r3]
- 10775 0052 42F00802 orr r2, r2, #8
- 10776 0056 9A61 str r2, [r3, #24]
- 3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
- 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 10777 .loc 1 3658 18
- 10778 0058 FB68 ldr r3, [r7, #12]
- 10779 005a 2022 movs r2, #32
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 276
- 10780 005c DA67 str r2, [r3, #124]
- 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 10781 .loc 1 3659 18
- 10782 005e FB68 ldr r3, [r7, #12]
- 10783 0060 2022 movs r2, #32
- 10784 0062 C3F88020 str r2, [r3, #128]
- 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 10785 .loc 1 3660 24
- 10786 0066 FB68 ldr r3, [r7, #12]
- 10787 0068 0022 movs r2, #0
- 10788 006a 1A66 str r2, [r3, #96]
- 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
- 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */
- 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart);
- 3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
- 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
- 10789 .loc 1 3668 3
- 10790 006c F868 ldr r0, [r7, #12]
- 10791 006e FFF7FEFF bl HAL_UART_AbortCpltCallback
- 10792 0072 00E0 b .L602
- 10793 .L605:
- 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10794 .loc 1 3640 7
- 10795 0074 00BF nop
- 10796 .L602:
- 3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10797 .loc 1 3670 1
- 10798 0076 1037 adds r7, r7, #16
- 10799 .LCFI317:
- 10800 .cfi_def_cfa_offset 8
- 10801 0078 BD46 mov sp, r7
- 10802 .LCFI318:
- 10803 .cfi_def_cfa_register 13
- 10804 @ sp needed
- 10805 007a 80BD pop {r7, pc}
- 10806 .cfi_endproc
- 10807 .LFE188:
- 10809 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
- 10810 .align 1
- 10811 .syntax unified
- 10812 .thumb
- 10813 .thumb_func
- 10815 UART_DMATxOnlyAbortCallback:
- 10816 .LFB189:
- 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
- 3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
- 3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
- 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
- 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 277
- 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
- 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10817 .loc 1 3682 1
- 10818 .cfi_startproc
- 10819 @ args = 0, pretend = 0, frame = 16
- 10820 @ frame_needed = 1, uses_anonymous_args = 0
- 10821 0000 80B5 push {r7, lr}
- 10822 .LCFI319:
- 10823 .cfi_def_cfa_offset 8
- 10824 .cfi_offset 7, -8
- 10825 .cfi_offset 14, -4
- 10826 0002 84B0 sub sp, sp, #16
- 10827 .LCFI320:
- 10828 .cfi_def_cfa_offset 24
- 10829 0004 00AF add r7, sp, #0
- 10830 .LCFI321:
- 10831 .cfi_def_cfa_register 7
- 10832 0006 7860 str r0, [r7, #4]
- 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 10833 .loc 1 3683 23
- 10834 0008 7B68 ldr r3, [r7, #4]
- 10835 000a 5B6A ldr r3, [r3, #36]
- 10836 000c FB60 str r3, [r7, #12]
- 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U;
- 10837 .loc 1 3685 22
- 10838 000e FB68 ldr r3, [r7, #12]
- 10839 0010 0022 movs r2, #0
- 10840 0012 A3F85220 strh r2, [r3, #82] @ movhi
- 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */
- 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 10841 .loc 1 3689 17
- 10842 0016 FB68 ldr r3, [r7, #12]
- 10843 0018 2022 movs r2, #32
- 10844 001a DA67 str r2, [r3, #124]
- 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
- 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
- 3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
- 3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
- 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
- 10845 .loc 1 3697 3
- 10846 001c F868 ldr r0, [r7, #12]
- 10847 001e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
- 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10848 .loc 1 3699 1
- 10849 0022 00BF nop
- 10850 0024 1037 adds r7, r7, #16
- 10851 .LCFI322:
- 10852 .cfi_def_cfa_offset 8
- 10853 0026 BD46 mov sp, r7
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 278
- 10854 .LCFI323:
- 10855 .cfi_def_cfa_register 13
- 10856 @ sp needed
- 10857 0028 80BD pop {r7, pc}
- 10858 .cfi_endproc
- 10859 .LFE189:
- 10861 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
- 10862 .align 1
- 10863 .syntax unified
- 10864 .thumb
- 10865 .thumb_func
- 10867 UART_DMARxOnlyAbortCallback:
- 10868 .LFB190:
- 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
- 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
- 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
- 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
- 3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle.
- 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
- 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10869 .loc 1 3710 1
- 10870 .cfi_startproc
- 10871 @ args = 0, pretend = 0, frame = 16
- 10872 @ frame_needed = 1, uses_anonymous_args = 0
- 10873 0000 80B5 push {r7, lr}
- 10874 .LCFI324:
- 10875 .cfi_def_cfa_offset 8
- 10876 .cfi_offset 7, -8
- 10877 .cfi_offset 14, -4
- 10878 0002 84B0 sub sp, sp, #16
- 10879 .LCFI325:
- 10880 .cfi_def_cfa_offset 24
- 10881 0004 00AF add r7, sp, #0
- 10882 .LCFI326:
- 10883 .cfi_def_cfa_register 7
- 10884 0006 7860 str r0, [r7, #4]
- 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 10885 .loc 1 3711 23
- 10886 0008 7B68 ldr r3, [r7, #4]
- 10887 000a 5B6A ldr r3, [r3, #36]
- 10888 000c FB60 str r3, [r7, #12]
- 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U;
- 10889 .loc 1 3713 22
- 10890 000e FB68 ldr r3, [r7, #12]
- 10891 0010 0022 movs r2, #0
- 10892 0012 A3F85A20 strh r2, [r3, #90] @ movhi
- 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
- 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
- 10893 .loc 1 3716 3
- 10894 0016 FB68 ldr r3, [r7, #12]
- 10895 0018 1B68 ldr r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 279
- 10896 001a 0F22 movs r2, #15
- 10897 001c 1A62 str r2, [r3, #32]
- 3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */
- 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 10898 .loc 1 3719 3
- 10899 001e FB68 ldr r3, [r7, #12]
- 10900 0020 1B68 ldr r3, [r3]
- 10901 0022 9A69 ldr r2, [r3, #24]
- 10902 0024 FB68 ldr r3, [r7, #12]
- 10903 0026 1B68 ldr r3, [r3]
- 10904 0028 42F00802 orr r2, r2, #8
- 10905 002c 9A61 str r2, [r3, #24]
- 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 10906 .loc 1 3722 18
- 10907 002e FB68 ldr r3, [r7, #12]
- 10908 0030 2022 movs r2, #32
- 10909 0032 C3F88020 str r2, [r3, #128]
- 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 10910 .loc 1 3723 24
- 10911 0036 FB68 ldr r3, [r7, #12]
- 10912 0038 0022 movs r2, #0
- 10913 003a 1A66 str r2, [r3, #96]
- 3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */
- 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
- 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
- 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
- 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
- 10914 .loc 1 3731 3
- 10915 003c F868 ldr r0, [r7, #12]
- 10916 003e FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
- 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 10917 .loc 1 3733 1
- 10918 0042 00BF nop
- 10919 0044 1037 adds r7, r7, #16
- 10920 .LCFI327:
- 10921 .cfi_def_cfa_offset 8
- 10922 0046 BD46 mov sp, r7
- 10923 .LCFI328:
- 10924 .cfi_def_cfa_register 13
- 10925 @ sp needed
- 10926 0048 80BD pop {r7, pc}
- 10927 .cfi_endproc
- 10928 .LFE190:
- 10930 .section .text.UART_TxISR_8BIT,"ax",%progbits
- 10931 .align 1
- 10932 .syntax unified
- 10933 .thumb
- 10934 .thumb_func
- 10936 UART_TxISR_8BIT:
- 10937 .LFB191:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 280
- 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length .
- 3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once
- 3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
- 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart)
- 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 10938 .loc 1 3743 1
- 10939 .cfi_startproc
- 10940 @ args = 0, pretend = 0, frame = 56
- 10941 @ frame_needed = 1, uses_anonymous_args = 0
- 10942 @ link register save eliminated.
- 10943 0000 80B4 push {r7}
- 10944 .LCFI329:
- 10945 .cfi_def_cfa_offset 4
- 10946 .cfi_offset 7, -4
- 10947 0002 8FB0 sub sp, sp, #60
- 10948 .LCFI330:
- 10949 .cfi_def_cfa_offset 64
- 10950 0004 00AF add r7, sp, #0
- 10951 .LCFI331:
- 10952 .cfi_def_cfa_register 7
- 10953 0006 7860 str r0, [r7, #4]
- 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */
- 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
- 10954 .loc 1 3745 12
- 10955 0008 7B68 ldr r3, [r7, #4]
- 10956 000a DB6F ldr r3, [r3, #124]
- 10957 .loc 1 3745 6
- 10958 000c 212B cmp r3, #33
- 10959 000e 4DD1 bne .L617
- 3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U)
- 10960 .loc 1 3747 14
- 10961 0010 7B68 ldr r3, [r7, #4]
- 10962 0012 B3F85230 ldrh r3, [r3, #82] @ movhi
- 10963 0016 9BB2 uxth r3, r3
- 10964 .loc 1 3747 8
- 10965 0018 002B cmp r3, #0
- 10966 001a 32D1 bne .L610
- 10967 .L613:
- 10968 .LBB763:
- 3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
- 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
- 10969 .loc 1 3750 7 discriminator 1
- 10970 001c 7B68 ldr r3, [r7, #4]
- 10971 001e 1B68 ldr r3, [r3]
- 10972 0020 3B62 str r3, [r7, #32]
- 10973 .LBB764:
- 10974 .LBB765:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10975 .loc 2 1072 4 discriminator 1
- 10976 0022 3B6A ldr r3, [r7, #32]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 281
- 10977 .syntax unified
- 10978 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 10979 0024 53E8003F ldrex r3, [r3]
- 10980 @ 0 "" 2
- 10981 .thumb
- 10982 .syntax unified
- 10983 0028 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 10984 .loc 2 1073 10 discriminator 1
- 10985 002a FB69 ldr r3, [r7, #28]
- 10986 .LBE765:
- 10987 .LBE764:
- 10988 .loc 1 3750 7 discriminator 1
- 10989 002c 23F08003 bic r3, r3, #128
- 10990 0030 7B63 str r3, [r7, #52]
- 10991 0032 7B68 ldr r3, [r7, #4]
- 10992 0034 1B68 ldr r3, [r3]
- 10993 0036 1A46 mov r2, r3
- 10994 0038 7B6B ldr r3, [r7, #52]
- 10995 003a FB62 str r3, [r7, #44]
- 10996 003c BA62 str r2, [r7, #40]
- 10997 .LBB766:
- 10998 .LBB767:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 10999 .loc 2 1123 4 discriminator 1
- 11000 003e B96A ldr r1, [r7, #40]
- 11001 0040 FA6A ldr r2, [r7, #44]
- 11002 .syntax unified
- 11003 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11004 0042 41E80023 strex r3, r2, [r1]
- 11005 @ 0 "" 2
- 11006 .thumb
- 11007 .syntax unified
- 11008 0046 7B62 str r3, [r7, #36]
- 11009 .loc 2 1124 10 discriminator 1
- 11010 0048 7B6A ldr r3, [r7, #36]
- 11011 .LBE767:
- 11012 .LBE766:
- 11013 .loc 1 3750 7 discriminator 1
- 11014 004a 002B cmp r3, #0
- 11015 004c E6D1 bne .L613
- 11016 .L616:
- 11017 .LBE763:
- 11018 .LBB768:
- 3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
- 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
- 11019 .loc 1 3753 7 discriminator 1
- 11020 004e 7B68 ldr r3, [r7, #4]
- 11021 0050 1B68 ldr r3, [r3]
- 11022 0052 FB60 str r3, [r7, #12]
- 11023 .LBB769:
- 11024 .LBB770:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11025 .loc 2 1072 4 discriminator 1
- 11026 0054 FB68 ldr r3, [r7, #12]
- 11027 .syntax unified
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 282
- 11028 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11029 0056 53E8003F ldrex r3, [r3]
- 11030 @ 0 "" 2
- 11031 .thumb
- 11032 .syntax unified
- 11033 005a BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11034 .loc 2 1073 10 discriminator 1
- 11035 005c BB68 ldr r3, [r7, #8]
- 11036 .LBE770:
- 11037 .LBE769:
- 11038 .loc 1 3753 7 discriminator 1
- 11039 005e 43F04003 orr r3, r3, #64
- 11040 0062 3B63 str r3, [r7, #48]
- 11041 0064 7B68 ldr r3, [r7, #4]
- 11042 0066 1B68 ldr r3, [r3]
- 11043 0068 1A46 mov r2, r3
- 11044 006a 3B6B ldr r3, [r7, #48]
- 11045 006c BB61 str r3, [r7, #24]
- 11046 006e 7A61 str r2, [r7, #20]
- 11047 .LBB771:
- 11048 .LBB772:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11049 .loc 2 1123 4 discriminator 1
- 11050 0070 7969 ldr r1, [r7, #20]
- 11051 0072 BA69 ldr r2, [r7, #24]
- 11052 .syntax unified
- 11053 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11054 0074 41E80023 strex r3, r2, [r1]
- 11055 @ 0 "" 2
- 11056 .thumb
- 11057 .syntax unified
- 11058 0078 3B61 str r3, [r7, #16]
- 11059 .loc 2 1124 10 discriminator 1
- 11060 007a 3B69 ldr r3, [r7, #16]
- 11061 .LBE772:
- 11062 .LBE771:
- 11063 .loc 1 3753 7 discriminator 1
- 11064 007c 002B cmp r3, #0
- 11065 007e E6D1 bne .L616
- 11066 .LBE768:
- 3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
- 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
- 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
- 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11067 .loc 1 3762 1
- 11068 0080 14E0 b .L617
- 11069 .L610:
- 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
- 11070 .loc 1 3757 46
- 11071 0082 7B68 ldr r3, [r7, #4]
- 11072 0084 DB6C ldr r3, [r3, #76]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 283
- 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
- 11073 .loc 1 3757 40
- 11074 0086 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
- 11075 .loc 1 3757 12
- 11076 0088 7B68 ldr r3, [r7, #4]
- 11077 008a 1B68 ldr r3, [r3]
- 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
- 11078 .loc 1 3757 30
- 11079 008c 92B2 uxth r2, r2
- 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++;
- 11080 .loc 1 3757 28
- 11081 008e 1A85 strh r2, [r3, #40] @ movhi
- 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
- 11082 .loc 1 3758 12
- 11083 0090 7B68 ldr r3, [r7, #4]
- 11084 0092 DB6C ldr r3, [r3, #76]
- 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
- 11085 .loc 1 3758 24
- 11086 0094 5A1C adds r2, r3, #1
- 11087 0096 7B68 ldr r3, [r7, #4]
- 11088 0098 DA64 str r2, [r3, #76]
- 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11089 .loc 1 3759 12
- 11090 009a 7B68 ldr r3, [r7, #4]
- 11091 009c B3F85230 ldrh r3, [r3, #82] @ movhi
- 11092 00a0 9BB2 uxth r3, r3
- 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11093 .loc 1 3759 25
- 11094 00a2 013B subs r3, r3, #1
- 11095 00a4 9AB2 uxth r2, r3
- 11096 00a6 7B68 ldr r3, [r7, #4]
- 11097 00a8 A3F85220 strh r2, [r3, #82] @ movhi
- 11098 .L617:
- 11099 .loc 1 3762 1
- 11100 00ac 00BF nop
- 11101 00ae 3C37 adds r7, r7, #60
- 11102 .LCFI332:
- 11103 .cfi_def_cfa_offset 4
- 11104 00b0 BD46 mov sp, r7
- 11105 .LCFI333:
- 11106 .cfi_def_cfa_register 13
- 11107 @ sp needed
- 11108 00b2 5DF8047B ldr r7, [sp], #4
- 11109 .LCFI334:
- 11110 .cfi_restore 7
- 11111 .cfi_def_cfa_offset 0
- 11112 00b6 7047 bx lr
- 11113 .cfi_endproc
- 11114 .LFE191:
- 11116 .section .text.UART_TxISR_16BIT,"ax",%progbits
- 11117 .align 1
- 11118 .syntax unified
- 11119 .thumb
- 11120 .thumb_func
- 11122 UART_TxISR_16BIT:
- 11123 .LFB192:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 284
- 3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length.
- 3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once
- 3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
- 3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart)
- 3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 11124 .loc 1 3772 1
- 11125 .cfi_startproc
- 11126 @ args = 0, pretend = 0, frame = 64
- 11127 @ frame_needed = 1, uses_anonymous_args = 0
- 11128 @ link register save eliminated.
- 11129 0000 80B4 push {r7}
- 11130 .LCFI335:
- 11131 .cfi_def_cfa_offset 4
- 11132 .cfi_offset 7, -4
- 11133 0002 91B0 sub sp, sp, #68
- 11134 .LCFI336:
- 11135 .cfi_def_cfa_offset 72
- 11136 0004 00AF add r7, sp, #0
- 11137 .LCFI337:
- 11138 .cfi_def_cfa_register 7
- 11139 0006 7860 str r0, [r7, #4]
- 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *tmp;
- 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */
- 3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
- 11140 .loc 1 3776 12
- 11141 0008 7B68 ldr r3, [r7, #4]
- 11142 000a DB6F ldr r3, [r3, #124]
- 11143 .loc 1 3776 6
- 11144 000c 212B cmp r3, #33
- 11145 000e 51D1 bne .L627
- 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U)
- 11146 .loc 1 3778 14
- 11147 0010 7B68 ldr r3, [r7, #4]
- 11148 0012 B3F85230 ldrh r3, [r3, #82] @ movhi
- 11149 0016 9BB2 uxth r3, r3
- 11150 .loc 1 3778 8
- 11151 0018 002B cmp r3, #0
- 11152 001a 32D1 bne .L620
- 11153 .L623:
- 11154 .LBB773:
- 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
- 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
- 11155 .loc 1 3781 7 discriminator 1
- 11156 001c 7B68 ldr r3, [r7, #4]
- 11157 001e 1B68 ldr r3, [r3]
- 11158 0020 7B62 str r3, [r7, #36]
- 11159 .LBB774:
- 11160 .LBB775:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 285
- 11161 .loc 2 1072 4 discriminator 1
- 11162 0022 7B6A ldr r3, [r7, #36]
- 11163 .syntax unified
- 11164 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11165 0024 53E8003F ldrex r3, [r3]
- 11166 @ 0 "" 2
- 11167 .thumb
- 11168 .syntax unified
- 11169 0028 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11170 .loc 2 1073 10 discriminator 1
- 11171 002a 3B6A ldr r3, [r7, #32]
- 11172 .LBE775:
- 11173 .LBE774:
- 11174 .loc 1 3781 7 discriminator 1
- 11175 002c 23F08003 bic r3, r3, #128
- 11176 0030 BB63 str r3, [r7, #56]
- 11177 0032 7B68 ldr r3, [r7, #4]
- 11178 0034 1B68 ldr r3, [r3]
- 11179 0036 1A46 mov r2, r3
- 11180 0038 BB6B ldr r3, [r7, #56]
- 11181 003a 3B63 str r3, [r7, #48]
- 11182 003c FA62 str r2, [r7, #44]
- 11183 .LBB776:
- 11184 .LBB777:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11185 .loc 2 1123 4 discriminator 1
- 11186 003e F96A ldr r1, [r7, #44]
- 11187 0040 3A6B ldr r2, [r7, #48]
- 11188 .syntax unified
- 11189 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11190 0042 41E80023 strex r3, r2, [r1]
- 11191 @ 0 "" 2
- 11192 .thumb
- 11193 .syntax unified
- 11194 0046 BB62 str r3, [r7, #40]
- 11195 .loc 2 1124 10 discriminator 1
- 11196 0048 BB6A ldr r3, [r7, #40]
- 11197 .LBE777:
- 11198 .LBE776:
- 11199 .loc 1 3781 7 discriminator 1
- 11200 004a 002B cmp r3, #0
- 11201 004c E6D1 bne .L623
- 11202 .L626:
- 11203 .LBE773:
- 11204 .LBB778:
- 3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
- 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
- 11205 .loc 1 3784 7 discriminator 1
- 11206 004e 7B68 ldr r3, [r7, #4]
- 11207 0050 1B68 ldr r3, [r3]
- 11208 0052 3B61 str r3, [r7, #16]
- 11209 .LBB779:
- 11210 .LBB780:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11211 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 286
- 11212 0054 3B69 ldr r3, [r7, #16]
- 11213 .syntax unified
- 11214 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11215 0056 53E8003F ldrex r3, [r3]
- 11216 @ 0 "" 2
- 11217 .thumb
- 11218 .syntax unified
- 11219 005a FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11220 .loc 2 1073 10 discriminator 1
- 11221 005c FB68 ldr r3, [r7, #12]
- 11222 .LBE780:
- 11223 .LBE779:
- 11224 .loc 1 3784 7 discriminator 1
- 11225 005e 43F04003 orr r3, r3, #64
- 11226 0062 7B63 str r3, [r7, #52]
- 11227 0064 7B68 ldr r3, [r7, #4]
- 11228 0066 1B68 ldr r3, [r3]
- 11229 0068 1A46 mov r2, r3
- 11230 006a 7B6B ldr r3, [r7, #52]
- 11231 006c FB61 str r3, [r7, #28]
- 11232 006e BA61 str r2, [r7, #24]
- 11233 .LBB781:
- 11234 .LBB782:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11235 .loc 2 1123 4 discriminator 1
- 11236 0070 B969 ldr r1, [r7, #24]
- 11237 0072 FA69 ldr r2, [r7, #28]
- 11238 .syntax unified
- 11239 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11240 0074 41E80023 strex r3, r2, [r1]
- 11241 @ 0 "" 2
- 11242 .thumb
- 11243 .syntax unified
- 11244 0078 7B61 str r3, [r7, #20]
- 11245 .loc 2 1124 10 discriminator 1
- 11246 007a 7B69 ldr r3, [r7, #20]
- 11247 .LBE782:
- 11248 .LBE781:
- 11249 .loc 1 3784 7 discriminator 1
- 11250 007c 002B cmp r3, #0
- 11251 007e E6D1 bne .L626
- 11252 .LBE778:
- 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr;
- 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
- 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
- 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
- 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11253 .loc 1 3794 1
- 11254 0080 18E0 b .L627
- 11255 .L620:
- 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 287
- 11256 .loc 1 3788 11
- 11257 0082 7B68 ldr r3, [r7, #4]
- 11258 0084 DB6C ldr r3, [r3, #76]
- 11259 0086 FB63 str r3, [r7, #60]
- 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
- 11260 .loc 1 3789 43
- 11261 0088 FB6B ldr r3, [r7, #60]
- 11262 008a 1A88 ldrh r2, [r3]
- 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
- 11263 .loc 1 3789 12
- 11264 008c 7B68 ldr r3, [r7, #4]
- 11265 008e 1B68 ldr r3, [r3]
- 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
- 11266 .loc 1 3789 50
- 11267 0090 C2F30802 ubfx r2, r2, #0, #9
- 11268 0094 92B2 uxth r2, r2
- 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
- 11269 .loc 1 3789 28
- 11270 0096 1A85 strh r2, [r3, #40] @ movhi
- 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--;
- 11271 .loc 1 3790 25
- 11272 0098 7B68 ldr r3, [r7, #4]
- 11273 009a DB6C ldr r3, [r3, #76]
- 11274 009c 9A1C adds r2, r3, #2
- 11275 009e 7B68 ldr r3, [r7, #4]
- 11276 00a0 DA64 str r2, [r3, #76]
- 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11277 .loc 1 3791 12
- 11278 00a2 7B68 ldr r3, [r7, #4]
- 11279 00a4 B3F85230 ldrh r3, [r3, #82] @ movhi
- 11280 00a8 9BB2 uxth r3, r3
- 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11281 .loc 1 3791 25
- 11282 00aa 013B subs r3, r3, #1
- 11283 00ac 9AB2 uxth r2, r3
- 11284 00ae 7B68 ldr r3, [r7, #4]
- 11285 00b0 A3F85220 strh r2, [r3, #82] @ movhi
- 11286 .L627:
- 11287 .loc 1 3794 1
- 11288 00b4 00BF nop
- 11289 00b6 4437 adds r7, r7, #68
- 11290 .LCFI338:
- 11291 .cfi_def_cfa_offset 4
- 11292 00b8 BD46 mov sp, r7
- 11293 .LCFI339:
- 11294 .cfi_def_cfa_register 13
- 11295 @ sp needed
- 11296 00ba 5DF8047B ldr r7, [sp], #4
- 11297 .LCFI340:
- 11298 .cfi_restore 7
- 11299 .cfi_def_cfa_offset 0
- 11300 00be 7047 bx lr
- 11301 .cfi_endproc
- 11302 .LFE192:
- 11304 .section .text.UART_EndTransmit_IT,"ax",%progbits
- 11305 .align 1
- 11306 .syntax unified
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 288
- 11307 .thumb
- 11308 .thumb_func
- 11310 UART_EndTransmit_IT:
- 11311 .LFB193:
- 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode.
- 3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains
- 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module.
- 3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
- 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 11312 .loc 1 3804 1
- 11313 .cfi_startproc
- 11314 @ args = 0, pretend = 0, frame = 32
- 11315 @ frame_needed = 1, uses_anonymous_args = 0
- 11316 0000 80B5 push {r7, lr}
- 11317 .LCFI341:
- 11318 .cfi_def_cfa_offset 8
- 11319 .cfi_offset 7, -8
- 11320 .cfi_offset 14, -4
- 11321 0002 88B0 sub sp, sp, #32
- 11322 .LCFI342:
- 11323 .cfi_def_cfa_offset 40
- 11324 0004 00AF add r7, sp, #0
- 11325 .LCFI343:
- 11326 .cfi_def_cfa_register 7
- 11327 0006 7860 str r0, [r7, #4]
- 11328 .L631:
- 11329 .LBB783:
- 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
- 3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
- 11330 .loc 1 3806 3 discriminator 1
- 11331 0008 7B68 ldr r3, [r7, #4]
- 11332 000a 1B68 ldr r3, [r3]
- 11333 000c FB60 str r3, [r7, #12]
- 11334 .LBB784:
- 11335 .LBB785:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11336 .loc 2 1072 4 discriminator 1
- 11337 000e FB68 ldr r3, [r7, #12]
- 11338 .syntax unified
- 11339 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11340 0010 53E8003F ldrex r3, [r3]
- 11341 @ 0 "" 2
- 11342 .thumb
- 11343 .syntax unified
- 11344 0014 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11345 .loc 2 1073 10 discriminator 1
- 11346 0016 BB68 ldr r3, [r7, #8]
- 11347 .LBE785:
- 11348 .LBE784:
- 11349 .loc 1 3806 3 discriminator 1
- 11350 0018 23F04003 bic r3, r3, #64
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 289
- 11351 001c FB61 str r3, [r7, #28]
- 11352 001e 7B68 ldr r3, [r7, #4]
- 11353 0020 1B68 ldr r3, [r3]
- 11354 0022 1A46 mov r2, r3
- 11355 0024 FB69 ldr r3, [r7, #28]
- 11356 0026 BB61 str r3, [r7, #24]
- 11357 0028 7A61 str r2, [r7, #20]
- 11358 .LBB786:
- 11359 .LBB787:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11360 .loc 2 1123 4 discriminator 1
- 11361 002a 7969 ldr r1, [r7, #20]
- 11362 002c BA69 ldr r2, [r7, #24]
- 11363 .syntax unified
- 11364 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11365 002e 41E80023 strex r3, r2, [r1]
- 11366 @ 0 "" 2
- 11367 .thumb
- 11368 .syntax unified
- 11369 0032 3B61 str r3, [r7, #16]
- 11370 .loc 2 1124 10 discriminator 1
- 11371 0034 3B69 ldr r3, [r7, #16]
- 11372 .LBE787:
- 11373 .LBE786:
- 11374 .loc 1 3806 3 discriminator 1
- 11375 0036 002B cmp r3, #0
- 11376 0038 E6D1 bne .L631
- 11377 .LBE783:
- 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
- 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 11378 .loc 1 3809 17
- 11379 003a 7B68 ldr r3, [r7, #4]
- 11380 003c 2022 movs r2, #32
- 11381 003e DA67 str r2, [r3, #124]
- 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Cleat TxISR function pointer */
- 3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL;
- 11382 .loc 1 3812 16
- 11383 0040 7B68 ldr r3, [r7, #4]
- 11384 0042 0022 movs r2, #0
- 11385 0044 DA66 str r2, [r3, #108]
- 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/
- 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart);
- 3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
- 3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
- 11386 .loc 1 3819 3
- 11387 0046 7868 ldr r0, [r7, #4]
- 11388 0048 FFF7FEFF bl HAL_UART_TxCpltCallback
- 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11389 .loc 1 3821 1
- 11390 004c 00BF nop
- 11391 004e 2037 adds r7, r7, #32
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 290
- 11392 .LCFI344:
- 11393 .cfi_def_cfa_offset 8
- 11394 0050 BD46 mov sp, r7
- 11395 .LCFI345:
- 11396 .cfi_def_cfa_register 13
- 11397 @ sp needed
- 11398 0052 80BD pop {r7, pc}
- 11399 .cfi_endproc
- 11400 .LFE193:
- 11402 .section .text.UART_RxISR_8BIT,"ax",%progbits
- 11403 .align 1
- 11404 .syntax unified
- 11405 .thumb
- 11406 .thumb_func
- 11408 UART_RxISR_8BIT:
- 11409 .LFB194:
- 3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length .
- 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart)
- 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 11410 .loc 1 3829 1
- 11411 .cfi_startproc
- 11412 @ args = 0, pretend = 0, frame = 112
- 11413 @ frame_needed = 1, uses_anonymous_args = 0
- 11414 0000 80B5 push {r7, lr}
- 11415 .LCFI346:
- 11416 .cfi_def_cfa_offset 8
- 11417 .cfi_offset 7, -8
- 11418 .cfi_offset 14, -4
- 11419 0002 9CB0 sub sp, sp, #112
- 11420 .LCFI347:
- 11421 .cfi_def_cfa_offset 120
- 11422 0004 00AF add r7, sp, #0
- 11423 .LCFI348:
- 11424 .cfi_def_cfa_register 7
- 11425 0006 7860 str r0, [r7, #4]
- 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
- 11426 .loc 1 3830 12
- 11427 0008 7B68 ldr r3, [r7, #4]
- 11428 000a B3F85C30 ldrh r3, [r3, #92] @ movhi
- 11429 000e A7F86E30 strh r3, [r7, #110] @ movhi
- 3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata;
- 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */
- 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
- 11430 .loc 1 3834 12
- 11431 0012 7B68 ldr r3, [r7, #4]
- 11432 0014 D3F88030 ldr r3, [r3, #128]
- 11433 .loc 1 3834 6
- 11434 0018 222B cmp r3, #34
- 11435 001a 40F0B980 bne .L633
- 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 291
- 11436 .loc 1 3836 25
- 11437 001e 7B68 ldr r3, [r7, #4]
- 11438 0020 1B68 ldr r3, [r3]
- 11439 .loc 1 3836 12
- 11440 0022 9B8C ldrh r3, [r3, #36] @ movhi
- 11441 0024 A7F86C30 strh r3, [r7, #108] @ movhi
- 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
- 11442 .loc 1 3837 26
- 11443 0028 B7F86C30 ldrh r3, [r7, #108] @ movhi
- 11444 002c D9B2 uxtb r1, r3
- 11445 .loc 1 3837 45
- 11446 002e B7F86E30 ldrh r3, [r7, #110] @ movhi
- 11447 0032 DAB2 uxtb r2, r3
- 11448 .loc 1 3837 11
- 11449 0034 7B68 ldr r3, [r7, #4]
- 11450 0036 5B6D ldr r3, [r3, #84]
- 11451 .loc 1 3837 26
- 11452 0038 0A40 ands r2, r2, r1
- 11453 003a D2B2 uxtb r2, r2
- 11454 .loc 1 3837 24
- 11455 003c 1A70 strb r2, [r3]
- 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++;
- 11456 .loc 1 3838 10
- 11457 003e 7B68 ldr r3, [r7, #4]
- 11458 0040 5B6D ldr r3, [r3, #84]
- 11459 .loc 1 3838 22
- 11460 0042 5A1C adds r2, r3, #1
- 11461 0044 7B68 ldr r3, [r7, #4]
- 11462 0046 5A65 str r2, [r3, #84]
- 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--;
- 11463 .loc 1 3839 10
- 11464 0048 7B68 ldr r3, [r7, #4]
- 11465 004a B3F85A30 ldrh r3, [r3, #90] @ movhi
- 11466 004e 9BB2 uxth r3, r3
- 11467 .loc 1 3839 23
- 11468 0050 013B subs r3, r3, #1
- 11469 0052 9AB2 uxth r2, r3
- 11470 0054 7B68 ldr r3, [r7, #4]
- 11471 0056 A3F85A20 strh r2, [r3, #90] @ movhi
- 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U)
- 11472 .loc 1 3841 14
- 11473 005a 7B68 ldr r3, [r7, #4]
- 11474 005c B3F85A30 ldrh r3, [r3, #90] @ movhi
- 11475 0060 9BB2 uxth r3, r3
- 11476 .loc 1 3841 8
- 11477 0062 002B cmp r3, #0
- 11478 0064 40F09C80 bne .L650
- 11479 .L637:
- 11480 .LBB788:
- 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
- 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 11481 .loc 1 3844 7 discriminator 1
- 11482 0068 7B68 ldr r3, [r7, #4]
- 11483 006a 1B68 ldr r3, [r3]
- 11484 006c FB64 str r3, [r7, #76]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 292
- 11485 .LBB789:
- 11486 .LBB790:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11487 .loc 2 1072 4 discriminator 1
- 11488 006e FB6C ldr r3, [r7, #76]
- 11489 .syntax unified
- 11490 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11491 0070 53E8003F ldrex r3, [r3]
- 11492 @ 0 "" 2
- 11493 .thumb
- 11494 .syntax unified
- 11495 0074 BB64 str r3, [r7, #72]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11496 .loc 2 1073 10 discriminator 1
- 11497 0076 BB6C ldr r3, [r7, #72]
- 11498 .LBE790:
- 11499 .LBE789:
- 11500 .loc 1 3844 7 discriminator 1
- 11501 0078 23F49073 bic r3, r3, #288
- 11502 007c BB66 str r3, [r7, #104]
- 11503 007e 7B68 ldr r3, [r7, #4]
- 11504 0080 1B68 ldr r3, [r3]
- 11505 0082 1A46 mov r2, r3
- 11506 0084 BB6E ldr r3, [r7, #104]
- 11507 0086 BB65 str r3, [r7, #88]
- 11508 0088 7A65 str r2, [r7, #84]
- 11509 .LBB791:
- 11510 .LBB792:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11511 .loc 2 1123 4 discriminator 1
- 11512 008a 796D ldr r1, [r7, #84]
- 11513 008c BA6D ldr r2, [r7, #88]
- 11514 .syntax unified
- 11515 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11516 008e 41E80023 strex r3, r2, [r1]
- 11517 @ 0 "" 2
- 11518 .thumb
- 11519 .syntax unified
- 11520 0092 3B65 str r3, [r7, #80]
- 11521 .loc 2 1124 10 discriminator 1
- 11522 0094 3B6D ldr r3, [r7, #80]
- 11523 .LBE792:
- 11524 .LBE791:
- 11525 .loc 1 3844 7 discriminator 1
- 11526 0096 002B cmp r3, #0
- 11527 0098 E6D1 bne .L637
- 11528 .L640:
- 11529 .LBE788:
- 11530 .LBB793:
- 3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 11531 .loc 1 3847 7 discriminator 1
- 11532 009a 7B68 ldr r3, [r7, #4]
- 11533 009c 1B68 ldr r3, [r3]
- 11534 009e 0833 adds r3, r3, #8
- 11535 00a0 BB63 str r3, [r7, #56]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 293
- 11536 .LBB794:
- 11537 .LBB795:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11538 .loc 2 1072 4 discriminator 1
- 11539 00a2 BB6B ldr r3, [r7, #56]
- 11540 .syntax unified
- 11541 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11542 00a4 53E8003F ldrex r3, [r3]
- 11543 @ 0 "" 2
- 11544 .thumb
- 11545 .syntax unified
- 11546 00a8 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11547 .loc 2 1073 10 discriminator 1
- 11548 00aa 7B6B ldr r3, [r7, #52]
- 11549 .LBE795:
- 11550 .LBE794:
- 11551 .loc 1 3847 7 discriminator 1
- 11552 00ac 23F00103 bic r3, r3, #1
- 11553 00b0 7B66 str r3, [r7, #100]
- 11554 00b2 7B68 ldr r3, [r7, #4]
- 11555 00b4 1B68 ldr r3, [r3]
- 11556 00b6 0833 adds r3, r3, #8
- 11557 00b8 7A6E ldr r2, [r7, #100]
- 11558 00ba 7A64 str r2, [r7, #68]
- 11559 00bc 3B64 str r3, [r7, #64]
- 11560 .LBB796:
- 11561 .LBB797:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11562 .loc 2 1123 4 discriminator 1
- 11563 00be 396C ldr r1, [r7, #64]
- 11564 00c0 7A6C ldr r2, [r7, #68]
- 11565 .syntax unified
- 11566 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11567 00c2 41E80023 strex r3, r2, [r1]
- 11568 @ 0 "" 2
- 11569 .thumb
- 11570 .syntax unified
- 11571 00c6 FB63 str r3, [r7, #60]
- 11572 .loc 2 1124 10 discriminator 1
- 11573 00c8 FB6B ldr r3, [r7, #60]
- 11574 .LBE797:
- 11575 .LBE796:
- 11576 .loc 1 3847 7 discriminator 1
- 11577 00ca 002B cmp r3, #0
- 11578 00cc E5D1 bne .L640
- 11579 .LBE793:
- 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
- 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 11580 .loc 1 3850 22
- 11581 00ce 7B68 ldr r3, [r7, #4]
- 11582 00d0 2022 movs r2, #32
- 11583 00d2 C3F88020 str r2, [r3, #128]
- 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
- 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 294
- 11584 .loc 1 3853 20
- 11585 00d6 7B68 ldr r3, [r7, #4]
- 11586 00d8 0022 movs r2, #0
- 11587 00da 9A66 str r2, [r3, #104]
- 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */
- 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
- 11588 .loc 1 3856 26
- 11589 00dc 7B68 ldr r3, [r7, #4]
- 11590 00de 0022 movs r2, #0
- 11591 00e0 5A66 str r2, [r3, #100]
- 3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
- 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
- 11592 .loc 1 3859 11
- 11593 00e2 7B68 ldr r3, [r7, #4]
- 11594 00e4 1B68 ldr r3, [r3]
- 11595 00e6 5B68 ldr r3, [r3, #4]
- 11596 00e8 03F40003 and r3, r3, #8388608
- 11597 .loc 1 3859 10
- 11598 00ec 002B cmp r3, #0
- 11599 00ee 18D0 beq .L641
- 11600 .L644:
- 11601 .LBB798:
- 3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
- 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
- 11602 .loc 1 3862 9 discriminator 1
- 11603 00f0 7B68 ldr r3, [r7, #4]
- 11604 00f2 1B68 ldr r3, [r3]
- 11605 00f4 7B62 str r3, [r7, #36]
- 11606 .LBB799:
- 11607 .LBB800:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11608 .loc 2 1072 4 discriminator 1
- 11609 00f6 7B6A ldr r3, [r7, #36]
- 11610 .syntax unified
- 11611 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11612 00f8 53E8003F ldrex r3, [r3]
- 11613 @ 0 "" 2
- 11614 .thumb
- 11615 .syntax unified
- 11616 00fc 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11617 .loc 2 1073 10 discriminator 1
- 11618 00fe 3B6A ldr r3, [r7, #32]
- 11619 .LBE800:
- 11620 .LBE799:
- 11621 .loc 1 3862 9 discriminator 1
- 11622 0100 23F08063 bic r3, r3, #67108864
- 11623 0104 3B66 str r3, [r7, #96]
- 11624 0106 7B68 ldr r3, [r7, #4]
- 11625 0108 1B68 ldr r3, [r3]
- 11626 010a 1A46 mov r2, r3
- 11627 010c 3B6E ldr r3, [r7, #96]
- 11628 010e 3B63 str r3, [r7, #48]
- 11629 0110 FA62 str r2, [r7, #44]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 295
- 11630 .LBB801:
- 11631 .LBB802:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11632 .loc 2 1123 4 discriminator 1
- 11633 0112 F96A ldr r1, [r7, #44]
- 11634 0114 3A6B ldr r2, [r7, #48]
- 11635 .syntax unified
- 11636 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11637 0116 41E80023 strex r3, r2, [r1]
- 11638 @ 0 "" 2
- 11639 .thumb
- 11640 .syntax unified
- 11641 011a BB62 str r3, [r7, #40]
- 11642 .loc 2 1124 10 discriminator 1
- 11643 011c BB6A ldr r3, [r7, #40]
- 11644 .LBE802:
- 11645 .LBE801:
- 11646 .loc 1 3862 9 discriminator 1
- 11647 011e 002B cmp r3, #0
- 11648 0120 E6D1 bne .L644
- 11649 .L641:
- 11650 .LBE798:
- 3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
- 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */
- 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 11651 .loc 1 3867 16
- 11652 0122 7B68 ldr r3, [r7, #4]
- 11653 0124 1B6E ldr r3, [r3, #96]
- 11654 .loc 1 3867 10
- 11655 0126 012B cmp r3, #1
- 11656 0128 2ED1 bne .L645
- 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */
- 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 11657 .loc 1 3870 30
- 11658 012a 7B68 ldr r3, [r7, #4]
- 11659 012c 0022 movs r2, #0
- 11660 012e 1A66 str r2, [r3, #96]
- 11661 .L648:
- 11662 .LBB803:
- 3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */
- 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 11663 .loc 1 3873 9 discriminator 1
- 11664 0130 7B68 ldr r3, [r7, #4]
- 11665 0132 1B68 ldr r3, [r3]
- 11666 0134 3B61 str r3, [r7, #16]
- 11667 .LBB804:
- 11668 .LBB805:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11669 .loc 2 1072 4 discriminator 1
- 11670 0136 3B69 ldr r3, [r7, #16]
- 11671 .syntax unified
- 11672 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11673 0138 53E8003F ldrex r3, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 296
- 11674 @ 0 "" 2
- 11675 .thumb
- 11676 .syntax unified
- 11677 013c FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11678 .loc 2 1073 10 discriminator 1
- 11679 013e FB68 ldr r3, [r7, #12]
- 11680 .LBE805:
- 11681 .LBE804:
- 11682 .loc 1 3873 9 discriminator 1
- 11683 0140 23F01003 bic r3, r3, #16
- 11684 0144 FB65 str r3, [r7, #92]
- 11685 0146 7B68 ldr r3, [r7, #4]
- 11686 0148 1B68 ldr r3, [r3]
- 11687 014a 1A46 mov r2, r3
- 11688 014c FB6D ldr r3, [r7, #92]
- 11689 014e FB61 str r3, [r7, #28]
- 11690 0150 BA61 str r2, [r7, #24]
- 11691 .LBB806:
- 11692 .LBB807:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11693 .loc 2 1123 4 discriminator 1
- 11694 0152 B969 ldr r1, [r7, #24]
- 11695 0154 FA69 ldr r2, [r7, #28]
- 11696 .syntax unified
- 11697 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11698 0156 41E80023 strex r3, r2, [r1]
- 11699 @ 0 "" 2
- 11700 .thumb
- 11701 .syntax unified
- 11702 015a 7B61 str r3, [r7, #20]
- 11703 .loc 2 1124 10 discriminator 1
- 11704 015c 7B69 ldr r3, [r7, #20]
- 11705 .LBE807:
- 11706 .LBE806:
- 11707 .loc 1 3873 9 discriminator 1
- 11708 015e 002B cmp r3, #0
- 11709 0160 E6D1 bne .L648
- 11710 .LBE803:
- 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
- 11711 .loc 1 3875 13
- 11712 0162 7B68 ldr r3, [r7, #4]
- 11713 0164 1B68 ldr r3, [r3]
- 11714 0166 DB69 ldr r3, [r3, #28]
- 11715 0168 03F01003 and r3, r3, #16
- 11716 .loc 1 3875 12
- 11717 016c 102B cmp r3, #16
- 11718 016e 03D1 bne .L649
- 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */
- 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
- 11719 .loc 1 3878 11
- 11720 0170 7B68 ldr r3, [r7, #4]
- 11721 0172 1B68 ldr r3, [r3]
- 11722 0174 1022 movs r2, #16
- 11723 0176 1A62 str r2, [r3, #32]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 297
- 11724 .L649:
- 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
- 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
- 11725 .loc 1 3886 9
- 11726 0178 7B68 ldr r3, [r7, #4]
- 11727 017a B3F85830 ldrh r3, [r3, #88]
- 11728 017e 1946 mov r1, r3
- 11729 0180 7868 ldr r0, [r7, #4]
- 11730 0182 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */
- 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
- 3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart);
- 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
- 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
- 3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */
- 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11731 .loc 1 3907 1
- 11732 0186 0BE0 b .L650
- 11733 .L645:
- 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 11734 .loc 1 3897 9
- 11735 0188 7868 ldr r0, [r7, #4]
- 11736 018a FFF7FEFF bl HAL_UART_RxCpltCallback
- 11737 .loc 1 3907 1
- 11738 018e 07E0 b .L650
- 11739 .L633:
- 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 11740 .loc 1 3905 5
- 11741 0190 7B68 ldr r3, [r7, #4]
- 11742 0192 1B68 ldr r3, [r3]
- 11743 0194 9A69 ldr r2, [r3, #24]
- 11744 0196 7B68 ldr r3, [r7, #4]
- 11745 0198 1B68 ldr r3, [r3]
- 11746 019a 42F00802 orr r2, r2, #8
- 11747 019e 9A61 str r2, [r3, #24]
- 11748 .L650:
- 11749 .loc 1 3907 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 298
- 11750 01a0 00BF nop
- 11751 01a2 7037 adds r7, r7, #112
- 11752 .LCFI349:
- 11753 .cfi_def_cfa_offset 8
- 11754 01a4 BD46 mov sp, r7
- 11755 .LCFI350:
- 11756 .cfi_def_cfa_register 13
- 11757 @ sp needed
- 11758 01a6 80BD pop {r7, pc}
- 11759 .cfi_endproc
- 11760 .LFE194:
- 11762 .section .text.UART_RxISR_16BIT,"ax",%progbits
- 11763 .align 1
- 11764 .syntax unified
- 11765 .thumb
- 11766 .thumb_func
- 11768 UART_RxISR_16BIT:
- 11769 .LFB195:
- 3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /**
- 3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length .
- 3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once
- 3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
- 3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle.
- 3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None
- 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */
- 3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart)
- 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 11770 .loc 1 3917 1
- 11771 .cfi_startproc
- 11772 @ args = 0, pretend = 0, frame = 112
- 11773 @ frame_needed = 1, uses_anonymous_args = 0
- 11774 0000 80B5 push {r7, lr}
- 11775 .LCFI351:
- 11776 .cfi_def_cfa_offset 8
- 11777 .cfi_offset 7, -8
- 11778 .cfi_offset 14, -4
- 11779 0002 9CB0 sub sp, sp, #112
- 11780 .LCFI352:
- 11781 .cfi_def_cfa_offset 120
- 11782 0004 00AF add r7, sp, #0
- 11783 .LCFI353:
- 11784 .cfi_def_cfa_register 7
- 11785 0006 7860 str r0, [r7, #4]
- 3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *tmp;
- 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
- 11786 .loc 1 3919 12
- 11787 0008 7B68 ldr r3, [r7, #4]
- 11788 000a B3F85C30 ldrh r3, [r3, #92] @ movhi
- 11789 000e A7F86E30 strh r3, [r7, #110] @ movhi
- 3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata;
- 3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */
- 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
- 11790 .loc 1 3923 12
- 11791 0012 7B68 ldr r3, [r7, #4]
- 11792 0014 D3F88030 ldr r3, [r3, #128]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 299
- 11793 .loc 1 3923 6
- 11794 0018 222B cmp r3, #34
- 11795 001a 40F0B980 bne .L652
- 3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
- 11796 .loc 1 3925 25
- 11797 001e 7B68 ldr r3, [r7, #4]
- 11798 0020 1B68 ldr r3, [r3]
- 11799 .loc 1 3925 12
- 11800 0022 9B8C ldrh r3, [r3, #36] @ movhi
- 11801 0024 A7F86C30 strh r3, [r7, #108] @ movhi
- 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
- 11802 .loc 1 3926 9
- 11803 0028 7B68 ldr r3, [r7, #4]
- 11804 002a 5B6D ldr r3, [r3, #84]
- 11805 002c BB66 str r3, [r7, #104]
- 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
- 11806 .loc 1 3927 12
- 11807 002e B7F86C20 ldrh r2, [r7, #108] @ movhi
- 11808 0032 B7F86E30 ldrh r3, [r7, #110] @ movhi
- 11809 0036 1340 ands r3, r3, r2
- 11810 0038 9AB2 uxth r2, r3
- 11811 .loc 1 3927 10
- 11812 003a BB6E ldr r3, [r7, #104]
- 11813 003c 1A80 strh r2, [r3] @ movhi
- 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
- 11814 .loc 1 3928 23
- 11815 003e 7B68 ldr r3, [r7, #4]
- 11816 0040 5B6D ldr r3, [r3, #84]
- 11817 0042 9A1C adds r2, r3, #2
- 11818 0044 7B68 ldr r3, [r7, #4]
- 11819 0046 5A65 str r2, [r3, #84]
- 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--;
- 11820 .loc 1 3929 10
- 11821 0048 7B68 ldr r3, [r7, #4]
- 11822 004a B3F85A30 ldrh r3, [r3, #90] @ movhi
- 11823 004e 9BB2 uxth r3, r3
- 11824 .loc 1 3929 23
- 11825 0050 013B subs r3, r3, #1
- 11826 0052 9AB2 uxth r2, r3
- 11827 0054 7B68 ldr r3, [r7, #4]
- 11828 0056 A3F85A20 strh r2, [r3, #90] @ movhi
- 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U)
- 11829 .loc 1 3931 14
- 11830 005a 7B68 ldr r3, [r7, #4]
- 11831 005c B3F85A30 ldrh r3, [r3, #90] @ movhi
- 11832 0060 9BB2 uxth r3, r3
- 11833 .loc 1 3931 8
- 11834 0062 002B cmp r3, #0
- 11835 0064 40F09C80 bne .L669
- 11836 .L656:
- 11837 .LBB808:
- 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/
- 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 11838 .loc 1 3934 7 discriminator 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 300
- 11839 0068 7B68 ldr r3, [r7, #4]
- 11840 006a 1B68 ldr r3, [r3]
- 11841 006c BB64 str r3, [r7, #72]
- 11842 .LBB809:
- 11843 .LBB810:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11844 .loc 2 1072 4 discriminator 1
- 11845 006e BB6C ldr r3, [r7, #72]
- 11846 .syntax unified
- 11847 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11848 0070 53E8003F ldrex r3, [r3]
- 11849 @ 0 "" 2
- 11850 .thumb
- 11851 .syntax unified
- 11852 0074 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11853 .loc 2 1073 10 discriminator 1
- 11854 0076 7B6C ldr r3, [r7, #68]
- 11855 .LBE810:
- 11856 .LBE809:
- 11857 .loc 1 3934 7 discriminator 1
- 11858 0078 23F49073 bic r3, r3, #288
- 11859 007c 7B66 str r3, [r7, #100]
- 11860 007e 7B68 ldr r3, [r7, #4]
- 11861 0080 1B68 ldr r3, [r3]
- 11862 0082 1A46 mov r2, r3
- 11863 0084 7B6E ldr r3, [r7, #100]
- 11864 0086 7B65 str r3, [r7, #84]
- 11865 0088 3A65 str r2, [r7, #80]
- 11866 .LBB811:
- 11867 .LBB812:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11868 .loc 2 1123 4 discriminator 1
- 11869 008a 396D ldr r1, [r7, #80]
- 11870 008c 7A6D ldr r2, [r7, #84]
- 11871 .syntax unified
- 11872 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11873 008e 41E80023 strex r3, r2, [r1]
- 11874 @ 0 "" 2
- 11875 .thumb
- 11876 .syntax unified
- 11877 0092 FB64 str r3, [r7, #76]
- 11878 .loc 2 1124 10 discriminator 1
- 11879 0094 FB6C ldr r3, [r7, #76]
- 11880 .LBE812:
- 11881 .LBE811:
- 11882 .loc 1 3934 7 discriminator 1
- 11883 0096 002B cmp r3, #0
- 11884 0098 E6D1 bne .L656
- 11885 .L659:
- 11886 .LBE808:
- 11887 .LBB813:
- 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 11888 .loc 1 3937 7 discriminator 1
- 11889 009a 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 301
- 11890 009c 1B68 ldr r3, [r3]
- 11891 009e 0833 adds r3, r3, #8
- 11892 00a0 7B63 str r3, [r7, #52]
- 11893 .LBB814:
- 11894 .LBB815:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11895 .loc 2 1072 4 discriminator 1
- 11896 00a2 7B6B ldr r3, [r7, #52]
- 11897 .syntax unified
- 11898 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11899 00a4 53E8003F ldrex r3, [r3]
- 11900 @ 0 "" 2
- 11901 .thumb
- 11902 .syntax unified
- 11903 00a8 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11904 .loc 2 1073 10 discriminator 1
- 11905 00aa 3B6B ldr r3, [r7, #48]
- 11906 .LBE815:
- 11907 .LBE814:
- 11908 .loc 1 3937 7 discriminator 1
- 11909 00ac 23F00103 bic r3, r3, #1
- 11910 00b0 3B66 str r3, [r7, #96]
- 11911 00b2 7B68 ldr r3, [r7, #4]
- 11912 00b4 1B68 ldr r3, [r3]
- 11913 00b6 0833 adds r3, r3, #8
- 11914 00b8 3A6E ldr r2, [r7, #96]
- 11915 00ba 3A64 str r2, [r7, #64]
- 11916 00bc FB63 str r3, [r7, #60]
- 11917 .LBB816:
- 11918 .LBB817:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11919 .loc 2 1123 4 discriminator 1
- 11920 00be F96B ldr r1, [r7, #60]
- 11921 00c0 3A6C ldr r2, [r7, #64]
- 11922 .syntax unified
- 11923 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11924 00c2 41E80023 strex r3, r2, [r1]
- 11925 @ 0 "" 2
- 11926 .thumb
- 11927 .syntax unified
- 11928 00c6 BB63 str r3, [r7, #56]
- 11929 .loc 2 1124 10 discriminator 1
- 11930 00c8 BB6B ldr r3, [r7, #56]
- 11931 .LBE817:
- 11932 .LBE816:
- 11933 .loc 1 3937 7 discriminator 1
- 11934 00ca 002B cmp r3, #0
- 11935 00cc E5D1 bne .L659
- 11936 .LBE813:
- 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
- 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 11937 .loc 1 3940 22
- 11938 00ce 7B68 ldr r3, [r7, #4]
- 11939 00d0 2022 movs r2, #32
- 11940 00d2 C3F88020 str r2, [r3, #128]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 302
- 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */
- 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL;
- 11941 .loc 1 3943 20
- 11942 00d6 7B68 ldr r3, [r7, #4]
- 11943 00d8 0022 movs r2, #0
- 11944 00da 9A66 str r2, [r3, #104]
- 3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */
- 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
- 11945 .loc 1 3946 26
- 11946 00dc 7B68 ldr r3, [r7, #4]
- 11947 00de 0022 movs r2, #0
- 11948 00e0 5A66 str r2, [r3, #100]
- 3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
- 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
- 11949 .loc 1 3949 11
- 11950 00e2 7B68 ldr r3, [r7, #4]
- 11951 00e4 1B68 ldr r3, [r3]
- 11952 00e6 5B68 ldr r3, [r3, #4]
- 11953 00e8 03F40003 and r3, r3, #8388608
- 11954 .loc 1 3949 10
- 11955 00ec 002B cmp r3, #0
- 11956 00ee 18D0 beq .L660
- 11957 .L663:
- 11958 .LBB818:
- 3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
- 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
- 11959 .loc 1 3952 9 discriminator 1
- 11960 00f0 7B68 ldr r3, [r7, #4]
- 11961 00f2 1B68 ldr r3, [r3]
- 11962 00f4 3B62 str r3, [r7, #32]
- 11963 .LBB819:
- 11964 .LBB820:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11965 .loc 2 1072 4 discriminator 1
- 11966 00f6 3B6A ldr r3, [r7, #32]
- 11967 .syntax unified
- 11968 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11969 00f8 53E8003F ldrex r3, [r3]
- 11970 @ 0 "" 2
- 11971 .thumb
- 11972 .syntax unified
- 11973 00fc FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 11974 .loc 2 1073 10 discriminator 1
- 11975 00fe FB69 ldr r3, [r7, #28]
- 11976 .LBE820:
- 11977 .LBE819:
- 11978 .loc 1 3952 9 discriminator 1
- 11979 0100 23F08063 bic r3, r3, #67108864
- 11980 0104 FB65 str r3, [r7, #92]
- 11981 0106 7B68 ldr r3, [r7, #4]
- 11982 0108 1B68 ldr r3, [r3]
- 11983 010a 1A46 mov r2, r3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 303
- 11984 010c FB6D ldr r3, [r7, #92]
- 11985 010e FB62 str r3, [r7, #44]
- 11986 0110 BA62 str r2, [r7, #40]
- 11987 .LBB821:
- 11988 .LBB822:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 11989 .loc 2 1123 4 discriminator 1
- 11990 0112 B96A ldr r1, [r7, #40]
- 11991 0114 FA6A ldr r2, [r7, #44]
- 11992 .syntax unified
- 11993 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 11994 0116 41E80023 strex r3, r2, [r1]
- 11995 @ 0 "" 2
- 11996 .thumb
- 11997 .syntax unified
- 11998 011a 7B62 str r3, [r7, #36]
- 11999 .loc 2 1124 10 discriminator 1
- 12000 011c 7B6A ldr r3, [r7, #36]
- 12001 .LBE822:
- 12002 .LBE821:
- 12003 .loc 1 3952 9 discriminator 1
- 12004 011e 002B cmp r3, #0
- 12005 0120 E6D1 bne .L663
- 12006 .L660:
- 12007 .LBE818:
- 3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode :
- 3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */
- 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 12008 .loc 1 3957 16
- 12009 0122 7B68 ldr r3, [r7, #4]
- 12010 0124 1B6E ldr r3, [r3, #96]
- 12011 .loc 1 3957 10
- 12012 0126 012B cmp r3, #1
- 12013 0128 2ED1 bne .L664
- 3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */
- 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 12014 .loc 1 3960 30
- 12015 012a 7B68 ldr r3, [r7, #4]
- 12016 012c 0022 movs r2, #0
- 12017 012e 1A66 str r2, [r3, #96]
- 12018 .L667:
- 12019 .LBB823:
- 3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */
- 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 12020 .loc 1 3963 9 discriminator 1
- 12021 0130 7B68 ldr r3, [r7, #4]
- 12022 0132 1B68 ldr r3, [r3]
- 12023 0134 FB60 str r3, [r7, #12]
- 12024 .LBB824:
- 12025 .LBB825:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 12026 .loc 2 1072 4 discriminator 1
- 12027 0136 FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 304
- 12028 .syntax unified
- 12029 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 12030 0138 53E8003F ldrex r3, [r3]
- 12031 @ 0 "" 2
- 12032 .thumb
- 12033 .syntax unified
- 12034 013c BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 12035 .loc 2 1073 10 discriminator 1
- 12036 013e BB68 ldr r3, [r7, #8]
- 12037 .LBE825:
- 12038 .LBE824:
- 12039 .loc 1 3963 9 discriminator 1
- 12040 0140 23F01003 bic r3, r3, #16
- 12041 0144 BB65 str r3, [r7, #88]
- 12042 0146 7B68 ldr r3, [r7, #4]
- 12043 0148 1B68 ldr r3, [r3]
- 12044 014a 1A46 mov r2, r3
- 12045 014c BB6D ldr r3, [r7, #88]
- 12046 014e BB61 str r3, [r7, #24]
- 12047 0150 7A61 str r2, [r7, #20]
- 12048 .LBB826:
- 12049 .LBB827:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 12050 .loc 2 1123 4 discriminator 1
- 12051 0152 7969 ldr r1, [r7, #20]
- 12052 0154 BA69 ldr r2, [r7, #24]
- 12053 .syntax unified
- 12054 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 12055 0156 41E80023 strex r3, r2, [r1]
- 12056 @ 0 "" 2
- 12057 .thumb
- 12058 .syntax unified
- 12059 015a 3B61 str r3, [r7, #16]
- 12060 .loc 2 1124 10 discriminator 1
- 12061 015c 3B69 ldr r3, [r7, #16]
- 12062 .LBE827:
- 12063 .LBE826:
- 12064 .loc 1 3963 9 discriminator 1
- 12065 015e 002B cmp r3, #0
- 12066 0160 E6D1 bne .L667
- 12067 .LBE823:
- 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
- 12068 .loc 1 3965 13
- 12069 0162 7B68 ldr r3, [r7, #4]
- 12070 0164 1B68 ldr r3, [r3]
- 12071 0166 DB69 ldr r3, [r3, #28]
- 12072 0168 03F01003 and r3, r3, #16
- 12073 .loc 1 3965 12
- 12074 016c 102B cmp r3, #16
- 12075 016e 03D1 bne .L668
- 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */
- 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
- 12076 .loc 1 3968 11
- 12077 0170 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 305
- 12078 0172 1B68 ldr r3, [r3]
- 12079 0174 1022 movs r2, #16
- 12080 0176 1A62 str r2, [r3, #32]
- 12081 .L668:
- 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c ****
- 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
- 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
- 12082 .loc 1 3976 9
- 12083 0178 7B68 ldr r3, [r7, #4]
- 12084 017a B3F85830 ldrh r3, [r3, #88]
- 12085 017e 1946 mov r1, r3
- 12086 0180 7868 ldr r0, [r7, #4]
- 12087 0182 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */
- 3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/
- 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart);
- 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else
- 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
- 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
- 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else
- 3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** {
- 3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */
- 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
- 3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 12088 .loc 1 3997 1
- 12089 0186 0BE0 b .L669
- 12090 .L664:
- 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 12091 .loc 1 3987 9
- 12092 0188 7868 ldr r0, [r7, #4]
- 12093 018a FFF7FEFF bl HAL_UART_RxCpltCallback
- 12094 .loc 1 3997 1
- 12095 018e 07E0 b .L669
- 12096 .L652:
- 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** }
- 12097 .loc 1 3995 5
- 12098 0190 7B68 ldr r3, [r7, #4]
- 12099 0192 1B68 ldr r3, [r3]
- 12100 0194 9A69 ldr r2, [r3, #24]
- 12101 0196 7B68 ldr r3, [r7, #4]
- 12102 0198 1B68 ldr r3, [r3]
- 12103 019a 42F00802 orr r2, r2, #8
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 306
- 12104 019e 9A61 str r2, [r3, #24]
- 12105 .L669:
- 12106 .loc 1 3997 1
- 12107 01a0 00BF nop
- 12108 01a2 7037 adds r7, r7, #112
- 12109 .LCFI354:
- 12110 .cfi_def_cfa_offset 8
- 12111 01a4 BD46 mov sp, r7
- 12112 .LCFI355:
- 12113 .cfi_def_cfa_register 13
- 12114 @ sp needed
- 12115 01a6 80BD pop {r7, pc}
- 12116 .cfi_endproc
- 12117 .LFE195:
- 12119 .text
- 12120 .Letext0:
- 12121 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
- 12122 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
- 12123 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
- 12124 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
- 12125 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
- 12126 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
- 12127 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart.h"
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 307
- DEFINED SYMBOLS
- *ABS*:00000000 stm32f3xx_hal_uart.c
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:20 .rodata:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:25 .text.HAL_UART_Init:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:31 .text.HAL_UART_Init:00000000 HAL_UART_Init
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:938 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8162 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7426 .text.UART_SetConfig:00000000 UART_SetConfig
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8556 .text.UART_CheckIdleState:00000000 UART_CheckIdleState
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:212 .text.HAL_UART_Init:0000010c $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:222 .text.HAL_HalfDuplex_Init:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:228 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:386 .text.HAL_HalfDuplex_Init:000000e8 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:396 .text.HAL_LIN_Init:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:402 .text.HAL_LIN_Init:00000000 HAL_LIN_Init
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:604 .text.HAL_LIN_Init:00000130 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:614 .text.HAL_MultiProcessor_Init:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:620 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:777 .text.HAL_MultiProcessor_Init:000000ec $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:782 .text.HAL_UART_DeInit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:788 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:980 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:922 .text.HAL_UART_DeInit:000000b8 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:932 .text.HAL_UART_MspInit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:974 .text.HAL_UART_MspDeInit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1016 .text.HAL_UART_Transmit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1022 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8843 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1230 .text.HAL_UART_Receive:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1236 .text.HAL_UART_Receive:00000000 HAL_UART_Receive
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1490 .text.HAL_UART_Transmit_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1496 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1657 .text.HAL_UART_Transmit_IT:000000b4 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11122 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10936 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1663 .text.HAL_UART_Receive_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1669 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9005 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1798 .text.HAL_UART_Transmit_DMA:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:1804 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2003 .text.HAL_UART_Transmit_DMA:000000ec $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9904 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10063 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10461 .text.UART_DMAError:00000000 UART_DMAError
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2010 .text.HAL_UART_Receive_DMA:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2016 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9312 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2145 .text.HAL_UART_DMAPause:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2151 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2426 .text.HAL_UART_DMAResume:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2432 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2698 .text.HAL_UART_DMAStop:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2704 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9598 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9693 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2945 .text.HAL_UART_Abort:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:2951 .text.HAL_UART_Abort:00000000 HAL_UART_Abort
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 308
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3375 .text.HAL_UART_AbortTransmit:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3381 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3571 .text.HAL_UART_AbortReceive:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3577 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3892 .text.HAL_UART_Abort_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:3898 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6183 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4378 .text.HAL_UART_Abort_IT:00000244 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10611 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10709 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4384 .text.HAL_UART_AbortTransmit_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4390 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6225 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4600 .text.HAL_UART_AbortTransmit_IT:000000ec $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10815 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4605 .text.HAL_UART_AbortReceive_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4611 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6267 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4955 .text.HAL_UART_AbortReceive_IT:0000018c $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10867 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4960 .text.HAL_UART_IRQHandler:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:4966 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6141 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5362 .text.HAL_UART_IRQHandler:00000298 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10559 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5366 .text.HAL_UART_IRQHandler:000002a0 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6309 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11310 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5967 .text.HAL_UART_TxCpltCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:5973 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6009 .text.HAL_UART_TxHalfCpltCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6015 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6051 .text.HAL_UART_RxCpltCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6057 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6093 .text.HAL_UART_RxHalfCpltCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6099 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6135 .text.HAL_UART_ErrorCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6177 .text.HAL_UART_AbortCpltCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6219 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6261 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6303 .text.HAL_UARTEx_RxEventCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6347 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6353 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6404 .text.HAL_UART_ReceiverTimeout_Config:00000038 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6409 .text.HAL_UART_EnableReceiverTimeout:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6415 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6497 .text.HAL_UART_DisableReceiverTimeout:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6503 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6585 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6591 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6699 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6705 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6813 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6819 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6863 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:6869 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7033 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 309
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7039 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7203 .text.HAL_LIN_SendBreak:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7209 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7311 .text.HAL_LIN_SendBreak:00000088 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7321 .text.HAL_UART_GetState:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7327 .text.HAL_UART_GetState:00000000 HAL_UART_GetState
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7375 .text.HAL_UART_GetError:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7381 .text.HAL_UART_GetError:00000000 HAL_UART_GetError
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7420 .text.UART_SetConfig:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7668 .text.UART_SetConfig:000001a0 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7672 .text.UART_SetConfig:000001b0 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7801 .text.UART_SetConfig:00000278 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7809 .text.UART_SetConfig:00000290 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7926 .text.UART_SetConfig:00000354 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:7935 .text.UART_SetConfig:00000378 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8038 .text.UART_SetConfig:0000040c $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8047 .text.UART_SetConfig:00000430 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8148 .text.UART_SetConfig:000004b0 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8156 .text.UART_AdvFeatureConfig:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8518 .text.UART_AdvFeatureConfig:00000270 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8525 .text.UART_AdvFeatureConfig:00000280 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8550 .text.UART_CheckIdleState:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8837 .text.UART_WaitOnFlagUntilTimeout:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:8999 .text.UART_Start_Receive_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9300 .text.UART_Start_Receive_IT:00000160 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11768 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11408 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9306 .text.UART_Start_Receive_DMA:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9586 .text.UART_Start_Receive_DMA:00000134 $d
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10107 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10394 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9593 .text.UART_EndTxTransfer:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9688 .text.UART_EndRxTransfer:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:9899 .text.UART_DMATransmitCplt:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10058 .text.UART_DMATxHalfCplt:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10102 .text.UART_DMAReceiveCplt:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10389 .text.UART_DMARxHalfCplt:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10456 .text.UART_DMAError:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10554 .text.UART_DMAAbortOnError:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10606 .text.UART_DMATxAbortCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10704 .text.UART_DMARxAbortCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10810 .text.UART_DMATxOnlyAbortCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10862 .text.UART_DMARxOnlyAbortCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:10931 .text.UART_TxISR_8BIT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11117 .text.UART_TxISR_16BIT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11305 .text.UART_EndTransmit_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11403 .text.UART_RxISR_8BIT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccuidp93.s:11763 .text.UART_RxISR_16BIT:00000000 $t
- UNDEFINED SYMBOLS
- assert_failed
- HAL_GetTick
- HAL_DMA_Start_IT
- HAL_DMA_Abort
- HAL_DMA_GetError
- HAL_DMA_Abort_IT
- HAL_UARTEx_WakeupCallback
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccuidp93.s page 310
- HAL_RCC_GetPCLK1Freq
- HAL_RCC_GetPCLK2Freq
- HAL_RCC_GetSysClockFreq
|