| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923 |
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.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 "stm32f4xx_hal_uart.c"
- 16 .text
- 17 .Ltext0:
- 18 .cfi_sections .debug_frame
- 19 .section .text.HAL_UART_Init,"ax",%progbits
- 20 .align 1
- 21 .global HAL_UART_Init
- 22 .syntax unified
- 23 .thumb
- 24 .thumb_func
- 26 HAL_UART_Init:
- 27 .LFB235:
- 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c"
- 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
- 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @file stm32f4xx_hal_uart.c
- 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @author MCD Application Team
- 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART HAL module driver.
- 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This file provides firmware functions to manage the following
- 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
- 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Initialization and de-initialization functions
- 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + IO operation functions
- 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral Control functions
- 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral State and Errors functions
- 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
- 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @attention
- 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Copyright (c) 2016 STMicroelectronics.
- 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * All rights reserved.
- 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file
- 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * in the root directory of this software component.
- 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
- 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
- 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
- 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
- 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### How to use this driver #####
- 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
- 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The UART HAL driver can be used as follows:
- 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 2
- 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
- 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
- 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) Enable the USARTx interface clock.
- 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) UART pins configuration:
- 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
- 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the UART TX/RX pins as alternate function pull-up.
- 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
- 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
- 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
- 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
- 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
- 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
- 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx stream.
- 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
- 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required
- 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Tx/Rx parameters.
- 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx stream.
- 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
- 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
- 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** interrupt on the DMA Tx/Rx stream.
- 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority and enable the NVIC USART IRQ handle
- 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (used for last byte sending completion detection in DMA non circular mode)
- 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
- 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** flow control and Mode(Receiver/Transmitter) in the huart Init structure.
- 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
- 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_Init() API.
- 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
- 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
- 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the LIN mode, initialize the UART registers by calling the HAL_LIN_Init() API.
- 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the Multi-Processor mode, initialize the UART registers by calling
- 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_MultiProcessor_Init() API.
- 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) The specific UART interrupts (Transmission complete interrupt,
- 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RXNE interrupt and Error Interrupts) will be managed using the macros
- 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit
- 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process.
- 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) These APIs (HAL_UART_Init() and HAL_HalfDuplex_Init()) configure also the
- 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** low level Hardware GPIO, CLOCK, CORTEX...etc) by calling the customized
- 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit() API.
- 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Callback registration #####
- 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==================================
- 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
- 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
- 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 3
- 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks:
- 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
- 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
- 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
- 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
- 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
- 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
- 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
- 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
- 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
- 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
- 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
- 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and a pointer to the user callback function.
- 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default
- 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** weak (surcharged) function.
- 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
- 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the Callback ID.
- 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function allows to reset following callbacks:
- 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
- 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
- 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
- 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
- 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
- 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
- 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
- 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
- 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
- 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
- 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
- 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback().
- 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
- 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions:
- 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback().
- 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
- 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the HAL_UART_Init()
- 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
- 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit()
- 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
- 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
- 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
- 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
- 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
- 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
- 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit()
- 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or HAL_UART_Init() function.
- 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
- 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** not defined, the callback registration feature is not available
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 4
- 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and weak (surcharged) callbacks are used.
- 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Three operation modes are available within this driver :
- 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Polling mode IO operation ***
- 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =================================
- 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in blocking mode using HAL_UART_Transmit()
- 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in blocking mode using HAL_UART_Receive()
- 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Interrupt mode IO operation ***
- 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===================================
- 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode using HAL_UART_Transmit_IT()
- 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
- 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
- 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode using HAL_UART_Receive_IT()
- 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
- 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
- 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
- 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
- 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** DMA mode IO operation ***
- 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================
- 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode (DMA) using HAL_UART_Transmit_DMA()
- 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of half transfer HAL_UART_TxHalfCpltCallback is executed and user ca
- 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxHalfCpltCallback
- 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
- 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
- 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode (DMA) using HAL_UART_Receive_DMA()
- 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of half transfer HAL_UART_RxHalfCpltCallback is executed and user can
- 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxHalfCpltCallback
- 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
- 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
- 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
- 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
- 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Pause the DMA Transfer using HAL_UART_DMAPause()
- 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Resume the DMA Transfer using HAL_UART_DMAResume()
- 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Stop the DMA Transfer using HAL_UART_DMAStop()
- 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] This subsection also provides a set of additional functions providing enhanced reception
- 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** services to user. (For example, these functions allow application to handle use cases
- 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** where number of data to be received is unknown).
- 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Compared to standard reception services which only consider number of received
- 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** data elements as reception completion criteria, these functions also consider additional ev
- 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** as triggers for updating reception status to caller :
- 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Detection of inactivity period (RX line has not been active for a given period).
- 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) RX inactivity detected by IDLE event, i.e. RX line has been in idle state (normally
- 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** for 1 frame time, after last received byte.
- 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two mode of transfer:
- 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The reception is performed in polling mode, until either expected number
- 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or till IDLE event occurs. Reception is handled only during function execution.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 5
- 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When function exits, no data reception could occur. HAL status and number of actually re
- 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** are returned by function after finishing transfer.
- 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The reception is performed using Interrupts or DMA.
- 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** These API's return the HAL status.
- 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the
- 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when using DMA mode.
- 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UARTEx_RxEventCallback() user callback will be executed during Receive process
- 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a reception error is det
- 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API:
- 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle()
- 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with Interrupt:
- 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_IT()
- 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with DMA:
- 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_DMA()
- 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** UART HAL driver macros list ***
- 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================
- 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Below the list of most used macros in UART HAL driver.
- 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE: Enable the UART peripheral
- 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE: Disable the UART peripheral
- 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_FLAG : Check whether the specified UART flag is set or not
- 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_CLEAR_FLAG : Clear the specified UART pending flag
- 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE_IT: Enable the specified UART interrupt
- 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE_IT: Disable the specified UART interrupt
- 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_IT_SOURCE: Check whether the specified UART interrupt has occurred or not
- 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) You can refer to the UART HAL driver header file for more useful macros
- 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
- 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) Additional remark: If the parity is enabled, then the MSB bit of the data written
- 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
- 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
- 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the possible UART frame formats are as listed in the following table:
- 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
- 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | M bit | PCE bit | UART frame |
- 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------------------|---------------------------------------|
- 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 0 | | SB | 8 bit data | STB | |
- 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
- 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 1 | | SB | 7 bit data | PB | STB | |
- 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
- 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 0 | | SB | 9 bit data | STB | |
- 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
- 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 1 | | SB | 8 bit data | PB | STB | |
- 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
- 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
- 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
- 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #include "stm32f4xx_hal.h"
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 6
- 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup STM32F4xx_HAL_Driver
- 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART UART
- 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief HAL UART module driver
- 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
- 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
- 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
- 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Constants
- 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
- 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private macro -------------------------------------------------------------*/
- 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
- 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
- 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions UART Private Functions
- 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart);
- 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
- 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
- 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
- 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
- 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
- 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
- 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
- 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
- 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
- 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
- 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
- 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
- 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart);
- 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart);
- 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart);
- 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
- 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout);
- 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart);
- 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
- 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Exported functions ---------------------------------------------------------*/
- 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
- 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 7
- 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
- 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialization and Configuration functions
- 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
- 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
- 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Initialization and Configuration functions #####
- 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
- 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
- 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in asynchronous mode.
- 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) For the asynchronous mode only these parameters can be configured:
- 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Baud Rate
- 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Word Length
- 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Stop Bit
- 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
- 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
- 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
- 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** please refer to Reference manual for possible UART frame formats.
- 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Hardware flow control
- 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Receiver/transmitter modes
- 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Over Sampling Method
- 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init() and HAL_MultiProcessor_Init() APIs
- 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, LIN and Multi-Processor configurat
- 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** procedures (details for the procedures are available in reference manual
- 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (RM0430 for STM32F4X3xx MCUs and RM0402 for STM32F412xx MCUs
- 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0383 for STM32F411xC/E MCUs and RM0401 for STM32F410xx MCUs
- 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0090 for STM32F4X5xx/STM32F4X7xx/STM32F429xx/STM32F439xx MCUs
- 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0390 for STM32F446xx MCUs and RM0386 for STM32F469xx/STM32F479xx MCUs)).
- 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
- 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the UART mode according to the specified parameters in
- 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the UART_InitTypeDef and create the associated handle.
- 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
- 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 29 .loc 1 358 1
- 30 .cfi_startproc
- 31 @ args = 0, pretend = 0, frame = 8
- 32 @ frame_needed = 1, uses_anonymous_args = 0
- 33 0000 80B5 push {r7, lr}
- 34 .LCFI0:
- 35 .cfi_def_cfa_offset 8
- 36 .cfi_offset 7, -8
- 37 .cfi_offset 14, -4
- 38 0002 82B0 sub sp, sp, #8
- 39 .LCFI1:
- 40 .cfi_def_cfa_offset 16
- 41 0004 00AF add r7, sp, #0
- 42 .LCFI2:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 8
- 43 .cfi_def_cfa_register 7
- 44 0006 7860 str r0, [r7, #4]
- 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
- 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
- 45 .loc 1 360 6
- 46 0008 7B68 ldr r3, [r7, #4]
- 47 000a 002B cmp r3, #0
- 48 000c 01D1 bne .L2
- 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 49 .loc 1 362 12
- 50 000e 0123 movs r3, #1
- 51 0010 3FE0 b .L3
- 52 .L2:
- 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
- 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The hardware flow control is available only for USART1, USART2, USART3 and USART6.
- 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Except for STM32F446xx devices, that is available for USART1, USART2, USART3, USART6, UART4
- 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
- 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
- 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
- 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
- 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 53 .loc 1 381 12
- 54 0012 7B68 ldr r3, [r7, #4]
- 55 0014 93F83D30 ldrb r3, [r3, #61]
- 56 0018 DBB2 uxtb r3, r3
- 57 .loc 1 381 6
- 58 001a 002B cmp r3, #0
- 59 001c 06D1 bne .L4
- 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 60 .loc 1 384 17
- 61 001e 7B68 ldr r3, [r7, #4]
- 62 0020 0022 movs r2, #0
- 63 0022 83F83C20 strb r2, [r3, #60]
- 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 9
- 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
- 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 64 .loc 1 398 5
- 65 0026 7868 ldr r0, [r7, #4]
- 66 0028 FFF7FEFF bl HAL_UART_MspInit
- 67 .L4:
- 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 68 .loc 1 402 17
- 69 002c 7B68 ldr r3, [r7, #4]
- 70 002e 2422 movs r2, #36
- 71 0030 83F83D20 strb r2, [r3, #61]
- 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
- 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 72 .loc 1 405 3
- 73 0034 7B68 ldr r3, [r7, #4]
- 74 0036 1B68 ldr r3, [r3]
- 75 0038 DA68 ldr r2, [r3, #12]
- 76 003a 7B68 ldr r3, [r7, #4]
- 77 003c 1B68 ldr r3, [r3]
- 78 003e 22F40052 bic r2, r2, #8192
- 79 0042 DA60 str r2, [r3, #12]
- 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
- 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
- 80 .loc 1 408 3
- 81 0044 7868 ldr r0, [r7, #4]
- 82 0046 FFF7FEFF bl UART_SetConfig
- 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
- 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
- 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
- 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 83 .loc 1 413 3
- 84 004a 7B68 ldr r3, [r7, #4]
- 85 004c 1B68 ldr r3, [r3]
- 86 004e 1A69 ldr r2, [r3, #16]
- 87 0050 7B68 ldr r3, [r7, #4]
- 88 0052 1B68 ldr r3, [r3]
- 89 0054 22F49042 bic r2, r2, #18432
- 90 0058 1A61 str r2, [r3, #16]
- 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
- 91 .loc 1 414 3
- 92 005a 7B68 ldr r3, [r7, #4]
- 93 005c 1B68 ldr r3, [r3]
- 94 005e 5A69 ldr r2, [r3, #20]
- 95 0060 7B68 ldr r3, [r7, #4]
- 96 0062 1B68 ldr r3, [r3]
- 97 0064 22F02A02 bic r2, r2, #42
- 98 0068 5A61 str r2, [r3, #20]
- 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 10
- 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 99 .loc 1 417 3
- 100 006a 7B68 ldr r3, [r7, #4]
- 101 006c 1B68 ldr r3, [r3]
- 102 006e DA68 ldr r2, [r3, #12]
- 103 0070 7B68 ldr r3, [r7, #4]
- 104 0072 1B68 ldr r3, [r3]
- 105 0074 42F40052 orr r2, r2, #8192
- 106 0078 DA60 str r2, [r3, #12]
- 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
- 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 107 .loc 1 420 20
- 108 007a 7B68 ldr r3, [r7, #4]
- 109 007c 0022 movs r2, #0
- 110 007e 1A64 str r2, [r3, #64]
- 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 111 .loc 1 421 17
- 112 0080 7B68 ldr r3, [r7, #4]
- 113 0082 2022 movs r2, #32
- 114 0084 83F83D20 strb r2, [r3, #61]
- 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 115 .loc 1 422 18
- 116 0088 7B68 ldr r3, [r7, #4]
- 117 008a 2022 movs r2, #32
- 118 008c 83F83E20 strb r2, [r3, #62]
- 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 119 .loc 1 424 10
- 120 0090 0023 movs r3, #0
- 121 .L3:
- 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 122 .loc 1 425 1
- 123 0092 1846 mov r0, r3
- 124 0094 0837 adds r7, r7, #8
- 125 .LCFI3:
- 126 .cfi_def_cfa_offset 8
- 127 0096 BD46 mov sp, r7
- 128 .LCFI4:
- 129 .cfi_def_cfa_register 13
- 130 @ sp needed
- 131 0098 80BD pop {r7, pc}
- 132 .cfi_endproc
- 133 .LFE235:
- 135 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
- 136 .align 1
- 137 .global HAL_HalfDuplex_Init
- 138 .syntax unified
- 139 .thumb
- 140 .thumb_func
- 142 HAL_HalfDuplex_Init:
- 143 .LFB236:
- 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the half-duplex mode according to the specified
- 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
- 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 11
- 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
- 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 144 .loc 1 435 1
- 145 .cfi_startproc
- 146 @ args = 0, pretend = 0, frame = 8
- 147 @ frame_needed = 1, uses_anonymous_args = 0
- 148 0000 80B5 push {r7, lr}
- 149 .LCFI5:
- 150 .cfi_def_cfa_offset 8
- 151 .cfi_offset 7, -8
- 152 .cfi_offset 14, -4
- 153 0002 82B0 sub sp, sp, #8
- 154 .LCFI6:
- 155 .cfi_def_cfa_offset 16
- 156 0004 00AF add r7, sp, #0
- 157 .LCFI7:
- 158 .cfi_def_cfa_register 7
- 159 0006 7860 str r0, [r7, #4]
- 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
- 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
- 160 .loc 1 437 6
- 161 0008 7B68 ldr r3, [r7, #4]
- 162 000a 002B cmp r3, #0
- 163 000c 01D1 bne .L6
- 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 164 .loc 1 439 12
- 165 000e 0123 movs r3, #1
- 166 0010 47E0 b .L7
- 167 .L6:
- 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
- 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
- 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
- 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 168 .loc 1 447 12
- 169 0012 7B68 ldr r3, [r7, #4]
- 170 0014 93F83D30 ldrb r3, [r3, #61]
- 171 0018 DBB2 uxtb r3, r3
- 172 .loc 1 447 6
- 173 001a 002B cmp r3, #0
- 174 001c 06D1 bne .L8
- 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 175 .loc 1 450 17
- 176 001e 7B68 ldr r3, [r7, #4]
- 177 0020 0022 movs r2, #0
- 178 0022 83F83C20 strb r2, [r3, #60]
- 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 12
- 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
- 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
- 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 179 .loc 1 464 5
- 180 0026 7868 ldr r0, [r7, #4]
- 181 0028 FFF7FEFF bl HAL_UART_MspInit
- 182 .L8:
- 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 183 .loc 1 468 17
- 184 002c 7B68 ldr r3, [r7, #4]
- 185 002e 2422 movs r2, #36
- 186 0030 83F83D20 strb r2, [r3, #61]
- 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
- 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 187 .loc 1 471 3
- 188 0034 7B68 ldr r3, [r7, #4]
- 189 0036 1B68 ldr r3, [r3]
- 190 0038 DA68 ldr r2, [r3, #12]
- 191 003a 7B68 ldr r3, [r7, #4]
- 192 003c 1B68 ldr r3, [r3]
- 193 003e 22F40052 bic r2, r2, #8192
- 194 0042 DA60 str r2, [r3, #12]
- 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
- 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
- 195 .loc 1 474 3
- 196 0044 7868 ldr r0, [r7, #4]
- 197 0046 FFF7FEFF bl UART_SetConfig
- 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
- 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
- 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
- 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 198 .loc 1 479 3
- 199 004a 7B68 ldr r3, [r7, #4]
- 200 004c 1B68 ldr r3, [r3]
- 201 004e 1A69 ldr r2, [r3, #16]
- 202 0050 7B68 ldr r3, [r7, #4]
- 203 0052 1B68 ldr r3, [r3]
- 204 0054 22F49042 bic r2, r2, #18432
- 205 0058 1A61 str r2, [r3, #16]
- 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
- 206 .loc 1 480 3
- 207 005a 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 13
- 208 005c 1B68 ldr r3, [r3]
- 209 005e 5A69 ldr r2, [r3, #20]
- 210 0060 7B68 ldr r3, [r7, #4]
- 211 0062 1B68 ldr r3, [r3]
- 212 0064 22F02202 bic r2, r2, #34
- 213 0068 5A61 str r2, [r3, #20]
- 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
- 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
- 214 .loc 1 483 3
- 215 006a 7B68 ldr r3, [r7, #4]
- 216 006c 1B68 ldr r3, [r3]
- 217 006e 5A69 ldr r2, [r3, #20]
- 218 0070 7B68 ldr r3, [r7, #4]
- 219 0072 1B68 ldr r3, [r3]
- 220 0074 42F00802 orr r2, r2, #8
- 221 0078 5A61 str r2, [r3, #20]
- 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
- 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 222 .loc 1 486 3
- 223 007a 7B68 ldr r3, [r7, #4]
- 224 007c 1B68 ldr r3, [r3]
- 225 007e DA68 ldr r2, [r3, #12]
- 226 0080 7B68 ldr r3, [r7, #4]
- 227 0082 1B68 ldr r3, [r3]
- 228 0084 42F40052 orr r2, r2, #8192
- 229 0088 DA60 str r2, [r3, #12]
- 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
- 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 230 .loc 1 489 20
- 231 008a 7B68 ldr r3, [r7, #4]
- 232 008c 0022 movs r2, #0
- 233 008e 1A64 str r2, [r3, #64]
- 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 234 .loc 1 490 17
- 235 0090 7B68 ldr r3, [r7, #4]
- 236 0092 2022 movs r2, #32
- 237 0094 83F83D20 strb r2, [r3, #61]
- 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 238 .loc 1 491 18
- 239 0098 7B68 ldr r3, [r7, #4]
- 240 009a 2022 movs r2, #32
- 241 009c 83F83E20 strb r2, [r3, #62]
- 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 242 .loc 1 493 10
- 243 00a0 0023 movs r3, #0
- 244 .L7:
- 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 245 .loc 1 494 1
- 246 00a2 1846 mov r0, r3
- 247 00a4 0837 adds r7, r7, #8
- 248 .LCFI8:
- 249 .cfi_def_cfa_offset 8
- 250 00a6 BD46 mov sp, r7
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 14
- 251 .LCFI9:
- 252 .cfi_def_cfa_register 13
- 253 @ sp needed
- 254 00a8 80BD pop {r7, pc}
- 255 .cfi_endproc
- 256 .LFE236:
- 258 .section .text.HAL_LIN_Init,"ax",%progbits
- 259 .align 1
- 260 .global HAL_LIN_Init
- 261 .syntax unified
- 262 .thumb
- 263 .thumb_func
- 265 HAL_LIN_Init:
- 266 .LFB237:
- 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the LIN mode according to the specified
- 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
- 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
- 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
- 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection
- 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection
- 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
- 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 267 .loc 1 508 1
- 268 .cfi_startproc
- 269 @ args = 0, pretend = 0, frame = 8
- 270 @ frame_needed = 1, uses_anonymous_args = 0
- 271 0000 80B5 push {r7, lr}
- 272 .LCFI10:
- 273 .cfi_def_cfa_offset 8
- 274 .cfi_offset 7, -8
- 275 .cfi_offset 14, -4
- 276 0002 82B0 sub sp, sp, #8
- 277 .LCFI11:
- 278 .cfi_def_cfa_offset 16
- 279 0004 00AF add r7, sp, #0
- 280 .LCFI12:
- 281 .cfi_def_cfa_register 7
- 282 0006 7860 str r0, [r7, #4]
- 283 0008 3960 str r1, [r7]
- 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
- 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
- 284 .loc 1 510 6
- 285 000a 7B68 ldr r3, [r7, #4]
- 286 000c 002B cmp r3, #0
- 287 000e 01D1 bne .L10
- 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 288 .loc 1 512 12
- 289 0010 0123 movs r3, #1
- 290 0012 57E0 b .L11
- 291 .L10:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 15
- 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the LIN UART instance */
- 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
- 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Break detection length parameter */
- 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
- 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
- 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
- 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 292 .loc 1 523 12
- 293 0014 7B68 ldr r3, [r7, #4]
- 294 0016 93F83D30 ldrb r3, [r3, #61]
- 295 001a DBB2 uxtb r3, r3
- 296 .loc 1 523 6
- 297 001c 002B cmp r3, #0
- 298 001e 06D1 bne .L12
- 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 299 .loc 1 526 17
- 300 0020 7B68 ldr r3, [r7, #4]
- 301 0022 0022 movs r2, #0
- 302 0024 83F83C20 strb r2, [r3, #60]
- 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
- 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
- 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 303 .loc 1 540 5
- 304 0028 7868 ldr r0, [r7, #4]
- 305 002a FFF7FEFF bl HAL_UART_MspInit
- 306 .L12:
- 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 307 .loc 1 544 17
- 308 002e 7B68 ldr r3, [r7, #4]
- 309 0030 2422 movs r2, #36
- 310 0032 83F83D20 strb r2, [r3, #61]
- 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
- 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 311 .loc 1 547 3
- 312 0036 7B68 ldr r3, [r7, #4]
- 313 0038 1B68 ldr r3, [r3]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 16
- 314 003a DA68 ldr r2, [r3, #12]
- 315 003c 7B68 ldr r3, [r7, #4]
- 316 003e 1B68 ldr r3, [r3]
- 317 0040 22F40052 bic r2, r2, #8192
- 318 0044 DA60 str r2, [r3, #12]
- 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
- 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
- 319 .loc 1 550 3
- 320 0046 7868 ldr r0, [r7, #4]
- 321 0048 FFF7FEFF bl UART_SetConfig
- 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
- 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - CLKEN bits in the USART_CR2 register,
- 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
- 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_CLKEN));
- 322 .loc 1 555 3
- 323 004c 7B68 ldr r3, [r7, #4]
- 324 004e 1B68 ldr r3, [r3]
- 325 0050 1A69 ldr r2, [r3, #16]
- 326 0052 7B68 ldr r3, [r7, #4]
- 327 0054 1B68 ldr r3, [r3]
- 328 0056 22F40062 bic r2, r2, #2048
- 329 005a 1A61 str r2, [r3, #16]
- 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
- 330 .loc 1 556 3
- 331 005c 7B68 ldr r3, [r7, #4]
- 332 005e 1B68 ldr r3, [r3]
- 333 0060 5A69 ldr r2, [r3, #20]
- 334 0062 7B68 ldr r3, [r7, #4]
- 335 0064 1B68 ldr r3, [r3]
- 336 0066 22F02A02 bic r2, r2, #42
- 337 006a 5A61 str r2, [r3, #20]
- 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
- 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
- 338 .loc 1 559 3
- 339 006c 7B68 ldr r3, [r7, #4]
- 340 006e 1B68 ldr r3, [r3]
- 341 0070 1A69 ldr r2, [r3, #16]
- 342 0072 7B68 ldr r3, [r7, #4]
- 343 0074 1B68 ldr r3, [r3]
- 344 0076 42F48042 orr r2, r2, #16384
- 345 007a 1A61 str r2, [r3, #16]
- 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
- 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_LBDL);
- 346 .loc 1 562 3
- 347 007c 7B68 ldr r3, [r7, #4]
- 348 007e 1B68 ldr r3, [r3]
- 349 0080 1A69 ldr r2, [r3, #16]
- 350 0082 7B68 ldr r3, [r7, #4]
- 351 0084 1B68 ldr r3, [r3]
- 352 0086 22F02002 bic r2, r2, #32
- 353 008a 1A61 str r2, [r3, #16]
- 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
- 354 .loc 1 563 3
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 17
- 355 008c 7B68 ldr r3, [r7, #4]
- 356 008e 1B68 ldr r3, [r3]
- 357 0090 1969 ldr r1, [r3, #16]
- 358 0092 7B68 ldr r3, [r7, #4]
- 359 0094 1B68 ldr r3, [r3]
- 360 0096 3A68 ldr r2, [r7]
- 361 0098 0A43 orrs r2, r2, r1
- 362 009a 1A61 str r2, [r3, #16]
- 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
- 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 363 .loc 1 566 3
- 364 009c 7B68 ldr r3, [r7, #4]
- 365 009e 1B68 ldr r3, [r3]
- 366 00a0 DA68 ldr r2, [r3, #12]
- 367 00a2 7B68 ldr r3, [r7, #4]
- 368 00a4 1B68 ldr r3, [r3]
- 369 00a6 42F40052 orr r2, r2, #8192
- 370 00aa DA60 str r2, [r3, #12]
- 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
- 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 371 .loc 1 569 20
- 372 00ac 7B68 ldr r3, [r7, #4]
- 373 00ae 0022 movs r2, #0
- 374 00b0 1A64 str r2, [r3, #64]
- 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 375 .loc 1 570 17
- 376 00b2 7B68 ldr r3, [r7, #4]
- 377 00b4 2022 movs r2, #32
- 378 00b6 83F83D20 strb r2, [r3, #61]
- 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 379 .loc 1 571 18
- 380 00ba 7B68 ldr r3, [r7, #4]
- 381 00bc 2022 movs r2, #32
- 382 00be 83F83E20 strb r2, [r3, #62]
- 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 383 .loc 1 573 10
- 384 00c2 0023 movs r3, #0
- 385 .L11:
- 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 386 .loc 1 574 1
- 387 00c4 1846 mov r0, r3
- 388 00c6 0837 adds r7, r7, #8
- 389 .LCFI13:
- 390 .cfi_def_cfa_offset 8
- 391 00c8 BD46 mov sp, r7
- 392 .LCFI14:
- 393 .cfi_def_cfa_register 13
- 394 @ sp needed
- 395 00ca 80BD pop {r7, pc}
- 396 .cfi_endproc
- 397 .LFE237:
- 399 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
- 400 .align 1
- 401 .global HAL_MultiProcessor_Init
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 18
- 402 .syntax unified
- 403 .thumb
- 404 .thumb_func
- 406 HAL_MultiProcessor_Init:
- 407 .LFB238:
- 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the Multi-Processor mode according to the specified
- 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
- 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Address USART address
- 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param WakeUpMethod specifies the USART wake-up method.
- 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
- 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_IDLELINE: Wake-up by an idle line detection
- 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_ADDRESSMARK: Wake-up by an address mark
- 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
- 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 408 .loc 1 589 1
- 409 .cfi_startproc
- 410 @ args = 0, pretend = 0, frame = 16
- 411 @ frame_needed = 1, uses_anonymous_args = 0
- 412 0000 80B5 push {r7, lr}
- 413 .LCFI15:
- 414 .cfi_def_cfa_offset 8
- 415 .cfi_offset 7, -8
- 416 .cfi_offset 14, -4
- 417 0002 84B0 sub sp, sp, #16
- 418 .LCFI16:
- 419 .cfi_def_cfa_offset 24
- 420 0004 00AF add r7, sp, #0
- 421 .LCFI17:
- 422 .cfi_def_cfa_register 7
- 423 0006 F860 str r0, [r7, #12]
- 424 0008 0B46 mov r3, r1
- 425 000a 7A60 str r2, [r7, #4]
- 426 000c FB72 strb r3, [r7, #11]
- 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
- 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
- 427 .loc 1 591 6
- 428 000e FB68 ldr r3, [r7, #12]
- 429 0010 002B cmp r3, #0
- 430 0012 01D1 bne .L14
- 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 431 .loc 1 593 12
- 432 0014 0123 movs r3, #1
- 433 0016 5FE0 b .L15
- 434 .L14:
- 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Address & wake up method parameters */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 19
- 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
- 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
- 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
- 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
- 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
- 435 .loc 1 605 12
- 436 0018 FB68 ldr r3, [r7, #12]
- 437 001a 93F83D30 ldrb r3, [r3, #61]
- 438 001e DBB2 uxtb r3, r3
- 439 .loc 1 605 6
- 440 0020 002B cmp r3, #0
- 441 0022 06D1 bne .L16
- 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
- 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
- 442 .loc 1 608 17
- 443 0024 FB68 ldr r3, [r7, #12]
- 444 0026 0022 movs r2, #0
- 445 0028 83F83C20 strb r2, [r3, #60]
- 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
- 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
- 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
- 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
- 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
- 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
- 446 .loc 1 622 5
- 447 002c F868 ldr r0, [r7, #12]
- 448 002e FFF7FEFF bl HAL_UART_MspInit
- 449 .L16:
- 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 450 .loc 1 626 17
- 451 0032 FB68 ldr r3, [r7, #12]
- 452 0034 2422 movs r2, #36
- 453 0036 83F83D20 strb r2, [r3, #61]
- 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
- 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 454 .loc 1 629 3
- 455 003a FB68 ldr r3, [r7, #12]
- 456 003c 1B68 ldr r3, [r3]
- 457 003e DA68 ldr r2, [r3, #12]
- 458 0040 FB68 ldr r3, [r7, #12]
- 459 0042 1B68 ldr r3, [r3]
- 460 0044 22F40052 bic r2, r2, #8192
- 461 0048 DA60 str r2, [r3, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 20
- 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
- 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
- 462 .loc 1 632 3
- 463 004a F868 ldr r0, [r7, #12]
- 464 004c FFF7FEFF bl UART_SetConfig
- 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Multi-Processor mode, the following bits must be kept cleared:
- 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
- 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register */
- 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 465 .loc 1 637 3
- 466 0050 FB68 ldr r3, [r7, #12]
- 467 0052 1B68 ldr r3, [r3]
- 468 0054 1A69 ldr r2, [r3, #16]
- 469 0056 FB68 ldr r3, [r7, #12]
- 470 0058 1B68 ldr r3, [r3]
- 471 005a 22F49042 bic r2, r2, #18432
- 472 005e 1A61 str r2, [r3, #16]
- 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
- 473 .loc 1 638 3
- 474 0060 FB68 ldr r3, [r7, #12]
- 475 0062 1B68 ldr r3, [r3]
- 476 0064 5A69 ldr r2, [r3, #20]
- 477 0066 FB68 ldr r3, [r7, #12]
- 478 0068 1B68 ldr r3, [r3]
- 479 006a 22F02A02 bic r2, r2, #42
- 480 006e 5A61 str r2, [r3, #20]
- 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART address node */
- 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_ADD);
- 481 .loc 1 641 3
- 482 0070 FB68 ldr r3, [r7, #12]
- 483 0072 1B68 ldr r3, [r3]
- 484 0074 1A69 ldr r2, [r3, #16]
- 485 0076 FB68 ldr r3, [r7, #12]
- 486 0078 1B68 ldr r3, [r3]
- 487 007a 22F00F02 bic r2, r2, #15
- 488 007e 1A61 str r2, [r3, #16]
- 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
- 489 .loc 1 642 3
- 490 0080 FB68 ldr r3, [r7, #12]
- 491 0082 1B68 ldr r3, [r3]
- 492 0084 1969 ldr r1, [r3, #16]
- 493 0086 FA7A ldrb r2, [r7, #11] @ zero_extendqisi2
- 494 0088 FB68 ldr r3, [r7, #12]
- 495 008a 1B68 ldr r3, [r3]
- 496 008c 0A43 orrs r2, r2, r1
- 497 008e 1A61 str r2, [r3, #16]
- 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
- 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_WAKE);
- 498 .loc 1 645 3
- 499 0090 FB68 ldr r3, [r7, #12]
- 500 0092 1B68 ldr r3, [r3]
- 501 0094 DA68 ldr r2, [r3, #12]
- 502 0096 FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 21
- 503 0098 1B68 ldr r3, [r3]
- 504 009a 22F40062 bic r2, r2, #2048
- 505 009e DA60 str r2, [r3, #12]
- 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
- 506 .loc 1 646 3
- 507 00a0 FB68 ldr r3, [r7, #12]
- 508 00a2 1B68 ldr r3, [r3]
- 509 00a4 D968 ldr r1, [r3, #12]
- 510 00a6 FB68 ldr r3, [r7, #12]
- 511 00a8 1B68 ldr r3, [r3]
- 512 00aa 7A68 ldr r2, [r7, #4]
- 513 00ac 0A43 orrs r2, r2, r1
- 514 00ae DA60 str r2, [r3, #12]
- 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
- 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
- 515 .loc 1 649 3
- 516 00b0 FB68 ldr r3, [r7, #12]
- 517 00b2 1B68 ldr r3, [r3]
- 518 00b4 DA68 ldr r2, [r3, #12]
- 519 00b6 FB68 ldr r3, [r7, #12]
- 520 00b8 1B68 ldr r3, [r3]
- 521 00ba 42F40052 orr r2, r2, #8192
- 522 00be DA60 str r2, [r3, #12]
- 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
- 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 523 .loc 1 652 20
- 524 00c0 FB68 ldr r3, [r7, #12]
- 525 00c2 0022 movs r2, #0
- 526 00c4 1A64 str r2, [r3, #64]
- 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 527 .loc 1 653 17
- 528 00c6 FB68 ldr r3, [r7, #12]
- 529 00c8 2022 movs r2, #32
- 530 00ca 83F83D20 strb r2, [r3, #61]
- 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 531 .loc 1 654 18
- 532 00ce FB68 ldr r3, [r7, #12]
- 533 00d0 2022 movs r2, #32
- 534 00d2 83F83E20 strb r2, [r3, #62]
- 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 535 .loc 1 656 10
- 536 00d6 0023 movs r3, #0
- 537 .L15:
- 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 538 .loc 1 657 1
- 539 00d8 1846 mov r0, r3
- 540 00da 1037 adds r7, r7, #16
- 541 .LCFI18:
- 542 .cfi_def_cfa_offset 8
- 543 00dc BD46 mov sp, r7
- 544 .LCFI19:
- 545 .cfi_def_cfa_register 13
- 546 @ sp needed
- 547 00de 80BD pop {r7, pc}
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 22
- 548 .cfi_endproc
- 549 .LFE238:
- 551 .section .text.HAL_UART_DeInit,"ax",%progbits
- 552 .align 1
- 553 .global HAL_UART_DeInit
- 554 .syntax unified
- 555 .thumb
- 556 .thumb_func
- 558 HAL_UART_DeInit:
- 559 .LFB239:
- 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DeInitializes the UART peripheral.
- 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
- 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 560 .loc 1 666 1
- 561 .cfi_startproc
- 562 @ args = 0, pretend = 0, frame = 8
- 563 @ frame_needed = 1, uses_anonymous_args = 0
- 564 0000 80B5 push {r7, lr}
- 565 .LCFI20:
- 566 .cfi_def_cfa_offset 8
- 567 .cfi_offset 7, -8
- 568 .cfi_offset 14, -4
- 569 0002 82B0 sub sp, sp, #8
- 570 .LCFI21:
- 571 .cfi_def_cfa_offset 16
- 572 0004 00AF add r7, sp, #0
- 573 .LCFI22:
- 574 .cfi_def_cfa_register 7
- 575 0006 7860 str r0, [r7, #4]
- 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
- 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
- 576 .loc 1 668 6
- 577 0008 7B68 ldr r3, [r7, #4]
- 578 000a 002B cmp r3, #0
- 579 000c 01D1 bne .L18
- 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 580 .loc 1 670 12
- 581 000e 0123 movs r3, #1
- 582 0010 21E0 b .L19
- 583 .L18:
- 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 584 .loc 1 676 17
- 585 0012 7B68 ldr r3, [r7, #4]
- 586 0014 2422 movs r2, #36
- 587 0016 83F83D20 strb r2, [r3, #61]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 23
- 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the Peripheral */
- 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
- 588 .loc 1 679 3
- 589 001a 7B68 ldr r3, [r7, #4]
- 590 001c 1B68 ldr r3, [r3]
- 591 001e DA68 ldr r2, [r3, #12]
- 592 0020 7B68 ldr r3, [r7, #4]
- 593 0022 1B68 ldr r3, [r3]
- 594 0024 22F40052 bic r2, r2, #8192
- 595 0028 DA60 str r2, [r3, #12]
- 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
- 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
- 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
- 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback(huart);
- 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
- 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
- 596 .loc 1 690 3
- 597 002a 7868 ldr r0, [r7, #4]
- 598 002c FFF7FEFF bl HAL_UART_MspDeInit
- 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
- 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 599 .loc 1 693 20
- 600 0030 7B68 ldr r3, [r7, #4]
- 601 0032 0022 movs r2, #0
- 602 0034 1A64 str r2, [r3, #64]
- 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
- 603 .loc 1 694 17
- 604 0036 7B68 ldr r3, [r7, #4]
- 605 0038 0022 movs r2, #0
- 606 003a 83F83D20 strb r2, [r3, #61]
- 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
- 607 .loc 1 695 18
- 608 003e 7B68 ldr r3, [r7, #4]
- 609 0040 0022 movs r2, #0
- 610 0042 83F83E20 strb r2, [r3, #62]
- 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 611 .loc 1 696 24
- 612 0046 7B68 ldr r3, [r7, #4]
- 613 0048 0022 movs r2, #0
- 614 004a 1A63 str r2, [r3, #48]
- 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlock */
- 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 615 .loc 1 699 3
- 616 004c 7B68 ldr r3, [r7, #4]
- 617 004e 0022 movs r2, #0
- 618 0050 83F83C20 strb r2, [r3, #60]
- 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 619 .loc 1 701 10
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 24
- 620 0054 0023 movs r3, #0
- 621 .L19:
- 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 622 .loc 1 702 1
- 623 0056 1846 mov r0, r3
- 624 0058 0837 adds r7, r7, #8
- 625 .LCFI23:
- 626 .cfi_def_cfa_offset 8
- 627 005a BD46 mov sp, r7
- 628 .LCFI24:
- 629 .cfi_def_cfa_register 13
- 630 @ sp needed
- 631 005c 80BD pop {r7, pc}
- 632 .cfi_endproc
- 633 .LFE239:
- 635 .section .text.HAL_UART_MspInit,"ax",%progbits
- 636 .align 1
- 637 .weak HAL_UART_MspInit
- 638 .syntax unified
- 639 .thumb
- 640 .thumb_func
- 642 HAL_UART_MspInit:
- 643 .LFB240:
- 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP Init.
- 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
- 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 644 .loc 1 711 1
- 645 .cfi_startproc
- 646 @ args = 0, pretend = 0, frame = 8
- 647 @ frame_needed = 1, uses_anonymous_args = 0
- 648 @ link register save eliminated.
- 649 0000 80B4 push {r7}
- 650 .LCFI25:
- 651 .cfi_def_cfa_offset 4
- 652 .cfi_offset 7, -4
- 653 0002 83B0 sub sp, sp, #12
- 654 .LCFI26:
- 655 .cfi_def_cfa_offset 16
- 656 0004 00AF add r7, sp, #0
- 657 .LCFI27:
- 658 .cfi_def_cfa_register 7
- 659 0006 7860 str r0, [r7, #4]
- 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspInit could be implemented in the user file
- 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 660 .loc 1 717 1
- 661 0008 00BF nop
- 662 000a 0C37 adds r7, r7, #12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 25
- 663 .LCFI28:
- 664 .cfi_def_cfa_offset 4
- 665 000c BD46 mov sp, r7
- 666 .LCFI29:
- 667 .cfi_def_cfa_register 13
- 668 @ sp needed
- 669 000e 5DF8047B ldr r7, [sp], #4
- 670 .LCFI30:
- 671 .cfi_restore 7
- 672 .cfi_def_cfa_offset 0
- 673 0012 7047 bx lr
- 674 .cfi_endproc
- 675 .LFE240:
- 677 .section .text.HAL_UART_MspDeInit,"ax",%progbits
- 678 .align 1
- 679 .weak HAL_UART_MspDeInit
- 680 .syntax unified
- 681 .thumb
- 682 .thumb_func
- 684 HAL_UART_MspDeInit:
- 685 .LFB241:
- 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP DeInit.
- 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
- 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 686 .loc 1 726 1
- 687 .cfi_startproc
- 688 @ args = 0, pretend = 0, frame = 8
- 689 @ frame_needed = 1, uses_anonymous_args = 0
- 690 @ link register save eliminated.
- 691 0000 80B4 push {r7}
- 692 .LCFI31:
- 693 .cfi_def_cfa_offset 4
- 694 .cfi_offset 7, -4
- 695 0002 83B0 sub sp, sp, #12
- 696 .LCFI32:
- 697 .cfi_def_cfa_offset 16
- 698 0004 00AF add r7, sp, #0
- 699 .LCFI33:
- 700 .cfi_def_cfa_register 7
- 701 0006 7860 str r0, [r7, #4]
- 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspDeInit could be implemented in the user file
- 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 702 .loc 1 732 1
- 703 0008 00BF nop
- 704 000a 0C37 adds r7, r7, #12
- 705 .LCFI34:
- 706 .cfi_def_cfa_offset 4
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 26
- 707 000c BD46 mov sp, r7
- 708 .LCFI35:
- 709 .cfi_def_cfa_register 13
- 710 @ sp needed
- 711 000e 5DF8047B ldr r7, [sp], #4
- 712 .LCFI36:
- 713 .cfi_restore 7
- 714 .cfi_def_cfa_offset 0
- 715 0012 7047 bx lr
- 716 .cfi_endproc
- 717 .LFE241:
- 719 .section .text.HAL_UART_Transmit,"ax",%progbits
- 720 .align 1
- 721 .global HAL_UART_Transmit
- 722 .syntax unified
- 723 .thumb
- 724 .thumb_func
- 726 HAL_UART_Transmit:
- 727 .LFB242:
- 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Callback
- 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback
- 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
- 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
- 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
- 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
- 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
- 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
- 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
- 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
- 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
- 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
- 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
- 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
- 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
- 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback pointer to the Callback function
- 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
- 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
- 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
- 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
- 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
- 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 27
- 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
- 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
- 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
- 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
- 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
- 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
- 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
- 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
- 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
- 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
- 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = pCallback;
- 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
- 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
- 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
- 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
- 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
- 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
- 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
- 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
- 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
- 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
- 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
- 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
- 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
- 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 28
- 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
- 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
- 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
- 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
- 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
- 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
- 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
- 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
- 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Unregister an UART Callback
- 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
- 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
- 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
- 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
- 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
- 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
- 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
- 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
- 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
- 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
- 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
- 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
- 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
- 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
- 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
- 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
- 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
- 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 29
- 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
- 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
- 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
- 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
- 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
- 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
- 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
- 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
- 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
- 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
- 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
- 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
- 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
- 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
- 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort
- 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
- 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak Abort
- 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
- 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
- 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
- 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
- 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
- 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
- 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
- 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
- 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 30
- 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
- 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
- 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
- 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
- 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
- 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
- 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
- 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
- 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
- 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
- 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
- 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback
- 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle
- 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
- 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
- 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
- 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
- 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = pCallback;
- 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 31
- 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
- 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
- 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
- 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
- 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle
- 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
- 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
- 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
- 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
- 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
- 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
- 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
- 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
- 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
- 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Transmit and Receive functions
- 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
- 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
- 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### IO operation functions #####
- 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
- 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
- 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and Half duplex data transfers.
- 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two modes of transfer:
- 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 32
- 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
- 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** after finishing transfer.
- 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
- 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or DMA, these API's return the HAL status.
- 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the
- 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
- 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using DMA mode.
- 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
- 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will be executed respectively at the end of the transmit or receive process
- 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
- 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API's are :
- 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit()
- 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive()
- 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
- 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
- 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
- 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
- 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
- 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
- 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
- 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAPause()
- 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAResume()
- 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAStop()
- 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
- 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
- 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
- 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
- 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
- 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
- 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
- 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort()
- 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
- 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
- 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
- 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
- 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
- 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
- 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
- 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
- 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
- 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
- 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
- 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
- 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Errors are handled as follows :
- 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
- 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte
- 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
- 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART
- 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 33
- 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
- 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
- 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use
- 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
- 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
- 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
- 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in blocking mode.
- 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
- 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
- 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
- 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
- 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size,
- 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 728 .loc 1 1137 1
- 729 .cfi_startproc
- 730 @ args = 0, pretend = 0, frame = 32
- 731 @ frame_needed = 1, uses_anonymous_args = 0
- 732 0000 80B5 push {r7, lr}
- 733 .LCFI37:
- 734 .cfi_def_cfa_offset 8
- 735 .cfi_offset 7, -8
- 736 .cfi_offset 14, -4
- 737 0002 8AB0 sub sp, sp, #40
- 738 .LCFI38:
- 739 .cfi_def_cfa_offset 48
- 740 0004 02AF add r7, sp, #8
- 741 .LCFI39:
- 742 .cfi_def_cfa 7, 40
- 743 0006 F860 str r0, [r7, #12]
- 744 0008 B960 str r1, [r7, #8]
- 745 000a 3B60 str r3, [r7]
- 746 000c 1346 mov r3, r2 @ movhi
- 747 000e FB80 strh r3, [r7, #6] @ movhi
- 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits;
- 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *pdata16bits;
- 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
- 748 .loc 1 1140 12
- 749 0010 0023 movs r3, #0
- 750 0012 7B61 str r3, [r7, #20]
- 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
- 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 751 .loc 1 1143 12
- 752 0014 FB68 ldr r3, [r7, #12]
- 753 0016 93F83D30 ldrb r3, [r3, #61]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 34
- 754 001a DBB2 uxtb r3, r3
- 755 .loc 1 1143 6
- 756 001c 202B cmp r3, #32
- 757 001e 7CD1 bne .L23
- 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 758 .loc 1 1145 8
- 759 0020 BB68 ldr r3, [r7, #8]
- 760 0022 002B cmp r3, #0
- 761 0024 02D0 beq .L24
- 762 .loc 1 1145 25 discriminator 1
- 763 0026 FB88 ldrh r3, [r7, #6]
- 764 0028 002B cmp r3, #0
- 765 002a 01D1 bne .L25
- 766 .L24:
- 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 767 .loc 1 1147 15
- 768 002c 0123 movs r3, #1
- 769 002e 75E0 b .L26
- 770 .L25:
- 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 771 .loc 1 1151 5
- 772 0030 FB68 ldr r3, [r7, #12]
- 773 0032 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 774 0036 012B cmp r3, #1
- 775 0038 01D1 bne .L27
- 776 .loc 1 1151 5 is_stmt 0 discriminator 1
- 777 003a 0223 movs r3, #2
- 778 003c 6EE0 b .L26
- 779 .L27:
- 780 .loc 1 1151 5 discriminator 2
- 781 003e FB68 ldr r3, [r7, #12]
- 782 0040 0122 movs r2, #1
- 783 0042 83F83C20 strb r2, [r3, #60]
- 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 784 .loc 1 1153 22 is_stmt 1 discriminator 2
- 785 0046 FB68 ldr r3, [r7, #12]
- 786 0048 0022 movs r2, #0
- 787 004a 1A64 str r2, [r3, #64]
- 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
- 788 .loc 1 1154 19 discriminator 2
- 789 004c FB68 ldr r3, [r7, #12]
- 790 004e 2122 movs r2, #33
- 791 0050 83F83D20 strb r2, [r3, #61]
- 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
- 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
- 792 .loc 1 1157 17 discriminator 2
- 793 0054 FFF7FEFF bl HAL_GetTick
- 794 0058 7861 str r0, [r7, #20]
- 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 35
- 795 .loc 1 1159 23 discriminator 2
- 796 005a FB68 ldr r3, [r7, #12]
- 797 005c FA88 ldrh r2, [r7, #6] @ movhi
- 798 005e 9A84 strh r2, [r3, #36] @ movhi
- 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
- 799 .loc 1 1160 24 discriminator 2
- 800 0060 FB68 ldr r3, [r7, #12]
- 801 0062 FA88 ldrh r2, [r7, #6] @ movhi
- 802 0064 DA84 strh r2, [r3, #38] @ movhi
- 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
- 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 803 .loc 1 1163 21 discriminator 2
- 804 0066 FB68 ldr r3, [r7, #12]
- 805 0068 9B68 ldr r3, [r3, #8]
- 806 .loc 1 1163 8 discriminator 2
- 807 006a B3F5805F cmp r3, #4096
- 808 006e 08D1 bne .L28
- 809 .loc 1 1163 71 discriminator 1
- 810 0070 FB68 ldr r3, [r7, #12]
- 811 0072 1B69 ldr r3, [r3, #16]
- 812 .loc 1 1163 56 discriminator 1
- 813 0074 002B cmp r3, #0
- 814 0076 04D1 bne .L28
- 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
- 815 .loc 1 1165 19
- 816 0078 0023 movs r3, #0
- 817 007a FB61 str r3, [r7, #28]
- 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
- 818 .loc 1 1166 19
- 819 007c BB68 ldr r3, [r7, #8]
- 820 007e BB61 str r3, [r7, #24]
- 821 0080 03E0 b .L29
- 822 .L28:
- 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
- 823 .loc 1 1170 19
- 824 0082 BB68 ldr r3, [r7, #8]
- 825 0084 FB61 str r3, [r7, #28]
- 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
- 826 .loc 1 1171 19
- 827 0086 0023 movs r3, #0
- 828 0088 BB61 str r3, [r7, #24]
- 829 .L29:
- 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 830 .loc 1 1175 5
- 831 008a FB68 ldr r3, [r7, #12]
- 832 008c 0022 movs r2, #0
- 833 008e 83F83C20 strb r2, [r3, #60]
- 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 36
- 834 .loc 1 1177 11
- 835 0092 2AE0 b .L30
- 836 .L34:
- 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
- 837 .loc 1 1179 11
- 838 0094 3B68 ldr r3, [r7]
- 839 0096 0093 str r3, [sp]
- 840 0098 7B69 ldr r3, [r7, #20]
- 841 009a 0022 movs r2, #0
- 842 009c 8021 movs r1, #128
- 843 009e F868 ldr r0, [r7, #12]
- 844 00a0 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 845 00a4 0346 mov r3, r0
- 846 .loc 1 1179 10
- 847 00a6 002B cmp r3, #0
- 848 00a8 01D0 beq .L31
- 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 849 .loc 1 1181 16
- 850 00aa 0323 movs r3, #3
- 851 00ac 36E0 b .L26
- 852 .L31:
- 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
- 853 .loc 1 1183 10
- 854 00ae FB69 ldr r3, [r7, #28]
- 855 00b0 002B cmp r3, #0
- 856 00b2 0BD1 bne .L32
- 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*pdata16bits & 0x01FFU);
- 857 .loc 1 1185 42
- 858 00b4 BB69 ldr r3, [r7, #24]
- 859 00b6 1B88 ldrh r3, [r3]
- 860 .loc 1 1185 31
- 861 00b8 1A46 mov r2, r3
- 862 .loc 1 1185 14
- 863 00ba FB68 ldr r3, [r7, #12]
- 864 00bc 1B68 ldr r3, [r3]
- 865 .loc 1 1185 31
- 866 00be C2F30802 ubfx r2, r2, #0, #9
- 867 .loc 1 1185 29
- 868 00c2 5A60 str r2, [r3, #4]
- 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
- 869 .loc 1 1186 20
- 870 00c4 BB69 ldr r3, [r7, #24]
- 871 00c6 0233 adds r3, r3, #2
- 872 00c8 BB61 str r3, [r7, #24]
- 873 00ca 07E0 b .L33
- 874 .L32:
- 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*pdata8bits & 0xFFU);
- 875 .loc 1 1190 41
- 876 00cc FB69 ldr r3, [r7, #28]
- 877 00ce 1A78 ldrb r2, [r3] @ zero_extendqisi2
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 37
- 878 .loc 1 1190 14
- 879 00d0 FB68 ldr r3, [r7, #12]
- 880 00d2 1B68 ldr r3, [r3]
- 881 .loc 1 1190 29
- 882 00d4 5A60 str r2, [r3, #4]
- 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
- 883 .loc 1 1191 19
- 884 00d6 FB69 ldr r3, [r7, #28]
- 885 00d8 0133 adds r3, r3, #1
- 886 00da FB61 str r3, [r7, #28]
- 887 .L33:
- 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount--;
- 888 .loc 1 1193 12
- 889 00dc FB68 ldr r3, [r7, #12]
- 890 00de DB8C ldrh r3, [r3, #38] @ movhi
- 891 00e0 9BB2 uxth r3, r3
- 892 .loc 1 1193 25
- 893 00e2 013B subs r3, r3, #1
- 894 00e4 9AB2 uxth r2, r3
- 895 00e6 FB68 ldr r3, [r7, #12]
- 896 00e8 DA84 strh r2, [r3, #38] @ movhi
- 897 .L30:
- 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 898 .loc 1 1177 17
- 899 00ea FB68 ldr r3, [r7, #12]
- 900 00ec DB8C ldrh r3, [r3, #38] @ movhi
- 901 00ee 9BB2 uxth r3, r3
- 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 902 .loc 1 1177 11
- 903 00f0 002B cmp r3, #0
- 904 00f2 CFD1 bne .L34
- 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
- 905 .loc 1 1196 9
- 906 00f4 3B68 ldr r3, [r7]
- 907 00f6 0093 str r3, [sp]
- 908 00f8 7B69 ldr r3, [r7, #20]
- 909 00fa 0022 movs r2, #0
- 910 00fc 4021 movs r1, #64
- 911 00fe F868 ldr r0, [r7, #12]
- 912 0100 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 913 0104 0346 mov r3, r0
- 914 .loc 1 1196 8
- 915 0106 002B cmp r3, #0
- 916 0108 01D0 beq .L35
- 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 917 .loc 1 1198 14
- 918 010a 0323 movs r3, #3
- 919 010c 06E0 b .L26
- 920 .L35:
- 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
- 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 38
- 921 .loc 1 1202 19
- 922 010e FB68 ldr r3, [r7, #12]
- 923 0110 2022 movs r2, #32
- 924 0112 83F83D20 strb r2, [r3, #61]
- 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 925 .loc 1 1204 12
- 926 0116 0023 movs r3, #0
- 927 0118 00E0 b .L26
- 928 .L23:
- 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 929 .loc 1 1208 12
- 930 011a 0223 movs r3, #2
- 931 .L26:
- 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 932 .loc 1 1210 1
- 933 011c 1846 mov r0, r3
- 934 011e 2037 adds r7, r7, #32
- 935 .LCFI40:
- 936 .cfi_def_cfa_offset 8
- 937 0120 BD46 mov sp, r7
- 938 .LCFI41:
- 939 .cfi_def_cfa_register 13
- 940 @ sp needed
- 941 0122 80BD pop {r7, pc}
- 942 .cfi_endproc
- 943 .LFE242:
- 945 .section .text.HAL_UART_Receive,"ax",%progbits
- 946 .align 1
- 947 .global HAL_UART_Receive
- 948 .syntax unified
- 949 .thumb
- 950 .thumb_func
- 952 HAL_UART_Receive:
- 953 .LFB243:
- 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in blocking mode.
- 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
- 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
- 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
- 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
- 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 954 .loc 1 1225 1
- 955 .cfi_startproc
- 956 @ args = 0, pretend = 0, frame = 32
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 39
- 957 @ frame_needed = 1, uses_anonymous_args = 0
- 958 0000 80B5 push {r7, lr}
- 959 .LCFI42:
- 960 .cfi_def_cfa_offset 8
- 961 .cfi_offset 7, -8
- 962 .cfi_offset 14, -4
- 963 0002 8AB0 sub sp, sp, #40
- 964 .LCFI43:
- 965 .cfi_def_cfa_offset 48
- 966 0004 02AF add r7, sp, #8
- 967 .LCFI44:
- 968 .cfi_def_cfa 7, 40
- 969 0006 F860 str r0, [r7, #12]
- 970 0008 B960 str r1, [r7, #8]
- 971 000a 3B60 str r3, [r7]
- 972 000c 1346 mov r3, r2 @ movhi
- 973 000e FB80 strh r3, [r7, #6] @ movhi
- 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
- 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
- 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
- 974 .loc 1 1228 12
- 975 0010 0023 movs r3, #0
- 976 0012 7B61 str r3, [r7, #20]
- 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 977 .loc 1 1231 12
- 978 0014 FB68 ldr r3, [r7, #12]
- 979 0016 93F83E30 ldrb r3, [r3, #62]
- 980 001a DBB2 uxtb r3, r3
- 981 .loc 1 1231 6
- 982 001c 202B cmp r3, #32
- 983 001e 40F08C80 bne .L37
- 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 984 .loc 1 1233 8
- 985 0022 BB68 ldr r3, [r7, #8]
- 986 0024 002B cmp r3, #0
- 987 0026 02D0 beq .L38
- 988 .loc 1 1233 25 discriminator 1
- 989 0028 FB88 ldrh r3, [r7, #6]
- 990 002a 002B cmp r3, #0
- 991 002c 01D1 bne .L39
- 992 .L38:
- 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 993 .loc 1 1235 15
- 994 002e 0123 movs r3, #1
- 995 0030 84E0 b .L40
- 996 .L39:
- 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 997 .loc 1 1239 5
- 998 0032 FB68 ldr r3, [r7, #12]
- 999 0034 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 40
- 1000 0038 012B cmp r3, #1
- 1001 003a 01D1 bne .L41
- 1002 .loc 1 1239 5 is_stmt 0 discriminator 1
- 1003 003c 0223 movs r3, #2
- 1004 003e 7DE0 b .L40
- 1005 .L41:
- 1006 .loc 1 1239 5 discriminator 2
- 1007 0040 FB68 ldr r3, [r7, #12]
- 1008 0042 0122 movs r2, #1
- 1009 0044 83F83C20 strb r2, [r3, #60]
- 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 1010 .loc 1 1241 22 is_stmt 1 discriminator 2
- 1011 0048 FB68 ldr r3, [r7, #12]
- 1012 004a 0022 movs r2, #0
- 1013 004c 1A64 str r2, [r3, #64]
- 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
- 1014 .loc 1 1242 20 discriminator 2
- 1015 004e FB68 ldr r3, [r7, #12]
- 1016 0050 2222 movs r2, #34
- 1017 0052 83F83E20 strb r2, [r3, #62]
- 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 1018 .loc 1 1243 26 discriminator 2
- 1019 0056 FB68 ldr r3, [r7, #12]
- 1020 0058 0022 movs r2, #0
- 1021 005a 1A63 str r2, [r3, #48]
- 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
- 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
- 1022 .loc 1 1246 17 discriminator 2
- 1023 005c FFF7FEFF bl HAL_GetTick
- 1024 0060 7861 str r0, [r7, #20]
- 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
- 1025 .loc 1 1248 23 discriminator 2
- 1026 0062 FB68 ldr r3, [r7, #12]
- 1027 0064 FA88 ldrh r2, [r7, #6] @ movhi
- 1028 0066 9A85 strh r2, [r3, #44] @ movhi
- 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
- 1029 .loc 1 1249 24 discriminator 2
- 1030 0068 FB68 ldr r3, [r7, #12]
- 1031 006a FA88 ldrh r2, [r7, #6] @ movhi
- 1032 006c DA85 strh r2, [r3, #46] @ movhi
- 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
- 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 1033 .loc 1 1252 21 discriminator 2
- 1034 006e FB68 ldr r3, [r7, #12]
- 1035 0070 9B68 ldr r3, [r3, #8]
- 1036 .loc 1 1252 8 discriminator 2
- 1037 0072 B3F5805F cmp r3, #4096
- 1038 0076 08D1 bne .L42
- 1039 .loc 1 1252 71 discriminator 1
- 1040 0078 FB68 ldr r3, [r7, #12]
- 1041 007a 1B69 ldr r3, [r3, #16]
- 1042 .loc 1 1252 56 discriminator 1
- 1043 007c 002B cmp r3, #0
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 41
- 1044 007e 04D1 bne .L42
- 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
- 1045 .loc 1 1254 19
- 1046 0080 0023 movs r3, #0
- 1047 0082 FB61 str r3, [r7, #28]
- 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
- 1048 .loc 1 1255 19
- 1049 0084 BB68 ldr r3, [r7, #8]
- 1050 0086 BB61 str r3, [r7, #24]
- 1051 0088 03E0 b .L43
- 1052 .L42:
- 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
- 1053 .loc 1 1259 19
- 1054 008a BB68 ldr r3, [r7, #8]
- 1055 008c FB61 str r3, [r7, #28]
- 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
- 1056 .loc 1 1260 19
- 1057 008e 0023 movs r3, #0
- 1058 0090 BB61 str r3, [r7, #24]
- 1059 .L43:
- 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 1060 .loc 1 1264 5
- 1061 0092 FB68 ldr r3, [r7, #12]
- 1062 0094 0022 movs r2, #0
- 1063 0096 83F83C20 strb r2, [r3, #60]
- 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the remain data to be received */
- 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
- 1064 .loc 1 1267 11
- 1065 009a 43E0 b .L44
- 1066 .L51:
- 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
- 1067 .loc 1 1269 11
- 1068 009c 3B68 ldr r3, [r7]
- 1069 009e 0093 str r3, [sp]
- 1070 00a0 7B69 ldr r3, [r7, #20]
- 1071 00a2 0022 movs r2, #0
- 1072 00a4 2021 movs r1, #32
- 1073 00a6 F868 ldr r0, [r7, #12]
- 1074 00a8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
- 1075 00ac 0346 mov r3, r0
- 1076 .loc 1 1269 10
- 1077 00ae 002B cmp r3, #0
- 1078 00b0 01D0 beq .L45
- 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 1079 .loc 1 1271 16
- 1080 00b2 0323 movs r3, #3
- 1081 00b4 42E0 b .L40
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 42
- 1082 .L45:
- 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
- 1083 .loc 1 1273 10
- 1084 00b6 FB69 ldr r3, [r7, #28]
- 1085 00b8 002B cmp r3, #0
- 1086 00ba 0CD1 bne .L46
- 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & 0x01FF);
- 1087 .loc 1 1275 40
- 1088 00bc FB68 ldr r3, [r7, #12]
- 1089 00be 1B68 ldr r3, [r3]
- 1090 .loc 1 1275 50
- 1091 00c0 5B68 ldr r3, [r3, #4]
- 1092 .loc 1 1275 24
- 1093 00c2 9BB2 uxth r3, r3
- 1094 00c4 C3F30803 ubfx r3, r3, #0, #9
- 1095 00c8 9AB2 uxth r2, r3
- 1096 .loc 1 1275 22
- 1097 00ca BB69 ldr r3, [r7, #24]
- 1098 00cc 1A80 strh r2, [r3] @ movhi
- 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
- 1099 .loc 1 1276 20
- 1100 00ce BB69 ldr r3, [r7, #24]
- 1101 00d0 0233 adds r3, r3, #2
- 1102 00d2 BB61 str r3, [r7, #24]
- 1103 00d4 1FE0 b .L47
- 1104 .L46:
- 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORD
- 1105 .loc 1 1280 25
- 1106 00d6 FB68 ldr r3, [r7, #12]
- 1107 00d8 9B68 ldr r3, [r3, #8]
- 1108 .loc 1 1280 12
- 1109 00da B3F5805F cmp r3, #4096
- 1110 00de 07D0 beq .L48
- 1111 .loc 1 1280 76 discriminator 1
- 1112 00e0 FB68 ldr r3, [r7, #12]
- 1113 00e2 9B68 ldr r3, [r3, #8]
- 1114 .loc 1 1280 60 discriminator 1
- 1115 00e4 002B cmp r3, #0
- 1116 00e6 0AD1 bne .L49
- 1117 .loc 1 1280 126 discriminator 2
- 1118 00e8 FB68 ldr r3, [r7, #12]
- 1119 00ea 1B69 ldr r3, [r3, #16]
- 1120 .loc 1 1280 111 discriminator 2
- 1121 00ec 002B cmp r3, #0
- 1122 00ee 06D1 bne .L49
- 1123 .L48:
- 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
- 1124 .loc 1 1282 40
- 1125 00f0 FB68 ldr r3, [r7, #12]
- 1126 00f2 1B68 ldr r3, [r3]
- 1127 .loc 1 1282 50
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 43
- 1128 00f4 5B68 ldr r3, [r3, #4]
- 1129 .loc 1 1282 25
- 1130 00f6 DAB2 uxtb r2, r3
- 1131 .loc 1 1282 23
- 1132 00f8 FB69 ldr r3, [r7, #28]
- 1133 00fa 1A70 strb r2, [r3]
- 1134 00fc 08E0 b .L50
- 1135 .L49:
- 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
- 1136 .loc 1 1286 40
- 1137 00fe FB68 ldr r3, [r7, #12]
- 1138 0100 1B68 ldr r3, [r3]
- 1139 .loc 1 1286 50
- 1140 0102 5B68 ldr r3, [r3, #4]
- 1141 .loc 1 1286 25
- 1142 0104 DBB2 uxtb r3, r3
- 1143 0106 03F07F03 and r3, r3, #127
- 1144 010a DAB2 uxtb r2, r3
- 1145 .loc 1 1286 23
- 1146 010c FB69 ldr r3, [r7, #28]
- 1147 010e 1A70 strb r2, [r3]
- 1148 .L50:
- 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
- 1149 .loc 1 1288 19
- 1150 0110 FB69 ldr r3, [r7, #28]
- 1151 0112 0133 adds r3, r3, #1
- 1152 0114 FB61 str r3, [r7, #28]
- 1153 .L47:
- 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
- 1154 .loc 1 1290 12
- 1155 0116 FB68 ldr r3, [r7, #12]
- 1156 0118 DB8D ldrh r3, [r3, #46] @ movhi
- 1157 011a 9BB2 uxth r3, r3
- 1158 .loc 1 1290 25
- 1159 011c 013B subs r3, r3, #1
- 1160 011e 9AB2 uxth r2, r3
- 1161 0120 FB68 ldr r3, [r7, #12]
- 1162 0122 DA85 strh r2, [r3, #46] @ movhi
- 1163 .L44:
- 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1164 .loc 1 1267 17
- 1165 0124 FB68 ldr r3, [r7, #12]
- 1166 0126 DB8D ldrh r3, [r3, #46] @ movhi
- 1167 0128 9BB2 uxth r3, r3
- 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1168 .loc 1 1267 11
- 1169 012a 002B cmp r3, #0
- 1170 012c B6D1 bne .L51
- 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 44
- 1171 .loc 1 1294 20
- 1172 012e FB68 ldr r3, [r7, #12]
- 1173 0130 2022 movs r2, #32
- 1174 0132 83F83E20 strb r2, [r3, #62]
- 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 1175 .loc 1 1296 12
- 1176 0136 0023 movs r3, #0
- 1177 0138 00E0 b .L40
- 1178 .L37:
- 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 1179 .loc 1 1300 12
- 1180 013a 0223 movs r3, #2
- 1181 .L40:
- 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1182 .loc 1 1302 1
- 1183 013c 1846 mov r0, r3
- 1184 013e 2037 adds r7, r7, #32
- 1185 .LCFI45:
- 1186 .cfi_def_cfa_offset 8
- 1187 0140 BD46 mov sp, r7
- 1188 .LCFI46:
- 1189 .cfi_def_cfa_register 13
- 1190 @ sp needed
- 1191 0142 80BD pop {r7, pc}
- 1192 .cfi_endproc
- 1193 .LFE243:
- 1195 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
- 1196 .align 1
- 1197 .global HAL_UART_Transmit_IT
- 1198 .syntax unified
- 1199 .thumb
- 1200 .thumb_func
- 1202 HAL_UART_Transmit_IT:
- 1203 .LFB244:
- 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
- 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
- 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
- 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
- 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si
- 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1204 .loc 1 1316 1
- 1205 .cfi_startproc
- 1206 @ args = 0, pretend = 0, frame = 16
- 1207 @ frame_needed = 1, uses_anonymous_args = 0
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 45
- 1208 @ link register save eliminated.
- 1209 0000 80B4 push {r7}
- 1210 .LCFI47:
- 1211 .cfi_def_cfa_offset 4
- 1212 .cfi_offset 7, -4
- 1213 0002 85B0 sub sp, sp, #20
- 1214 .LCFI48:
- 1215 .cfi_def_cfa_offset 24
- 1216 0004 00AF add r7, sp, #0
- 1217 .LCFI49:
- 1218 .cfi_def_cfa_register 7
- 1219 0006 F860 str r0, [r7, #12]
- 1220 0008 B960 str r1, [r7, #8]
- 1221 000a 1346 mov r3, r2
- 1222 000c FB80 strh r3, [r7, #6] @ movhi
- 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
- 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 1223 .loc 1 1318 12
- 1224 000e FB68 ldr r3, [r7, #12]
- 1225 0010 93F83D30 ldrb r3, [r3, #61]
- 1226 0014 DBB2 uxtb r3, r3
- 1227 .loc 1 1318 6
- 1228 0016 202B cmp r3, #32
- 1229 0018 30D1 bne .L53
- 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1230 .loc 1 1320 8
- 1231 001a BB68 ldr r3, [r7, #8]
- 1232 001c 002B cmp r3, #0
- 1233 001e 02D0 beq .L54
- 1234 .loc 1 1320 25 discriminator 1
- 1235 0020 FB88 ldrh r3, [r7, #6]
- 1236 0022 002B cmp r3, #0
- 1237 0024 01D1 bne .L55
- 1238 .L54:
- 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 1239 .loc 1 1322 14
- 1240 0026 0123 movs r3, #1
- 1241 0028 29E0 b .L56
- 1242 .L55:
- 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 1243 .loc 1 1326 5
- 1244 002a FB68 ldr r3, [r7, #12]
- 1245 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 1246 0030 012B cmp r3, #1
- 1247 0032 01D1 bne .L57
- 1248 .loc 1 1326 5 is_stmt 0 discriminator 1
- 1249 0034 0223 movs r3, #2
- 1250 0036 22E0 b .L56
- 1251 .L57:
- 1252 .loc 1 1326 5 discriminator 2
- 1253 0038 FB68 ldr r3, [r7, #12]
- 1254 003a 0122 movs r2, #1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 46
- 1255 003c 83F83C20 strb r2, [r3, #60]
- 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
- 1256 .loc 1 1328 23 is_stmt 1 discriminator 2
- 1257 0040 FB68 ldr r3, [r7, #12]
- 1258 0042 BA68 ldr r2, [r7, #8]
- 1259 0044 1A62 str r2, [r3, #32]
- 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
- 1260 .loc 1 1329 23 discriminator 2
- 1261 0046 FB68 ldr r3, [r7, #12]
- 1262 0048 FA88 ldrh r2, [r7, #6] @ movhi
- 1263 004a 9A84 strh r2, [r3, #36] @ movhi
- 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
- 1264 .loc 1 1330 24 discriminator 2
- 1265 004c FB68 ldr r3, [r7, #12]
- 1266 004e FA88 ldrh r2, [r7, #6] @ movhi
- 1267 0050 DA84 strh r2, [r3, #38] @ movhi
- 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 1268 .loc 1 1332 22 discriminator 2
- 1269 0052 FB68 ldr r3, [r7, #12]
- 1270 0054 0022 movs r2, #0
- 1271 0056 1A64 str r2, [r3, #64]
- 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
- 1272 .loc 1 1333 19 discriminator 2
- 1273 0058 FB68 ldr r3, [r7, #12]
- 1274 005a 2122 movs r2, #33
- 1275 005c 83F83D20 strb r2, [r3, #61]
- 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 1276 .loc 1 1336 5 discriminator 2
- 1277 0060 FB68 ldr r3, [r7, #12]
- 1278 0062 0022 movs r2, #0
- 1279 0064 83F83C20 strb r2, [r3, #60]
- 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit data register empty Interrupt */
- 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
- 1280 .loc 1 1339 5 discriminator 2
- 1281 0068 FB68 ldr r3, [r7, #12]
- 1282 006a 1B68 ldr r3, [r3]
- 1283 006c DA68 ldr r2, [r3, #12]
- 1284 006e FB68 ldr r3, [r7, #12]
- 1285 0070 1B68 ldr r3, [r3]
- 1286 0072 42F08002 orr r2, r2, #128
- 1287 0076 DA60 str r2, [r3, #12]
- 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 1288 .loc 1 1341 12 discriminator 2
- 1289 0078 0023 movs r3, #0
- 1290 007a 00E0 b .L56
- 1291 .L53:
- 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 1292 .loc 1 1345 12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 47
- 1293 007c 0223 movs r3, #2
- 1294 .L56:
- 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1295 .loc 1 1347 1
- 1296 007e 1846 mov r0, r3
- 1297 0080 1437 adds r7, r7, #20
- 1298 .LCFI50:
- 1299 .cfi_def_cfa_offset 4
- 1300 0082 BD46 mov sp, r7
- 1301 .LCFI51:
- 1302 .cfi_def_cfa_register 13
- 1303 @ sp needed
- 1304 0084 5DF8047B ldr r7, [sp], #4
- 1305 .LCFI52:
- 1306 .cfi_restore 7
- 1307 .cfi_def_cfa_offset 0
- 1308 0088 7047 bx lr
- 1309 .cfi_endproc
- 1310 .LFE244:
- 1312 .section .text.HAL_UART_Receive_IT,"ax",%progbits
- 1313 .align 1
- 1314 .global HAL_UART_Receive_IT
- 1315 .syntax unified
- 1316 .thumb
- 1317 .thumb_func
- 1319 HAL_UART_Receive_IT:
- 1320 .LFB245:
- 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode.
- 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
- 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
- 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1321 .loc 1 1361 1
- 1322 .cfi_startproc
- 1323 @ args = 0, pretend = 0, frame = 16
- 1324 @ frame_needed = 1, uses_anonymous_args = 0
- 1325 0000 80B5 push {r7, lr}
- 1326 .LCFI53:
- 1327 .cfi_def_cfa_offset 8
- 1328 .cfi_offset 7, -8
- 1329 .cfi_offset 14, -4
- 1330 0002 84B0 sub sp, sp, #16
- 1331 .LCFI54:
- 1332 .cfi_def_cfa_offset 24
- 1333 0004 00AF add r7, sp, #0
- 1334 .LCFI55:
- 1335 .cfi_def_cfa_register 7
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 48
- 1336 0006 F860 str r0, [r7, #12]
- 1337 0008 B960 str r1, [r7, #8]
- 1338 000a 1346 mov r3, r2
- 1339 000c FB80 strh r3, [r7, #6] @ movhi
- 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 1340 .loc 1 1363 12
- 1341 000e FB68 ldr r3, [r7, #12]
- 1342 0010 93F83E30 ldrb r3, [r3, #62]
- 1343 0014 DBB2 uxtb r3, r3
- 1344 .loc 1 1363 6
- 1345 0016 202B cmp r3, #32
- 1346 0018 1DD1 bne .L59
- 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1347 .loc 1 1365 8
- 1348 001a BB68 ldr r3, [r7, #8]
- 1349 001c 002B cmp r3, #0
- 1350 001e 02D0 beq .L60
- 1351 .loc 1 1365 25 discriminator 1
- 1352 0020 FB88 ldrh r3, [r7, #6]
- 1353 0022 002B cmp r3, #0
- 1354 0024 01D1 bne .L61
- 1355 .L60:
- 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 1356 .loc 1 1367 14
- 1357 0026 0123 movs r3, #1
- 1358 0028 16E0 b .L62
- 1359 .L61:
- 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 1360 .loc 1 1371 5
- 1361 002a FB68 ldr r3, [r7, #12]
- 1362 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 1363 0030 012B cmp r3, #1
- 1364 0032 01D1 bne .L63
- 1365 .loc 1 1371 5 is_stmt 0 discriminator 1
- 1366 0034 0223 movs r3, #2
- 1367 0036 0FE0 b .L62
- 1368 .L63:
- 1369 .loc 1 1371 5 discriminator 2
- 1370 0038 FB68 ldr r3, [r7, #12]
- 1371 003a 0122 movs r2, #1
- 1372 003c 83F83C20 strb r2, [r3, #60]
- 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */
- 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 1373 .loc 1 1374 26 is_stmt 1 discriminator 2
- 1374 0040 FB68 ldr r3, [r7, #12]
- 1375 0042 0022 movs r2, #0
- 1376 0044 1A63 str r2, [r3, #48]
- 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
- 1377 .loc 1 1376 13 discriminator 2
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 49
- 1378 0046 FB88 ldrh r3, [r7, #6]
- 1379 0048 1A46 mov r2, r3
- 1380 004a B968 ldr r1, [r7, #8]
- 1381 004c F868 ldr r0, [r7, #12]
- 1382 004e FFF7FEFF bl UART_Start_Receive_IT
- 1383 0052 0346 mov r3, r0
- 1384 0054 00E0 b .L62
- 1385 .L59:
- 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 1386 .loc 1 1380 12
- 1387 0056 0223 movs r3, #2
- 1388 .L62:
- 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1389 .loc 1 1382 1
- 1390 0058 1846 mov r0, r3
- 1391 005a 1037 adds r7, r7, #16
- 1392 .LCFI56:
- 1393 .cfi_def_cfa_offset 8
- 1394 005c BD46 mov sp, r7
- 1395 .LCFI57:
- 1396 .cfi_def_cfa_register 13
- 1397 @ sp needed
- 1398 005e 80BD pop {r7, pc}
- 1399 .cfi_endproc
- 1400 .LFE245:
- 1402 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
- 1403 .align 1
- 1404 .global HAL_UART_Transmit_DMA
- 1405 .syntax unified
- 1406 .thumb
- 1407 .thumb_func
- 1409 HAL_UART_Transmit_DMA:
- 1410 .LFB246:
- 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in DMA mode.
- 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
- 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
- 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
- 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S
- 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1411 .loc 1 1396 1
- 1412 .cfi_startproc
- 1413 @ args = 0, pretend = 0, frame = 48
- 1414 @ frame_needed = 1, uses_anonymous_args = 0
- 1415 0000 80B5 push {r7, lr}
- 1416 .LCFI58:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 50
- 1417 .cfi_def_cfa_offset 8
- 1418 .cfi_offset 7, -8
- 1419 .cfi_offset 14, -4
- 1420 0002 8CB0 sub sp, sp, #48
- 1421 .LCFI59:
- 1422 .cfi_def_cfa_offset 56
- 1423 0004 00AF add r7, sp, #0
- 1424 .LCFI60:
- 1425 .cfi_def_cfa_register 7
- 1426 0006 F860 str r0, [r7, #12]
- 1427 0008 B960 str r1, [r7, #8]
- 1428 000a 1346 mov r3, r2
- 1429 000c FB80 strh r3, [r7, #6] @ movhi
- 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp;
- 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
- 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
- 1430 .loc 1 1400 12
- 1431 000e FB68 ldr r3, [r7, #12]
- 1432 0010 93F83D30 ldrb r3, [r3, #61]
- 1433 0014 DBB2 uxtb r3, r3
- 1434 .loc 1 1400 6
- 1435 0016 202B cmp r3, #32
- 1436 0018 65D1 bne .L65
- 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1437 .loc 1 1402 16
- 1438 001a BB68 ldr r3, [r7, #8]
- 1439 .loc 1 1402 8
- 1440 001c 002B cmp r3, #0
- 1441 001e 02D0 beq .L66
- 1442 .loc 1 1402 25 discriminator 1
- 1443 0020 FB88 ldrh r3, [r7, #6]
- 1444 0022 002B cmp r3, #0
- 1445 0024 01D1 bne .L67
- 1446 .L66:
- 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 1447 .loc 1 1404 14
- 1448 0026 0123 movs r3, #1
- 1449 0028 5EE0 b .L68
- 1450 .L67:
- 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 1451 .loc 1 1408 5
- 1452 002a FB68 ldr r3, [r7, #12]
- 1453 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 1454 0030 012B cmp r3, #1
- 1455 0032 01D1 bne .L69
- 1456 .loc 1 1408 5 is_stmt 0 discriminator 1
- 1457 0034 0223 movs r3, #2
- 1458 0036 57E0 b .L68
- 1459 .L69:
- 1460 .loc 1 1408 5 discriminator 2
- 1461 0038 FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 51
- 1462 003a 0122 movs r2, #1
- 1463 003c 83F83C20 strb r2, [r3, #60]
- 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
- 1464 .loc 1 1410 23 is_stmt 1 discriminator 2
- 1465 0040 BA68 ldr r2, [r7, #8]
- 1466 0042 FB68 ldr r3, [r7, #12]
- 1467 0044 1A62 str r2, [r3, #32]
- 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
- 1468 .loc 1 1411 23 discriminator 2
- 1469 0046 FB68 ldr r3, [r7, #12]
- 1470 0048 FA88 ldrh r2, [r7, #6] @ movhi
- 1471 004a 9A84 strh r2, [r3, #36] @ movhi
- 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
- 1472 .loc 1 1412 24 discriminator 2
- 1473 004c FB68 ldr r3, [r7, #12]
- 1474 004e FA88 ldrh r2, [r7, #6] @ movhi
- 1475 0050 DA84 strh r2, [r3, #38] @ movhi
- 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 1476 .loc 1 1414 22 discriminator 2
- 1477 0052 FB68 ldr r3, [r7, #12]
- 1478 0054 0022 movs r2, #0
- 1479 0056 1A64 str r2, [r3, #64]
- 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
- 1480 .loc 1 1415 19 discriminator 2
- 1481 0058 FB68 ldr r3, [r7, #12]
- 1482 005a 2122 movs r2, #33
- 1483 005c 83F83D20 strb r2, [r3, #61]
- 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
- 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
- 1484 .loc 1 1418 10 discriminator 2
- 1485 0060 FB68 ldr r3, [r7, #12]
- 1486 0062 5B6B ldr r3, [r3, #52]
- 1487 .loc 1 1418 37 discriminator 2
- 1488 0064 224A ldr r2, .L73
- 1489 0066 DA63 str r2, [r3, #60]
- 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
- 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
- 1490 .loc 1 1421 10 discriminator 2
- 1491 0068 FB68 ldr r3, [r7, #12]
- 1492 006a 5B6B ldr r3, [r3, #52]
- 1493 .loc 1 1421 41 discriminator 2
- 1494 006c 214A ldr r2, .L73+4
- 1495 006e 1A64 str r2, [r3, #64]
- 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
- 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
- 1496 .loc 1 1424 10 discriminator 2
- 1497 0070 FB68 ldr r3, [r7, #12]
- 1498 0072 5B6B ldr r3, [r3, #52]
- 1499 .loc 1 1424 38 discriminator 2
- 1500 0074 204A ldr r2, .L73+8
- 1501 0076 DA64 str r2, [r3, #76]
- 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 52
- 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
- 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 1502 .loc 1 1427 10 discriminator 2
- 1503 0078 FB68 ldr r3, [r7, #12]
- 1504 007a 5B6B ldr r3, [r3, #52]
- 1505 .loc 1 1427 38 discriminator 2
- 1506 007c 0022 movs r2, #0
- 1507 007e 1A65 str r2, [r3, #80]
- 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART transmit DMA stream */
- 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint32_t *)&pData;
- 1508 .loc 1 1430 9 discriminator 2
- 1509 0080 07F10803 add r3, r7, #8
- 1510 0084 FB62 str r3, [r7, #44]
- 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(const uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
- 1511 .loc 1 1431 5 discriminator 2
- 1512 0086 FB68 ldr r3, [r7, #12]
- 1513 0088 586B ldr r0, [r3, #52]
- 1514 008a FB6A ldr r3, [r7, #44]
- 1515 008c 1968 ldr r1, [r3]
- 1516 .loc 1 1431 77 discriminator 2
- 1517 008e FB68 ldr r3, [r7, #12]
- 1518 0090 1B68 ldr r3, [r3]
- 1519 .loc 1 1431 71 discriminator 2
- 1520 0092 0433 adds r3, r3, #4
- 1521 .loc 1 1431 5 discriminator 2
- 1522 0094 1A46 mov r2, r3
- 1523 0096 FB88 ldrh r3, [r7, #6]
- 1524 0098 FFF7FEFF bl HAL_DMA_Start_IT
- 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the TC flag in the SR register by writing 0 to it */
- 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC);
- 1525 .loc 1 1434 5 discriminator 2
- 1526 009c FB68 ldr r3, [r7, #12]
- 1527 009e 1B68 ldr r3, [r3]
- 1528 00a0 6FF04002 mvn r2, #64
- 1529 00a4 1A60 str r2, [r3]
- 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 1530 .loc 1 1437 5 discriminator 2
- 1531 00a6 FB68 ldr r3, [r7, #12]
- 1532 00a8 0022 movs r2, #0
- 1533 00aa 83F83C20 strb r2, [r3, #60]
- 1534 .L72:
- 1535 .LBB320:
- 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
- 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
- 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 1536 .loc 1 1441 5 discriminator 1
- 1537 00ae FB68 ldr r3, [r7, #12]
- 1538 00b0 1B68 ldr r3, [r3]
- 1539 00b2 1433 adds r3, r3, #20
- 1540 00b4 BB61 str r3, [r7, #24]
- 1541 .LBB321:
- 1542 .LBB322:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 53
- 1543 .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__))
- 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))
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 54
- 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
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 55
- 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 **** {
- 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) );
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 56
- 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);
- 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 57
- 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 ****
- 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 **** /**
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 58
- 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 **** /**
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 59
- 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
- 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 **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 60
- 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");
- 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 61
- 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 ****
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 62
- 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.
- 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)
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 63
- 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
- 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 64
- 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 **** {
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 65
- 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))
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 66
- 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)) && \
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 67
- 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 ****
- 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
- 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
- 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 68
- 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;
- 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
- 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 69
- 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 **** /**
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 70
- 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)
- 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 **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 71
- 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) );
- 1544 .loc 2 1072 4 discriminator 1
- 1545 00b6 BB69 ldr r3, [r7, #24]
- 1546 .syntax unified
- 1547 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1548 00b8 53E8003F ldrex r3, [r3]
- 1549 @ 0 "" 2
- 1550 .thumb
- 1551 .syntax unified
- 1552 00bc 7B61 str r3, [r7, #20]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 72
- 1553 .loc 2 1073 10 discriminator 1
- 1554 00be 7B69 ldr r3, [r7, #20]
- 1555 .LBE322:
- 1556 .LBE321:
- 1557 .loc 1 1441 5 discriminator 1
- 1558 00c0 43F08003 orr r3, r3, #128
- 1559 00c4 BB62 str r3, [r7, #40]
- 1560 00c6 FB68 ldr r3, [r7, #12]
- 1561 00c8 1B68 ldr r3, [r3]
- 1562 00ca 1433 adds r3, r3, #20
- 1563 00cc BA6A ldr r2, [r7, #40]
- 1564 00ce 7A62 str r2, [r7, #36]
- 1565 00d0 3B62 str r3, [r7, #32]
- 1566 .LBB323:
- 1567 .LBB324:
- 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)
- 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
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 73
- 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) );
- 1568 .loc 2 1123 4 discriminator 1
- 1569 00d2 396A ldr r1, [r7, #32]
- 1570 00d4 7A6A ldr r2, [r7, #36]
- 1571 .syntax unified
- 1572 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1573 00d6 41E80023 strex r3, r2, [r1]
- 1574 @ 0 "" 2
- 1575 .thumb
- 1576 .syntax unified
- 1577 00da FB61 str r3, [r7, #28]
- 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1578 .loc 2 1124 10 discriminator 1
- 1579 00dc FB69 ldr r3, [r7, #28]
- 1580 .LBE324:
- 1581 .LBE323:
- 1582 .loc 1 1441 5 discriminator 1
- 1583 00de 002B cmp r3, #0
- 1584 00e0 E5D1 bne .L72
- 1585 .LBE320:
- 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 1586 .loc 1 1443 12
- 1587 00e2 0023 movs r3, #0
- 1588 00e4 00E0 b .L68
- 1589 .L65:
- 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 1590 .loc 1 1447 12
- 1591 00e6 0223 movs r3, #2
- 1592 .L68:
- 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1593 .loc 1 1449 1
- 1594 00e8 1846 mov r0, r3
- 1595 00ea 3037 adds r7, r7, #48
- 1596 .LCFI61:
- 1597 .cfi_def_cfa_offset 8
- 1598 00ec BD46 mov sp, r7
- 1599 .LCFI62:
- 1600 .cfi_def_cfa_register 13
- 1601 @ sp needed
- 1602 00ee 80BD pop {r7, pc}
- 1603 .L74:
- 1604 .align 2
- 1605 .L73:
- 1606 00f0 00000000 .word UART_DMATransmitCplt
- 1607 00f4 00000000 .word UART_DMATxHalfCplt
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 74
- 1608 00f8 00000000 .word UART_DMAError
- 1609 .cfi_endproc
- 1610 .LFE246:
- 1612 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
- 1613 .align 1
- 1614 .global HAL_UART_Receive_DMA
- 1615 .syntax unified
- 1616 .thumb
- 1617 .thumb_func
- 1619 HAL_UART_Receive_DMA:
- 1620 .LFB247:
- 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in DMA mode.
- 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
- 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
- 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
- 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1) the received data contains the parity bit.
- 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1621 .loc 1 1464 1
- 1622 .cfi_startproc
- 1623 @ args = 0, pretend = 0, frame = 16
- 1624 @ frame_needed = 1, uses_anonymous_args = 0
- 1625 0000 80B5 push {r7, lr}
- 1626 .LCFI63:
- 1627 .cfi_def_cfa_offset 8
- 1628 .cfi_offset 7, -8
- 1629 .cfi_offset 14, -4
- 1630 0002 84B0 sub sp, sp, #16
- 1631 .LCFI64:
- 1632 .cfi_def_cfa_offset 24
- 1633 0004 00AF add r7, sp, #0
- 1634 .LCFI65:
- 1635 .cfi_def_cfa_register 7
- 1636 0006 F860 str r0, [r7, #12]
- 1637 0008 B960 str r1, [r7, #8]
- 1638 000a 1346 mov r3, r2
- 1639 000c FB80 strh r3, [r7, #6] @ movhi
- 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 1640 .loc 1 1466 12
- 1641 000e FB68 ldr r3, [r7, #12]
- 1642 0010 93F83E30 ldrb r3, [r3, #62]
- 1643 0014 DBB2 uxtb r3, r3
- 1644 .loc 1 1466 6
- 1645 0016 202B cmp r3, #32
- 1646 0018 1DD1 bne .L76
- 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 1647 .loc 1 1468 8
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 75
- 1648 001a BB68 ldr r3, [r7, #8]
- 1649 001c 002B cmp r3, #0
- 1650 001e 02D0 beq .L77
- 1651 .loc 1 1468 25 discriminator 1
- 1652 0020 FB88 ldrh r3, [r7, #6]
- 1653 0022 002B cmp r3, #0
- 1654 0024 01D1 bne .L78
- 1655 .L77:
- 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 1656 .loc 1 1470 14
- 1657 0026 0123 movs r3, #1
- 1658 0028 16E0 b .L79
- 1659 .L78:
- 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 1660 .loc 1 1474 5
- 1661 002a FB68 ldr r3, [r7, #12]
- 1662 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 1663 0030 012B cmp r3, #1
- 1664 0032 01D1 bne .L80
- 1665 .loc 1 1474 5 is_stmt 0 discriminator 1
- 1666 0034 0223 movs r3, #2
- 1667 0036 0FE0 b .L79
- 1668 .L80:
- 1669 .loc 1 1474 5 discriminator 2
- 1670 0038 FB68 ldr r3, [r7, #12]
- 1671 003a 0122 movs r2, #1
- 1672 003c 83F83C20 strb r2, [r3, #60]
- 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */
- 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 1673 .loc 1 1477 26 is_stmt 1 discriminator 2
- 1674 0040 FB68 ldr r3, [r7, #12]
- 1675 0042 0022 movs r2, #0
- 1676 0044 1A63 str r2, [r3, #48]
- 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
- 1677 .loc 1 1479 13 discriminator 2
- 1678 0046 FB88 ldrh r3, [r7, #6]
- 1679 0048 1A46 mov r2, r3
- 1680 004a B968 ldr r1, [r7, #8]
- 1681 004c F868 ldr r0, [r7, #12]
- 1682 004e FFF7FEFF bl UART_Start_Receive_DMA
- 1683 0052 0346 mov r3, r0
- 1684 0054 00E0 b .L79
- 1685 .L76:
- 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 1686 .loc 1 1483 12
- 1687 0056 0223 movs r3, #2
- 1688 .L79:
- 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 76
- 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1689 .loc 1 1485 1
- 1690 0058 1846 mov r0, r3
- 1691 005a 1037 adds r7, r7, #16
- 1692 .LCFI66:
- 1693 .cfi_def_cfa_offset 8
- 1694 005c BD46 mov sp, r7
- 1695 .LCFI67:
- 1696 .cfi_def_cfa_register 13
- 1697 @ sp needed
- 1698 005e 80BD pop {r7, pc}
- 1699 .cfi_endproc
- 1700 .LFE247:
- 1702 .section .text.HAL_UART_DMAPause,"ax",%progbits
- 1703 .align 1
- 1704 .global HAL_UART_DMAPause
- 1705 .syntax unified
- 1706 .thumb
- 1707 .thumb_func
- 1709 HAL_UART_DMAPause:
- 1710 .LFB248:
- 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Pauses the DMA Transfer.
- 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
- 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1711 .loc 1 1494 1
- 1712 .cfi_startproc
- 1713 @ args = 0, pretend = 0, frame = 112
- 1714 @ frame_needed = 1, uses_anonymous_args = 0
- 1715 @ link register save eliminated.
- 1716 0000 80B4 push {r7}
- 1717 .LCFI68:
- 1718 .cfi_def_cfa_offset 4
- 1719 .cfi_offset 7, -4
- 1720 0002 9DB0 sub sp, sp, #116
- 1721 .LCFI69:
- 1722 .cfi_def_cfa_offset 120
- 1723 0004 00AF add r7, sp, #0
- 1724 .LCFI70:
- 1725 .cfi_def_cfa_register 7
- 1726 0006 7860 str r0, [r7, #4]
- 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
- 1727 .loc 1 1495 12
- 1728 0008 0023 movs r3, #0
- 1729 000a FB66 str r3, [r7, #108]
- 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 1730 .loc 1 1498 3
- 1731 000c 7B68 ldr r3, [r7, #4]
- 1732 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 1733 0012 012B cmp r3, #1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 77
- 1734 0014 01D1 bne .L82
- 1735 .loc 1 1498 3 is_stmt 0 discriminator 1
- 1736 0016 0223 movs r3, #2
- 1737 0018 98E0 b .L83
- 1738 .L82:
- 1739 .loc 1 1498 3 discriminator 2
- 1740 001a 7B68 ldr r3, [r7, #4]
- 1741 001c 0122 movs r2, #1
- 1742 001e 83F83C20 strb r2, [r3, #60]
- 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
- 1743 .loc 1 1500 16 is_stmt 1 discriminator 2
- 1744 0022 7B68 ldr r3, [r7, #4]
- 1745 0024 1B68 ldr r3, [r3]
- 1746 0026 5B69 ldr r3, [r3, #20]
- 1747 0028 03F08003 and r3, r3, #128
- 1748 002c 802B cmp r3, #128
- 1749 002e 0CBF ite eq
- 1750 0030 0123 moveq r3, #1
- 1751 0032 0023 movne r3, #0
- 1752 0034 DBB2 uxtb r3, r3
- 1753 .loc 1 1500 14 discriminator 2
- 1754 0036 FB66 str r3, [r7, #108]
- 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
- 1755 .loc 1 1501 13 discriminator 2
- 1756 0038 7B68 ldr r3, [r7, #4]
- 1757 003a 93F83D30 ldrb r3, [r3, #61]
- 1758 003e DBB2 uxtb r3, r3
- 1759 .loc 1 1501 6 discriminator 2
- 1760 0040 212B cmp r3, #33
- 1761 0042 1CD1 bne .L84
- 1762 .loc 1 1501 49 discriminator 1
- 1763 0044 FB6E ldr r3, [r7, #108]
- 1764 0046 002B cmp r3, #0
- 1765 0048 19D0 beq .L84
- 1766 .L87:
- 1767 .LBB325:
- 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request */
- 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 1768 .loc 1 1504 5 discriminator 1
- 1769 004a 7B68 ldr r3, [r7, #4]
- 1770 004c 1B68 ldr r3, [r3]
- 1771 004e 1433 adds r3, r3, #20
- 1772 0050 FB64 str r3, [r7, #76]
- 1773 .LBB326:
- 1774 .LBB327:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1775 .loc 2 1072 4 discriminator 1
- 1776 0052 FB6C ldr r3, [r7, #76]
- 1777 .syntax unified
- 1778 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1779 0054 53E8003F ldrex r3, [r3]
- 1780 @ 0 "" 2
- 1781 .thumb
- 1782 .syntax unified
- 1783 0058 BB64 str r3, [r7, #72]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 78
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1784 .loc 2 1073 10 discriminator 1
- 1785 005a BB6C ldr r3, [r7, #72]
- 1786 .LBE327:
- 1787 .LBE326:
- 1788 .loc 1 1504 5 discriminator 1
- 1789 005c 23F08003 bic r3, r3, #128
- 1790 0060 BB66 str r3, [r7, #104]
- 1791 0062 7B68 ldr r3, [r7, #4]
- 1792 0064 1B68 ldr r3, [r3]
- 1793 0066 1433 adds r3, r3, #20
- 1794 0068 BA6E ldr r2, [r7, #104]
- 1795 006a BA65 str r2, [r7, #88]
- 1796 006c 7B65 str r3, [r7, #84]
- 1797 .LBB328:
- 1798 .LBB329:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1799 .loc 2 1123 4 discriminator 1
- 1800 006e 796D ldr r1, [r7, #84]
- 1801 0070 BA6D ldr r2, [r7, #88]
- 1802 .syntax unified
- 1803 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1804 0072 41E80023 strex r3, r2, [r1]
- 1805 @ 0 "" 2
- 1806 .thumb
- 1807 .syntax unified
- 1808 0076 3B65 str r3, [r7, #80]
- 1809 .loc 2 1124 10 discriminator 1
- 1810 0078 3B6D ldr r3, [r7, #80]
- 1811 .LBE329:
- 1812 .LBE328:
- 1813 .loc 1 1504 5 discriminator 1
- 1814 007a 002B cmp r3, #0
- 1815 007c E5D1 bne .L87
- 1816 .L84:
- 1817 .LBE325:
- 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
- 1818 .loc 1 1507 16
- 1819 007e 7B68 ldr r3, [r7, #4]
- 1820 0080 1B68 ldr r3, [r3]
- 1821 0082 5B69 ldr r3, [r3, #20]
- 1822 0084 03F04003 and r3, r3, #64
- 1823 0088 402B cmp r3, #64
- 1824 008a 0CBF ite eq
- 1825 008c 0123 moveq r3, #1
- 1826 008e 0023 movne r3, #0
- 1827 0090 DBB2 uxtb r3, r3
- 1828 .loc 1 1507 14
- 1829 0092 FB66 str r3, [r7, #108]
- 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
- 1830 .loc 1 1508 13
- 1831 0094 7B68 ldr r3, [r7, #4]
- 1832 0096 93F83E30 ldrb r3, [r3, #62]
- 1833 009a DBB2 uxtb r3, r3
- 1834 .loc 1 1508 6
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 79
- 1835 009c 222B cmp r3, #34
- 1836 009e 50D1 bne .L88
- 1837 .loc 1 1508 50 discriminator 1
- 1838 00a0 FB6E ldr r3, [r7, #108]
- 1839 00a2 002B cmp r3, #0
- 1840 00a4 4DD0 beq .L88
- 1841 .L91:
- 1842 .LBB330:
- 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 1843 .loc 1 1511 5 discriminator 1
- 1844 00a6 7B68 ldr r3, [r7, #4]
- 1845 00a8 1B68 ldr r3, [r3]
- 1846 00aa 0C33 adds r3, r3, #12
- 1847 00ac BB63 str r3, [r7, #56]
- 1848 .LBB331:
- 1849 .LBB332:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1850 .loc 2 1072 4 discriminator 1
- 1851 00ae BB6B ldr r3, [r7, #56]
- 1852 .syntax unified
- 1853 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1854 00b0 53E8003F ldrex r3, [r3]
- 1855 @ 0 "" 2
- 1856 .thumb
- 1857 .syntax unified
- 1858 00b4 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1859 .loc 2 1073 10 discriminator 1
- 1860 00b6 7B6B ldr r3, [r7, #52]
- 1861 .LBE332:
- 1862 .LBE331:
- 1863 .loc 1 1511 5 discriminator 1
- 1864 00b8 23F48073 bic r3, r3, #256
- 1865 00bc 7B66 str r3, [r7, #100]
- 1866 00be 7B68 ldr r3, [r7, #4]
- 1867 00c0 1B68 ldr r3, [r3]
- 1868 00c2 0C33 adds r3, r3, #12
- 1869 00c4 7A6E ldr r2, [r7, #100]
- 1870 00c6 7A64 str r2, [r7, #68]
- 1871 00c8 3B64 str r3, [r7, #64]
- 1872 .LBB333:
- 1873 .LBB334:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1874 .loc 2 1123 4 discriminator 1
- 1875 00ca 396C ldr r1, [r7, #64]
- 1876 00cc 7A6C ldr r2, [r7, #68]
- 1877 .syntax unified
- 1878 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1879 00ce 41E80023 strex r3, r2, [r1]
- 1880 @ 0 "" 2
- 1881 .thumb
- 1882 .syntax unified
- 1883 00d2 FB63 str r3, [r7, #60]
- 1884 .loc 2 1124 10 discriminator 1
- 1885 00d4 FB6B ldr r3, [r7, #60]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 80
- 1886 .LBE334:
- 1887 .LBE333:
- 1888 .loc 1 1511 5 discriminator 1
- 1889 00d6 002B cmp r3, #0
- 1890 00d8 E5D1 bne .L91
- 1891 .L94:
- 1892 .LBE330:
- 1893 .LBB335:
- 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 1894 .loc 1 1512 5 discriminator 1
- 1895 00da 7B68 ldr r3, [r7, #4]
- 1896 00dc 1B68 ldr r3, [r3]
- 1897 00de 1433 adds r3, r3, #20
- 1898 00e0 7B62 str r3, [r7, #36]
- 1899 .LBB336:
- 1900 .LBB337:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1901 .loc 2 1072 4 discriminator 1
- 1902 00e2 7B6A ldr r3, [r7, #36]
- 1903 .syntax unified
- 1904 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1905 00e4 53E8003F ldrex r3, [r3]
- 1906 @ 0 "" 2
- 1907 .thumb
- 1908 .syntax unified
- 1909 00e8 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1910 .loc 2 1073 10 discriminator 1
- 1911 00ea 3B6A ldr r3, [r7, #32]
- 1912 .LBE337:
- 1913 .LBE336:
- 1914 .loc 1 1512 5 discriminator 1
- 1915 00ec 23F00103 bic r3, r3, #1
- 1916 00f0 3B66 str r3, [r7, #96]
- 1917 00f2 7B68 ldr r3, [r7, #4]
- 1918 00f4 1B68 ldr r3, [r3]
- 1919 00f6 1433 adds r3, r3, #20
- 1920 00f8 3A6E ldr r2, [r7, #96]
- 1921 00fa 3A63 str r2, [r7, #48]
- 1922 00fc FB62 str r3, [r7, #44]
- 1923 .LBB338:
- 1924 .LBB339:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1925 .loc 2 1123 4 discriminator 1
- 1926 00fe F96A ldr r1, [r7, #44]
- 1927 0100 3A6B ldr r2, [r7, #48]
- 1928 .syntax unified
- 1929 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1930 0102 41E80023 strex r3, r2, [r1]
- 1931 @ 0 "" 2
- 1932 .thumb
- 1933 .syntax unified
- 1934 0106 BB62 str r3, [r7, #40]
- 1935 .loc 2 1124 10 discriminator 1
- 1936 0108 BB6A ldr r3, [r7, #40]
- 1937 .LBE339:
- 1938 .LBE338:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 81
- 1939 .loc 1 1512 5 discriminator 1
- 1940 010a 002B cmp r3, #0
- 1941 010c E5D1 bne .L94
- 1942 .L97:
- 1943 .LBE335:
- 1944 .LBB340:
- 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request */
- 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 1945 .loc 1 1515 5 discriminator 1
- 1946 010e 7B68 ldr r3, [r7, #4]
- 1947 0110 1B68 ldr r3, [r3]
- 1948 0112 1433 adds r3, r3, #20
- 1949 0114 3B61 str r3, [r7, #16]
- 1950 .LBB341:
- 1951 .LBB342:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1952 .loc 2 1072 4 discriminator 1
- 1953 0116 3B69 ldr r3, [r7, #16]
- 1954 .syntax unified
- 1955 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1956 0118 53E8003F ldrex r3, [r3]
- 1957 @ 0 "" 2
- 1958 .thumb
- 1959 .syntax unified
- 1960 011c FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 1961 .loc 2 1073 10 discriminator 1
- 1962 011e FB68 ldr r3, [r7, #12]
- 1963 .LBE342:
- 1964 .LBE341:
- 1965 .loc 1 1515 5 discriminator 1
- 1966 0120 23F04003 bic r3, r3, #64
- 1967 0124 FB65 str r3, [r7, #92]
- 1968 0126 7B68 ldr r3, [r7, #4]
- 1969 0128 1B68 ldr r3, [r3]
- 1970 012a 1433 adds r3, r3, #20
- 1971 012c FA6D ldr r2, [r7, #92]
- 1972 012e FA61 str r2, [r7, #28]
- 1973 0130 BB61 str r3, [r7, #24]
- 1974 .LBB343:
- 1975 .LBB344:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 1976 .loc 2 1123 4 discriminator 1
- 1977 0132 B969 ldr r1, [r7, #24]
- 1978 0134 FA69 ldr r2, [r7, #28]
- 1979 .syntax unified
- 1980 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 1981 0136 41E80023 strex r3, r2, [r1]
- 1982 @ 0 "" 2
- 1983 .thumb
- 1984 .syntax unified
- 1985 013a 7B61 str r3, [r7, #20]
- 1986 .loc 2 1124 10 discriminator 1
- 1987 013c 7B69 ldr r3, [r7, #20]
- 1988 .LBE344:
- 1989 .LBE343:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 82
- 1990 .loc 1 1515 5 discriminator 1
- 1991 013e 002B cmp r3, #0
- 1992 0140 E5D1 bne .L97
- 1993 .L88:
- 1994 .LBE340:
- 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 1995 .loc 1 1519 3
- 1996 0142 7B68 ldr r3, [r7, #4]
- 1997 0144 0022 movs r2, #0
- 1998 0146 83F83C20 strb r2, [r3, #60]
- 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 1999 .loc 1 1521 10
- 2000 014a 0023 movs r3, #0
- 2001 .L83:
- 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2002 .loc 1 1522 1
- 2003 014c 1846 mov r0, r3
- 2004 014e 7437 adds r7, r7, #116
- 2005 .LCFI71:
- 2006 .cfi_def_cfa_offset 4
- 2007 0150 BD46 mov sp, r7
- 2008 .LCFI72:
- 2009 .cfi_def_cfa_register 13
- 2010 @ sp needed
- 2011 0152 5DF8047B ldr r7, [sp], #4
- 2012 .LCFI73:
- 2013 .cfi_restore 7
- 2014 .cfi_def_cfa_offset 0
- 2015 0156 7047 bx lr
- 2016 .cfi_endproc
- 2017 .LFE248:
- 2019 .section .text.HAL_UART_DMAResume,"ax",%progbits
- 2020 .align 1
- 2021 .global HAL_UART_DMAResume
- 2022 .syntax unified
- 2023 .thumb
- 2024 .thumb_func
- 2026 HAL_UART_DMAResume:
- 2027 .LFB249:
- 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Resumes the DMA Transfer.
- 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
- 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2028 .loc 1 1531 1
- 2029 .cfi_startproc
- 2030 @ args = 0, pretend = 0, frame = 112
- 2031 @ frame_needed = 1, uses_anonymous_args = 0
- 2032 @ link register save eliminated.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 83
- 2033 0000 80B4 push {r7}
- 2034 .LCFI74:
- 2035 .cfi_def_cfa_offset 4
- 2036 .cfi_offset 7, -4
- 2037 0002 9DB0 sub sp, sp, #116
- 2038 .LCFI75:
- 2039 .cfi_def_cfa_offset 120
- 2040 0004 00AF add r7, sp, #0
- 2041 .LCFI76:
- 2042 .cfi_def_cfa_register 7
- 2043 0006 7860 str r0, [r7, #4]
- 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 2044 .loc 1 1533 3
- 2045 0008 7B68 ldr r3, [r7, #4]
- 2046 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 2047 000e 012B cmp r3, #1
- 2048 0010 01D1 bne .L99
- 2049 .loc 1 1533 3 is_stmt 0 discriminator 1
- 2050 0012 0223 movs r3, #2
- 2051 0014 8BE0 b .L100
- 2052 .L99:
- 2053 .loc 1 1533 3 discriminator 2
- 2054 0016 7B68 ldr r3, [r7, #4]
- 2055 0018 0122 movs r2, #1
- 2056 001a 83F83C20 strb r2, [r3, #60]
- 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
- 2057 .loc 1 1535 12 is_stmt 1 discriminator 2
- 2058 001e 7B68 ldr r3, [r7, #4]
- 2059 0020 93F83D30 ldrb r3, [r3, #61]
- 2060 0024 DBB2 uxtb r3, r3
- 2061 .loc 1 1535 6 discriminator 2
- 2062 0026 212B cmp r3, #33
- 2063 0028 19D1 bne .L101
- 2064 .L104:
- 2065 .LBB345:
- 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Tx request */
- 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 2066 .loc 1 1538 5 discriminator 1
- 2067 002a 7B68 ldr r3, [r7, #4]
- 2068 002c 1B68 ldr r3, [r3]
- 2069 002e 1433 adds r3, r3, #20
- 2070 0030 3B65 str r3, [r7, #80]
- 2071 .LBB346:
- 2072 .LBB347:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2073 .loc 2 1072 4 discriminator 1
- 2074 0032 3B6D ldr r3, [r7, #80]
- 2075 .syntax unified
- 2076 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2077 0034 53E8003F ldrex r3, [r3]
- 2078 @ 0 "" 2
- 2079 .thumb
- 2080 .syntax unified
- 2081 0038 FB64 str r3, [r7, #76]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 84
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2082 .loc 2 1073 10 discriminator 1
- 2083 003a FB6C ldr r3, [r7, #76]
- 2084 .LBE347:
- 2085 .LBE346:
- 2086 .loc 1 1538 5 discriminator 1
- 2087 003c 43F08003 orr r3, r3, #128
- 2088 0040 FB66 str r3, [r7, #108]
- 2089 0042 7B68 ldr r3, [r7, #4]
- 2090 0044 1B68 ldr r3, [r3]
- 2091 0046 1433 adds r3, r3, #20
- 2092 0048 FA6E ldr r2, [r7, #108]
- 2093 004a FA65 str r2, [r7, #92]
- 2094 004c BB65 str r3, [r7, #88]
- 2095 .LBB348:
- 2096 .LBB349:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2097 .loc 2 1123 4 discriminator 1
- 2098 004e B96D ldr r1, [r7, #88]
- 2099 0050 FA6D ldr r2, [r7, #92]
- 2100 .syntax unified
- 2101 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2102 0052 41E80023 strex r3, r2, [r1]
- 2103 @ 0 "" 2
- 2104 .thumb
- 2105 .syntax unified
- 2106 0056 7B65 str r3, [r7, #84]
- 2107 .loc 2 1124 10 discriminator 1
- 2108 0058 7B6D ldr r3, [r7, #84]
- 2109 .LBE349:
- 2110 .LBE348:
- 2111 .loc 1 1538 5 discriminator 1
- 2112 005a 002B cmp r3, #0
- 2113 005c E5D1 bne .L104
- 2114 .L101:
- 2115 .LBE345:
- 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
- 2116 .loc 1 1541 12
- 2117 005e 7B68 ldr r3, [r7, #4]
- 2118 0060 93F83E30 ldrb r3, [r3, #62]
- 2119 0064 DBB2 uxtb r3, r3
- 2120 .loc 1 1541 6
- 2121 0066 222B cmp r3, #34
- 2122 0068 5CD1 bne .L105
- 2123 .LBB350:
- 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer*/
- 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
- 2124 .loc 1 1544 5
- 2125 006a 0023 movs r3, #0
- 2126 006c FB60 str r3, [r7, #12]
- 2127 006e 7B68 ldr r3, [r7, #4]
- 2128 0070 1B68 ldr r3, [r3]
- 2129 0072 1B68 ldr r3, [r3]
- 2130 0074 FB60 str r3, [r7, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 85
- 2131 0076 7B68 ldr r3, [r7, #4]
- 2132 0078 1B68 ldr r3, [r3]
- 2133 007a 5B68 ldr r3, [r3, #4]
- 2134 007c FB60 str r3, [r7, #12]
- 2135 007e FB68 ldr r3, [r7, #12]
- 2136 .LBE350:
- 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
- 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
- 2137 .loc 1 1547 20
- 2138 0080 7B68 ldr r3, [r7, #4]
- 2139 0082 1B69 ldr r3, [r3, #16]
- 2140 .loc 1 1547 8
- 2141 0084 002B cmp r3, #0
- 2142 0086 19D0 beq .L112
- 2143 .L109:
- 2144 .LBB351:
- 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 2145 .loc 1 1549 7 discriminator 1
- 2146 0088 7B68 ldr r3, [r7, #4]
- 2147 008a 1B68 ldr r3, [r3]
- 2148 008c 0C33 adds r3, r3, #12
- 2149 008e FB63 str r3, [r7, #60]
- 2150 .LBB352:
- 2151 .LBB353:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2152 .loc 2 1072 4 discriminator 1
- 2153 0090 FB6B ldr r3, [r7, #60]
- 2154 .syntax unified
- 2155 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2156 0092 53E8003F ldrex r3, [r3]
- 2157 @ 0 "" 2
- 2158 .thumb
- 2159 .syntax unified
- 2160 0096 BB63 str r3, [r7, #56]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2161 .loc 2 1073 10 discriminator 1
- 2162 0098 BB6B ldr r3, [r7, #56]
- 2163 .LBE353:
- 2164 .LBE352:
- 2165 .loc 1 1549 7 discriminator 1
- 2166 009a 43F48073 orr r3, r3, #256
- 2167 009e BB66 str r3, [r7, #104]
- 2168 00a0 7B68 ldr r3, [r7, #4]
- 2169 00a2 1B68 ldr r3, [r3]
- 2170 00a4 0C33 adds r3, r3, #12
- 2171 00a6 BA6E ldr r2, [r7, #104]
- 2172 00a8 BA64 str r2, [r7, #72]
- 2173 00aa 7B64 str r3, [r7, #68]
- 2174 .LBB354:
- 2175 .LBB355:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2176 .loc 2 1123 4 discriminator 1
- 2177 00ac 796C ldr r1, [r7, #68]
- 2178 00ae BA6C ldr r2, [r7, #72]
- 2179 .syntax unified
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 86
- 2180 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2181 00b0 41E80023 strex r3, r2, [r1]
- 2182 @ 0 "" 2
- 2183 .thumb
- 2184 .syntax unified
- 2185 00b4 3B64 str r3, [r7, #64]
- 2186 .loc 2 1124 10 discriminator 1
- 2187 00b6 3B6C ldr r3, [r7, #64]
- 2188 .LBE355:
- 2189 .LBE354:
- 2190 .loc 1 1549 7 discriminator 1
- 2191 00b8 002B cmp r3, #0
- 2192 00ba E5D1 bne .L109
- 2193 .L112:
- 2194 .LBE351:
- 2195 .LBB356:
- 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 2196 .loc 1 1551 5 discriminator 1
- 2197 00bc 7B68 ldr r3, [r7, #4]
- 2198 00be 1B68 ldr r3, [r3]
- 2199 00c0 1433 adds r3, r3, #20
- 2200 00c2 BB62 str r3, [r7, #40]
- 2201 .LBB357:
- 2202 .LBB358:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2203 .loc 2 1072 4 discriminator 1
- 2204 00c4 BB6A ldr r3, [r7, #40]
- 2205 .syntax unified
- 2206 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2207 00c6 53E8003F ldrex r3, [r3]
- 2208 @ 0 "" 2
- 2209 .thumb
- 2210 .syntax unified
- 2211 00ca 7B62 str r3, [r7, #36]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2212 .loc 2 1073 10 discriminator 1
- 2213 00cc 7B6A ldr r3, [r7, #36]
- 2214 .LBE358:
- 2215 .LBE357:
- 2216 .loc 1 1551 5 discriminator 1
- 2217 00ce 43F00103 orr r3, r3, #1
- 2218 00d2 7B66 str r3, [r7, #100]
- 2219 00d4 7B68 ldr r3, [r7, #4]
- 2220 00d6 1B68 ldr r3, [r3]
- 2221 00d8 1433 adds r3, r3, #20
- 2222 00da 7A6E ldr r2, [r7, #100]
- 2223 00dc 7A63 str r2, [r7, #52]
- 2224 00de 3B63 str r3, [r7, #48]
- 2225 .LBB359:
- 2226 .LBB360:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2227 .loc 2 1123 4 discriminator 1
- 2228 00e0 396B ldr r1, [r7, #48]
- 2229 00e2 7A6B ldr r2, [r7, #52]
- 2230 .syntax unified
- 2231 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 87
- 2232 00e4 41E80023 strex r3, r2, [r1]
- 2233 @ 0 "" 2
- 2234 .thumb
- 2235 .syntax unified
- 2236 00e8 FB62 str r3, [r7, #44]
- 2237 .loc 2 1124 10 discriminator 1
- 2238 00ea FB6A ldr r3, [r7, #44]
- 2239 .LBE360:
- 2240 .LBE359:
- 2241 .loc 1 1551 5 discriminator 1
- 2242 00ec 002B cmp r3, #0
- 2243 00ee E5D1 bne .L112
- 2244 .L115:
- 2245 .LBE356:
- 2246 .LBB361:
- 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Rx request */
- 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 2247 .loc 1 1554 5 discriminator 1
- 2248 00f0 7B68 ldr r3, [r7, #4]
- 2249 00f2 1B68 ldr r3, [r3]
- 2250 00f4 1433 adds r3, r3, #20
- 2251 00f6 7B61 str r3, [r7, #20]
- 2252 .LBB362:
- 2253 .LBB363:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2254 .loc 2 1072 4 discriminator 1
- 2255 00f8 7B69 ldr r3, [r7, #20]
- 2256 .syntax unified
- 2257 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2258 00fa 53E8003F ldrex r3, [r3]
- 2259 @ 0 "" 2
- 2260 .thumb
- 2261 .syntax unified
- 2262 00fe 3B61 str r3, [r7, #16]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2263 .loc 2 1073 10 discriminator 1
- 2264 0100 3B69 ldr r3, [r7, #16]
- 2265 .LBE363:
- 2266 .LBE362:
- 2267 .loc 1 1554 5 discriminator 1
- 2268 0102 43F04003 orr r3, r3, #64
- 2269 0106 3B66 str r3, [r7, #96]
- 2270 0108 7B68 ldr r3, [r7, #4]
- 2271 010a 1B68 ldr r3, [r3]
- 2272 010c 1433 adds r3, r3, #20
- 2273 010e 3A6E ldr r2, [r7, #96]
- 2274 0110 3A62 str r2, [r7, #32]
- 2275 0112 FB61 str r3, [r7, #28]
- 2276 .LBB364:
- 2277 .LBB365:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2278 .loc 2 1123 4 discriminator 1
- 2279 0114 F969 ldr r1, [r7, #28]
- 2280 0116 3A6A ldr r2, [r7, #32]
- 2281 .syntax unified
- 2282 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 88
- 2283 0118 41E80023 strex r3, r2, [r1]
- 2284 @ 0 "" 2
- 2285 .thumb
- 2286 .syntax unified
- 2287 011c BB61 str r3, [r7, #24]
- 2288 .loc 2 1124 10 discriminator 1
- 2289 011e BB69 ldr r3, [r7, #24]
- 2290 .LBE365:
- 2291 .LBE364:
- 2292 .loc 1 1554 5 discriminator 1
- 2293 0120 002B cmp r3, #0
- 2294 0122 E5D1 bne .L115
- 2295 .L105:
- 2296 .LBE361:
- 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 2297 .loc 1 1558 3
- 2298 0124 7B68 ldr r3, [r7, #4]
- 2299 0126 0022 movs r2, #0
- 2300 0128 83F83C20 strb r2, [r3, #60]
- 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 2301 .loc 1 1560 10
- 2302 012c 0023 movs r3, #0
- 2303 .L100:
- 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2304 .loc 1 1561 1
- 2305 012e 1846 mov r0, r3
- 2306 0130 7437 adds r7, r7, #116
- 2307 .LCFI77:
- 2308 .cfi_def_cfa_offset 4
- 2309 0132 BD46 mov sp, r7
- 2310 .LCFI78:
- 2311 .cfi_def_cfa_register 13
- 2312 @ sp needed
- 2313 0134 5DF8047B ldr r7, [sp], #4
- 2314 .LCFI79:
- 2315 .cfi_restore 7
- 2316 .cfi_def_cfa_offset 0
- 2317 0138 7047 bx lr
- 2318 .cfi_endproc
- 2319 .LFE249:
- 2321 .section .text.HAL_UART_DMAStop,"ax",%progbits
- 2322 .align 1
- 2323 .global HAL_UART_DMAStop
- 2324 .syntax unified
- 2325 .thumb
- 2326 .thumb_func
- 2328 HAL_UART_DMAStop:
- 2329 .LFB250:
- 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Stops the DMA Transfer.
- 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 89
- 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
- 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2330 .loc 1 1570 1
- 2331 .cfi_startproc
- 2332 @ args = 0, pretend = 0, frame = 64
- 2333 @ frame_needed = 1, uses_anonymous_args = 0
- 2334 0000 80B5 push {r7, lr}
- 2335 .LCFI80:
- 2336 .cfi_def_cfa_offset 8
- 2337 .cfi_offset 7, -8
- 2338 .cfi_offset 14, -4
- 2339 0002 90B0 sub sp, sp, #64
- 2340 .LCFI81:
- 2341 .cfi_def_cfa_offset 72
- 2342 0004 00AF add r7, sp, #0
- 2343 .LCFI82:
- 2344 .cfi_def_cfa_register 7
- 2345 0006 7860 str r0, [r7, #4]
- 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
- 2346 .loc 1 1571 12
- 2347 0008 0023 movs r3, #0
- 2348 000a FB63 str r3, [r7, #60]
- 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
- 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
- 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
- 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the correspond call back is executed HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
- 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
- 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
- 2349 .loc 1 1579 16
- 2350 000c 7B68 ldr r3, [r7, #4]
- 2351 000e 1B68 ldr r3, [r3]
- 2352 0010 5B69 ldr r3, [r3, #20]
- 2353 0012 03F08003 and r3, r3, #128
- 2354 0016 802B cmp r3, #128
- 2355 0018 0CBF ite eq
- 2356 001a 0123 moveq r3, #1
- 2357 001c 0023 movne r3, #0
- 2358 001e DBB2 uxtb r3, r3
- 2359 .loc 1 1579 14
- 2360 0020 FB63 str r3, [r7, #60]
- 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
- 2361 .loc 1 1580 13
- 2362 0022 7B68 ldr r3, [r7, #4]
- 2363 0024 93F83D30 ldrb r3, [r3, #61]
- 2364 0028 DBB2 uxtb r3, r3
- 2365 .loc 1 1580 6
- 2366 002a 212B cmp r3, #33
- 2367 002c 28D1 bne .L117
- 2368 .loc 1 1580 49 discriminator 1
- 2369 002e FB6B ldr r3, [r7, #60]
- 2370 0030 002B cmp r3, #0
- 2371 0032 25D0 beq .L117
- 2372 .L120:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 90
- 2373 .LBB366:
- 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 2374 .loc 1 1582 5 discriminator 1
- 2375 0034 7B68 ldr r3, [r7, #4]
- 2376 0036 1B68 ldr r3, [r3]
- 2377 0038 1433 adds r3, r3, #20
- 2378 003a 7B62 str r3, [r7, #36]
- 2379 .LBB367:
- 2380 .LBB368:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2381 .loc 2 1072 4 discriminator 1
- 2382 003c 7B6A ldr r3, [r7, #36]
- 2383 .syntax unified
- 2384 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2385 003e 53E8003F ldrex r3, [r3]
- 2386 @ 0 "" 2
- 2387 .thumb
- 2388 .syntax unified
- 2389 0042 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2390 .loc 2 1073 10 discriminator 1
- 2391 0044 3B6A ldr r3, [r7, #32]
- 2392 .LBE368:
- 2393 .LBE367:
- 2394 .loc 1 1582 5 discriminator 1
- 2395 0046 23F08003 bic r3, r3, #128
- 2396 004a BB63 str r3, [r7, #56]
- 2397 004c 7B68 ldr r3, [r7, #4]
- 2398 004e 1B68 ldr r3, [r3]
- 2399 0050 1433 adds r3, r3, #20
- 2400 0052 BA6B ldr r2, [r7, #56]
- 2401 0054 3A63 str r2, [r7, #48]
- 2402 0056 FB62 str r3, [r7, #44]
- 2403 .LBB369:
- 2404 .LBB370:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2405 .loc 2 1123 4 discriminator 1
- 2406 0058 F96A ldr r1, [r7, #44]
- 2407 005a 3A6B ldr r2, [r7, #48]
- 2408 .syntax unified
- 2409 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2410 005c 41E80023 strex r3, r2, [r1]
- 2411 @ 0 "" 2
- 2412 .thumb
- 2413 .syntax unified
- 2414 0060 BB62 str r3, [r7, #40]
- 2415 .loc 2 1124 10 discriminator 1
- 2416 0062 BB6A ldr r3, [r7, #40]
- 2417 .LBE370:
- 2418 .LBE369:
- 2419 .loc 1 1582 5 discriminator 1
- 2420 0064 002B cmp r3, #0
- 2421 0066 E5D1 bne .L120
- 2422 .LBE366:
- 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 91
- 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 2423 .loc 1 1585 14
- 2424 0068 7B68 ldr r3, [r7, #4]
- 2425 006a 5B6B ldr r3, [r3, #52]
- 2426 .loc 1 1585 8
- 2427 006c 002B cmp r3, #0
- 2428 006e 04D0 beq .L121
- 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
- 2429 .loc 1 1587 7
- 2430 0070 7B68 ldr r3, [r7, #4]
- 2431 0072 5B6B ldr r3, [r3, #52]
- 2432 0074 1846 mov r0, r3
- 2433 0076 FFF7FEFF bl HAL_DMA_Abort
- 2434 .L121:
- 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
- 2435 .loc 1 1589 5
- 2436 007a 7868 ldr r0, [r7, #4]
- 2437 007c FFF7FEFF bl UART_EndTxTransfer
- 2438 .L117:
- 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
- 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
- 2439 .loc 1 1593 16
- 2440 0080 7B68 ldr r3, [r7, #4]
- 2441 0082 1B68 ldr r3, [r3]
- 2442 0084 5B69 ldr r3, [r3, #20]
- 2443 0086 03F04003 and r3, r3, #64
- 2444 008a 402B cmp r3, #64
- 2445 008c 0CBF ite eq
- 2446 008e 0123 moveq r3, #1
- 2447 0090 0023 movne r3, #0
- 2448 0092 DBB2 uxtb r3, r3
- 2449 .loc 1 1593 14
- 2450 0094 FB63 str r3, [r7, #60]
- 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
- 2451 .loc 1 1594 13
- 2452 0096 7B68 ldr r3, [r7, #4]
- 2453 0098 93F83E30 ldrb r3, [r3, #62]
- 2454 009c DBB2 uxtb r3, r3
- 2455 .loc 1 1594 6
- 2456 009e 222B cmp r3, #34
- 2457 00a0 28D1 bne .L122
- 2458 .loc 1 1594 50 discriminator 1
- 2459 00a2 FB6B ldr r3, [r7, #60]
- 2460 00a4 002B cmp r3, #0
- 2461 00a6 25D0 beq .L122
- 2462 .L125:
- 2463 .LBB371:
- 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 2464 .loc 1 1596 5 discriminator 1
- 2465 00a8 7B68 ldr r3, [r7, #4]
- 2466 00aa 1B68 ldr r3, [r3]
- 2467 00ac 1433 adds r3, r3, #20
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 92
- 2468 00ae 3B61 str r3, [r7, #16]
- 2469 .LBB372:
- 2470 .LBB373:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2471 .loc 2 1072 4 discriminator 1
- 2472 00b0 3B69 ldr r3, [r7, #16]
- 2473 .syntax unified
- 2474 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2475 00b2 53E8003F ldrex r3, [r3]
- 2476 @ 0 "" 2
- 2477 .thumb
- 2478 .syntax unified
- 2479 00b6 FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2480 .loc 2 1073 10 discriminator 1
- 2481 00b8 FB68 ldr r3, [r7, #12]
- 2482 .LBE373:
- 2483 .LBE372:
- 2484 .loc 1 1596 5 discriminator 1
- 2485 00ba 23F04003 bic r3, r3, #64
- 2486 00be 7B63 str r3, [r7, #52]
- 2487 00c0 7B68 ldr r3, [r7, #4]
- 2488 00c2 1B68 ldr r3, [r3]
- 2489 00c4 1433 adds r3, r3, #20
- 2490 00c6 7A6B ldr r2, [r7, #52]
- 2491 00c8 FA61 str r2, [r7, #28]
- 2492 00ca BB61 str r3, [r7, #24]
- 2493 .LBB374:
- 2494 .LBB375:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2495 .loc 2 1123 4 discriminator 1
- 2496 00cc B969 ldr r1, [r7, #24]
- 2497 00ce FA69 ldr r2, [r7, #28]
- 2498 .syntax unified
- 2499 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2500 00d0 41E80023 strex r3, r2, [r1]
- 2501 @ 0 "" 2
- 2502 .thumb
- 2503 .syntax unified
- 2504 00d4 7B61 str r3, [r7, #20]
- 2505 .loc 2 1124 10 discriminator 1
- 2506 00d6 7B69 ldr r3, [r7, #20]
- 2507 .LBE375:
- 2508 .LBE374:
- 2509 .loc 1 1596 5 discriminator 1
- 2510 00d8 002B cmp r3, #0
- 2511 00da E5D1 bne .L125
- 2512 .LBE371:
- 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
- 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 2513 .loc 1 1599 14
- 2514 00dc 7B68 ldr r3, [r7, #4]
- 2515 00de 9B6B ldr r3, [r3, #56]
- 2516 .loc 1 1599 8
- 2517 00e0 002B cmp r3, #0
- 2518 00e2 04D0 beq .L126
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 93
- 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
- 2519 .loc 1 1601 7
- 2520 00e4 7B68 ldr r3, [r7, #4]
- 2521 00e6 9B6B ldr r3, [r3, #56]
- 2522 00e8 1846 mov r0, r3
- 2523 00ea FFF7FEFF bl HAL_DMA_Abort
- 2524 .L126:
- 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 2525 .loc 1 1603 5
- 2526 00ee 7868 ldr r0, [r7, #4]
- 2527 00f0 FFF7FEFF bl UART_EndRxTransfer
- 2528 .L122:
- 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 2529 .loc 1 1606 10
- 2530 00f4 0023 movs r3, #0
- 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2531 .loc 1 1607 1
- 2532 00f6 1846 mov r0, r3
- 2533 00f8 4037 adds r7, r7, #64
- 2534 .LCFI83:
- 2535 .cfi_def_cfa_offset 8
- 2536 00fa BD46 mov sp, r7
- 2537 .LCFI84:
- 2538 .cfi_def_cfa_register 13
- 2539 @ sp needed
- 2540 00fc 80BD pop {r7, pc}
- 2541 .cfi_endproc
- 2542 .LFE250:
- 2544 .section .text.HAL_UARTEx_ReceiveToIdle,"ax",%progbits
- 2545 .align 1
- 2546 .global HAL_UARTEx_ReceiveToIdle
- 2547 .syntax unified
- 2548 .thumb
- 2549 .thumb_func
- 2551 HAL_UARTEx_ReceiveToIdle:
- 2552 .LFB251:
- 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode till either the expected number of data is re
- 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note HAL_OK is returned if reception is completed (expected number of data has been received
- 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * or if reception is stopped after IDLE event (less than the expected number of data has
- 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In this case, RxLen output parameter indicates number of data available in reception bu
- 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
- 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
- 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
- 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
- 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
- 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param RxLen Number of data elements finally received (could be lower than Size, in case rece
- 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration expressed in ms (covers the whole reception sequence).
- 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 94
- 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Timeout)
- 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2553 .loc 1 1626 1
- 2554 .cfi_startproc
- 2555 @ args = 4, pretend = 0, frame = 32
- 2556 @ frame_needed = 1, uses_anonymous_args = 0
- 2557 0000 80B5 push {r7, lr}
- 2558 .LCFI85:
- 2559 .cfi_def_cfa_offset 8
- 2560 .cfi_offset 7, -8
- 2561 .cfi_offset 14, -4
- 2562 0002 88B0 sub sp, sp, #32
- 2563 .LCFI86:
- 2564 .cfi_def_cfa_offset 40
- 2565 0004 00AF add r7, sp, #0
- 2566 .LCFI87:
- 2567 .cfi_def_cfa_register 7
- 2568 0006 F860 str r0, [r7, #12]
- 2569 0008 B960 str r1, [r7, #8]
- 2570 000a 3B60 str r3, [r7]
- 2571 000c 1346 mov r3, r2 @ movhi
- 2572 000e FB80 strh r3, [r7, #6] @ movhi
- 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
- 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
- 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart;
- 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 2573 .loc 1 1632 12
- 2574 0010 FB68 ldr r3, [r7, #12]
- 2575 0012 93F83E30 ldrb r3, [r3, #62]
- 2576 0016 DBB2 uxtb r3, r3
- 2577 .loc 1 1632 6
- 2578 0018 202B cmp r3, #32
- 2579 001a 40F0C980 bne .L129
- 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 2580 .loc 1 1634 8
- 2581 001e BB68 ldr r3, [r7, #8]
- 2582 0020 002B cmp r3, #0
- 2583 0022 02D0 beq .L130
- 2584 .loc 1 1634 25 discriminator 1
- 2585 0024 FB88 ldrh r3, [r7, #6]
- 2586 0026 002B cmp r3, #0
- 2587 0028 01D1 bne .L131
- 2588 .L130:
- 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 2589 .loc 1 1636 15
- 2590 002a 0123 movs r3, #1
- 2591 002c C1E0 b .L132
- 2592 .L131:
- 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 2593 .loc 1 1639 5
- 2594 002e FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 95
- 2595 0030 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 2596 0034 012B cmp r3, #1
- 2597 0036 01D1 bne .L133
- 2598 .loc 1 1639 5 is_stmt 0 discriminator 1
- 2599 0038 0223 movs r3, #2
- 2600 003a BAE0 b .L132
- 2601 .L133:
- 2602 .loc 1 1639 5 discriminator 2
- 2603 003c FB68 ldr r3, [r7, #12]
- 2604 003e 0122 movs r2, #1
- 2605 0040 83F83C20 strb r2, [r3, #60]
- 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 2606 .loc 1 1641 22 is_stmt 1 discriminator 2
- 2607 0044 FB68 ldr r3, [r7, #12]
- 2608 0046 0022 movs r2, #0
- 2609 0048 1A64 str r2, [r3, #64]
- 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
- 2610 .loc 1 1642 20 discriminator 2
- 2611 004a FB68 ldr r3, [r7, #12]
- 2612 004c 2222 movs r2, #34
- 2613 004e 83F83E20 strb r2, [r3, #62]
- 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
- 2614 .loc 1 1643 26 discriminator 2
- 2615 0052 FB68 ldr r3, [r7, #12]
- 2616 0054 0122 movs r2, #1
- 2617 0056 1A63 str r2, [r3, #48]
- 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
- 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
- 2618 .loc 1 1646 17 discriminator 2
- 2619 0058 FFF7FEFF bl HAL_GetTick
- 2620 005c 7861 str r0, [r7, #20]
- 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
- 2621 .loc 1 1648 24 discriminator 2
- 2622 005e FB68 ldr r3, [r7, #12]
- 2623 0060 FA88 ldrh r2, [r7, #6] @ movhi
- 2624 0062 9A85 strh r2, [r3, #44] @ movhi
- 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
- 2625 .loc 1 1649 24 discriminator 2
- 2626 0064 FB68 ldr r3, [r7, #12]
- 2627 0066 FA88 ldrh r2, [r7, #6] @ movhi
- 2628 0068 DA85 strh r2, [r3, #46] @ movhi
- 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
- 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 2629 .loc 1 1652 21 discriminator 2
- 2630 006a FB68 ldr r3, [r7, #12]
- 2631 006c 9B68 ldr r3, [r3, #8]
- 2632 .loc 1 1652 8 discriminator 2
- 2633 006e B3F5805F cmp r3, #4096
- 2634 0072 08D1 bne .L134
- 2635 .loc 1 1652 71 discriminator 1
- 2636 0074 FB68 ldr r3, [r7, #12]
- 2637 0076 1B69 ldr r3, [r3, #16]
- 2638 .loc 1 1652 56 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 96
- 2639 0078 002B cmp r3, #0
- 2640 007a 04D1 bne .L134
- 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
- 2641 .loc 1 1654 19
- 2642 007c 0023 movs r3, #0
- 2643 007e FB61 str r3, [r7, #28]
- 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
- 2644 .loc 1 1655 19
- 2645 0080 BB68 ldr r3, [r7, #8]
- 2646 0082 BB61 str r3, [r7, #24]
- 2647 0084 03E0 b .L135
- 2648 .L134:
- 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
- 2649 .loc 1 1659 19
- 2650 0086 BB68 ldr r3, [r7, #8]
- 2651 0088 FB61 str r3, [r7, #28]
- 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
- 2652 .loc 1 1660 19
- 2653 008a 0023 movs r3, #0
- 2654 008c BB61 str r3, [r7, #24]
- 2655 .L135:
- 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 2656 .loc 1 1663 5
- 2657 008e FB68 ldr r3, [r7, #12]
- 2658 0090 0022 movs r2, #0
- 2659 0092 83F83C20 strb r2, [r3, #60]
- 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize output number of received elements */
- 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = 0U;
- 2660 .loc 1 1666 12
- 2661 0096 3B68 ldr r3, [r7]
- 2662 0098 0022 movs r2, #0
- 2663 009a 1A80 strh r2, [r3] @ movhi
- 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* as long as data have to be received */
- 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
- 2664 .loc 1 1669 11
- 2665 009c 74E0 b .L136
- 2666 .L145:
- 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */
- 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE))
- 2667 .loc 1 1672 11
- 2668 009e FB68 ldr r3, [r7, #12]
- 2669 00a0 1B68 ldr r3, [r3]
- 2670 00a2 1B68 ldr r3, [r3]
- 2671 00a4 03F01003 and r3, r3, #16
- 2672 .loc 1 1672 10
- 2673 00a8 102B cmp r3, #16
- 2674 00aa 14D1 bne .L137
- 2675 .LBB376:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 97
- 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */
- 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
- 2676 .loc 1 1675 9
- 2677 00ac 0023 movs r3, #0
- 2678 00ae 3B61 str r3, [r7, #16]
- 2679 00b0 FB68 ldr r3, [r7, #12]
- 2680 00b2 1B68 ldr r3, [r3]
- 2681 00b4 1B68 ldr r3, [r3]
- 2682 00b6 3B61 str r3, [r7, #16]
- 2683 00b8 FB68 ldr r3, [r7, #12]
- 2684 00ba 1B68 ldr r3, [r3]
- 2685 00bc 5B68 ldr r3, [r3, #4]
- 2686 00be 3B61 str r3, [r7, #16]
- 2687 00c0 3B69 ldr r3, [r7, #16]
- 2688 .LBE376:
- 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, but no data ever received, clear flag without exiting loop */
- 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, and data has already been received, this means Idle Event is valid : End recepti
- 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (*RxLen > 0U)
- 2689 .loc 1 1679 13
- 2690 00c2 3B68 ldr r3, [r7]
- 2691 00c4 1B88 ldrh r3, [r3]
- 2692 .loc 1 1679 12
- 2693 00c6 002B cmp r3, #0
- 2694 00c8 05D0 beq .L137
- 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 2695 .loc 1 1681 26
- 2696 00ca FB68 ldr r3, [r7, #12]
- 2697 00cc 2022 movs r2, #32
- 2698 00ce 83F83E20 strb r2, [r3, #62]
- 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 2699 .loc 1 1683 18
- 2700 00d2 0023 movs r3, #0
- 2701 00d4 6DE0 b .L132
- 2702 .L137:
- 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if RXNE flag is set */
- 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RXNE))
- 2703 .loc 1 1688 11
- 2704 00d6 FB68 ldr r3, [r7, #12]
- 2705 00d8 1B68 ldr r3, [r3]
- 2706 00da 1B68 ldr r3, [r3]
- 2707 00dc 03F02003 and r3, r3, #32
- 2708 .loc 1 1688 10
- 2709 00e0 202B cmp r3, #32
- 2710 00e2 3CD1 bne .L138
- 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
- 2711 .loc 1 1690 12
- 2712 00e4 FB69 ldr r3, [r7, #28]
- 2713 00e6 002B cmp r3, #0
- 2714 00e8 0CD1 bne .L139
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 98
- 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
- 2715 .loc 1 1692 42
- 2716 00ea FB68 ldr r3, [r7, #12]
- 2717 00ec 1B68 ldr r3, [r3]
- 2718 .loc 1 1692 52
- 2719 00ee 5B68 ldr r3, [r3, #4]
- 2720 .loc 1 1692 26
- 2721 00f0 9BB2 uxth r3, r3
- 2722 00f2 C3F30803 ubfx r3, r3, #0, #9
- 2723 00f6 9AB2 uxth r2, r3
- 2724 .loc 1 1692 24
- 2725 00f8 BB69 ldr r3, [r7, #24]
- 2726 00fa 1A80 strh r2, [r3] @ movhi
- 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
- 2727 .loc 1 1693 22
- 2728 00fc BB69 ldr r3, [r7, #24]
- 2729 00fe 0233 adds r3, r3, #2
- 2730 0100 BB61 str r3, [r7, #24]
- 2731 0102 1FE0 b .L140
- 2732 .L139:
- 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WO
- 2733 .loc 1 1697 27
- 2734 0104 FB68 ldr r3, [r7, #12]
- 2735 0106 9B68 ldr r3, [r3, #8]
- 2736 .loc 1 1697 14
- 2737 0108 B3F5805F cmp r3, #4096
- 2738 010c 07D0 beq .L141
- 2739 .loc 1 1697 78 discriminator 1
- 2740 010e FB68 ldr r3, [r7, #12]
- 2741 0110 9B68 ldr r3, [r3, #8]
- 2742 .loc 1 1697 62 discriminator 1
- 2743 0112 002B cmp r3, #0
- 2744 0114 0AD1 bne .L142
- 2745 .loc 1 1697 128 discriminator 2
- 2746 0116 FB68 ldr r3, [r7, #12]
- 2747 0118 1B69 ldr r3, [r3, #16]
- 2748 .loc 1 1697 113 discriminator 2
- 2749 011a 002B cmp r3, #0
- 2750 011c 06D1 bne .L142
- 2751 .L141:
- 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
- 2752 .loc 1 1699 42
- 2753 011e FB68 ldr r3, [r7, #12]
- 2754 0120 1B68 ldr r3, [r3]
- 2755 .loc 1 1699 52
- 2756 0122 5B68 ldr r3, [r3, #4]
- 2757 .loc 1 1699 27
- 2758 0124 DAB2 uxtb r2, r3
- 2759 .loc 1 1699 25
- 2760 0126 FB69 ldr r3, [r7, #28]
- 2761 0128 1A70 strb r2, [r3]
- 2762 012a 08E0 b .L143
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 99
- 2763 .L142:
- 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
- 2764 .loc 1 1703 42
- 2765 012c FB68 ldr r3, [r7, #12]
- 2766 012e 1B68 ldr r3, [r3]
- 2767 .loc 1 1703 52
- 2768 0130 5B68 ldr r3, [r3, #4]
- 2769 .loc 1 1703 27
- 2770 0132 DBB2 uxtb r3, r3
- 2771 0134 03F07F03 and r3, r3, #127
- 2772 0138 DAB2 uxtb r2, r3
- 2773 .loc 1 1703 25
- 2774 013a FB69 ldr r3, [r7, #28]
- 2775 013c 1A70 strb r2, [r3]
- 2776 .L143:
- 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
- 2777 .loc 1 1706 21
- 2778 013e FB69 ldr r3, [r7, #28]
- 2779 0140 0133 adds r3, r3, #1
- 2780 0142 FB61 str r3, [r7, #28]
- 2781 .L140:
- 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Increment number of received elements */
- 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen += 1U;
- 2782 .loc 1 1709 16
- 2783 0144 3B68 ldr r3, [r7]
- 2784 0146 1B88 ldrh r3, [r3]
- 2785 0148 0133 adds r3, r3, #1
- 2786 014a 9AB2 uxth r2, r3
- 2787 014c 3B68 ldr r3, [r7]
- 2788 014e 1A80 strh r2, [r3] @ movhi
- 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
- 2789 .loc 1 1710 14
- 2790 0150 FB68 ldr r3, [r7, #12]
- 2791 0152 DB8D ldrh r3, [r3, #46] @ movhi
- 2792 0154 9BB2 uxth r3, r3
- 2793 .loc 1 1710 27
- 2794 0156 013B subs r3, r3, #1
- 2795 0158 9AB2 uxth r2, r3
- 2796 015a FB68 ldr r3, [r7, #12]
- 2797 015c DA85 strh r2, [r3, #46] @ movhi
- 2798 .L138:
- 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */
- 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
- 2799 .loc 1 1714 10
- 2800 015e BB6A ldr r3, [r7, #40]
- 2801 0160 B3F1FF3F cmp r3, #-1
- 2802 0164 10D0 beq .L136
- 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 100
- 2803 .loc 1 1716 15
- 2804 0166 FFF7FEFF bl HAL_GetTick
- 2805 016a 0246 mov r2, r0
- 2806 .loc 1 1716 29
- 2807 016c 7B69 ldr r3, [r7, #20]
- 2808 016e D31A subs r3, r2, r3
- 2809 .loc 1 1716 12
- 2810 0170 BA6A ldr r2, [r7, #40]
- 2811 0172 9A42 cmp r2, r3
- 2812 0174 02D3 bcc .L144
- 2813 .loc 1 1716 53 discriminator 1
- 2814 0176 BB6A ldr r3, [r7, #40]
- 2815 0178 002B cmp r3, #0
- 2816 017a 05D1 bne .L136
- 2817 .L144:
- 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 2818 .loc 1 1718 26
- 2819 017c FB68 ldr r3, [r7, #12]
- 2820 017e 2022 movs r2, #32
- 2821 0180 83F83E20 strb r2, [r3, #62]
- 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 2822 .loc 1 1720 18
- 2823 0184 0323 movs r3, #3
- 2824 0186 14E0 b .L132
- 2825 .L136:
- 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2826 .loc 1 1669 17
- 2827 0188 FB68 ldr r3, [r7, #12]
- 2828 018a DB8D ldrh r3, [r3, #46] @ movhi
- 2829 018c 9BB2 uxth r3, r3
- 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2830 .loc 1 1669 11
- 2831 018e 002B cmp r3, #0
- 2832 0190 85D1 bne .L145
- 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set number of received elements in output parameter : RxLen */
- 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = huart->RxXferSize - huart->RxXferCount;
- 2833 .loc 1 1726 19
- 2834 0192 FB68 ldr r3, [r7, #12]
- 2835 0194 9A8D ldrh r2, [r3, #44]
- 2836 .loc 1 1726 39
- 2837 0196 FB68 ldr r3, [r7, #12]
- 2838 0198 DB8D ldrh r3, [r3, #46] @ movhi
- 2839 019a 9BB2 uxth r3, r3
- 2840 .loc 1 1726 32
- 2841 019c D31A subs r3, r2, r3
- 2842 019e 9AB2 uxth r2, r3
- 2843 .loc 1 1726 12
- 2844 01a0 3B68 ldr r3, [r7]
- 2845 01a2 1A80 strh r2, [r3] @ movhi
- 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 101
- 2846 .loc 1 1728 20
- 2847 01a4 FB68 ldr r3, [r7, #12]
- 2848 01a6 2022 movs r2, #32
- 2849 01a8 83F83E20 strb r2, [r3, #62]
- 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 2850 .loc 1 1730 12
- 2851 01ac 0023 movs r3, #0
- 2852 01ae 00E0 b .L132
- 2853 .L129:
- 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 2854 .loc 1 1734 12
- 2855 01b0 0223 movs r3, #2
- 2856 .L132:
- 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2857 .loc 1 1736 1
- 2858 01b2 1846 mov r0, r3
- 2859 01b4 2037 adds r7, r7, #32
- 2860 .LCFI88:
- 2861 .cfi_def_cfa_offset 8
- 2862 01b6 BD46 mov sp, r7
- 2863 .LCFI89:
- 2864 .cfi_def_cfa_register 13
- 2865 @ sp needed
- 2866 01b8 80BD pop {r7, pc}
- 2867 .cfi_endproc
- 2868 .LFE251:
- 2870 .section .text.HAL_UARTEx_ReceiveToIdle_IT,"ax",%progbits
- 2871 .align 1
- 2872 .global HAL_UARTEx_ReceiveToIdle_IT
- 2873 .syntax unified
- 2874 .thumb
- 2875 .thumb_func
- 2877 HAL_UARTEx_ReceiveToIdle_IT:
- 2878 .LFB252:
- 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode till either the expected number of data is r
- 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
- 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to UART interrupts raised by RXNE and IDLE events. Callback is called at end of recepti
- 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * number of received data elements.
- 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
- 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
- 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
- 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
- 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
- 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t S
- 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2879 .loc 1 1752 1
- 2880 .cfi_startproc
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 102
- 2881 @ args = 0, pretend = 0, frame = 48
- 2882 @ frame_needed = 1, uses_anonymous_args = 0
- 2883 0000 80B5 push {r7, lr}
- 2884 .LCFI90:
- 2885 .cfi_def_cfa_offset 8
- 2886 .cfi_offset 7, -8
- 2887 .cfi_offset 14, -4
- 2888 0002 8CB0 sub sp, sp, #48
- 2889 .LCFI91:
- 2890 .cfi_def_cfa_offset 56
- 2891 0004 00AF add r7, sp, #0
- 2892 .LCFI92:
- 2893 .cfi_def_cfa_register 7
- 2894 0006 F860 str r0, [r7, #12]
- 2895 0008 B960 str r1, [r7, #8]
- 2896 000a 1346 mov r3, r2
- 2897 000c FB80 strh r3, [r7, #6] @ movhi
- 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
- 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 2898 .loc 1 1756 12
- 2899 000e FB68 ldr r3, [r7, #12]
- 2900 0010 93F83E30 ldrb r3, [r3, #62]
- 2901 0014 DBB2 uxtb r3, r3
- 2902 .loc 1 1756 6
- 2903 0016 202B cmp r3, #32
- 2904 0018 52D1 bne .L147
- 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 2905 .loc 1 1758 8
- 2906 001a BB68 ldr r3, [r7, #8]
- 2907 001c 002B cmp r3, #0
- 2908 001e 02D0 beq .L148
- 2909 .loc 1 1758 25 discriminator 1
- 2910 0020 FB88 ldrh r3, [r7, #6]
- 2911 0022 002B cmp r3, #0
- 2912 0024 01D1 bne .L149
- 2913 .L148:
- 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 2914 .loc 1 1760 14
- 2915 0026 0123 movs r3, #1
- 2916 0028 4BE0 b .L150
- 2917 .L149:
- 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 2918 .loc 1 1763 5
- 2919 002a FB68 ldr r3, [r7, #12]
- 2920 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 2921 0030 012B cmp r3, #1
- 2922 0032 01D1 bne .L151
- 2923 .loc 1 1763 5 is_stmt 0 discriminator 1
- 2924 0034 0223 movs r3, #2
- 2925 0036 44E0 b .L150
- 2926 .L151:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 103
- 2927 .loc 1 1763 5 discriminator 2
- 2928 0038 FB68 ldr r3, [r7, #12]
- 2929 003a 0122 movs r2, #1
- 2930 003c 83F83C20 strb r2, [r3, #60]
- 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/
- 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
- 2931 .loc 1 1766 26 is_stmt 1 discriminator 2
- 2932 0040 FB68 ldr r3, [r7, #12]
- 2933 0042 0122 movs r2, #1
- 2934 0044 1A63 str r2, [r3, #48]
- 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_IT(huart, pData, Size);
- 2935 .loc 1 1768 15 discriminator 2
- 2936 0046 FB88 ldrh r3, [r7, #6]
- 2937 0048 1A46 mov r2, r3
- 2938 004a B968 ldr r1, [r7, #8]
- 2939 004c F868 ldr r0, [r7, #12]
- 2940 004e FFF7FEFF bl UART_Start_Receive_IT
- 2941 0052 0346 mov r3, r0
- 2942 0054 87F82F30 strb r3, [r7, #47]
- 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */
- 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (status == HAL_OK)
- 2943 .loc 1 1771 8 discriminator 2
- 2944 0058 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
- 2945 005c 002B cmp r3, #0
- 2946 005e 2CD1 bne .L152
- 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 2947 .loc 1 1773 16
- 2948 0060 FB68 ldr r3, [r7, #12]
- 2949 0062 1B6B ldr r3, [r3, #48]
- 2950 .loc 1 1773 10
- 2951 0064 012B cmp r3, #1
- 2952 0066 25D1 bne .L153
- 2953 .LBB377:
- 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
- 2954 .loc 1 1775 9
- 2955 0068 0023 movs r3, #0
- 2956 006a 3B61 str r3, [r7, #16]
- 2957 006c FB68 ldr r3, [r7, #12]
- 2958 006e 1B68 ldr r3, [r3]
- 2959 0070 1B68 ldr r3, [r3]
- 2960 0072 3B61 str r3, [r7, #16]
- 2961 0074 FB68 ldr r3, [r7, #12]
- 2962 0076 1B68 ldr r3, [r3]
- 2963 0078 5B68 ldr r3, [r3, #4]
- 2964 007a 3B61 str r3, [r7, #16]
- 2965 007c 3B69 ldr r3, [r7, #16]
- 2966 .L156:
- 2967 .LBE377:
- 2968 .LBB378:
- 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 2969 .loc 1 1776 9 discriminator 1
- 2970 007e FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 104
- 2971 0080 1B68 ldr r3, [r3]
- 2972 0082 0C33 adds r3, r3, #12
- 2973 0084 BB61 str r3, [r7, #24]
- 2974 .LBB379:
- 2975 .LBB380:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 2976 .loc 2 1072 4 discriminator 1
- 2977 0086 BB69 ldr r3, [r7, #24]
- 2978 .syntax unified
- 2979 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 2980 0088 53E8003F ldrex r3, [r3]
- 2981 @ 0 "" 2
- 2982 .thumb
- 2983 .syntax unified
- 2984 008c 7B61 str r3, [r7, #20]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 2985 .loc 2 1073 10 discriminator 1
- 2986 008e 7B69 ldr r3, [r7, #20]
- 2987 .LBE380:
- 2988 .LBE379:
- 2989 .loc 1 1776 9 discriminator 1
- 2990 0090 43F01003 orr r3, r3, #16
- 2991 0094 BB62 str r3, [r7, #40]
- 2992 0096 FB68 ldr r3, [r7, #12]
- 2993 0098 1B68 ldr r3, [r3]
- 2994 009a 0C33 adds r3, r3, #12
- 2995 009c BA6A ldr r2, [r7, #40]
- 2996 009e 7A62 str r2, [r7, #36]
- 2997 00a0 3B62 str r3, [r7, #32]
- 2998 .LBB381:
- 2999 .LBB382:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3000 .loc 2 1123 4 discriminator 1
- 3001 00a2 396A ldr r1, [r7, #32]
- 3002 00a4 7A6A ldr r2, [r7, #36]
- 3003 .syntax unified
- 3004 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3005 00a6 41E80023 strex r3, r2, [r1]
- 3006 @ 0 "" 2
- 3007 .thumb
- 3008 .syntax unified
- 3009 00aa FB61 str r3, [r7, #28]
- 3010 .loc 2 1124 10 discriminator 1
- 3011 00ac FB69 ldr r3, [r7, #28]
- 3012 .LBE382:
- 3013 .LBE381:
- 3014 .loc 1 1776 9 discriminator 1
- 3015 00ae 002B cmp r3, #0
- 3016 00b0 E5D1 bne .L156
- 3017 00b2 02E0 b .L152
- 3018 .L153:
- 3019 .LBE378:
- 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started,
- 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 105
- 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance).
- 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
- 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 3020 .loc 1 1784 16
- 3021 00b4 0123 movs r3, #1
- 3022 00b6 87F82F30 strb r3, [r7, #47]
- 3023 .L152:
- 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
- 3024 .loc 1 1788 12
- 3025 00ba 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
- 3026 00be 00E0 b .L150
- 3027 .L147:
- 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 3028 .loc 1 1792 12
- 3029 00c0 0223 movs r3, #2
- 3030 .L150:
- 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3031 .loc 1 1794 1
- 3032 00c2 1846 mov r0, r3
- 3033 00c4 3037 adds r7, r7, #48
- 3034 .LCFI93:
- 3035 .cfi_def_cfa_offset 8
- 3036 00c6 BD46 mov sp, r7
- 3037 .LCFI94:
- 3038 .cfi_def_cfa_register 13
- 3039 @ sp needed
- 3040 00c8 80BD pop {r7, pc}
- 3041 .cfi_endproc
- 3042 .LFE252:
- 3044 .section .text.HAL_UARTEx_ReceiveToIdle_DMA,"ax",%progbits
- 3045 .align 1
- 3046 .global HAL_UARTEx_ReceiveToIdle_DMA
- 3047 .syntax unified
- 3048 .thumb
- 3049 .thumb_func
- 3051 HAL_UARTEx_ReceiveToIdle_DMA:
- 3052 .LFB253:
- 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode till either the expected number of data is receive
- 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
- 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to DMA services, transferring automatically received data elements in user reception bu
- 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * calling registered callbacks at half/end of reception. UART IDLE events are also used t
- 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception phase as ended. In all cases, callback execution will indicate number of rece
- 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
- 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the parity bit (MSB position).
- 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
- 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
- 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
- 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 106
- 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
- 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
- 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t
- 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3053 .loc 1 1813 1
- 3054 .cfi_startproc
- 3055 @ args = 0, pretend = 0, frame = 48
- 3056 @ frame_needed = 1, uses_anonymous_args = 0
- 3057 0000 80B5 push {r7, lr}
- 3058 .LCFI95:
- 3059 .cfi_def_cfa_offset 8
- 3060 .cfi_offset 7, -8
- 3061 .cfi_offset 14, -4
- 3062 0002 8CB0 sub sp, sp, #48
- 3063 .LCFI96:
- 3064 .cfi_def_cfa_offset 56
- 3065 0004 00AF add r7, sp, #0
- 3066 .LCFI97:
- 3067 .cfi_def_cfa_register 7
- 3068 0006 F860 str r0, [r7, #12]
- 3069 0008 B960 str r1, [r7, #8]
- 3070 000a 1346 mov r3, r2
- 3071 000c FB80 strh r3, [r7, #6] @ movhi
- 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
- 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
- 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
- 3072 .loc 1 1817 12
- 3073 000e FB68 ldr r3, [r7, #12]
- 3074 0010 93F83E30 ldrb r3, [r3, #62]
- 3075 0014 DBB2 uxtb r3, r3
- 3076 .loc 1 1817 6
- 3077 0016 202B cmp r3, #32
- 3078 0018 52D1 bne .L158
- 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
- 3079 .loc 1 1819 8
- 3080 001a BB68 ldr r3, [r7, #8]
- 3081 001c 002B cmp r3, #0
- 3082 001e 02D0 beq .L159
- 3083 .loc 1 1819 25 discriminator 1
- 3084 0020 FB88 ldrh r3, [r7, #6]
- 3085 0022 002B cmp r3, #0
- 3086 0024 01D1 bne .L160
- 3087 .L159:
- 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
- 3088 .loc 1 1821 14
- 3089 0026 0123 movs r3, #1
- 3090 0028 4BE0 b .L161
- 3091 .L160:
- 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 3092 .loc 1 1824 5
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 107
- 3093 002a FB68 ldr r3, [r7, #12]
- 3094 002c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 3095 0030 012B cmp r3, #1
- 3096 0032 01D1 bne .L162
- 3097 .loc 1 1824 5 is_stmt 0 discriminator 1
- 3098 0034 0223 movs r3, #2
- 3099 0036 44E0 b .L161
- 3100 .L162:
- 3101 .loc 1 1824 5 discriminator 2
- 3102 0038 FB68 ldr r3, [r7, #12]
- 3103 003a 0122 movs r2, #1
- 3104 003c 83F83C20 strb r2, [r3, #60]
- 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/
- 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
- 3105 .loc 1 1827 26 is_stmt 1 discriminator 2
- 3106 0040 FB68 ldr r3, [r7, #12]
- 3107 0042 0122 movs r2, #1
- 3108 0044 1A63 str r2, [r3, #48]
- 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_DMA(huart, pData, Size);
- 3109 .loc 1 1829 15 discriminator 2
- 3110 0046 FB88 ldrh r3, [r7, #6]
- 3111 0048 1A46 mov r2, r3
- 3112 004a B968 ldr r1, [r7, #8]
- 3113 004c F868 ldr r0, [r7, #12]
- 3114 004e FFF7FEFF bl UART_Start_Receive_DMA
- 3115 0052 0346 mov r3, r0
- 3116 0054 87F82F30 strb r3, [r7, #47]
- 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */
- 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (status == HAL_OK)
- 3117 .loc 1 1832 8 discriminator 2
- 3118 0058 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
- 3119 005c 002B cmp r3, #0
- 3120 005e 2CD1 bne .L163
- 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 3121 .loc 1 1834 16
- 3122 0060 FB68 ldr r3, [r7, #12]
- 3123 0062 1B6B ldr r3, [r3, #48]
- 3124 .loc 1 1834 10
- 3125 0064 012B cmp r3, #1
- 3126 0066 25D1 bne .L164
- 3127 .LBB383:
- 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
- 3128 .loc 1 1836 9
- 3129 0068 0023 movs r3, #0
- 3130 006a 3B61 str r3, [r7, #16]
- 3131 006c FB68 ldr r3, [r7, #12]
- 3132 006e 1B68 ldr r3, [r3]
- 3133 0070 1B68 ldr r3, [r3]
- 3134 0072 3B61 str r3, [r7, #16]
- 3135 0074 FB68 ldr r3, [r7, #12]
- 3136 0076 1B68 ldr r3, [r3]
- 3137 0078 5B68 ldr r3, [r3, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 108
- 3138 007a 3B61 str r3, [r7, #16]
- 3139 007c 3B69 ldr r3, [r7, #16]
- 3140 .L167:
- 3141 .LBE383:
- 3142 .LBB384:
- 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 3143 .loc 1 1837 9 discriminator 1
- 3144 007e FB68 ldr r3, [r7, #12]
- 3145 0080 1B68 ldr r3, [r3]
- 3146 0082 0C33 adds r3, r3, #12
- 3147 0084 BB61 str r3, [r7, #24]
- 3148 .LBB385:
- 3149 .LBB386:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3150 .loc 2 1072 4 discriminator 1
- 3151 0086 BB69 ldr r3, [r7, #24]
- 3152 .syntax unified
- 3153 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3154 0088 53E8003F ldrex r3, [r3]
- 3155 @ 0 "" 2
- 3156 .thumb
- 3157 .syntax unified
- 3158 008c 7B61 str r3, [r7, #20]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3159 .loc 2 1073 10 discriminator 1
- 3160 008e 7B69 ldr r3, [r7, #20]
- 3161 .LBE386:
- 3162 .LBE385:
- 3163 .loc 1 1837 9 discriminator 1
- 3164 0090 43F01003 orr r3, r3, #16
- 3165 0094 BB62 str r3, [r7, #40]
- 3166 0096 FB68 ldr r3, [r7, #12]
- 3167 0098 1B68 ldr r3, [r3]
- 3168 009a 0C33 adds r3, r3, #12
- 3169 009c BA6A ldr r2, [r7, #40]
- 3170 009e 7A62 str r2, [r7, #36]
- 3171 00a0 3B62 str r3, [r7, #32]
- 3172 .LBB387:
- 3173 .LBB388:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3174 .loc 2 1123 4 discriminator 1
- 3175 00a2 396A ldr r1, [r7, #32]
- 3176 00a4 7A6A ldr r2, [r7, #36]
- 3177 .syntax unified
- 3178 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3179 00a6 41E80023 strex r3, r2, [r1]
- 3180 @ 0 "" 2
- 3181 .thumb
- 3182 .syntax unified
- 3183 00aa FB61 str r3, [r7, #28]
- 3184 .loc 2 1124 10 discriminator 1
- 3185 00ac FB69 ldr r3, [r7, #28]
- 3186 .LBE388:
- 3187 .LBE387:
- 3188 .loc 1 1837 9 discriminator 1
- 3189 00ae 002B cmp r3, #0
- 3190 00b0 E5D1 bne .L167
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 109
- 3191 00b2 02E0 b .L163
- 3192 .L164:
- 3193 .LBE384:
- 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started,
- 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion.
- 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance).
- 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
- 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
- 3194 .loc 1 1845 16
- 3195 00b4 0123 movs r3, #1
- 3196 00b6 87F82F30 strb r3, [r7, #47]
- 3197 .L163:
- 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
- 3198 .loc 1 1849 12
- 3199 00ba 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
- 3200 00be 00E0 b .L161
- 3201 .L158:
- 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 3202 .loc 1 1853 12
- 3203 00c0 0223 movs r3, #2
- 3204 .L161:
- 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3205 .loc 1 1855 1
- 3206 00c2 1846 mov r0, r3
- 3207 00c4 3037 adds r7, r7, #48
- 3208 .LCFI98:
- 3209 .cfi_def_cfa_offset 8
- 3210 00c6 BD46 mov sp, r7
- 3211 .LCFI99:
- 3212 .cfi_def_cfa_register 13
- 3213 @ sp needed
- 3214 00c8 80BD pop {r7, pc}
- 3215 .cfi_endproc
- 3216 .LFE253:
- 3218 .section .text.HAL_UART_Abort,"ax",%progbits
- 3219 .align 1
- 3220 .global HAL_UART_Abort
- 3221 .syntax unified
- 3222 .thumb
- 3223 .thumb_func
- 3225 HAL_UART_Abort:
- 3226 .LFB254:
- 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
- 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 110
- 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
- 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
- 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
- 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
- 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
- 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
- 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3227 .loc 1 1870 1
- 3228 .cfi_startproc
- 3229 @ args = 0, pretend = 0, frame = 128
- 3230 @ frame_needed = 1, uses_anonymous_args = 0
- 3231 0000 80B5 push {r7, lr}
- 3232 .LCFI100:
- 3233 .cfi_def_cfa_offset 8
- 3234 .cfi_offset 7, -8
- 3235 .cfi_offset 14, -4
- 3236 0002 A0B0 sub sp, sp, #128
- 3237 .LCFI101:
- 3238 .cfi_def_cfa_offset 136
- 3239 0004 00AF add r7, sp, #0
- 3240 .LCFI102:
- 3241 .cfi_def_cfa_register 7
- 3242 0006 7860 str r0, [r7, #4]
- 3243 .L171:
- 3244 .LBB389:
- 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
- 3245 .loc 1 1872 3 discriminator 1
- 3246 0008 7B68 ldr r3, [r7, #4]
- 3247 000a 1B68 ldr r3, [r3]
- 3248 000c 0C33 adds r3, r3, #12
- 3249 000e FB65 str r3, [r7, #92]
- 3250 .LBB390:
- 3251 .LBB391:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3252 .loc 2 1072 4 discriminator 1
- 3253 0010 FB6D ldr r3, [r7, #92]
- 3254 .syntax unified
- 3255 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3256 0012 53E8003F ldrex r3, [r3]
- 3257 @ 0 "" 2
- 3258 .thumb
- 3259 .syntax unified
- 3260 0016 BB65 str r3, [r7, #88]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3261 .loc 2 1073 10 discriminator 1
- 3262 0018 BB6D ldr r3, [r7, #88]
- 3263 .LBE391:
- 3264 .LBE390:
- 3265 .loc 1 1872 3 discriminator 1
- 3266 001a 23F4F073 bic r3, r3, #480
- 3267 001e FB67 str r3, [r7, #124]
- 3268 0020 7B68 ldr r3, [r7, #4]
- 3269 0022 1B68 ldr r3, [r3]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 111
- 3270 0024 0C33 adds r3, r3, #12
- 3271 0026 FA6F ldr r2, [r7, #124]
- 3272 0028 BA66 str r2, [r7, #104]
- 3273 002a 7B66 str r3, [r7, #100]
- 3274 .LBB392:
- 3275 .LBB393:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3276 .loc 2 1123 4 discriminator 1
- 3277 002c 796E ldr r1, [r7, #100]
- 3278 002e BA6E ldr r2, [r7, #104]
- 3279 .syntax unified
- 3280 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3281 0030 41E80023 strex r3, r2, [r1]
- 3282 @ 0 "" 2
- 3283 .thumb
- 3284 .syntax unified
- 3285 0034 3B66 str r3, [r7, #96]
- 3286 .loc 2 1124 10 discriminator 1
- 3287 0036 3B6E ldr r3, [r7, #96]
- 3288 .LBE393:
- 3289 .LBE392:
- 3290 .loc 1 1872 3 discriminator 1
- 3291 0038 002B cmp r3, #0
- 3292 003a E5D1 bne .L171
- 3293 .L174:
- 3294 .LBE389:
- 3295 .LBB394:
- 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 3296 .loc 1 1873 3 discriminator 1
- 3297 003c 7B68 ldr r3, [r7, #4]
- 3298 003e 1B68 ldr r3, [r3]
- 3299 0040 1433 adds r3, r3, #20
- 3300 0042 BB64 str r3, [r7, #72]
- 3301 .LBB395:
- 3302 .LBB396:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3303 .loc 2 1072 4 discriminator 1
- 3304 0044 BB6C ldr r3, [r7, #72]
- 3305 .syntax unified
- 3306 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3307 0046 53E8003F ldrex r3, [r3]
- 3308 @ 0 "" 2
- 3309 .thumb
- 3310 .syntax unified
- 3311 004a 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3312 .loc 2 1073 10 discriminator 1
- 3313 004c 7B6C ldr r3, [r7, #68]
- 3314 .LBE396:
- 3315 .LBE395:
- 3316 .loc 1 1873 3 discriminator 1
- 3317 004e 23F00103 bic r3, r3, #1
- 3318 0052 BB67 str r3, [r7, #120]
- 3319 0054 7B68 ldr r3, [r7, #4]
- 3320 0056 1B68 ldr r3, [r3]
- 3321 0058 1433 adds r3, r3, #20
- 3322 005a BA6F ldr r2, [r7, #120]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 112
- 3323 005c 7A65 str r2, [r7, #84]
- 3324 005e 3B65 str r3, [r7, #80]
- 3325 .LBB397:
- 3326 .LBB398:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3327 .loc 2 1123 4 discriminator 1
- 3328 0060 396D ldr r1, [r7, #80]
- 3329 0062 7A6D ldr r2, [r7, #84]
- 3330 .syntax unified
- 3331 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3332 0064 41E80023 strex r3, r2, [r1]
- 3333 @ 0 "" 2
- 3334 .thumb
- 3335 .syntax unified
- 3336 0068 FB64 str r3, [r7, #76]
- 3337 .loc 2 1124 10 discriminator 1
- 3338 006a FB6C ldr r3, [r7, #76]
- 3339 .LBE398:
- 3340 .LBE397:
- 3341 .loc 1 1873 3 discriminator 1
- 3342 006c 002B cmp r3, #0
- 3343 006e E5D1 bne .L174
- 3344 .LBE394:
- 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 3345 .loc 1 1876 12
- 3346 0070 7B68 ldr r3, [r7, #4]
- 3347 0072 1B6B ldr r3, [r3, #48]
- 3348 .loc 1 1876 6
- 3349 0074 012B cmp r3, #1
- 3350 0076 19D1 bne .L175
- 3351 .L178:
- 3352 .LBB399:
- 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 3353 .loc 1 1878 5 discriminator 1
- 3354 0078 7B68 ldr r3, [r7, #4]
- 3355 007a 1B68 ldr r3, [r3]
- 3356 007c 0C33 adds r3, r3, #12
- 3357 007e 7B63 str r3, [r7, #52]
- 3358 .LBB400:
- 3359 .LBB401:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3360 .loc 2 1072 4 discriminator 1
- 3361 0080 7B6B ldr r3, [r7, #52]
- 3362 .syntax unified
- 3363 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3364 0082 53E8003F ldrex r3, [r3]
- 3365 @ 0 "" 2
- 3366 .thumb
- 3367 .syntax unified
- 3368 0086 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3369 .loc 2 1073 10 discriminator 1
- 3370 0088 3B6B ldr r3, [r7, #48]
- 3371 .LBE401:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 113
- 3372 .LBE400:
- 3373 .loc 1 1878 5 discriminator 1
- 3374 008a 23F01003 bic r3, r3, #16
- 3375 008e 7B67 str r3, [r7, #116]
- 3376 0090 7B68 ldr r3, [r7, #4]
- 3377 0092 1B68 ldr r3, [r3]
- 3378 0094 0C33 adds r3, r3, #12
- 3379 0096 7A6F ldr r2, [r7, #116]
- 3380 0098 3A64 str r2, [r7, #64]
- 3381 009a FB63 str r3, [r7, #60]
- 3382 .LBB402:
- 3383 .LBB403:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3384 .loc 2 1123 4 discriminator 1
- 3385 009c F96B ldr r1, [r7, #60]
- 3386 009e 3A6C ldr r2, [r7, #64]
- 3387 .syntax unified
- 3388 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3389 00a0 41E80023 strex r3, r2, [r1]
- 3390 @ 0 "" 2
- 3391 .thumb
- 3392 .syntax unified
- 3393 00a4 BB63 str r3, [r7, #56]
- 3394 .loc 2 1124 10 discriminator 1
- 3395 00a6 BB6B ldr r3, [r7, #56]
- 3396 .LBE403:
- 3397 .LBE402:
- 3398 .loc 1 1878 5 discriminator 1
- 3399 00a8 002B cmp r3, #0
- 3400 00aa E5D1 bne .L178
- 3401 .L175:
- 3402 .LBE399:
- 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
- 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 3403 .loc 1 1882 7
- 3404 00ac 7B68 ldr r3, [r7, #4]
- 3405 00ae 1B68 ldr r3, [r3]
- 3406 00b0 5B69 ldr r3, [r3, #20]
- 3407 00b2 03F08003 and r3, r3, #128
- 3408 .loc 1 1882 6
- 3409 00b6 802B cmp r3, #128
- 3410 00b8 36D1 bne .L179
- 3411 .L182:
- 3412 .LBB404:
- 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 3413 .loc 1 1884 5 discriminator 1
- 3414 00ba 7B68 ldr r3, [r7, #4]
- 3415 00bc 1B68 ldr r3, [r3]
- 3416 00be 1433 adds r3, r3, #20
- 3417 00c0 3B62 str r3, [r7, #32]
- 3418 .LBB405:
- 3419 .LBB406:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3420 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 114
- 3421 00c2 3B6A ldr r3, [r7, #32]
- 3422 .syntax unified
- 3423 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3424 00c4 53E8003F ldrex r3, [r3]
- 3425 @ 0 "" 2
- 3426 .thumb
- 3427 .syntax unified
- 3428 00c8 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3429 .loc 2 1073 10 discriminator 1
- 3430 00ca FB69 ldr r3, [r7, #28]
- 3431 .LBE406:
- 3432 .LBE405:
- 3433 .loc 1 1884 5 discriminator 1
- 3434 00cc 23F08003 bic r3, r3, #128
- 3435 00d0 3B67 str r3, [r7, #112]
- 3436 00d2 7B68 ldr r3, [r7, #4]
- 3437 00d4 1B68 ldr r3, [r3]
- 3438 00d6 1433 adds r3, r3, #20
- 3439 00d8 3A6F ldr r2, [r7, #112]
- 3440 00da FA62 str r2, [r7, #44]
- 3441 00dc BB62 str r3, [r7, #40]
- 3442 .LBB407:
- 3443 .LBB408:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3444 .loc 2 1123 4 discriminator 1
- 3445 00de B96A ldr r1, [r7, #40]
- 3446 00e0 FA6A ldr r2, [r7, #44]
- 3447 .syntax unified
- 3448 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3449 00e2 41E80023 strex r3, r2, [r1]
- 3450 @ 0 "" 2
- 3451 .thumb
- 3452 .syntax unified
- 3453 00e6 7B62 str r3, [r7, #36]
- 3454 .loc 2 1124 10 discriminator 1
- 3455 00e8 7B6A ldr r3, [r7, #36]
- 3456 .LBE408:
- 3457 .LBE407:
- 3458 .loc 1 1884 5 discriminator 1
- 3459 00ea 002B cmp r3, #0
- 3460 00ec E5D1 bne .L182
- 3461 .LBE404:
- 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream: use blocking DMA Abort API (no callback) */
- 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 3462 .loc 1 1887 14
- 3463 00ee 7B68 ldr r3, [r7, #4]
- 3464 00f0 5B6B ldr r3, [r3, #52]
- 3465 .loc 1 1887 8
- 3466 00f2 002B cmp r3, #0
- 3467 00f4 18D0 beq .L179
- 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 3468 .loc 1 1891 12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 115
- 3469 00f6 7B68 ldr r3, [r7, #4]
- 3470 00f8 5B6B ldr r3, [r3, #52]
- 3471 .loc 1 1891 40
- 3472 00fa 0022 movs r2, #0
- 3473 00fc 1A65 str r2, [r3, #80]
- 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
- 3474 .loc 1 1893 11
- 3475 00fe 7B68 ldr r3, [r7, #4]
- 3476 0100 5B6B ldr r3, [r3, #52]
- 3477 0102 1846 mov r0, r3
- 3478 0104 FFF7FEFF bl HAL_DMA_Abort
- 3479 0108 0346 mov r3, r0
- 3480 .loc 1 1893 10
- 3481 010a 002B cmp r3, #0
- 3482 010c 0CD0 beq .L179
- 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
- 3483 .loc 1 1895 13
- 3484 010e 7B68 ldr r3, [r7, #4]
- 3485 0110 5B6B ldr r3, [r3, #52]
- 3486 0112 1846 mov r0, r3
- 3487 0114 FFF7FEFF bl HAL_DMA_GetError
- 3488 0118 0346 mov r3, r0
- 3489 .loc 1 1895 12
- 3490 011a 202B cmp r3, #32
- 3491 011c 04D1 bne .L179
- 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
- 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 3492 .loc 1 1898 28
- 3493 011e 7B68 ldr r3, [r7, #4]
- 3494 0120 1022 movs r2, #16
- 3495 0122 1A64 str r2, [r3, #64]
- 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 3496 .loc 1 1900 18
- 3497 0124 0323 movs r3, #3
- 3498 0126 52E0 b .L183
- 3499 .L179:
- 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 3500 .loc 1 1907 7
- 3501 0128 7B68 ldr r3, [r7, #4]
- 3502 012a 1B68 ldr r3, [r3]
- 3503 012c 5B69 ldr r3, [r3, #20]
- 3504 012e 03F04003 and r3, r3, #64
- 3505 .loc 1 1907 6
- 3506 0132 402B cmp r3, #64
- 3507 0134 36D1 bne .L184
- 3508 .L187:
- 3509 .LBB409:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 116
- 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 3510 .loc 1 1909 5 discriminator 1
- 3511 0136 7B68 ldr r3, [r7, #4]
- 3512 0138 1B68 ldr r3, [r3]
- 3513 013a 1433 adds r3, r3, #20
- 3514 013c FB60 str r3, [r7, #12]
- 3515 .LBB410:
- 3516 .LBB411:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3517 .loc 2 1072 4 discriminator 1
- 3518 013e FB68 ldr r3, [r7, #12]
- 3519 .syntax unified
- 3520 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3521 0140 53E8003F ldrex r3, [r3]
- 3522 @ 0 "" 2
- 3523 .thumb
- 3524 .syntax unified
- 3525 0144 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3526 .loc 2 1073 10 discriminator 1
- 3527 0146 BB68 ldr r3, [r7, #8]
- 3528 .LBE411:
- 3529 .LBE410:
- 3530 .loc 1 1909 5 discriminator 1
- 3531 0148 23F04003 bic r3, r3, #64
- 3532 014c FB66 str r3, [r7, #108]
- 3533 014e 7B68 ldr r3, [r7, #4]
- 3534 0150 1B68 ldr r3, [r3]
- 3535 0152 1433 adds r3, r3, #20
- 3536 0154 FA6E ldr r2, [r7, #108]
- 3537 0156 BA61 str r2, [r7, #24]
- 3538 0158 7B61 str r3, [r7, #20]
- 3539 .LBB412:
- 3540 .LBB413:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3541 .loc 2 1123 4 discriminator 1
- 3542 015a 7969 ldr r1, [r7, #20]
- 3543 015c BA69 ldr r2, [r7, #24]
- 3544 .syntax unified
- 3545 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3546 015e 41E80023 strex r3, r2, [r1]
- 3547 @ 0 "" 2
- 3548 .thumb
- 3549 .syntax unified
- 3550 0162 3B61 str r3, [r7, #16]
- 3551 .loc 2 1124 10 discriminator 1
- 3552 0164 3B69 ldr r3, [r7, #16]
- 3553 .LBE413:
- 3554 .LBE412:
- 3555 .loc 1 1909 5 discriminator 1
- 3556 0166 002B cmp r3, #0
- 3557 0168 E5D1 bne .L187
- 3558 .LBE409:
- 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream: use blocking DMA Abort API (no callback) */
- 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 117
- 3559 .loc 1 1912 14
- 3560 016a 7B68 ldr r3, [r7, #4]
- 3561 016c 9B6B ldr r3, [r3, #56]
- 3562 .loc 1 1912 8
- 3563 016e 002B cmp r3, #0
- 3564 0170 18D0 beq .L184
- 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 3565 .loc 1 1916 12
- 3566 0172 7B68 ldr r3, [r7, #4]
- 3567 0174 9B6B ldr r3, [r3, #56]
- 3568 .loc 1 1916 40
- 3569 0176 0022 movs r2, #0
- 3570 0178 1A65 str r2, [r3, #80]
- 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
- 3571 .loc 1 1918 11
- 3572 017a 7B68 ldr r3, [r7, #4]
- 3573 017c 9B6B ldr r3, [r3, #56]
- 3574 017e 1846 mov r0, r3
- 3575 0180 FFF7FEFF bl HAL_DMA_Abort
- 3576 0184 0346 mov r3, r0
- 3577 .loc 1 1918 10
- 3578 0186 002B cmp r3, #0
- 3579 0188 0CD0 beq .L184
- 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
- 3580 .loc 1 1920 13
- 3581 018a 7B68 ldr r3, [r7, #4]
- 3582 018c 9B6B ldr r3, [r3, #56]
- 3583 018e 1846 mov r0, r3
- 3584 0190 FFF7FEFF bl HAL_DMA_GetError
- 3585 0194 0346 mov r3, r0
- 3586 .loc 1 1920 12
- 3587 0196 202B cmp r3, #32
- 3588 0198 04D1 bne .L184
- 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
- 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 3589 .loc 1 1923 28
- 3590 019a 7B68 ldr r3, [r7, #4]
- 3591 019c 1022 movs r2, #16
- 3592 019e 1A64 str r2, [r3, #64]
- 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 3593 .loc 1 1925 18
- 3594 01a0 0323 movs r3, #3
- 3595 01a2 14E0 b .L183
- 3596 .L184:
- 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 118
- 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 3597 .loc 1 1932 22
- 3598 01a4 7B68 ldr r3, [r7, #4]
- 3599 01a6 0022 movs r2, #0
- 3600 01a8 DA84 strh r2, [r3, #38] @ movhi
- 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 3601 .loc 1 1933 22
- 3602 01aa 7B68 ldr r3, [r7, #4]
- 3603 01ac 0022 movs r2, #0
- 3604 01ae DA85 strh r2, [r3, #46] @ movhi
- 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
- 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 3605 .loc 1 1936 20
- 3606 01b0 7B68 ldr r3, [r7, #4]
- 3607 01b2 0022 movs r2, #0
- 3608 01b4 1A64 str r2, [r3, #64]
- 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState and huart->gState to Ready */
- 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 3609 .loc 1 1939 18
- 3610 01b6 7B68 ldr r3, [r7, #4]
- 3611 01b8 2022 movs r2, #32
- 3612 01ba 83F83E20 strb r2, [r3, #62]
- 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 3613 .loc 1 1940 17
- 3614 01be 7B68 ldr r3, [r7, #4]
- 3615 01c0 2022 movs r2, #32
- 3616 01c2 83F83D20 strb r2, [r3, #61]
- 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 3617 .loc 1 1941 24
- 3618 01c6 7B68 ldr r3, [r7, #4]
- 3619 01c8 0022 movs r2, #0
- 3620 01ca 1A63 str r2, [r3, #48]
- 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 3621 .loc 1 1943 10
- 3622 01cc 0023 movs r3, #0
- 3623 .L183:
- 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3624 .loc 1 1944 1
- 3625 01ce 1846 mov r0, r3
- 3626 01d0 8037 adds r7, r7, #128
- 3627 .LCFI103:
- 3628 .cfi_def_cfa_offset 8
- 3629 01d2 BD46 mov sp, r7
- 3630 .LCFI104:
- 3631 .cfi_def_cfa_register 13
- 3632 @ sp needed
- 3633 01d4 80BD pop {r7, pc}
- 3634 .cfi_endproc
- 3635 .LFE254:
- 3637 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
- 3638 .align 1
- 3639 .global HAL_UART_AbortTransmit
- 3640 .syntax unified
- 3641 .thumb
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 119
- 3642 .thumb_func
- 3644 HAL_UART_AbortTransmit:
- 3645 .LFB255:
- 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
- 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
- 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
- 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
- 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
- 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
- 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
- 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
- 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3646 .loc 1 1959 1
- 3647 .cfi_startproc
- 3648 @ args = 0, pretend = 0, frame = 56
- 3649 @ frame_needed = 1, uses_anonymous_args = 0
- 3650 0000 80B5 push {r7, lr}
- 3651 .LCFI105:
- 3652 .cfi_def_cfa_offset 8
- 3653 .cfi_offset 7, -8
- 3654 .cfi_offset 14, -4
- 3655 0002 8EB0 sub sp, sp, #56
- 3656 .LCFI106:
- 3657 .cfi_def_cfa_offset 64
- 3658 0004 00AF add r7, sp, #0
- 3659 .LCFI107:
- 3660 .cfi_def_cfa_register 7
- 3661 0006 7860 str r0, [r7, #4]
- 3662 .L191:
- 3663 .LBB414:
- 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
- 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
- 3664 .loc 1 1961 3 discriminator 1
- 3665 0008 7B68 ldr r3, [r7, #4]
- 3666 000a 1B68 ldr r3, [r3]
- 3667 000c 0C33 adds r3, r3, #12
- 3668 000e 3B62 str r3, [r7, #32]
- 3669 .LBB415:
- 3670 .LBB416:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3671 .loc 2 1072 4 discriminator 1
- 3672 0010 3B6A ldr r3, [r7, #32]
- 3673 .syntax unified
- 3674 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3675 0012 53E8003F ldrex r3, [r3]
- 3676 @ 0 "" 2
- 3677 .thumb
- 3678 .syntax unified
- 3679 0016 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3680 .loc 2 1073 10 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 120
- 3681 0018 FB69 ldr r3, [r7, #28]
- 3682 .LBE416:
- 3683 .LBE415:
- 3684 .loc 1 1961 3 discriminator 1
- 3685 001a 23F0C003 bic r3, r3, #192
- 3686 001e 7B63 str r3, [r7, #52]
- 3687 0020 7B68 ldr r3, [r7, #4]
- 3688 0022 1B68 ldr r3, [r3]
- 3689 0024 0C33 adds r3, r3, #12
- 3690 0026 7A6B ldr r2, [r7, #52]
- 3691 0028 FA62 str r2, [r7, #44]
- 3692 002a BB62 str r3, [r7, #40]
- 3693 .LBB417:
- 3694 .LBB418:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3695 .loc 2 1123 4 discriminator 1
- 3696 002c B96A ldr r1, [r7, #40]
- 3697 002e FA6A ldr r2, [r7, #44]
- 3698 .syntax unified
- 3699 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3700 0030 41E80023 strex r3, r2, [r1]
- 3701 @ 0 "" 2
- 3702 .thumb
- 3703 .syntax unified
- 3704 0034 7B62 str r3, [r7, #36]
- 3705 .loc 2 1124 10 discriminator 1
- 3706 0036 7B6A ldr r3, [r7, #36]
- 3707 .LBE418:
- 3708 .LBE417:
- 3709 .loc 1 1961 3 discriminator 1
- 3710 0038 002B cmp r3, #0
- 3711 003a E5D1 bne .L191
- 3712 .LBE414:
- 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
- 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 3713 .loc 1 1964 7
- 3714 003c 7B68 ldr r3, [r7, #4]
- 3715 003e 1B68 ldr r3, [r3]
- 3716 0040 5B69 ldr r3, [r3, #20]
- 3717 0042 03F08003 and r3, r3, #128
- 3718 .loc 1 1964 6
- 3719 0046 802B cmp r3, #128
- 3720 0048 36D1 bne .L192
- 3721 .L195:
- 3722 .LBB419:
- 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 3723 .loc 1 1966 5 discriminator 1
- 3724 004a 7B68 ldr r3, [r7, #4]
- 3725 004c 1B68 ldr r3, [r3]
- 3726 004e 1433 adds r3, r3, #20
- 3727 0050 FB60 str r3, [r7, #12]
- 3728 .LBB420:
- 3729 .LBB421:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3730 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 121
- 3731 0052 FB68 ldr r3, [r7, #12]
- 3732 .syntax unified
- 3733 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3734 0054 53E8003F ldrex r3, [r3]
- 3735 @ 0 "" 2
- 3736 .thumb
- 3737 .syntax unified
- 3738 0058 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3739 .loc 2 1073 10 discriminator 1
- 3740 005a BB68 ldr r3, [r7, #8]
- 3741 .LBE421:
- 3742 .LBE420:
- 3743 .loc 1 1966 5 discriminator 1
- 3744 005c 23F08003 bic r3, r3, #128
- 3745 0060 3B63 str r3, [r7, #48]
- 3746 0062 7B68 ldr r3, [r7, #4]
- 3747 0064 1B68 ldr r3, [r3]
- 3748 0066 1433 adds r3, r3, #20
- 3749 0068 3A6B ldr r2, [r7, #48]
- 3750 006a BA61 str r2, [r7, #24]
- 3751 006c 7B61 str r3, [r7, #20]
- 3752 .LBB422:
- 3753 .LBB423:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3754 .loc 2 1123 4 discriminator 1
- 3755 006e 7969 ldr r1, [r7, #20]
- 3756 0070 BA69 ldr r2, [r7, #24]
- 3757 .syntax unified
- 3758 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3759 0072 41E80023 strex r3, r2, [r1]
- 3760 @ 0 "" 2
- 3761 .thumb
- 3762 .syntax unified
- 3763 0076 3B61 str r3, [r7, #16]
- 3764 .loc 2 1124 10 discriminator 1
- 3765 0078 3B69 ldr r3, [r7, #16]
- 3766 .LBE423:
- 3767 .LBE422:
- 3768 .loc 1 1966 5 discriminator 1
- 3769 007a 002B cmp r3, #0
- 3770 007c E5D1 bne .L195
- 3771 .LBE419:
- 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
- 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 3772 .loc 1 1969 14
- 3773 007e 7B68 ldr r3, [r7, #4]
- 3774 0080 5B6B ldr r3, [r3, #52]
- 3775 .loc 1 1969 8
- 3776 0082 002B cmp r3, #0
- 3777 0084 18D0 beq .L192
- 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 3778 .loc 1 1973 12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 122
- 3779 0086 7B68 ldr r3, [r7, #4]
- 3780 0088 5B6B ldr r3, [r3, #52]
- 3781 .loc 1 1973 40
- 3782 008a 0022 movs r2, #0
- 3783 008c 1A65 str r2, [r3, #80]
- 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
- 3784 .loc 1 1975 11
- 3785 008e 7B68 ldr r3, [r7, #4]
- 3786 0090 5B6B ldr r3, [r3, #52]
- 3787 0092 1846 mov r0, r3
- 3788 0094 FFF7FEFF bl HAL_DMA_Abort
- 3789 0098 0346 mov r3, r0
- 3790 .loc 1 1975 10
- 3791 009a 002B cmp r3, #0
- 3792 009c 0CD0 beq .L192
- 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
- 3793 .loc 1 1977 13
- 3794 009e 7B68 ldr r3, [r7, #4]
- 3795 00a0 5B6B ldr r3, [r3, #52]
- 3796 00a2 1846 mov r0, r3
- 3797 00a4 FFF7FEFF bl HAL_DMA_GetError
- 3798 00a8 0346 mov r3, r0
- 3799 .loc 1 1977 12
- 3800 00aa 202B cmp r3, #32
- 3801 00ac 04D1 bne .L192
- 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
- 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 3802 .loc 1 1980 28
- 3803 00ae 7B68 ldr r3, [r7, #4]
- 3804 00b0 1022 movs r2, #16
- 3805 00b2 1A64 str r2, [r3, #64]
- 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 3806 .loc 1 1982 18
- 3807 00b4 0323 movs r3, #3
- 3808 00b6 07E0 b .L196
- 3809 .L192:
- 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
- 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 3810 .loc 1 1989 22
- 3811 00b8 7B68 ldr r3, [r7, #4]
- 3812 00ba 0022 movs r2, #0
- 3813 00bc DA84 strh r2, [r3, #38] @ movhi
- 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
- 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 3814 .loc 1 1992 17
- 3815 00be 7B68 ldr r3, [r7, #4]
- 3816 00c0 2022 movs r2, #32
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 123
- 3817 00c2 83F83D20 strb r2, [r3, #61]
- 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 3818 .loc 1 1994 10
- 3819 00c6 0023 movs r3, #0
- 3820 .L196:
- 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3821 .loc 1 1995 1
- 3822 00c8 1846 mov r0, r3
- 3823 00ca 3837 adds r7, r7, #56
- 3824 .LCFI108:
- 3825 .cfi_def_cfa_offset 8
- 3826 00cc BD46 mov sp, r7
- 3827 .LCFI109:
- 3828 .cfi_def_cfa_register 13
- 3829 @ sp needed
- 3830 00ce 80BD pop {r7, pc}
- 3831 .cfi_endproc
- 3832 .LFE255:
- 3834 .section .text.HAL_UART_AbortReceive,"ax",%progbits
- 3835 .align 1
- 3836 .global HAL_UART_AbortReceive
- 3837 .syntax unified
- 3838 .thumb
- 3839 .thumb_func
- 3841 HAL_UART_AbortReceive:
- 3842 .LFB256:
- 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
- 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
- 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
- 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
- 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
- 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
- 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
- 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
- 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3843 .loc 1 2010 1
- 3844 .cfi_startproc
- 3845 @ args = 0, pretend = 0, frame = 104
- 3846 @ frame_needed = 1, uses_anonymous_args = 0
- 3847 0000 80B5 push {r7, lr}
- 3848 .LCFI110:
- 3849 .cfi_def_cfa_offset 8
- 3850 .cfi_offset 7, -8
- 3851 .cfi_offset 14, -4
- 3852 0002 9AB0 sub sp, sp, #104
- 3853 .LCFI111:
- 3854 .cfi_def_cfa_offset 112
- 3855 0004 00AF add r7, sp, #0
- 3856 .LCFI112:
- 3857 .cfi_def_cfa_register 7
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 124
- 3858 0006 7860 str r0, [r7, #4]
- 3859 .L200:
- 3860 .LBB424:
- 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 3861 .loc 1 2012 3 discriminator 1
- 3862 0008 7B68 ldr r3, [r7, #4]
- 3863 000a 1B68 ldr r3, [r3]
- 3864 000c 0C33 adds r3, r3, #12
- 3865 000e BB64 str r3, [r7, #72]
- 3866 .LBB425:
- 3867 .LBB426:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3868 .loc 2 1072 4 discriminator 1
- 3869 0010 BB6C ldr r3, [r7, #72]
- 3870 .syntax unified
- 3871 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3872 0012 53E8003F ldrex r3, [r3]
- 3873 @ 0 "" 2
- 3874 .thumb
- 3875 .syntax unified
- 3876 0016 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3877 .loc 2 1073 10 discriminator 1
- 3878 0018 7B6C ldr r3, [r7, #68]
- 3879 .LBE426:
- 3880 .LBE425:
- 3881 .loc 1 2012 3 discriminator 1
- 3882 001a 23F49073 bic r3, r3, #288
- 3883 001e 7B66 str r3, [r7, #100]
- 3884 0020 7B68 ldr r3, [r7, #4]
- 3885 0022 1B68 ldr r3, [r3]
- 3886 0024 0C33 adds r3, r3, #12
- 3887 0026 7A6E ldr r2, [r7, #100]
- 3888 0028 7A65 str r2, [r7, #84]
- 3889 002a 3B65 str r3, [r7, #80]
- 3890 .LBB427:
- 3891 .LBB428:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3892 .loc 2 1123 4 discriminator 1
- 3893 002c 396D ldr r1, [r7, #80]
- 3894 002e 7A6D ldr r2, [r7, #84]
- 3895 .syntax unified
- 3896 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3897 0030 41E80023 strex r3, r2, [r1]
- 3898 @ 0 "" 2
- 3899 .thumb
- 3900 .syntax unified
- 3901 0034 FB64 str r3, [r7, #76]
- 3902 .loc 2 1124 10 discriminator 1
- 3903 0036 FB6C ldr r3, [r7, #76]
- 3904 .LBE428:
- 3905 .LBE427:
- 3906 .loc 1 2012 3 discriminator 1
- 3907 0038 002B cmp r3, #0
- 3908 003a E5D1 bne .L200
- 3909 .L203:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 125
- 3910 .LBE424:
- 3911 .LBB429:
- 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 3912 .loc 1 2013 3 discriminator 1
- 3913 003c 7B68 ldr r3, [r7, #4]
- 3914 003e 1B68 ldr r3, [r3]
- 3915 0040 1433 adds r3, r3, #20
- 3916 0042 7B63 str r3, [r7, #52]
- 3917 .LBB430:
- 3918 .LBB431:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3919 .loc 2 1072 4 discriminator 1
- 3920 0044 7B6B ldr r3, [r7, #52]
- 3921 .syntax unified
- 3922 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3923 0046 53E8003F ldrex r3, [r3]
- 3924 @ 0 "" 2
- 3925 .thumb
- 3926 .syntax unified
- 3927 004a 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3928 .loc 2 1073 10 discriminator 1
- 3929 004c 3B6B ldr r3, [r7, #48]
- 3930 .LBE431:
- 3931 .LBE430:
- 3932 .loc 1 2013 3 discriminator 1
- 3933 004e 23F00103 bic r3, r3, #1
- 3934 0052 3B66 str r3, [r7, #96]
- 3935 0054 7B68 ldr r3, [r7, #4]
- 3936 0056 1B68 ldr r3, [r3]
- 3937 0058 1433 adds r3, r3, #20
- 3938 005a 3A6E ldr r2, [r7, #96]
- 3939 005c 3A64 str r2, [r7, #64]
- 3940 005e FB63 str r3, [r7, #60]
- 3941 .LBB432:
- 3942 .LBB433:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3943 .loc 2 1123 4 discriminator 1
- 3944 0060 F96B ldr r1, [r7, #60]
- 3945 0062 3A6C ldr r2, [r7, #64]
- 3946 .syntax unified
- 3947 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3948 0064 41E80023 strex r3, r2, [r1]
- 3949 @ 0 "" 2
- 3950 .thumb
- 3951 .syntax unified
- 3952 0068 BB63 str r3, [r7, #56]
- 3953 .loc 2 1124 10 discriminator 1
- 3954 006a BB6B ldr r3, [r7, #56]
- 3955 .LBE433:
- 3956 .LBE432:
- 3957 .loc 1 2013 3 discriminator 1
- 3958 006c 002B cmp r3, #0
- 3959 006e E5D1 bne .L203
- 3960 .LBE429:
- 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 126
- 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 3961 .loc 1 2016 12
- 3962 0070 7B68 ldr r3, [r7, #4]
- 3963 0072 1B6B ldr r3, [r3, #48]
- 3964 .loc 1 2016 6
- 3965 0074 012B cmp r3, #1
- 3966 0076 19D1 bne .L204
- 3967 .L207:
- 3968 .LBB434:
- 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 3969 .loc 1 2018 5 discriminator 1
- 3970 0078 7B68 ldr r3, [r7, #4]
- 3971 007a 1B68 ldr r3, [r3]
- 3972 007c 0C33 adds r3, r3, #12
- 3973 007e 3B62 str r3, [r7, #32]
- 3974 .LBB435:
- 3975 .LBB436:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 3976 .loc 2 1072 4 discriminator 1
- 3977 0080 3B6A ldr r3, [r7, #32]
- 3978 .syntax unified
- 3979 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 3980 0082 53E8003F ldrex r3, [r3]
- 3981 @ 0 "" 2
- 3982 .thumb
- 3983 .syntax unified
- 3984 0086 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 3985 .loc 2 1073 10 discriminator 1
- 3986 0088 FB69 ldr r3, [r7, #28]
- 3987 .LBE436:
- 3988 .LBE435:
- 3989 .loc 1 2018 5 discriminator 1
- 3990 008a 23F01003 bic r3, r3, #16
- 3991 008e FB65 str r3, [r7, #92]
- 3992 0090 7B68 ldr r3, [r7, #4]
- 3993 0092 1B68 ldr r3, [r3]
- 3994 0094 0C33 adds r3, r3, #12
- 3995 0096 FA6D ldr r2, [r7, #92]
- 3996 0098 FA62 str r2, [r7, #44]
- 3997 009a BB62 str r3, [r7, #40]
- 3998 .LBB437:
- 3999 .LBB438:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4000 .loc 2 1123 4 discriminator 1
- 4001 009c B96A ldr r1, [r7, #40]
- 4002 009e FA6A ldr r2, [r7, #44]
- 4003 .syntax unified
- 4004 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4005 00a0 41E80023 strex r3, r2, [r1]
- 4006 @ 0 "" 2
- 4007 .thumb
- 4008 .syntax unified
- 4009 00a4 7B62 str r3, [r7, #36]
- 4010 .loc 2 1124 10 discriminator 1
- 4011 00a6 7B6A ldr r3, [r7, #36]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 127
- 4012 .LBE438:
- 4013 .LBE437:
- 4014 .loc 1 2018 5 discriminator 1
- 4015 00a8 002B cmp r3, #0
- 4016 00aa E5D1 bne .L207
- 4017 .L204:
- 4018 .LBE434:
- 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 4019 .loc 1 2022 7
- 4020 00ac 7B68 ldr r3, [r7, #4]
- 4021 00ae 1B68 ldr r3, [r3]
- 4022 00b0 5B69 ldr r3, [r3, #20]
- 4023 00b2 03F04003 and r3, r3, #64
- 4024 .loc 1 2022 6
- 4025 00b6 402B cmp r3, #64
- 4026 00b8 36D1 bne .L208
- 4027 .L211:
- 4028 .LBB439:
- 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 4029 .loc 1 2024 5 discriminator 1
- 4030 00ba 7B68 ldr r3, [r7, #4]
- 4031 00bc 1B68 ldr r3, [r3]
- 4032 00be 1433 adds r3, r3, #20
- 4033 00c0 FB60 str r3, [r7, #12]
- 4034 .LBB440:
- 4035 .LBB441:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4036 .loc 2 1072 4 discriminator 1
- 4037 00c2 FB68 ldr r3, [r7, #12]
- 4038 .syntax unified
- 4039 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4040 00c4 53E8003F ldrex r3, [r3]
- 4041 @ 0 "" 2
- 4042 .thumb
- 4043 .syntax unified
- 4044 00c8 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4045 .loc 2 1073 10 discriminator 1
- 4046 00ca BB68 ldr r3, [r7, #8]
- 4047 .LBE441:
- 4048 .LBE440:
- 4049 .loc 1 2024 5 discriminator 1
- 4050 00cc 23F04003 bic r3, r3, #64
- 4051 00d0 BB65 str r3, [r7, #88]
- 4052 00d2 7B68 ldr r3, [r7, #4]
- 4053 00d4 1B68 ldr r3, [r3]
- 4054 00d6 1433 adds r3, r3, #20
- 4055 00d8 BA6D ldr r2, [r7, #88]
- 4056 00da BA61 str r2, [r7, #24]
- 4057 00dc 7B61 str r3, [r7, #20]
- 4058 .LBB442:
- 4059 .LBB443:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 128
- 4060 .loc 2 1123 4 discriminator 1
- 4061 00de 7969 ldr r1, [r7, #20]
- 4062 00e0 BA69 ldr r2, [r7, #24]
- 4063 .syntax unified
- 4064 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4065 00e2 41E80023 strex r3, r2, [r1]
- 4066 @ 0 "" 2
- 4067 .thumb
- 4068 .syntax unified
- 4069 00e6 3B61 str r3, [r7, #16]
- 4070 .loc 2 1124 10 discriminator 1
- 4071 00e8 3B69 ldr r3, [r7, #16]
- 4072 .LBE443:
- 4073 .LBE442:
- 4074 .loc 1 2024 5 discriminator 1
- 4075 00ea 002B cmp r3, #0
- 4076 00ec E5D1 bne .L211
- 4077 .LBE439:
- 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
- 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 4078 .loc 1 2027 14
- 4079 00ee 7B68 ldr r3, [r7, #4]
- 4080 00f0 9B6B ldr r3, [r3, #56]
- 4081 .loc 1 2027 8
- 4082 00f2 002B cmp r3, #0
- 4083 00f4 18D0 beq .L208
- 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
- 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
- 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 4084 .loc 1 2031 12
- 4085 00f6 7B68 ldr r3, [r7, #4]
- 4086 00f8 9B6B ldr r3, [r3, #56]
- 4087 .loc 1 2031 40
- 4088 00fa 0022 movs r2, #0
- 4089 00fc 1A65 str r2, [r3, #80]
- 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
- 4090 .loc 1 2033 11
- 4091 00fe 7B68 ldr r3, [r7, #4]
- 4092 0100 9B6B ldr r3, [r3, #56]
- 4093 0102 1846 mov r0, r3
- 4094 0104 FFF7FEFF bl HAL_DMA_Abort
- 4095 0108 0346 mov r3, r0
- 4096 .loc 1 2033 10
- 4097 010a 002B cmp r3, #0
- 4098 010c 0CD0 beq .L208
- 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
- 4099 .loc 1 2035 13
- 4100 010e 7B68 ldr r3, [r7, #4]
- 4101 0110 9B6B ldr r3, [r3, #56]
- 4102 0112 1846 mov r0, r3
- 4103 0114 FFF7FEFF bl HAL_DMA_GetError
- 4104 0118 0346 mov r3, r0
- 4105 .loc 1 2035 12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 129
- 4106 011a 202B cmp r3, #32
- 4107 011c 04D1 bne .L208
- 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
- 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
- 4108 .loc 1 2038 28
- 4109 011e 7B68 ldr r3, [r7, #4]
- 4110 0120 1022 movs r2, #16
- 4111 0122 1A64 str r2, [r3, #64]
- 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 4112 .loc 1 2040 18
- 4113 0124 0323 movs r3, #3
- 4114 0126 0AE0 b .L212
- 4115 .L208:
- 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
- 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 4116 .loc 1 2047 22
- 4117 0128 7B68 ldr r3, [r7, #4]
- 4118 012a 0022 movs r2, #0
- 4119 012c DA85 strh r2, [r3, #46] @ movhi
- 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 4120 .loc 1 2050 18
- 4121 012e 7B68 ldr r3, [r7, #4]
- 4122 0130 2022 movs r2, #32
- 4123 0132 83F83E20 strb r2, [r3, #62]
- 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 4124 .loc 1 2051 24
- 4125 0136 7B68 ldr r3, [r7, #4]
- 4126 0138 0022 movs r2, #0
- 4127 013a 1A63 str r2, [r3, #48]
- 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 4128 .loc 1 2053 10
- 4129 013c 0023 movs r3, #0
- 4130 .L212:
- 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 4131 .loc 1 2054 1
- 4132 013e 1846 mov r0, r3
- 4133 0140 6837 adds r7, r7, #104
- 4134 .LCFI113:
- 4135 .cfi_def_cfa_offset 8
- 4136 0142 BD46 mov sp, r7
- 4137 .LCFI114:
- 4138 .cfi_def_cfa_register 13
- 4139 @ sp needed
- 4140 0144 80BD pop {r7, pc}
- 4141 .cfi_endproc
- 4142 .LFE256:
- 4144 .section .text.HAL_UART_Abort_IT,"ax",%progbits
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 130
- 4145 .align 1
- 4146 .global HAL_UART_Abort_IT
- 4147 .syntax unified
- 4148 .thumb
- 4149 .thumb_func
- 4151 HAL_UART_Abort_IT:
- 4152 .LFB257:
- 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
- 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
- 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
- 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
- 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
- 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
- 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
- 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
- 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
- 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
- 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 4153 .loc 1 2071 1
- 4154 .cfi_startproc
- 4155 @ args = 0, pretend = 0, frame = 136
- 4156 @ frame_needed = 1, uses_anonymous_args = 0
- 4157 0000 80B5 push {r7, lr}
- 4158 .LCFI115:
- 4159 .cfi_def_cfa_offset 8
- 4160 .cfi_offset 7, -8
- 4161 .cfi_offset 14, -4
- 4162 0002 A2B0 sub sp, sp, #136
- 4163 .LCFI116:
- 4164 .cfi_def_cfa_offset 144
- 4165 0004 00AF add r7, sp, #0
- 4166 .LCFI117:
- 4167 .cfi_def_cfa_register 7
- 4168 0006 7860 str r0, [r7, #4]
- 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
- 4169 .loc 1 2072 12
- 4170 0008 0123 movs r3, #1
- 4171 000a C7F88430 str r3, [r7, #132]
- 4172 .L216:
- 4173 .LBB444:
- 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
- 4174 .loc 1 2075 3 discriminator 1
- 4175 000e 7B68 ldr r3, [r7, #4]
- 4176 0010 1B68 ldr r3, [r3]
- 4177 0012 0C33 adds r3, r3, #12
- 4178 0014 3B66 str r3, [r7, #96]
- 4179 .LBB445:
- 4180 .LBB446:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 131
- 4181 .loc 2 1072 4 discriminator 1
- 4182 0016 3B6E ldr r3, [r7, #96]
- 4183 .syntax unified
- 4184 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4185 0018 53E8003F ldrex r3, [r3]
- 4186 @ 0 "" 2
- 4187 .thumb
- 4188 .syntax unified
- 4189 001c FB65 str r3, [r7, #92]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4190 .loc 2 1073 10 discriminator 1
- 4191 001e FB6D ldr r3, [r7, #92]
- 4192 .LBE446:
- 4193 .LBE445:
- 4194 .loc 1 2075 3 discriminator 1
- 4195 0020 23F4F073 bic r3, r3, #480
- 4196 0024 C7F88030 str r3, [r7, #128]
- 4197 0028 7B68 ldr r3, [r7, #4]
- 4198 002a 1B68 ldr r3, [r3]
- 4199 002c 0C33 adds r3, r3, #12
- 4200 002e D7F88020 ldr r2, [r7, #128]
- 4201 0032 FA66 str r2, [r7, #108]
- 4202 0034 BB66 str r3, [r7, #104]
- 4203 .LBB447:
- 4204 .LBB448:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4205 .loc 2 1123 4 discriminator 1
- 4206 0036 B96E ldr r1, [r7, #104]
- 4207 0038 FA6E ldr r2, [r7, #108]
- 4208 .syntax unified
- 4209 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4210 003a 41E80023 strex r3, r2, [r1]
- 4211 @ 0 "" 2
- 4212 .thumb
- 4213 .syntax unified
- 4214 003e 7B66 str r3, [r7, #100]
- 4215 .loc 2 1124 10 discriminator 1
- 4216 0040 7B6E ldr r3, [r7, #100]
- 4217 .LBE448:
- 4218 .LBE447:
- 4219 .loc 1 2075 3 discriminator 1
- 4220 0042 002B cmp r3, #0
- 4221 0044 E3D1 bne .L216
- 4222 .L219:
- 4223 .LBE444:
- 4224 .LBB449:
- 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 4225 .loc 1 2076 3 discriminator 1
- 4226 0046 7B68 ldr r3, [r7, #4]
- 4227 0048 1B68 ldr r3, [r3]
- 4228 004a 1433 adds r3, r3, #20
- 4229 004c FB64 str r3, [r7, #76]
- 4230 .LBB450:
- 4231 .LBB451:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4232 .loc 2 1072 4 discriminator 1
- 4233 004e FB6C ldr r3, [r7, #76]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 132
- 4234 .syntax unified
- 4235 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4236 0050 53E8003F ldrex r3, [r3]
- 4237 @ 0 "" 2
- 4238 .thumb
- 4239 .syntax unified
- 4240 0054 BB64 str r3, [r7, #72]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4241 .loc 2 1073 10 discriminator 1
- 4242 0056 BB6C ldr r3, [r7, #72]
- 4243 .LBE451:
- 4244 .LBE450:
- 4245 .loc 1 2076 3 discriminator 1
- 4246 0058 23F00103 bic r3, r3, #1
- 4247 005c FB67 str r3, [r7, #124]
- 4248 005e 7B68 ldr r3, [r7, #4]
- 4249 0060 1B68 ldr r3, [r3]
- 4250 0062 1433 adds r3, r3, #20
- 4251 0064 FA6F ldr r2, [r7, #124]
- 4252 0066 BA65 str r2, [r7, #88]
- 4253 0068 7B65 str r3, [r7, #84]
- 4254 .LBB452:
- 4255 .LBB453:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4256 .loc 2 1123 4 discriminator 1
- 4257 006a 796D ldr r1, [r7, #84]
- 4258 006c BA6D ldr r2, [r7, #88]
- 4259 .syntax unified
- 4260 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4261 006e 41E80023 strex r3, r2, [r1]
- 4262 @ 0 "" 2
- 4263 .thumb
- 4264 .syntax unified
- 4265 0072 3B65 str r3, [r7, #80]
- 4266 .loc 2 1124 10 discriminator 1
- 4267 0074 3B6D ldr r3, [r7, #80]
- 4268 .LBE453:
- 4269 .LBE452:
- 4270 .loc 1 2076 3 discriminator 1
- 4271 0076 002B cmp r3, #0
- 4272 0078 E5D1 bne .L219
- 4273 .LBE449:
- 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 4274 .loc 1 2079 12
- 4275 007a 7B68 ldr r3, [r7, #4]
- 4276 007c 1B6B ldr r3, [r3, #48]
- 4277 .loc 1 2079 6
- 4278 007e 012B cmp r3, #1
- 4279 0080 19D1 bne .L220
- 4280 .L223:
- 4281 .LBB454:
- 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 4282 .loc 1 2081 5 discriminator 1
- 4283 0082 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 133
- 4284 0084 1B68 ldr r3, [r3]
- 4285 0086 0C33 adds r3, r3, #12
- 4286 0088 BB63 str r3, [r7, #56]
- 4287 .LBB455:
- 4288 .LBB456:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4289 .loc 2 1072 4 discriminator 1
- 4290 008a BB6B ldr r3, [r7, #56]
- 4291 .syntax unified
- 4292 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4293 008c 53E8003F ldrex r3, [r3]
- 4294 @ 0 "" 2
- 4295 .thumb
- 4296 .syntax unified
- 4297 0090 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4298 .loc 2 1073 10 discriminator 1
- 4299 0092 7B6B ldr r3, [r7, #52]
- 4300 .LBE456:
- 4301 .LBE455:
- 4302 .loc 1 2081 5 discriminator 1
- 4303 0094 23F01003 bic r3, r3, #16
- 4304 0098 BB67 str r3, [r7, #120]
- 4305 009a 7B68 ldr r3, [r7, #4]
- 4306 009c 1B68 ldr r3, [r3]
- 4307 009e 0C33 adds r3, r3, #12
- 4308 00a0 BA6F ldr r2, [r7, #120]
- 4309 00a2 7A64 str r2, [r7, #68]
- 4310 00a4 3B64 str r3, [r7, #64]
- 4311 .LBB457:
- 4312 .LBB458:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4313 .loc 2 1123 4 discriminator 1
- 4314 00a6 396C ldr r1, [r7, #64]
- 4315 00a8 7A6C ldr r2, [r7, #68]
- 4316 .syntax unified
- 4317 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4318 00aa 41E80023 strex r3, r2, [r1]
- 4319 @ 0 "" 2
- 4320 .thumb
- 4321 .syntax unified
- 4322 00ae FB63 str r3, [r7, #60]
- 4323 .loc 2 1124 10 discriminator 1
- 4324 00b0 FB6B ldr r3, [r7, #60]
- 4325 .LBE458:
- 4326 .LBE457:
- 4327 .loc 1 2081 5 discriminator 1
- 4328 00b2 002B cmp r3, #0
- 4329 00b4 E5D1 bne .L223
- 4330 .L220:
- 4331 .LBE454:
- 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
- 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** before any call to DMA Abort functions */
- 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Tx Handle is valid */
- 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 134
- 4332 .loc 1 2087 12
- 4333 00b6 7B68 ldr r3, [r7, #4]
- 4334 00b8 5B6B ldr r3, [r3, #52]
- 4335 .loc 1 2087 6
- 4336 00ba 002B cmp r3, #0
- 4337 00bc 0FD0 beq .L224
- 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
- 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
- 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 4338 .loc 1 2091 9
- 4339 00be 7B68 ldr r3, [r7, #4]
- 4340 00c0 1B68 ldr r3, [r3]
- 4341 00c2 5B69 ldr r3, [r3, #20]
- 4342 00c4 03F08003 and r3, r3, #128
- 4343 .loc 1 2091 8
- 4344 00c8 802B cmp r3, #128
- 4345 00ca 04D1 bne .L225
- 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
- 4346 .loc 1 2093 12
- 4347 00cc 7B68 ldr r3, [r7, #4]
- 4348 00ce 5B6B ldr r3, [r3, #52]
- 4349 .loc 1 2093 40
- 4350 00d0 534A ldr r2, .L240
- 4351 00d2 1A65 str r2, [r3, #80]
- 4352 00d4 03E0 b .L224
- 4353 .L225:
- 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 4354 .loc 1 2097 12
- 4355 00d6 7B68 ldr r3, [r7, #4]
- 4356 00d8 5B6B ldr r3, [r3, #52]
- 4357 .loc 1 2097 40
- 4358 00da 0022 movs r2, #0
- 4359 00dc 1A65 str r2, [r3, #80]
- 4360 .L224:
- 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Rx Handle is valid */
- 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 4361 .loc 1 2101 12
- 4362 00de 7B68 ldr r3, [r7, #4]
- 4363 00e0 9B6B ldr r3, [r3, #56]
- 4364 .loc 1 2101 6
- 4365 00e2 002B cmp r3, #0
- 4366 00e4 0FD0 beq .L226
- 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
- 2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
- 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 4367 .loc 1 2105 9
- 4368 00e6 7B68 ldr r3, [r7, #4]
- 4369 00e8 1B68 ldr r3, [r3]
- 4370 00ea 5B69 ldr r3, [r3, #20]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 135
- 4371 00ec 03F04003 and r3, r3, #64
- 4372 .loc 1 2105 8
- 4373 00f0 402B cmp r3, #64
- 4374 00f2 04D1 bne .L227
- 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
- 4375 .loc 1 2107 12
- 4376 00f4 7B68 ldr r3, [r7, #4]
- 4377 00f6 9B6B ldr r3, [r3, #56]
- 4378 .loc 1 2107 40
- 4379 00f8 4A4A ldr r2, .L240+4
- 4380 00fa 1A65 str r2, [r3, #80]
- 4381 00fc 03E0 b .L226
- 4382 .L227:
- 2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 4383 .loc 1 2111 12
- 4384 00fe 7B68 ldr r3, [r7, #4]
- 4385 0100 9B6B ldr r3, [r3, #56]
- 4386 .loc 1 2111 40
- 4387 0102 0022 movs r2, #0
- 4388 0104 1A65 str r2, [r3, #80]
- 4389 .L226:
- 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
- 2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 4390 .loc 1 2116 7
- 4391 0106 7B68 ldr r3, [r7, #4]
- 4392 0108 1B68 ldr r3, [r3]
- 4393 010a 5B69 ldr r3, [r3, #20]
- 4394 010c 03F08003 and r3, r3, #128
- 4395 .loc 1 2116 6
- 4396 0110 802B cmp r3, #128
- 4397 0112 2DD1 bne .L228
- 4398 .L231:
- 4399 .LBB459:
- 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable DMA Tx at UART level */
- 2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 4400 .loc 1 2119 5 discriminator 1
- 4401 0114 7B68 ldr r3, [r7, #4]
- 4402 0116 1B68 ldr r3, [r3]
- 4403 0118 1433 adds r3, r3, #20
- 4404 011a 7B62 str r3, [r7, #36]
- 4405 .LBB460:
- 4406 .LBB461:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4407 .loc 2 1072 4 discriminator 1
- 4408 011c 7B6A ldr r3, [r7, #36]
- 4409 .syntax unified
- 4410 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4411 011e 53E8003F ldrex r3, [r3]
- 4412 @ 0 "" 2
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 136
- 4413 .thumb
- 4414 .syntax unified
- 4415 0122 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4416 .loc 2 1073 10 discriminator 1
- 4417 0124 3B6A ldr r3, [r7, #32]
- 4418 .LBE461:
- 4419 .LBE460:
- 4420 .loc 1 2119 5 discriminator 1
- 4421 0126 23F08003 bic r3, r3, #128
- 4422 012a 7B67 str r3, [r7, #116]
- 4423 012c 7B68 ldr r3, [r7, #4]
- 4424 012e 1B68 ldr r3, [r3]
- 4425 0130 1433 adds r3, r3, #20
- 4426 0132 7A6F ldr r2, [r7, #116]
- 4427 0134 3A63 str r2, [r7, #48]
- 4428 0136 FB62 str r3, [r7, #44]
- 4429 .LBB462:
- 4430 .LBB463:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4431 .loc 2 1123 4 discriminator 1
- 4432 0138 F96A ldr r1, [r7, #44]
- 4433 013a 3A6B ldr r2, [r7, #48]
- 4434 .syntax unified
- 4435 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4436 013c 41E80023 strex r3, r2, [r1]
- 4437 @ 0 "" 2
- 4438 .thumb
- 4439 .syntax unified
- 4440 0140 BB62 str r3, [r7, #40]
- 4441 .loc 2 1124 10 discriminator 1
- 4442 0142 BB6A ldr r3, [r7, #40]
- 4443 .LBE463:
- 4444 .LBE462:
- 4445 .loc 1 2119 5 discriminator 1
- 4446 0144 002B cmp r3, #0
- 4447 0146 E5D1 bne .L231
- 4448 .LBE459:
- 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use non blocking DMA Abort API (callback) */
- 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 4449 .loc 1 2122 14
- 4450 0148 7B68 ldr r3, [r7, #4]
- 4451 014a 5B6B ldr r3, [r3, #52]
- 4452 .loc 1 2122 8
- 4453 014c 002B cmp r3, #0
- 4454 014e 0FD0 beq .L228
- 2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
- 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
- 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
- 4455 .loc 1 2128 11
- 4456 0150 7B68 ldr r3, [r7, #4]
- 4457 0152 5B6B ldr r3, [r3, #52]
- 4458 0154 1846 mov r0, r3
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 137
- 4459 0156 FFF7FEFF bl HAL_DMA_Abort_IT
- 4460 015a 0346 mov r3, r0
- 4461 .loc 1 2128 10
- 4462 015c 002B cmp r3, #0
- 4463 015e 04D0 beq .L232
- 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 4464 .loc 1 2130 14
- 4465 0160 7B68 ldr r3, [r7, #4]
- 4466 0162 5B6B ldr r3, [r3, #52]
- 4467 .loc 1 2130 42
- 4468 0164 0022 movs r2, #0
- 4469 0166 1A65 str r2, [r3, #80]
- 4470 0168 02E0 b .L228
- 4471 .L232:
- 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
- 4472 .loc 1 2134 19
- 4473 016a 0023 movs r3, #0
- 4474 016c C7F88430 str r3, [r7, #132]
- 4475 .L228:
- 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 4476 .loc 1 2140 7
- 4477 0170 7B68 ldr r3, [r7, #4]
- 4478 0172 1B68 ldr r3, [r3]
- 4479 0174 5B69 ldr r3, [r3, #20]
- 4480 0176 03F04003 and r3, r3, #64
- 4481 .loc 1 2140 6
- 4482 017a 402B cmp r3, #64
- 4483 017c 30D1 bne .L233
- 4484 .L236:
- 4485 .LBB464:
- 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 4486 .loc 1 2142 5 discriminator 1
- 4487 017e 7B68 ldr r3, [r7, #4]
- 4488 0180 1B68 ldr r3, [r3]
- 4489 0182 1433 adds r3, r3, #20
- 4490 0184 3B61 str r3, [r7, #16]
- 4491 .LBB465:
- 4492 .LBB466:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4493 .loc 2 1072 4 discriminator 1
- 4494 0186 3B69 ldr r3, [r7, #16]
- 4495 .syntax unified
- 4496 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4497 0188 53E8003F ldrex r3, [r3]
- 4498 @ 0 "" 2
- 4499 .thumb
- 4500 .syntax unified
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 138
- 4501 018c FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4502 .loc 2 1073 10 discriminator 1
- 4503 018e FB68 ldr r3, [r7, #12]
- 4504 .LBE466:
- 4505 .LBE465:
- 4506 .loc 1 2142 5 discriminator 1
- 4507 0190 23F04003 bic r3, r3, #64
- 4508 0194 3B67 str r3, [r7, #112]
- 4509 0196 7B68 ldr r3, [r7, #4]
- 4510 0198 1B68 ldr r3, [r3]
- 4511 019a 1433 adds r3, r3, #20
- 4512 019c 3A6F ldr r2, [r7, #112]
- 4513 019e FA61 str r2, [r7, #28]
- 4514 01a0 BB61 str r3, [r7, #24]
- 4515 .LBB467:
- 4516 .LBB468:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4517 .loc 2 1123 4 discriminator 1
- 4518 01a2 B969 ldr r1, [r7, #24]
- 4519 01a4 FA69 ldr r2, [r7, #28]
- 4520 .syntax unified
- 4521 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4522 01a6 41E80023 strex r3, r2, [r1]
- 4523 @ 0 "" 2
- 4524 .thumb
- 4525 .syntax unified
- 4526 01aa 7B61 str r3, [r7, #20]
- 4527 .loc 2 1124 10 discriminator 1
- 4528 01ac 7B69 ldr r3, [r7, #20]
- 4529 .LBE468:
- 4530 .LBE467:
- 4531 .loc 1 2142 5 discriminator 1
- 4532 01ae 002B cmp r3, #0
- 4533 01b0 E5D1 bne .L236
- 4534 .LBE464:
- 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use non blocking DMA Abort API (callback) */
- 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 4535 .loc 1 2145 14
- 4536 01b2 7B68 ldr r3, [r7, #4]
- 4537 01b4 9B6B ldr r3, [r3, #56]
- 4538 .loc 1 2145 8
- 4539 01b6 002B cmp r3, #0
- 4540 01b8 12D0 beq .L233
- 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
- 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
- 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
- 4541 .loc 1 2151 11
- 4542 01ba 7B68 ldr r3, [r7, #4]
- 4543 01bc 9B6B ldr r3, [r3, #56]
- 4544 01be 1846 mov r0, r3
- 4545 01c0 FFF7FEFF bl HAL_DMA_Abort_IT
- 4546 01c4 0346 mov r3, r0
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 139
- 4547 .loc 1 2151 10
- 4548 01c6 002B cmp r3, #0
- 4549 01c8 07D0 beq .L237
- 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 4550 .loc 1 2153 14
- 4551 01ca 7B68 ldr r3, [r7, #4]
- 4552 01cc 9B6B ldr r3, [r3, #56]
- 4553 .loc 1 2153 42
- 4554 01ce 0022 movs r2, #0
- 4555 01d0 1A65 str r2, [r3, #80]
- 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
- 4556 .loc 1 2154 19
- 4557 01d2 0123 movs r3, #1
- 4558 01d4 C7F88430 str r3, [r7, #132]
- 4559 01d8 02E0 b .L233
- 4560 .L237:
- 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
- 4561 .loc 1 2158 19
- 4562 01da 0023 movs r3, #0
- 4563 01dc C7F88430 str r3, [r7, #132]
- 4564 .L233:
- 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
- 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (AbortCplt == 0x01U)
- 4565 .loc 1 2164 6
- 4566 01e0 D7F88430 ldr r3, [r7, #132]
- 4567 01e4 012B cmp r3, #1
- 4568 01e6 16D1 bne .L238
- 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
- 2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 4569 .loc 1 2167 24
- 4570 01e8 7B68 ldr r3, [r7, #4]
- 4571 01ea 0022 movs r2, #0
- 4572 01ec DA84 strh r2, [r3, #38] @ movhi
- 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 4573 .loc 1 2168 24
- 4574 01ee 7B68 ldr r3, [r7, #4]
- 4575 01f0 0022 movs r2, #0
- 4576 01f2 DA85 strh r2, [r3, #46] @ movhi
- 2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
- 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 4577 .loc 1 2171 22
- 4578 01f4 7B68 ldr r3, [r7, #4]
- 4579 01f6 0022 movs r2, #0
- 4580 01f8 1A64 str r2, [r3, #64]
- 2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
- 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 140
- 4581 .loc 1 2174 20
- 4582 01fa 7B68 ldr r3, [r7, #4]
- 4583 01fc 2022 movs r2, #32
- 4584 01fe 83F83D20 strb r2, [r3, #61]
- 2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 4585 .loc 1 2175 20
- 4586 0202 7B68 ldr r3, [r7, #4]
- 4587 0204 2022 movs r2, #32
- 4588 0206 83F83E20 strb r2, [r3, #62]
- 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 4589 .loc 1 2176 26
- 4590 020a 7B68 ldr r3, [r7, #4]
- 4591 020c 0022 movs r2, #0
- 4592 020e 1A63 str r2, [r3, #48]
- 2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
- 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
- 2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
- 2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
- 4593 .loc 1 2184 5
- 4594 0210 7868 ldr r0, [r7, #4]
- 4595 0212 FFF7FEFF bl HAL_UART_AbortCpltCallback
- 4596 .L238:
- 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 4597 .loc 1 2188 10
- 4598 0216 0023 movs r3, #0
- 2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 4599 .loc 1 2189 1
- 4600 0218 1846 mov r0, r3
- 4601 021a 8837 adds r7, r7, #136
- 4602 .LCFI118:
- 4603 .cfi_def_cfa_offset 8
- 4604 021c BD46 mov sp, r7
- 4605 .LCFI119:
- 4606 .cfi_def_cfa_register 13
- 4607 @ sp needed
- 4608 021e 80BD pop {r7, pc}
- 4609 .L241:
- 4610 .align 2
- 4611 .L240:
- 4612 0220 00000000 .word UART_DMATxAbortCallback
- 4613 0224 00000000 .word UART_DMARxAbortCallback
- 4614 .cfi_endproc
- 4615 .LFE257:
- 4617 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
- 4618 .align 1
- 4619 .global HAL_UART_AbortTransmit_IT
- 4620 .syntax unified
- 4621 .thumb
- 4622 .thumb_func
- 4624 HAL_UART_AbortTransmit_IT:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 141
- 4625 .LFB258:
- 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
- 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
- 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
- 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
- 2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
- 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
- 2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
- 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
- 2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
- 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
- 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 4626 .loc 1 2206 1
- 4627 .cfi_startproc
- 4628 @ args = 0, pretend = 0, frame = 56
- 4629 @ frame_needed = 1, uses_anonymous_args = 0
- 4630 0000 80B5 push {r7, lr}
- 4631 .LCFI120:
- 4632 .cfi_def_cfa_offset 8
- 4633 .cfi_offset 7, -8
- 4634 .cfi_offset 14, -4
- 4635 0002 8EB0 sub sp, sp, #56
- 4636 .LCFI121:
- 4637 .cfi_def_cfa_offset 64
- 4638 0004 00AF add r7, sp, #0
- 4639 .LCFI122:
- 4640 .cfi_def_cfa_register 7
- 4641 0006 7860 str r0, [r7, #4]
- 4642 .L245:
- 4643 .LBB469:
- 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
- 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
- 4644 .loc 1 2208 3 discriminator 1
- 4645 0008 7B68 ldr r3, [r7, #4]
- 4646 000a 1B68 ldr r3, [r3]
- 4647 000c 0C33 adds r3, r3, #12
- 4648 000e 3B62 str r3, [r7, #32]
- 4649 .LBB470:
- 4650 .LBB471:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4651 .loc 2 1072 4 discriminator 1
- 4652 0010 3B6A ldr r3, [r7, #32]
- 4653 .syntax unified
- 4654 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4655 0012 53E8003F ldrex r3, [r3]
- 4656 @ 0 "" 2
- 4657 .thumb
- 4658 .syntax unified
- 4659 0016 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4660 .loc 2 1073 10 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 142
- 4661 0018 FB69 ldr r3, [r7, #28]
- 4662 .LBE471:
- 4663 .LBE470:
- 4664 .loc 1 2208 3 discriminator 1
- 4665 001a 23F0C003 bic r3, r3, #192
- 4666 001e 7B63 str r3, [r7, #52]
- 4667 0020 7B68 ldr r3, [r7, #4]
- 4668 0022 1B68 ldr r3, [r3]
- 4669 0024 0C33 adds r3, r3, #12
- 4670 0026 7A6B ldr r2, [r7, #52]
- 4671 0028 FA62 str r2, [r7, #44]
- 4672 002a BB62 str r3, [r7, #40]
- 4673 .LBB472:
- 4674 .LBB473:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4675 .loc 2 1123 4 discriminator 1
- 4676 002c B96A ldr r1, [r7, #40]
- 4677 002e FA6A ldr r2, [r7, #44]
- 4678 .syntax unified
- 4679 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4680 0030 41E80023 strex r3, r2, [r1]
- 4681 @ 0 "" 2
- 4682 .thumb
- 4683 .syntax unified
- 4684 0034 7B62 str r3, [r7, #36]
- 4685 .loc 2 1124 10 discriminator 1
- 4686 0036 7B6A ldr r3, [r7, #36]
- 4687 .LBE473:
- 4688 .LBE472:
- 4689 .loc 1 2208 3 discriminator 1
- 4690 0038 002B cmp r3, #0
- 4691 003a E5D1 bne .L245
- 4692 .LBE469:
- 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
- 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
- 4693 .loc 1 2211 7
- 4694 003c 7B68 ldr r3, [r7, #4]
- 4695 003e 1B68 ldr r3, [r3]
- 4696 0040 5B69 ldr r3, [r3, #20]
- 4697 0042 03F08003 and r3, r3, #128
- 4698 .loc 1 2211 6
- 4699 0046 802B cmp r3, #128
- 4700 0048 3CD1 bne .L246
- 4701 .L249:
- 4702 .LBB474:
- 2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 4703 .loc 1 2213 5 discriminator 1
- 4704 004a 7B68 ldr r3, [r7, #4]
- 4705 004c 1B68 ldr r3, [r3]
- 4706 004e 1433 adds r3, r3, #20
- 4707 0050 FB60 str r3, [r7, #12]
- 4708 .LBB475:
- 4709 .LBB476:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4710 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 143
- 4711 0052 FB68 ldr r3, [r7, #12]
- 4712 .syntax unified
- 4713 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4714 0054 53E8003F ldrex r3, [r3]
- 4715 @ 0 "" 2
- 4716 .thumb
- 4717 .syntax unified
- 4718 0058 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4719 .loc 2 1073 10 discriminator 1
- 4720 005a BB68 ldr r3, [r7, #8]
- 4721 .LBE476:
- 4722 .LBE475:
- 4723 .loc 1 2213 5 discriminator 1
- 4724 005c 23F08003 bic r3, r3, #128
- 4725 0060 3B63 str r3, [r7, #48]
- 4726 0062 7B68 ldr r3, [r7, #4]
- 4727 0064 1B68 ldr r3, [r3]
- 4728 0066 1433 adds r3, r3, #20
- 4729 0068 3A6B ldr r2, [r7, #48]
- 4730 006a BA61 str r2, [r7, #24]
- 4731 006c 7B61 str r3, [r7, #20]
- 4732 .LBB477:
- 4733 .LBB478:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4734 .loc 2 1123 4 discriminator 1
- 4735 006e 7969 ldr r1, [r7, #20]
- 4736 0070 BA69 ldr r2, [r7, #24]
- 4737 .syntax unified
- 4738 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4739 0072 41E80023 strex r3, r2, [r1]
- 4740 @ 0 "" 2
- 4741 .thumb
- 4742 .syntax unified
- 4743 0076 3B61 str r3, [r7, #16]
- 4744 .loc 2 1124 10 discriminator 1
- 4745 0078 3B69 ldr r3, [r7, #16]
- 4746 .LBE478:
- 4747 .LBE477:
- 4748 .loc 1 2213 5 discriminator 1
- 4749 007a 002B cmp r3, #0
- 4750 007c E5D1 bne .L249
- 4751 .LBE474:
- 2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
- 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 4752 .loc 1 2216 14
- 4753 007e 7B68 ldr r3, [r7, #4]
- 4754 0080 5B6B ldr r3, [r3, #52]
- 4755 .loc 1 2216 8
- 4756 0082 002B cmp r3, #0
- 4757 0084 13D0 beq .L250
- 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
- 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
- 4758 .loc 1 2220 12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 144
- 4759 0086 7B68 ldr r3, [r7, #4]
- 4760 0088 5B6B ldr r3, [r3, #52]
- 4761 .loc 1 2220 40
- 4762 008a 164A ldr r2, .L253
- 4763 008c 1A65 str r2, [r3, #80]
- 2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
- 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
- 4764 .loc 1 2223 11
- 4765 008e 7B68 ldr r3, [r7, #4]
- 4766 0090 5B6B ldr r3, [r3, #52]
- 4767 0092 1846 mov r0, r3
- 4768 0094 FFF7FEFF bl HAL_DMA_Abort_IT
- 4769 0098 0346 mov r3, r0
- 4770 .loc 1 2223 10
- 4771 009a 002B cmp r3, #0
- 4772 009c 1CD0 beq .L251
- 2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
- 2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
- 4773 .loc 1 2226 14
- 4774 009e 7B68 ldr r3, [r7, #4]
- 4775 00a0 5B6B ldr r3, [r3, #52]
- 4776 .loc 1 2226 22
- 4777 00a2 1B6D ldr r3, [r3, #80]
- 4778 .loc 1 2226 47
- 4779 00a4 7A68 ldr r2, [r7, #4]
- 4780 00a6 526B ldr r2, [r2, #52]
- 4781 .loc 1 2226 9
- 4782 00a8 1046 mov r0, r2
- 4783 00aa 9847 blx r3
- 4784 .LVL0:
- 4785 00ac 14E0 b .L251
- 4786 .L250:
- 2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
- 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 4787 .loc 1 2232 26
- 4788 00ae 7B68 ldr r3, [r7, #4]
- 4789 00b0 0022 movs r2, #0
- 4790 00b2 DA84 strh r2, [r3, #38] @ movhi
- 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
- 2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 4791 .loc 1 2235 21
- 4792 00b4 7B68 ldr r3, [r7, #4]
- 4793 00b6 2022 movs r2, #32
- 4794 00b8 83F83D20 strb r2, [r3, #61]
- 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
- 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
- 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 145
- 2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
- 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
- 4795 .loc 1 2243 7
- 4796 00bc 7868 ldr r0, [r7, #4]
- 4797 00be FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
- 4798 00c2 09E0 b .L251
- 4799 .L246:
- 2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
- 2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 4800 .loc 1 2250 24
- 4801 00c4 7B68 ldr r3, [r7, #4]
- 4802 00c6 0022 movs r2, #0
- 4803 00c8 DA84 strh r2, [r3, #38] @ movhi
- 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
- 2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 4804 .loc 1 2253 19
- 4805 00ca 7B68 ldr r3, [r7, #4]
- 4806 00cc 2022 movs r2, #32
- 4807 00ce 83F83D20 strb r2, [r3, #61]
- 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
- 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
- 2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
- 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
- 4808 .loc 1 2261 5
- 4809 00d2 7868 ldr r0, [r7, #4]
- 4810 00d4 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
- 4811 .L251:
- 2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 4812 .loc 1 2265 10
- 4813 00d8 0023 movs r3, #0
- 2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 4814 .loc 1 2266 1
- 4815 00da 1846 mov r0, r3
- 4816 00dc 3837 adds r7, r7, #56
- 4817 .LCFI123:
- 4818 .cfi_def_cfa_offset 8
- 4819 00de BD46 mov sp, r7
- 4820 .LCFI124:
- 4821 .cfi_def_cfa_register 13
- 4822 @ sp needed
- 4823 00e0 80BD pop {r7, pc}
- 4824 .L254:
- 4825 00e2 00BF .align 2
- 4826 .L253:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 146
- 4827 00e4 00000000 .word UART_DMATxOnlyAbortCallback
- 4828 .cfi_endproc
- 4829 .LFE258:
- 4831 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
- 4832 .align 1
- 4833 .global HAL_UART_AbortReceive_IT
- 4834 .syntax unified
- 4835 .thumb
- 4836 .thumb_func
- 4838 HAL_UART_AbortReceive_IT:
- 4839 .LFB259:
- 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
- 2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
- 2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
- 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
- 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
- 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
- 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
- 2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
- 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
- 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
- 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
- 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 4840 .loc 1 2283 1
- 4841 .cfi_startproc
- 4842 @ args = 0, pretend = 0, frame = 104
- 4843 @ frame_needed = 1, uses_anonymous_args = 0
- 4844 0000 80B5 push {r7, lr}
- 4845 .LCFI125:
- 4846 .cfi_def_cfa_offset 8
- 4847 .cfi_offset 7, -8
- 4848 .cfi_offset 14, -4
- 4849 0002 9AB0 sub sp, sp, #104
- 4850 .LCFI126:
- 4851 .cfi_def_cfa_offset 112
- 4852 0004 00AF add r7, sp, #0
- 4853 .LCFI127:
- 4854 .cfi_def_cfa_register 7
- 4855 0006 7860 str r0, [r7, #4]
- 4856 .L258:
- 4857 .LBB479:
- 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 4858 .loc 1 2285 3 discriminator 1
- 4859 0008 7B68 ldr r3, [r7, #4]
- 4860 000a 1B68 ldr r3, [r3]
- 4861 000c 0C33 adds r3, r3, #12
- 4862 000e BB64 str r3, [r7, #72]
- 4863 .LBB480:
- 4864 .LBB481:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4865 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 147
- 4866 0010 BB6C ldr r3, [r7, #72]
- 4867 .syntax unified
- 4868 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4869 0012 53E8003F ldrex r3, [r3]
- 4870 @ 0 "" 2
- 4871 .thumb
- 4872 .syntax unified
- 4873 0016 7B64 str r3, [r7, #68]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4874 .loc 2 1073 10 discriminator 1
- 4875 0018 7B6C ldr r3, [r7, #68]
- 4876 .LBE481:
- 4877 .LBE480:
- 4878 .loc 1 2285 3 discriminator 1
- 4879 001a 23F49073 bic r3, r3, #288
- 4880 001e 7B66 str r3, [r7, #100]
- 4881 0020 7B68 ldr r3, [r7, #4]
- 4882 0022 1B68 ldr r3, [r3]
- 4883 0024 0C33 adds r3, r3, #12
- 4884 0026 7A6E ldr r2, [r7, #100]
- 4885 0028 7A65 str r2, [r7, #84]
- 4886 002a 3B65 str r3, [r7, #80]
- 4887 .LBB482:
- 4888 .LBB483:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4889 .loc 2 1123 4 discriminator 1
- 4890 002c 396D ldr r1, [r7, #80]
- 4891 002e 7A6D ldr r2, [r7, #84]
- 4892 .syntax unified
- 4893 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4894 0030 41E80023 strex r3, r2, [r1]
- 4895 @ 0 "" 2
- 4896 .thumb
- 4897 .syntax unified
- 4898 0034 FB64 str r3, [r7, #76]
- 4899 .loc 2 1124 10 discriminator 1
- 4900 0036 FB6C ldr r3, [r7, #76]
- 4901 .LBE483:
- 4902 .LBE482:
- 4903 .loc 1 2285 3 discriminator 1
- 4904 0038 002B cmp r3, #0
- 4905 003a E5D1 bne .L258
- 4906 .L261:
- 4907 .LBE479:
- 4908 .LBB484:
- 2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 4909 .loc 1 2286 3 discriminator 1
- 4910 003c 7B68 ldr r3, [r7, #4]
- 4911 003e 1B68 ldr r3, [r3]
- 4912 0040 1433 adds r3, r3, #20
- 4913 0042 7B63 str r3, [r7, #52]
- 4914 .LBB485:
- 4915 .LBB486:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4916 .loc 2 1072 4 discriminator 1
- 4917 0044 7B6B ldr r3, [r7, #52]
- 4918 .syntax unified
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 148
- 4919 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4920 0046 53E8003F ldrex r3, [r3]
- 4921 @ 0 "" 2
- 4922 .thumb
- 4923 .syntax unified
- 4924 004a 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4925 .loc 2 1073 10 discriminator 1
- 4926 004c 3B6B ldr r3, [r7, #48]
- 4927 .LBE486:
- 4928 .LBE485:
- 4929 .loc 1 2286 3 discriminator 1
- 4930 004e 23F00103 bic r3, r3, #1
- 4931 0052 3B66 str r3, [r7, #96]
- 4932 0054 7B68 ldr r3, [r7, #4]
- 4933 0056 1B68 ldr r3, [r3]
- 4934 0058 1433 adds r3, r3, #20
- 4935 005a 3A6E ldr r2, [r7, #96]
- 4936 005c 3A64 str r2, [r7, #64]
- 4937 005e FB63 str r3, [r7, #60]
- 4938 .LBB487:
- 4939 .LBB488:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4940 .loc 2 1123 4 discriminator 1
- 4941 0060 F96B ldr r1, [r7, #60]
- 4942 0062 3A6C ldr r2, [r7, #64]
- 4943 .syntax unified
- 4944 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4945 0064 41E80023 strex r3, r2, [r1]
- 4946 @ 0 "" 2
- 4947 .thumb
- 4948 .syntax unified
- 4949 0068 BB63 str r3, [r7, #56]
- 4950 .loc 2 1124 10 discriminator 1
- 4951 006a BB6B ldr r3, [r7, #56]
- 4952 .LBE488:
- 4953 .LBE487:
- 4954 .loc 1 2286 3 discriminator 1
- 4955 006c 002B cmp r3, #0
- 4956 006e E5D1 bne .L261
- 4957 .LBE484:
- 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
- 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 4958 .loc 1 2289 12
- 4959 0070 7B68 ldr r3, [r7, #4]
- 4960 0072 1B6B ldr r3, [r3, #48]
- 4961 .loc 1 2289 6
- 4962 0074 012B cmp r3, #1
- 4963 0076 19D1 bne .L262
- 4964 .L265:
- 4965 .LBB489:
- 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
- 4966 .loc 1 2291 5 discriminator 1
- 4967 0078 7B68 ldr r3, [r7, #4]
- 4968 007a 1B68 ldr r3, [r3]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 149
- 4969 007c 0C33 adds r3, r3, #12
- 4970 007e 3B62 str r3, [r7, #32]
- 4971 .LBB490:
- 4972 .LBB491:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4973 .loc 2 1072 4 discriminator 1
- 4974 0080 3B6A ldr r3, [r7, #32]
- 4975 .syntax unified
- 4976 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 4977 0082 53E8003F ldrex r3, [r3]
- 4978 @ 0 "" 2
- 4979 .thumb
- 4980 .syntax unified
- 4981 0086 FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 4982 .loc 2 1073 10 discriminator 1
- 4983 0088 FB69 ldr r3, [r7, #28]
- 4984 .LBE491:
- 4985 .LBE490:
- 4986 .loc 1 2291 5 discriminator 1
- 4987 008a 23F01003 bic r3, r3, #16
- 4988 008e FB65 str r3, [r7, #92]
- 4989 0090 7B68 ldr r3, [r7, #4]
- 4990 0092 1B68 ldr r3, [r3]
- 4991 0094 0C33 adds r3, r3, #12
- 4992 0096 FA6D ldr r2, [r7, #92]
- 4993 0098 FA62 str r2, [r7, #44]
- 4994 009a BB62 str r3, [r7, #40]
- 4995 .LBB492:
- 4996 .LBB493:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 4997 .loc 2 1123 4 discriminator 1
- 4998 009c B96A ldr r1, [r7, #40]
- 4999 009e FA6A ldr r2, [r7, #44]
- 5000 .syntax unified
- 5001 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5002 00a0 41E80023 strex r3, r2, [r1]
- 5003 @ 0 "" 2
- 5004 .thumb
- 5005 .syntax unified
- 5006 00a4 7B62 str r3, [r7, #36]
- 5007 .loc 2 1124 10 discriminator 1
- 5008 00a6 7B6A ldr r3, [r7, #36]
- 5009 .LBE493:
- 5010 .LBE492:
- 5011 .loc 1 2291 5 discriminator 1
- 5012 00a8 002B cmp r3, #0
- 5013 00aa E5D1 bne .L265
- 5014 .L262:
- 5015 .LBE489:
- 2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 5016 .loc 1 2295 7
- 5017 00ac 7B68 ldr r3, [r7, #4]
- 5018 00ae 1B68 ldr r3, [r3]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 150
- 5019 00b0 5B69 ldr r3, [r3, #20]
- 5020 00b2 03F04003 and r3, r3, #64
- 5021 .loc 1 2295 6
- 5022 00b6 402B cmp r3, #64
- 5023 00b8 3FD1 bne .L266
- 5024 .L269:
- 5025 .LBB494:
- 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 5026 .loc 1 2297 5 discriminator 1
- 5027 00ba 7B68 ldr r3, [r7, #4]
- 5028 00bc 1B68 ldr r3, [r3]
- 5029 00be 1433 adds r3, r3, #20
- 5030 00c0 FB60 str r3, [r7, #12]
- 5031 .LBB495:
- 5032 .LBB496:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5033 .loc 2 1072 4 discriminator 1
- 5034 00c2 FB68 ldr r3, [r7, #12]
- 5035 .syntax unified
- 5036 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5037 00c4 53E8003F ldrex r3, [r3]
- 5038 @ 0 "" 2
- 5039 .thumb
- 5040 .syntax unified
- 5041 00c8 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5042 .loc 2 1073 10 discriminator 1
- 5043 00ca BB68 ldr r3, [r7, #8]
- 5044 .LBE496:
- 5045 .LBE495:
- 5046 .loc 1 2297 5 discriminator 1
- 5047 00cc 23F04003 bic r3, r3, #64
- 5048 00d0 BB65 str r3, [r7, #88]
- 5049 00d2 7B68 ldr r3, [r7, #4]
- 5050 00d4 1B68 ldr r3, [r3]
- 5051 00d6 1433 adds r3, r3, #20
- 5052 00d8 BA6D ldr r2, [r7, #88]
- 5053 00da BA61 str r2, [r7, #24]
- 5054 00dc 7B61 str r3, [r7, #20]
- 5055 .LBB497:
- 5056 .LBB498:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5057 .loc 2 1123 4 discriminator 1
- 5058 00de 7969 ldr r1, [r7, #20]
- 5059 00e0 BA69 ldr r2, [r7, #24]
- 5060 .syntax unified
- 5061 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5062 00e2 41E80023 strex r3, r2, [r1]
- 5063 @ 0 "" 2
- 5064 .thumb
- 5065 .syntax unified
- 5066 00e6 3B61 str r3, [r7, #16]
- 5067 .loc 2 1124 10 discriminator 1
- 5068 00e8 3B69 ldr r3, [r7, #16]
- 5069 .LBE498:
- 5070 .LBE497:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 151
- 5071 .loc 1 2297 5 discriminator 1
- 5072 00ea 002B cmp r3, #0
- 5073 00ec E5D1 bne .L269
- 5074 .LBE494:
- 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
- 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 5075 .loc 1 2300 14
- 5076 00ee 7B68 ldr r3, [r7, #4]
- 5077 00f0 9B6B ldr r3, [r3, #56]
- 5078 .loc 1 2300 8
- 5079 00f2 002B cmp r3, #0
- 5080 00f4 13D0 beq .L270
- 2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
- 2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
- 2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
- 5081 .loc 1 2304 12
- 5082 00f6 7B68 ldr r3, [r7, #4]
- 5083 00f8 9B6B ldr r3, [r3, #56]
- 5084 .loc 1 2304 40
- 5085 00fa 194A ldr r2, .L273
- 5086 00fc 1A65 str r2, [r3, #80]
- 2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
- 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
- 5087 .loc 1 2307 11
- 5088 00fe 7B68 ldr r3, [r7, #4]
- 5089 0100 9B6B ldr r3, [r3, #56]
- 5090 0102 1846 mov r0, r3
- 5091 0104 FFF7FEFF bl HAL_DMA_Abort_IT
- 5092 0108 0346 mov r3, r0
- 5093 .loc 1 2307 10
- 5094 010a 002B cmp r3, #0
- 5095 010c 22D0 beq .L271
- 2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
- 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
- 5096 .loc 1 2310 14
- 5097 010e 7B68 ldr r3, [r7, #4]
- 5098 0110 9B6B ldr r3, [r3, #56]
- 5099 .loc 1 2310 22
- 5100 0112 1B6D ldr r3, [r3, #80]
- 5101 .loc 1 2310 47
- 5102 0114 7A68 ldr r2, [r7, #4]
- 5103 0116 926B ldr r2, [r2, #56]
- 5104 .loc 1 2310 9
- 5105 0118 1046 mov r0, r2
- 5106 011a 9847 blx r3
- 5107 .LVL1:
- 5108 011c 1AE0 b .L271
- 5109 .L270:
- 2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 152
- 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 5110 .loc 1 2316 26
- 5111 011e 7B68 ldr r3, [r7, #4]
- 5112 0120 0022 movs r2, #0
- 5113 0122 DA85 strh r2, [r3, #46] @ movhi
- 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 5114 .loc 1 2319 22
- 5115 0124 7B68 ldr r3, [r7, #4]
- 5116 0126 2022 movs r2, #32
- 5117 0128 83F83E20 strb r2, [r3, #62]
- 2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 5118 .loc 1 2320 28
- 5119 012c 7B68 ldr r3, [r7, #4]
- 5120 012e 0022 movs r2, #0
- 5121 0130 1A63 str r2, [r3, #48]
- 2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
- 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
- 2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
- 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
- 5122 .loc 1 2328 7
- 5123 0132 7868 ldr r0, [r7, #4]
- 5124 0134 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
- 5125 0138 0CE0 b .L271
- 5126 .L266:
- 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
- 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 5127 .loc 1 2335 24
- 5128 013a 7B68 ldr r3, [r7, #4]
- 5129 013c 0022 movs r2, #0
- 5130 013e DA85 strh r2, [r3, #46] @ movhi
- 2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 5131 .loc 1 2338 20
- 5132 0140 7B68 ldr r3, [r7, #4]
- 5133 0142 2022 movs r2, #32
- 5134 0144 83F83E20 strb r2, [r3, #62]
- 2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 5135 .loc 1 2339 26
- 5136 0148 7B68 ldr r3, [r7, #4]
- 5137 014a 0022 movs r2, #0
- 5138 014c 1A63 str r2, [r3, #48]
- 2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
- 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 153
- 2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
- 2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
- 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
- 5139 .loc 1 2347 5
- 5140 014e 7868 ldr r0, [r7, #4]
- 5141 0150 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
- 5142 .L271:
- 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 5143 .loc 1 2351 10
- 5144 0154 0023 movs r3, #0
- 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 5145 .loc 1 2352 1
- 5146 0156 1846 mov r0, r3
- 5147 0158 6837 adds r7, r7, #104
- 5148 .LCFI128:
- 5149 .cfi_def_cfa_offset 8
- 5150 015a BD46 mov sp, r7
- 5151 .LCFI129:
- 5152 .cfi_def_cfa_register 13
- 5153 @ sp needed
- 5154 015c 80BD pop {r7, pc}
- 5155 .L274:
- 5156 015e 00BF .align 2
- 5157 .L273:
- 5158 0160 00000000 .word UART_DMARxOnlyAbortCallback
- 5159 .cfi_endproc
- 5160 .LFE259:
- 5162 .section .text.HAL_UART_IRQHandler,"ax",%progbits
- 5163 .align 1
- 5164 .global HAL_UART_IRQHandler
- 5165 .syntax unified
- 5166 .thumb
- 5167 .thumb_func
- 5169 HAL_UART_IRQHandler:
- 5170 .LFB260:
- 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART interrupt request.
- 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
- 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 5171 .loc 1 2361 1
- 5172 .cfi_startproc
- 5173 @ args = 0, pretend = 0, frame = 232
- 5174 @ frame_needed = 1, uses_anonymous_args = 0
- 5175 0000 80B5 push {r7, lr}
- 5176 .LCFI130:
- 5177 .cfi_def_cfa_offset 8
- 5178 .cfi_offset 7, -8
- 5179 .cfi_offset 14, -4
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 154
- 5180 0002 BAB0 sub sp, sp, #232
- 5181 .LCFI131:
- 5182 .cfi_def_cfa_offset 240
- 5183 0004 00AF add r7, sp, #0
- 5184 .LCFI132:
- 5185 .cfi_def_cfa_register 7
- 5186 0006 7860 str r0, [r7, #4]
- 2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
- 5187 .loc 1 2362 25
- 5188 0008 7B68 ldr r3, [r7, #4]
- 5189 000a 1B68 ldr r3, [r3]
- 5190 .loc 1 2362 12
- 5191 000c 1B68 ldr r3, [r3]
- 5192 000e C7F8E430 str r3, [r7, #228]
- 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
- 5193 .loc 1 2363 25
- 5194 0012 7B68 ldr r3, [r7, #4]
- 5195 0014 1B68 ldr r3, [r3]
- 5196 .loc 1 2363 12
- 5197 0016 DB68 ldr r3, [r3, #12]
- 5198 0018 C7F8E030 str r3, [r7, #224]
- 2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
- 5199 .loc 1 2364 25
- 5200 001c 7B68 ldr r3, [r7, #4]
- 5201 001e 1B68 ldr r3, [r3]
- 5202 .loc 1 2364 12
- 5203 0020 5B69 ldr r3, [r3, #20]
- 5204 0022 C7F8DC30 str r3, [r7, #220]
- 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
- 5205 .loc 1 2365 12
- 5206 0026 0023 movs r3, #0
- 5207 0028 C7F8D830 str r3, [r7, #216]
- 2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
- 5208 .loc 1 2366 12
- 5209 002c 0023 movs r3, #0
- 5210 002e C7F8D430 str r3, [r7, #212]
- 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If no error occurs */
- 2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
- 5211 .loc 1 2369 14
- 5212 0032 D7F8E430 ldr r3, [r7, #228]
- 5213 0036 03F00F03 and r3, r3, #15
- 5214 003a C7F8D830 str r3, [r7, #216]
- 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET)
- 5215 .loc 1 2370 6
- 5216 003e D7F8D830 ldr r3, [r7, #216]
- 5217 0042 002B cmp r3, #0
- 5218 0044 0FD1 bne .L276
- 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -------------------------------------------------*/
- 2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
- 5219 .loc 1 2373 20
- 5220 0046 D7F8E430 ldr r3, [r7, #228]
- 5221 004a 03F02003 and r3, r3, #32
- 5222 .loc 1 2373 8
- 5223 004e 002B cmp r3, #0
- 5224 0050 09D0 beq .L276
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 155
- 5225 .loc 1 2373 59 discriminator 1
- 5226 0052 D7F8E030 ldr r3, [r7, #224]
- 5227 0056 03F02003 and r3, r3, #32
- 5228 .loc 1 2373 47 discriminator 1
- 5229 005a 002B cmp r3, #0
- 5230 005c 03D0 beq .L276
- 2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
- 5231 .loc 1 2375 7
- 5232 005e 7868 ldr r0, [r7, #4]
- 5233 0060 FFF7FEFF bl UART_Receive_IT
- 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 5234 .loc 1 2376 7
- 5235 0064 56E2 b .L275
- 5236 .L276:
- 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If some errors occur */
- 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET)
- 5237 .loc 1 2381 6
- 5238 0066 D7F8D830 ldr r3, [r7, #216]
- 5239 006a 002B cmp r3, #0
- 5240 006c 00F0DE80 beq .L278
- 5241 .loc 1 2381 42 discriminator 1
- 5242 0070 D7F8DC30 ldr r3, [r7, #220]
- 5243 0074 03F00103 and r3, r3, #1
- 5244 .loc 1 2381 29 discriminator 1
- 5245 0078 002B cmp r3, #0
- 5246 007a 06D1 bne .L279
- 2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
- 5247 .loc 1 2382 45
- 5248 007c D7F8E030 ldr r3, [r7, #224]
- 5249 0080 03F49073 and r3, r3, #288
- 5250 .loc 1 2382 33
- 5251 0084 002B cmp r3, #0
- 5252 0086 00F0D180 beq .L278
- 5253 .L279:
- 2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART parity error interrupt occurred ----------------------------------*/
- 2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
- 5254 .loc 1 2385 20
- 5255 008a D7F8E430 ldr r3, [r7, #228]
- 5256 008e 03F00103 and r3, r3, #1
- 5257 .loc 1 2385 8
- 5258 0092 002B cmp r3, #0
- 5259 0094 0BD0 beq .L280
- 5260 .loc 1 2385 57 discriminator 1
- 5261 0096 D7F8E030 ldr r3, [r7, #224]
- 5262 009a 03F48073 and r3, r3, #256
- 5263 .loc 1 2385 45 discriminator 1
- 5264 009e 002B cmp r3, #0
- 5265 00a0 05D0 beq .L280
- 2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
- 5266 .loc 1 2387 24
- 5267 00a2 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 156
- 5268 00a4 1B6C ldr r3, [r3, #64]
- 5269 00a6 43F00102 orr r2, r3, #1
- 5270 00aa 7B68 ldr r3, [r7, #4]
- 5271 00ac 1A64 str r2, [r3, #64]
- 5272 .L280:
- 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART noise error interrupt occurred -----------------------------------*/
- 2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
- 5273 .loc 1 2391 20
- 5274 00ae D7F8E430 ldr r3, [r7, #228]
- 5275 00b2 03F00403 and r3, r3, #4
- 5276 .loc 1 2391 8
- 5277 00b6 002B cmp r3, #0
- 5278 00b8 0BD0 beq .L281
- 5279 .loc 1 2391 57 discriminator 1
- 5280 00ba D7F8DC30 ldr r3, [r7, #220]
- 5281 00be 03F00103 and r3, r3, #1
- 5282 .loc 1 2391 45 discriminator 1
- 5283 00c2 002B cmp r3, #0
- 5284 00c4 05D0 beq .L281
- 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
- 5285 .loc 1 2393 24
- 5286 00c6 7B68 ldr r3, [r7, #4]
- 5287 00c8 1B6C ldr r3, [r3, #64]
- 5288 00ca 43F00202 orr r2, r3, #2
- 5289 00ce 7B68 ldr r3, [r7, #4]
- 5290 00d0 1A64 str r2, [r3, #64]
- 5291 .L281:
- 2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART frame error interrupt occurred -----------------------------------*/
- 2397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
- 5292 .loc 1 2397 20
- 5293 00d2 D7F8E430 ldr r3, [r7, #228]
- 5294 00d6 03F00203 and r3, r3, #2
- 5295 .loc 1 2397 8
- 5296 00da 002B cmp r3, #0
- 5297 00dc 0BD0 beq .L282
- 5298 .loc 1 2397 57 discriminator 1
- 5299 00de D7F8DC30 ldr r3, [r7, #220]
- 5300 00e2 03F00103 and r3, r3, #1
- 5301 .loc 1 2397 45 discriminator 1
- 5302 00e6 002B cmp r3, #0
- 5303 00e8 05D0 beq .L282
- 2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
- 5304 .loc 1 2399 24
- 5305 00ea 7B68 ldr r3, [r7, #4]
- 5306 00ec 1B6C ldr r3, [r3, #64]
- 5307 00ee 43F00402 orr r2, r3, #4
- 5308 00f2 7B68 ldr r3, [r7, #4]
- 5309 00f4 1A64 str r2, [r3, #64]
- 5310 .L282:
- 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 157
- 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Over-Run interrupt occurred --------------------------------------*/
- 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET)
- 5311 .loc 1 2403 20
- 5312 00f6 D7F8E430 ldr r3, [r7, #228]
- 5313 00fa 03F00803 and r3, r3, #8
- 5314 .loc 1 2403 8
- 5315 00fe 002B cmp r3, #0
- 5316 0100 11D0 beq .L283
- 5317 .loc 1 2403 59 discriminator 1
- 5318 0102 D7F8E030 ldr r3, [r7, #224]
- 5319 0106 03F02003 and r3, r3, #32
- 5320 .loc 1 2403 46 discriminator 1
- 5321 010a 002B cmp r3, #0
- 5322 010c 05D1 bne .L284
- 2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
- 5323 .loc 1 2404 62
- 5324 010e D7F8DC30 ldr r3, [r7, #220]
- 5325 0112 03F00103 and r3, r3, #1
- 5326 .loc 1 2404 50
- 5327 0116 002B cmp r3, #0
- 5328 0118 05D0 beq .L283
- 5329 .L284:
- 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
- 5330 .loc 1 2406 24
- 5331 011a 7B68 ldr r3, [r7, #4]
- 5332 011c 1B6C ldr r3, [r3, #64]
- 5333 011e 43F00802 orr r2, r3, #8
- 5334 0122 7B68 ldr r3, [r7, #4]
- 5335 0124 1A64 str r2, [r3, #64]
- 5336 .L283:
- 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call UART Error Call back function if need be --------------------------*/
- 2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
- 5337 .loc 1 2410 14
- 5338 0126 7B68 ldr r3, [r7, #4]
- 5339 0128 1B6C ldr r3, [r3, #64]
- 5340 .loc 1 2410 8
- 5341 012a 002B cmp r3, #0
- 5342 012c 00F0ED81 beq .L322
- 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -----------------------------------------------*/
- 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
- 5343 .loc 1 2413 22
- 5344 0130 D7F8E430 ldr r3, [r7, #228]
- 5345 0134 03F02003 and r3, r3, #32
- 5346 .loc 1 2413 10
- 5347 0138 002B cmp r3, #0
- 5348 013a 08D0 beq .L286
- 5349 .loc 1 2413 61 discriminator 1
- 5350 013c D7F8E030 ldr r3, [r7, #224]
- 5351 0140 03F02003 and r3, r3, #32
- 5352 .loc 1 2413 49 discriminator 1
- 5353 0144 002B cmp r3, #0
- 5354 0146 02D0 beq .L286
- 2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 158
- 2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
- 5355 .loc 1 2415 9
- 5356 0148 7868 ldr r0, [r7, #4]
- 5357 014a FFF7FEFF bl UART_Receive_IT
- 5358 .L286:
- 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Overrun error occurs, or if any error occurs in DMA mode reception,
- 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** consider error as blocking */
- 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
- 5359 .loc 1 2420 20
- 5360 014e 7B68 ldr r3, [r7, #4]
- 5361 0150 1B68 ldr r3, [r3]
- 5362 0152 5B69 ldr r3, [r3, #20]
- 5363 0154 03F04003 and r3, r3, #64
- 5364 0158 402B cmp r3, #64
- 5365 015a 0CBF ite eq
- 5366 015c 0123 moveq r3, #1
- 5367 015e 0023 movne r3, #0
- 5368 0160 DBB2 uxtb r3, r3
- 5369 .loc 1 2420 18
- 5370 0162 C7F8D430 str r3, [r7, #212]
- 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
- 5371 .loc 1 2421 18
- 5372 0166 7B68 ldr r3, [r7, #4]
- 5373 0168 1B6C ldr r3, [r3, #64]
- 5374 .loc 1 2421 30
- 5375 016a 03F00803 and r3, r3, #8
- 5376 .loc 1 2421 10
- 5377 016e 002B cmp r3, #0
- 5378 0170 03D1 bne .L287
- 5379 .loc 1 2421 62 discriminator 1
- 5380 0172 D7F8D430 ldr r3, [r7, #212]
- 5381 0176 002B cmp r3, #0
- 5382 0178 4FD0 beq .L288
- 5383 .L287:
- 2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Blocking error : transfer is aborted
- 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
- 2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
- 2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 5384 .loc 1 2426 9
- 5385 017a 7868 ldr r0, [r7, #4]
- 5386 017c FFF7FEFF bl UART_EndRxTransfer
- 2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
- 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 5387 .loc 1 2429 13
- 5388 0180 7B68 ldr r3, [r7, #4]
- 5389 0182 1B68 ldr r3, [r3]
- 5390 0184 5B69 ldr r3, [r3, #20]
- 5391 0186 03F04003 and r3, r3, #64
- 5392 .loc 1 2429 12
- 5393 018a 402B cmp r3, #64
- 5394 018c 41D1 bne .L289
- 5395 .L292:
- 5396 .LBB499:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 159
- 2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 5397 .loc 1 2431 11 discriminator 1
- 5398 018e 7B68 ldr r3, [r7, #4]
- 5399 0190 1B68 ldr r3, [r3]
- 5400 0192 1433 adds r3, r3, #20
- 5401 0194 C7F89C30 str r3, [r7, #156]
- 5402 .LBB500:
- 5403 .LBB501:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5404 .loc 2 1072 4 discriminator 1
- 5405 0198 D7F89C30 ldr r3, [r7, #156]
- 5406 .syntax unified
- 5407 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5408 019c 53E8003F ldrex r3, [r3]
- 5409 @ 0 "" 2
- 5410 .thumb
- 5411 .syntax unified
- 5412 01a0 C7F89830 str r3, [r7, #152]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5413 .loc 2 1073 10 discriminator 1
- 5414 01a4 D7F89830 ldr r3, [r7, #152]
- 5415 .LBE501:
- 5416 .LBE500:
- 5417 .loc 1 2431 11 discriminator 1
- 5418 01a8 23F04003 bic r3, r3, #64
- 5419 01ac C7F8D030 str r3, [r7, #208]
- 5420 01b0 7B68 ldr r3, [r7, #4]
- 5421 01b2 1B68 ldr r3, [r3]
- 5422 01b4 1433 adds r3, r3, #20
- 5423 01b6 D7F8D020 ldr r2, [r7, #208]
- 5424 01ba C7F8A820 str r2, [r7, #168]
- 5425 01be C7F8A430 str r3, [r7, #164]
- 5426 .LBB502:
- 5427 .LBB503:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5428 .loc 2 1123 4 discriminator 1
- 5429 01c2 D7F8A410 ldr r1, [r7, #164]
- 5430 01c6 D7F8A820 ldr r2, [r7, #168]
- 5431 .syntax unified
- 5432 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5433 01ca 41E80023 strex r3, r2, [r1]
- 5434 @ 0 "" 2
- 5435 .thumb
- 5436 .syntax unified
- 5437 01ce C7F8A030 str r3, [r7, #160]
- 5438 .loc 2 1124 10 discriminator 1
- 5439 01d2 D7F8A030 ldr r3, [r7, #160]
- 5440 .LBE503:
- 5441 .LBE502:
- 5442 .loc 1 2431 11 discriminator 1
- 5443 01d6 002B cmp r3, #0
- 5444 01d8 D9D1 bne .L292
- 5445 .LBE499:
- 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
- 2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 160
- 5446 .loc 1 2434 20
- 5447 01da 7B68 ldr r3, [r7, #4]
- 5448 01dc 9B6B ldr r3, [r3, #56]
- 5449 .loc 1 2434 14
- 5450 01de 002B cmp r3, #0
- 5451 01e0 13D0 beq .L293
- 2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
- 2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
- 2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
- 5452 .loc 1 2438 18
- 5453 01e2 7B68 ldr r3, [r7, #4]
- 5454 01e4 9B6B ldr r3, [r3, #56]
- 5455 .loc 1 2438 46
- 5456 01e6 7D4A ldr r2, .L326
- 5457 01e8 1A65 str r2, [r3, #80]
- 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
- 5458 .loc 1 2439 17
- 5459 01ea 7B68 ldr r3, [r7, #4]
- 5460 01ec 9B6B ldr r3, [r3, #56]
- 5461 01ee 1846 mov r0, r3
- 5462 01f0 FFF7FEFF bl HAL_DMA_Abort_IT
- 5463 01f4 0346 mov r3, r0
- 5464 .loc 1 2439 16
- 5465 01f6 002B cmp r3, #0
- 5466 01f8 16D0 beq .L323
- 2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly XferAbortCallback function in case of error */
- 2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
- 5467 .loc 1 2442 20
- 5468 01fa 7B68 ldr r3, [r7, #4]
- 5469 01fc 9B6B ldr r3, [r3, #56]
- 5470 .loc 1 2442 28
- 5471 01fe 1B6D ldr r3, [r3, #80]
- 5472 .loc 1 2442 53
- 5473 0200 7A68 ldr r2, [r7, #4]
- 5474 0202 926B ldr r2, [r2, #56]
- 5475 .loc 1 2442 15
- 5476 0204 1046 mov r0, r2
- 5477 0206 9847 blx r3
- 5478 .LVL2:
- 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 5479 .loc 1 2429 12
- 5480 0208 0EE0 b .L323
- 5481 .L293:
- 2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
- 2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
- 2450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
- 2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
- 2453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 5482 .loc 1 2453 13
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 161
- 5483 020a 7868 ldr r0, [r7, #4]
- 5484 020c FFF7FEFF bl HAL_UART_ErrorCallback
- 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 5485 .loc 1 2429 12
- 5486 0210 0AE0 b .L323
- 5487 .L289:
- 2454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
- 2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
- 2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
- 2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
- 2465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 5488 .loc 1 2465 11
- 5489 0212 7868 ldr r0, [r7, #4]
- 5490 0214 FFF7FEFF bl HAL_UART_ErrorCallback
- 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 5491 .loc 1 2429 12
- 5492 0218 06E0 b .L323
- 5493 .L288:
- 2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
- 2472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error is notified to user through user error callback */
- 2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
- 2475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
- 2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
- 2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 5494 .loc 1 2478 9
- 5495 021a 7868 ldr r0, [r7, #4]
- 5496 021c FFF7FEFF bl HAL_UART_ErrorCallback
- 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 5497 .loc 1 2481 26
- 5498 0220 7B68 ldr r3, [r7, #4]
- 5499 0222 0022 movs r2, #0
- 5500 0224 1A64 str r2, [r3, #64]
- 2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 5501 .loc 1 2484 5
- 5502 0226 70E1 b .L322
- 5503 .L323:
- 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 5504 .loc 1 2429 12
- 5505 0228 00BF nop
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 162
- 5506 .loc 1 2484 5
- 5507 022a 6EE1 b .L322
- 5508 .L278:
- 2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
- 2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
- 2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
- 2489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 5509 .loc 1 2489 13
- 5510 022c 7B68 ldr r3, [r7, #4]
- 5511 022e 1B6B ldr r3, [r3, #48]
- 5512 .loc 1 2489 6
- 5513 0230 012B cmp r3, #1
- 5514 0232 40F04A81 bne .L295
- 2490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
- 5515 .loc 1 2490 21
- 5516 0236 D7F8E430 ldr r3, [r7, #228]
- 5517 023a 03F01003 and r3, r3, #16
- 5518 .loc 1 2490 7
- 5519 023e 002B cmp r3, #0
- 5520 0240 00F04381 beq .L295
- 2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((cr1its & USART_SR_IDLE) != 0U))
- 5521 .loc 1 2491 19
- 5522 0244 D7F8E030 ldr r3, [r7, #224]
- 5523 0248 03F01003 and r3, r3, #16
- 5524 .loc 1 2491 7
- 5525 024c 002B cmp r3, #0
- 5526 024e 00F03C81 beq .L295
- 5527 .LBB504:
- 2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
- 5528 .loc 1 2493 5
- 5529 0252 0023 movs r3, #0
- 5530 0254 BB60 str r3, [r7, #8]
- 5531 0256 7B68 ldr r3, [r7, #4]
- 5532 0258 1B68 ldr r3, [r3]
- 5533 025a 1B68 ldr r3, [r3]
- 5534 025c BB60 str r3, [r7, #8]
- 5535 025e 7B68 ldr r3, [r7, #4]
- 5536 0260 1B68 ldr r3, [r3]
- 5537 0262 5B68 ldr r3, [r3, #4]
- 5538 0264 BB60 str r3, [r7, #8]
- 5539 0266 BB68 ldr r3, [r7, #8]
- 5540 .LBE504:
- 2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
- 2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
- 5541 .loc 1 2496 9
- 5542 0268 7B68 ldr r3, [r7, #4]
- 5543 026a 1B68 ldr r3, [r3]
- 5544 026c 5B69 ldr r3, [r3, #20]
- 5545 026e 03F04003 and r3, r3, #64
- 5546 .loc 1 2496 8
- 5547 0272 402B cmp r3, #64
- 5548 0274 40F0B480 bne .L296
- 5549 .LBB505:
- 2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 163
- 2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode enabled */
- 2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
- 2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (DMA cplt callback will be called).
- 2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
- 2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
- 5550 .loc 1 2502 50
- 5551 0278 7B68 ldr r3, [r7, #4]
- 5552 027a 9B6B ldr r3, [r3, #56]
- 5553 027c 1B68 ldr r3, [r3]
- 5554 027e 5B68 ldr r3, [r3, #4]
- 5555 .loc 1 2502 16
- 5556 0280 A7F8BE30 strh r3, [r7, #190] @ movhi
- 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
- 5557 .loc 1 2503 10
- 5558 0284 B7F8BE30 ldrh r3, [r7, #190]
- 5559 0288 002B cmp r3, #0
- 5560 028a 00F04081 beq .L324
- 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
- 5561 .loc 1 2504 43
- 5562 028e 7B68 ldr r3, [r7, #4]
- 5563 0290 9B8D ldrh r3, [r3, #44]
- 5564 .loc 1 2504 11
- 5565 0292 B7F8BE20 ldrh r2, [r7, #190]
- 5566 0296 9A42 cmp r2, r3
- 5567 0298 80F03981 bcs .L324
- 2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reception is not complete */
- 2507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
- 5568 .loc 1 2507 28
- 5569 029c 7B68 ldr r3, [r7, #4]
- 5570 029e B7F8BE20 ldrh r2, [r7, #190] @ movhi
- 5571 02a2 DA85 strh r2, [r3, #46] @ movhi
- 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
- 2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR)
- 5572 .loc 1 2510 18
- 5573 02a4 7B68 ldr r3, [r7, #4]
- 5574 02a6 9B6B ldr r3, [r3, #56]
- 5575 .loc 1 2510 32
- 5576 02a8 DB69 ldr r3, [r3, #28]
- 5577 .loc 1 2510 12
- 5578 02aa B3F5807F cmp r3, #256
- 5579 02ae 00F08880 beq .L298
- 5580 .L301:
- 5581 .LBB506:
- 2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
- 2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 5582 .loc 1 2513 11 discriminator 1
- 5583 02b2 7B68 ldr r3, [r7, #4]
- 5584 02b4 1B68 ldr r3, [r3]
- 5585 02b6 0C33 adds r3, r3, #12
- 5586 02b8 C7F88830 str r3, [r7, #136]
- 5587 .LBB507:
- 5588 .LBB508:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5589 .loc 2 1072 4 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 164
- 5590 02bc D7F88830 ldr r3, [r7, #136]
- 5591 .syntax unified
- 5592 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5593 02c0 53E8003F ldrex r3, [r3]
- 5594 @ 0 "" 2
- 5595 .thumb
- 5596 .syntax unified
- 5597 02c4 C7F88430 str r3, [r7, #132]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5598 .loc 2 1073 10 discriminator 1
- 5599 02c8 D7F88430 ldr r3, [r7, #132]
- 5600 .LBE508:
- 5601 .LBE507:
- 5602 .loc 1 2513 11 discriminator 1
- 5603 02cc 23F48073 bic r3, r3, #256
- 5604 02d0 C7F8B830 str r3, [r7, #184]
- 5605 02d4 7B68 ldr r3, [r7, #4]
- 5606 02d6 1B68 ldr r3, [r3]
- 5607 02d8 0C33 adds r3, r3, #12
- 5608 02da D7F8B820 ldr r2, [r7, #184]
- 5609 02de C7F89420 str r2, [r7, #148]
- 5610 02e2 C7F89030 str r3, [r7, #144]
- 5611 .LBB509:
- 5612 .LBB510:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5613 .loc 2 1123 4 discriminator 1
- 5614 02e6 D7F89010 ldr r1, [r7, #144]
- 5615 02ea D7F89420 ldr r2, [r7, #148]
- 5616 .syntax unified
- 5617 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5618 02ee 41E80023 strex r3, r2, [r1]
- 5619 @ 0 "" 2
- 5620 .thumb
- 5621 .syntax unified
- 5622 02f2 C7F88C30 str r3, [r7, #140]
- 5623 .loc 2 1124 10 discriminator 1
- 5624 02f6 D7F88C30 ldr r3, [r7, #140]
- 5625 .LBE510:
- 5626 .LBE509:
- 5627 .loc 1 2513 11 discriminator 1
- 5628 02fa 002B cmp r3, #0
- 5629 02fc D9D1 bne .L301
- 5630 .L304:
- 5631 .LBE506:
- 5632 .LBB511:
- 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 5633 .loc 1 2514 11 discriminator 1
- 5634 02fe 7B68 ldr r3, [r7, #4]
- 5635 0300 1B68 ldr r3, [r3]
- 5636 0302 1433 adds r3, r3, #20
- 5637 0304 7B67 str r3, [r7, #116]
- 5638 .LBB512:
- 5639 .LBB513:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5640 .loc 2 1072 4 discriminator 1
- 5641 0306 7B6F ldr r3, [r7, #116]
- 5642 .syntax unified
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 165
- 5643 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5644 0308 53E8003F ldrex r3, [r3]
- 5645 @ 0 "" 2
- 5646 .thumb
- 5647 .syntax unified
- 5648 030c 3B67 str r3, [r7, #112]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5649 .loc 2 1073 10 discriminator 1
- 5650 030e 3B6F ldr r3, [r7, #112]
- 5651 .LBE513:
- 5652 .LBE512:
- 5653 .loc 1 2514 11 discriminator 1
- 5654 0310 23F00103 bic r3, r3, #1
- 5655 0314 C7F8B430 str r3, [r7, #180]
- 5656 0318 7B68 ldr r3, [r7, #4]
- 5657 031a 1B68 ldr r3, [r3]
- 5658 031c 1433 adds r3, r3, #20
- 5659 031e D7F8B420 ldr r2, [r7, #180]
- 5660 0322 C7F88020 str r2, [r7, #128]
- 5661 0326 FB67 str r3, [r7, #124]
- 5662 .LBB514:
- 5663 .LBB515:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5664 .loc 2 1123 4 discriminator 1
- 5665 0328 F96F ldr r1, [r7, #124]
- 5666 032a D7F88020 ldr r2, [r7, #128]
- 5667 .syntax unified
- 5668 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5669 032e 41E80023 strex r3, r2, [r1]
- 5670 @ 0 "" 2
- 5671 .thumb
- 5672 .syntax unified
- 5673 0332 BB67 str r3, [r7, #120]
- 5674 .loc 2 1124 10 discriminator 1
- 5675 0334 BB6F ldr r3, [r7, #120]
- 5676 .LBE515:
- 5677 .LBE514:
- 5678 .loc 1 2514 11 discriminator 1
- 5679 0336 002B cmp r3, #0
- 5680 0338 E1D1 bne .L304
- 5681 .L307:
- 5682 .LBE511:
- 5683 .LBB516:
- 2515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
- 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
- 2518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 5684 .loc 1 2518 11 discriminator 1
- 5685 033a 7B68 ldr r3, [r7, #4]
- 5686 033c 1B68 ldr r3, [r3]
- 5687 033e 1433 adds r3, r3, #20
- 5688 0340 3B66 str r3, [r7, #96]
- 5689 .LBB517:
- 5690 .LBB518:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5691 .loc 2 1072 4 discriminator 1
- 5692 0342 3B6E ldr r3, [r7, #96]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 166
- 5693 .syntax unified
- 5694 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5695 0344 53E8003F ldrex r3, [r3]
- 5696 @ 0 "" 2
- 5697 .thumb
- 5698 .syntax unified
- 5699 0348 FB65 str r3, [r7, #92]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5700 .loc 2 1073 10 discriminator 1
- 5701 034a FB6D ldr r3, [r7, #92]
- 5702 .LBE518:
- 5703 .LBE517:
- 5704 .loc 1 2518 11 discriminator 1
- 5705 034c 23F04003 bic r3, r3, #64
- 5706 0350 C7F8B030 str r3, [r7, #176]
- 5707 0354 7B68 ldr r3, [r7, #4]
- 5708 0356 1B68 ldr r3, [r3]
- 5709 0358 1433 adds r3, r3, #20
- 5710 035a D7F8B020 ldr r2, [r7, #176]
- 5711 035e FA66 str r2, [r7, #108]
- 5712 0360 BB66 str r3, [r7, #104]
- 5713 .LBB519:
- 5714 .LBB520:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5715 .loc 2 1123 4 discriminator 1
- 5716 0362 B96E ldr r1, [r7, #104]
- 5717 0364 FA6E ldr r2, [r7, #108]
- 5718 .syntax unified
- 5719 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5720 0366 41E80023 strex r3, r2, [r1]
- 5721 @ 0 "" 2
- 5722 .thumb
- 5723 .syntax unified
- 5724 036a 7B66 str r3, [r7, #100]
- 5725 .loc 2 1124 10 discriminator 1
- 5726 036c 7B6E ldr r3, [r7, #100]
- 5727 .LBE520:
- 5728 .LBE519:
- 5729 .loc 1 2518 11 discriminator 1
- 5730 036e 002B cmp r3, #0
- 5731 0370 E3D1 bne .L307
- 5732 .LBE516:
- 2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 5733 .loc 1 2521 26
- 5734 0372 7B68 ldr r3, [r7, #4]
- 5735 0374 2022 movs r2, #32
- 5736 0376 83F83E20 strb r2, [r3, #62]
- 2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 5737 .loc 1 2522 32
- 5738 037a 7B68 ldr r3, [r7, #4]
- 5739 037c 0022 movs r2, #0
- 5740 037e 1A63 str r2, [r3, #48]
- 5741 .L310:
- 5742 .LBB521:
- 2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 167
- 2524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 5743 .loc 1 2524 11 discriminator 1
- 5744 0380 7B68 ldr r3, [r7, #4]
- 5745 0382 1B68 ldr r3, [r3]
- 5746 0384 0C33 adds r3, r3, #12
- 5747 0386 FB64 str r3, [r7, #76]
- 5748 .LBB522:
- 5749 .LBB523:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5750 .loc 2 1072 4 discriminator 1
- 5751 0388 FB6C ldr r3, [r7, #76]
- 5752 .syntax unified
- 5753 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5754 038a 53E8003F ldrex r3, [r3]
- 5755 @ 0 "" 2
- 5756 .thumb
- 5757 .syntax unified
- 5758 038e BB64 str r3, [r7, #72]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5759 .loc 2 1073 10 discriminator 1
- 5760 0390 BB6C ldr r3, [r7, #72]
- 5761 .LBE523:
- 5762 .LBE522:
- 5763 .loc 1 2524 11 discriminator 1
- 5764 0392 23F01003 bic r3, r3, #16
- 5765 0396 C7F8AC30 str r3, [r7, #172]
- 5766 039a 7B68 ldr r3, [r7, #4]
- 5767 039c 1B68 ldr r3, [r3]
- 5768 039e 0C33 adds r3, r3, #12
- 5769 03a0 D7F8AC20 ldr r2, [r7, #172]
- 5770 03a4 BA65 str r2, [r7, #88]
- 5771 03a6 7B65 str r3, [r7, #84]
- 5772 .LBB524:
- 5773 .LBB525:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5774 .loc 2 1123 4 discriminator 1
- 5775 03a8 796D ldr r1, [r7, #84]
- 5776 03aa BA6D ldr r2, [r7, #88]
- 5777 .syntax unified
- 5778 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5779 03ac 41E80023 strex r3, r2, [r1]
- 5780 @ 0 "" 2
- 5781 .thumb
- 5782 .syntax unified
- 5783 03b0 3B65 str r3, [r7, #80]
- 5784 .loc 2 1124 10 discriminator 1
- 5785 03b2 3B6D ldr r3, [r7, #80]
- 5786 .LBE525:
- 5787 .LBE524:
- 5788 .loc 1 2524 11 discriminator 1
- 5789 03b4 002B cmp r3, #0
- 5790 03b6 E3D1 bne .L310
- 5791 .LBE521:
- 2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
- 2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
- 5792 .loc 1 2527 17
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 168
- 5793 03b8 7B68 ldr r3, [r7, #4]
- 5794 03ba 9B6B ldr r3, [r3, #56]
- 5795 03bc 1846 mov r0, r3
- 5796 03be FFF7FEFF bl HAL_DMA_Abort
- 5797 .L298:
- 2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 2531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
- 2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
- 5798 .loc 1 2534 49
- 5799 03c2 7B68 ldr r3, [r7, #4]
- 5800 03c4 9A8D ldrh r2, [r3, #44]
- 5801 .loc 1 2534 69
- 5802 03c6 7B68 ldr r3, [r7, #4]
- 5803 03c8 DB8D ldrh r3, [r3, #46] @ movhi
- 5804 03ca 9BB2 uxth r3, r3
- 5805 .loc 1 2534 9
- 5806 03cc D31A subs r3, r2, r3
- 5807 03ce 9BB2 uxth r3, r3
- 5808 03d0 1946 mov r1, r3
- 5809 03d2 7868 ldr r0, [r7, #4]
- 5810 03d4 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 2535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 5811 .loc 1 2537 7
- 5812 03d8 99E0 b .L324
- 5813 .L327:
- 5814 03da 00BF .align 2
- 5815 .L326:
- 5816 03dc 00000000 .word UART_DMAAbortOnError
- 5817 .L296:
- 5818 .LBE505:
- 5819 .LBB526:
- 2538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode not enabled */
- 2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
- 2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
- 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
- 5820 .loc 1 2544 34
- 5821 03e0 7B68 ldr r3, [r7, #4]
- 5822 03e2 9A8D ldrh r2, [r3, #44]
- 5823 .loc 1 2544 54
- 5824 03e4 7B68 ldr r3, [r7, #4]
- 5825 03e6 DB8D ldrh r3, [r3, #46] @ movhi
- 5826 03e8 9BB2 uxth r3, r3
- 5827 .loc 1 2544 16
- 5828 03ea D31A subs r3, r2, r3
- 5829 03ec A7F8CE30 strh r3, [r7, #206] @ movhi
- 2545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
- 5830 .loc 1 2545 17
- 5831 03f0 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 169
- 5832 03f2 DB8D ldrh r3, [r3, #46] @ movhi
- 5833 03f4 9BB2 uxth r3, r3
- 5834 .loc 1 2545 10
- 5835 03f6 002B cmp r3, #0
- 5836 03f8 00F08B80 beq .L325
- 2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
- 5837 .loc 1 2546 11
- 5838 03fc B7F8CE30 ldrh r3, [r7, #206]
- 5839 0400 002B cmp r3, #0
- 5840 0402 00F08680 beq .L325
- 5841 .L314:
- 5842 .LBB527:
- 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
- 2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 5843 .loc 1 2549 9 discriminator 1
- 5844 0406 7B68 ldr r3, [r7, #4]
- 5845 0408 1B68 ldr r3, [r3]
- 5846 040a 0C33 adds r3, r3, #12
- 5847 040c BB63 str r3, [r7, #56]
- 5848 .LBB528:
- 5849 .LBB529:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5850 .loc 2 1072 4 discriminator 1
- 5851 040e BB6B ldr r3, [r7, #56]
- 5852 .syntax unified
- 5853 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5854 0410 53E8003F ldrex r3, [r3]
- 5855 @ 0 "" 2
- 5856 .thumb
- 5857 .syntax unified
- 5858 0414 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5859 .loc 2 1073 10 discriminator 1
- 5860 0416 7B6B ldr r3, [r7, #52]
- 5861 .LBE529:
- 5862 .LBE528:
- 5863 .loc 1 2549 9 discriminator 1
- 5864 0418 23F49073 bic r3, r3, #288
- 5865 041c C7F8C830 str r3, [r7, #200]
- 5866 0420 7B68 ldr r3, [r7, #4]
- 5867 0422 1B68 ldr r3, [r3]
- 5868 0424 0C33 adds r3, r3, #12
- 5869 0426 D7F8C820 ldr r2, [r7, #200]
- 5870 042a 7A64 str r2, [r7, #68]
- 5871 042c 3B64 str r3, [r7, #64]
- 5872 .LBB530:
- 5873 .LBB531:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5874 .loc 2 1123 4 discriminator 1
- 5875 042e 396C ldr r1, [r7, #64]
- 5876 0430 7A6C ldr r2, [r7, #68]
- 5877 .syntax unified
- 5878 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5879 0432 41E80023 strex r3, r2, [r1]
- 5880 @ 0 "" 2
- 5881 .thumb
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 170
- 5882 .syntax unified
- 5883 0436 FB63 str r3, [r7, #60]
- 5884 .loc 2 1124 10 discriminator 1
- 5885 0438 FB6B ldr r3, [r7, #60]
- 5886 .LBE531:
- 5887 .LBE530:
- 5888 .loc 1 2549 9 discriminator 1
- 5889 043a 002B cmp r3, #0
- 5890 043c E3D1 bne .L314
- 5891 .L317:
- 5892 .LBE527:
- 5893 .LBB532:
- 2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 2552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 5894 .loc 1 2552 9 discriminator 1
- 5895 043e 7B68 ldr r3, [r7, #4]
- 5896 0440 1B68 ldr r3, [r3]
- 5897 0442 1433 adds r3, r3, #20
- 5898 0444 7B62 str r3, [r7, #36]
- 5899 .LBB533:
- 5900 .LBB534:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5901 .loc 2 1072 4 discriminator 1
- 5902 0446 7B6A ldr r3, [r7, #36]
- 5903 .syntax unified
- 5904 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5905 0448 53E8003F ldrex r3, [r3]
- 5906 @ 0 "" 2
- 5907 .thumb
- 5908 .syntax unified
- 5909 044c 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5910 .loc 2 1073 10 discriminator 1
- 5911 044e 3B6A ldr r3, [r7, #32]
- 5912 .LBE534:
- 5913 .LBE533:
- 5914 .loc 1 2552 9 discriminator 1
- 5915 0450 23F00103 bic r3, r3, #1
- 5916 0454 C7F8C430 str r3, [r7, #196]
- 5917 0458 7B68 ldr r3, [r7, #4]
- 5918 045a 1B68 ldr r3, [r3]
- 5919 045c 1433 adds r3, r3, #20
- 5920 045e D7F8C420 ldr r2, [r7, #196]
- 5921 0462 3A63 str r2, [r7, #48]
- 5922 0464 FB62 str r3, [r7, #44]
- 5923 .LBB535:
- 5924 .LBB536:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5925 .loc 2 1123 4 discriminator 1
- 5926 0466 F96A ldr r1, [r7, #44]
- 5927 0468 3A6B ldr r2, [r7, #48]
- 5928 .syntax unified
- 5929 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5930 046a 41E80023 strex r3, r2, [r1]
- 5931 @ 0 "" 2
- 5932 .thumb
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 171
- 5933 .syntax unified
- 5934 046e BB62 str r3, [r7, #40]
- 5935 .loc 2 1124 10 discriminator 1
- 5936 0470 BB6A ldr r3, [r7, #40]
- 5937 .LBE536:
- 5938 .LBE535:
- 5939 .loc 1 2552 9 discriminator 1
- 5940 0472 002B cmp r3, #0
- 5941 0474 E3D1 bne .L317
- 5942 .LBE532:
- 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
- 2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 5943 .loc 1 2555 24
- 5944 0476 7B68 ldr r3, [r7, #4]
- 5945 0478 2022 movs r2, #32
- 5946 047a 83F83E20 strb r2, [r3, #62]
- 2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 5947 .loc 1 2556 30
- 5948 047e 7B68 ldr r3, [r7, #4]
- 5949 0480 0022 movs r2, #0
- 5950 0482 1A63 str r2, [r3, #48]
- 5951 .L320:
- 5952 .LBB537:
- 2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 5953 .loc 1 2558 9 discriminator 1
- 5954 0484 7B68 ldr r3, [r7, #4]
- 5955 0486 1B68 ldr r3, [r3]
- 5956 0488 0C33 adds r3, r3, #12
- 5957 048a 3B61 str r3, [r7, #16]
- 5958 .LBB538:
- 5959 .LBB539:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5960 .loc 2 1072 4 discriminator 1
- 5961 048c 3B69 ldr r3, [r7, #16]
- 5962 .syntax unified
- 5963 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5964 048e 53E8003F ldrex r3, [r3]
- 5965 @ 0 "" 2
- 5966 .thumb
- 5967 .syntax unified
- 5968 0492 FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 5969 .loc 2 1073 10 discriminator 1
- 5970 0494 FB68 ldr r3, [r7, #12]
- 5971 .LBE539:
- 5972 .LBE538:
- 5973 .loc 1 2558 9 discriminator 1
- 5974 0496 23F01003 bic r3, r3, #16
- 5975 049a C7F8C030 str r3, [r7, #192]
- 5976 049e 7B68 ldr r3, [r7, #4]
- 5977 04a0 1B68 ldr r3, [r3]
- 5978 04a2 0C33 adds r3, r3, #12
- 5979 04a4 D7F8C020 ldr r2, [r7, #192]
- 5980 04a8 FA61 str r2, [r7, #28]
- 5981 04aa BB61 str r3, [r7, #24]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 172
- 5982 .LBB540:
- 5983 .LBB541:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 5984 .loc 2 1123 4 discriminator 1
- 5985 04ac B969 ldr r1, [r7, #24]
- 5986 04ae FA69 ldr r2, [r7, #28]
- 5987 .syntax unified
- 5988 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 5989 04b0 41E80023 strex r3, r2, [r1]
- 5990 @ 0 "" 2
- 5991 .thumb
- 5992 .syntax unified
- 5993 04b4 7B61 str r3, [r7, #20]
- 5994 .loc 2 1124 10 discriminator 1
- 5995 04b6 7B69 ldr r3, [r7, #20]
- 5996 .LBE541:
- 5997 .LBE540:
- 5998 .loc 1 2558 9 discriminator 1
- 5999 04b8 002B cmp r3, #0
- 6000 04ba E3D1 bne .L320
- 6001 .LBE537:
- 2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
- 2561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
- 2562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
- 6002 .loc 1 2564 9
- 6003 04bc B7F8CE30 ldrh r3, [r7, #206]
- 6004 04c0 1946 mov r1, r3
- 6005 04c2 7868 ldr r0, [r7, #4]
- 6006 04c4 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 6007 .loc 1 2567 7
- 6008 04c8 23E0 b .L325
- 6009 .L295:
- 6010 .LBE526:
- 2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
- 2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
- 6011 .loc 1 2572 18
- 6012 04ca D7F8E430 ldr r3, [r7, #228]
- 6013 04ce 03F08003 and r3, r3, #128
- 6014 .loc 1 2572 6
- 6015 04d2 002B cmp r3, #0
- 6016 04d4 09D0 beq .L321
- 6017 .loc 1 2572 56 discriminator 1
- 6018 04d6 D7F8E030 ldr r3, [r7, #224]
- 6019 04da 03F08003 and r3, r3, #128
- 6020 .loc 1 2572 44 discriminator 1
- 6021 04de 002B cmp r3, #0
- 6022 04e0 03D0 beq .L321
- 2573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 173
- 2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Transmit_IT(huart);
- 6023 .loc 1 2574 5
- 6024 04e2 7868 ldr r0, [r7, #4]
- 6025 04e4 FFF7FEFF bl UART_Transmit_IT
- 2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 6026 .loc 1 2575 5
- 6027 04e8 14E0 b .L275
- 6028 .L321:
- 2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter end --------------------------------------------*/
- 2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
- 6029 .loc 1 2579 18
- 6030 04ea D7F8E430 ldr r3, [r7, #228]
- 6031 04ee 03F04003 and r3, r3, #64
- 6032 .loc 1 2579 6
- 6033 04f2 002B cmp r3, #0
- 6034 04f4 0ED0 beq .L275
- 6035 .loc 1 2579 55 discriminator 1
- 6036 04f6 D7F8E030 ldr r3, [r7, #224]
- 6037 04fa 03F04003 and r3, r3, #64
- 6038 .loc 1 2579 43 discriminator 1
- 6039 04fe 002B cmp r3, #0
- 6040 0500 08D0 beq .L275
- 2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTransmit_IT(huart);
- 6041 .loc 1 2581 5
- 6042 0502 7868 ldr r0, [r7, #4]
- 6043 0504 FFF7FEFF bl UART_EndTransmit_IT
- 2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 6044 .loc 1 2582 5
- 6045 0508 04E0 b .L275
- 6046 .L322:
- 2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
- 6047 .loc 1 2484 5
- 6048 050a 00BF nop
- 6049 050c 02E0 b .L275
- 6050 .L324:
- 6051 .LBB542:
- 2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6052 .loc 1 2537 7
- 6053 050e 00BF nop
- 6054 0510 00E0 b .L275
- 6055 .L325:
- 6056 .LBE542:
- 6057 .LBB543:
- 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6058 .loc 1 2567 7
- 6059 0512 00BF nop
- 6060 .L275:
- 6061 .LBE543:
- 2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6062 .loc 1 2584 1
- 6063 0514 E837 adds r7, r7, #232
- 6064 .LCFI133:
- 6065 .cfi_def_cfa_offset 8
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 174
- 6066 0516 BD46 mov sp, r7
- 6067 .LCFI134:
- 6068 .cfi_def_cfa_register 13
- 6069 @ sp needed
- 6070 0518 80BD pop {r7, pc}
- 6071 .cfi_endproc
- 6072 .LFE260:
- 6074 051a 00BF .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
- 6075 .align 1
- 6076 .weak HAL_UART_TxCpltCallback
- 6077 .syntax unified
- 6078 .thumb
- 6079 .thumb_func
- 6081 HAL_UART_TxCpltCallback:
- 6082 .LFB261:
- 2585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Transfer completed callbacks.
- 2588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
- 2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6083 .loc 1 2593 1
- 6084 .cfi_startproc
- 6085 @ args = 0, pretend = 0, frame = 8
- 6086 @ frame_needed = 1, uses_anonymous_args = 0
- 6087 @ link register save eliminated.
- 6088 0000 80B4 push {r7}
- 6089 .LCFI135:
- 6090 .cfi_def_cfa_offset 4
- 6091 .cfi_offset 7, -4
- 6092 0002 83B0 sub sp, sp, #12
- 6093 .LCFI136:
- 6094 .cfi_def_cfa_offset 16
- 6095 0004 00AF add r7, sp, #0
- 6096 .LCFI137:
- 6097 .cfi_def_cfa_register 7
- 6098 0006 7860 str r0, [r7, #4]
- 2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxCpltCallback could be implemented in the user file
- 2598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6099 .loc 1 2599 1
- 6100 0008 00BF nop
- 6101 000a 0C37 adds r7, r7, #12
- 6102 .LCFI138:
- 6103 .cfi_def_cfa_offset 4
- 6104 000c BD46 mov sp, r7
- 6105 .LCFI139:
- 6106 .cfi_def_cfa_register 13
- 6107 @ sp needed
- 6108 000e 5DF8047B ldr r7, [sp], #4
- 6109 .LCFI140:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 175
- 6110 .cfi_restore 7
- 6111 .cfi_def_cfa_offset 0
- 6112 0012 7047 bx lr
- 6113 .cfi_endproc
- 6114 .LFE261:
- 6116 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
- 6117 .align 1
- 6118 .weak HAL_UART_TxHalfCpltCallback
- 6119 .syntax unified
- 6120 .thumb
- 6121 .thumb_func
- 6123 HAL_UART_TxHalfCpltCallback:
- 6124 .LFB262:
- 2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Half Transfer completed callbacks.
- 2603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
- 2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6125 .loc 1 2608 1
- 6126 .cfi_startproc
- 6127 @ args = 0, pretend = 0, frame = 8
- 6128 @ frame_needed = 1, uses_anonymous_args = 0
- 6129 @ link register save eliminated.
- 6130 0000 80B4 push {r7}
- 6131 .LCFI141:
- 6132 .cfi_def_cfa_offset 4
- 6133 .cfi_offset 7, -4
- 6134 0002 83B0 sub sp, sp, #12
- 6135 .LCFI142:
- 6136 .cfi_def_cfa_offset 16
- 6137 0004 00AF add r7, sp, #0
- 6138 .LCFI143:
- 6139 .cfi_def_cfa_register 7
- 6140 0006 7860 str r0, [r7, #4]
- 2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 2612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback could be implemented in the user file
- 2613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6141 .loc 1 2614 1
- 6142 0008 00BF nop
- 6143 000a 0C37 adds r7, r7, #12
- 6144 .LCFI144:
- 6145 .cfi_def_cfa_offset 4
- 6146 000c BD46 mov sp, r7
- 6147 .LCFI145:
- 6148 .cfi_def_cfa_register 13
- 6149 @ sp needed
- 6150 000e 5DF8047B ldr r7, [sp], #4
- 6151 .LCFI146:
- 6152 .cfi_restore 7
- 6153 .cfi_def_cfa_offset 0
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 176
- 6154 0012 7047 bx lr
- 6155 .cfi_endproc
- 6156 .LFE262:
- 6158 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
- 6159 .align 1
- 6160 .weak HAL_UART_RxCpltCallback
- 6161 .syntax unified
- 6162 .thumb
- 6163 .thumb_func
- 6165 HAL_UART_RxCpltCallback:
- 6166 .LFB263:
- 2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Transfer completed callbacks.
- 2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
- 2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6167 .loc 1 2623 1
- 6168 .cfi_startproc
- 6169 @ args = 0, pretend = 0, frame = 8
- 6170 @ frame_needed = 1, uses_anonymous_args = 0
- 6171 @ link register save eliminated.
- 6172 0000 80B4 push {r7}
- 6173 .LCFI147:
- 6174 .cfi_def_cfa_offset 4
- 6175 .cfi_offset 7, -4
- 6176 0002 83B0 sub sp, sp, #12
- 6177 .LCFI148:
- 6178 .cfi_def_cfa_offset 16
- 6179 0004 00AF add r7, sp, #0
- 6180 .LCFI149:
- 6181 .cfi_def_cfa_register 7
- 6182 0006 7860 str r0, [r7, #4]
- 2624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxCpltCallback could be implemented in the user file
- 2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6183 .loc 1 2629 1
- 6184 0008 00BF nop
- 6185 000a 0C37 adds r7, r7, #12
- 6186 .LCFI150:
- 6187 .cfi_def_cfa_offset 4
- 6188 000c BD46 mov sp, r7
- 6189 .LCFI151:
- 6190 .cfi_def_cfa_register 13
- 6191 @ sp needed
- 6192 000e 5DF8047B ldr r7, [sp], #4
- 6193 .LCFI152:
- 6194 .cfi_restore 7
- 6195 .cfi_def_cfa_offset 0
- 6196 0012 7047 bx lr
- 6197 .cfi_endproc
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 177
- 6198 .LFE263:
- 6200 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
- 6201 .align 1
- 6202 .weak HAL_UART_RxHalfCpltCallback
- 6203 .syntax unified
- 6204 .thumb
- 6205 .thumb_func
- 6207 HAL_UART_RxHalfCpltCallback:
- 6208 .LFB264:
- 2630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Half Transfer completed callbacks.
- 2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
- 2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6209 .loc 1 2638 1
- 6210 .cfi_startproc
- 6211 @ args = 0, pretend = 0, frame = 8
- 6212 @ frame_needed = 1, uses_anonymous_args = 0
- 6213 @ link register save eliminated.
- 6214 0000 80B4 push {r7}
- 6215 .LCFI153:
- 6216 .cfi_def_cfa_offset 4
- 6217 .cfi_offset 7, -4
- 6218 0002 83B0 sub sp, sp, #12
- 6219 .LCFI154:
- 6220 .cfi_def_cfa_offset 16
- 6221 0004 00AF add r7, sp, #0
- 6222 .LCFI155:
- 6223 .cfi_def_cfa_register 7
- 6224 0006 7860 str r0, [r7, #4]
- 2639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 2642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback could be implemented in the user file
- 2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6225 .loc 1 2644 1
- 6226 0008 00BF nop
- 6227 000a 0C37 adds r7, r7, #12
- 6228 .LCFI156:
- 6229 .cfi_def_cfa_offset 4
- 6230 000c BD46 mov sp, r7
- 6231 .LCFI157:
- 6232 .cfi_def_cfa_register 13
- 6233 @ sp needed
- 6234 000e 5DF8047B ldr r7, [sp], #4
- 6235 .LCFI158:
- 6236 .cfi_restore 7
- 6237 .cfi_def_cfa_offset 0
- 6238 0012 7047 bx lr
- 6239 .cfi_endproc
- 6240 .LFE264:
- 6242 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 178
- 6243 .align 1
- 6244 .weak HAL_UART_ErrorCallback
- 6245 .syntax unified
- 6246 .thumb
- 6247 .thumb_func
- 6249 HAL_UART_ErrorCallback:
- 6250 .LFB265:
- 2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART error callbacks.
- 2648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
- 2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6251 .loc 1 2653 1
- 6252 .cfi_startproc
- 6253 @ args = 0, pretend = 0, frame = 8
- 6254 @ frame_needed = 1, uses_anonymous_args = 0
- 6255 @ link register save eliminated.
- 6256 0000 80B4 push {r7}
- 6257 .LCFI159:
- 6258 .cfi_def_cfa_offset 4
- 6259 .cfi_offset 7, -4
- 6260 0002 83B0 sub sp, sp, #12
- 6261 .LCFI160:
- 6262 .cfi_def_cfa_offset 16
- 6263 0004 00AF add r7, sp, #0
- 6264 .LCFI161:
- 6265 .cfi_def_cfa_register 7
- 6266 0006 7860 str r0, [r7, #4]
- 2654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
- 2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_ErrorCallback could be implemented in the user file
- 2658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6267 .loc 1 2659 1
- 6268 0008 00BF nop
- 6269 000a 0C37 adds r7, r7, #12
- 6270 .LCFI162:
- 6271 .cfi_def_cfa_offset 4
- 6272 000c BD46 mov sp, r7
- 6273 .LCFI163:
- 6274 .cfi_def_cfa_register 13
- 6275 @ sp needed
- 6276 000e 5DF8047B ldr r7, [sp], #4
- 6277 .LCFI164:
- 6278 .cfi_restore 7
- 6279 .cfi_def_cfa_offset 0
- 6280 0012 7047 bx lr
- 6281 .cfi_endproc
- 6282 .LFE265:
- 6284 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
- 6285 .align 1
- 6286 .weak HAL_UART_AbortCpltCallback
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 179
- 6287 .syntax unified
- 6288 .thumb
- 6289 .thumb_func
- 6291 HAL_UART_AbortCpltCallback:
- 6292 .LFB266:
- 2660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
- 2663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
- 2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6293 .loc 1 2667 1
- 6294 .cfi_startproc
- 6295 @ args = 0, pretend = 0, frame = 8
- 6296 @ frame_needed = 1, uses_anonymous_args = 0
- 6297 @ link register save eliminated.
- 6298 0000 80B4 push {r7}
- 6299 .LCFI165:
- 6300 .cfi_def_cfa_offset 4
- 6301 .cfi_offset 7, -4
- 6302 0002 83B0 sub sp, sp, #12
- 6303 .LCFI166:
- 6304 .cfi_def_cfa_offset 16
- 6305 0004 00AF add r7, sp, #0
- 6306 .LCFI167:
- 6307 .cfi_def_cfa_register 7
- 6308 0006 7860 str r0, [r7, #4]
- 2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
- 2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6309 .loc 1 2674 1
- 6310 0008 00BF nop
- 6311 000a 0C37 adds r7, r7, #12
- 6312 .LCFI168:
- 6313 .cfi_def_cfa_offset 4
- 6314 000c BD46 mov sp, r7
- 6315 .LCFI169:
- 6316 .cfi_def_cfa_register 13
- 6317 @ sp needed
- 6318 000e 5DF8047B ldr r7, [sp], #4
- 6319 .LCFI170:
- 6320 .cfi_restore 7
- 6321 .cfi_def_cfa_offset 0
- 6322 0012 7047 bx lr
- 6323 .cfi_endproc
- 6324 .LFE266:
- 6326 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
- 6327 .align 1
- 6328 .weak HAL_UART_AbortTransmitCpltCallback
- 6329 .syntax unified
- 6330 .thumb
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 180
- 6331 .thumb_func
- 6333 HAL_UART_AbortTransmitCpltCallback:
- 6334 .LFB267:
- 2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
- 2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
- 2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6335 .loc 1 2682 1
- 6336 .cfi_startproc
- 6337 @ args = 0, pretend = 0, frame = 8
- 6338 @ frame_needed = 1, uses_anonymous_args = 0
- 6339 @ link register save eliminated.
- 6340 0000 80B4 push {r7}
- 6341 .LCFI171:
- 6342 .cfi_def_cfa_offset 4
- 6343 .cfi_offset 7, -4
- 6344 0002 83B0 sub sp, sp, #12
- 6345 .LCFI172:
- 6346 .cfi_def_cfa_offset 16
- 6347 0004 00AF add r7, sp, #0
- 6348 .LCFI173:
- 6349 .cfi_def_cfa_register 7
- 6350 0006 7860 str r0, [r7, #4]
- 2683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
- 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6351 .loc 1 2689 1
- 6352 0008 00BF nop
- 6353 000a 0C37 adds r7, r7, #12
- 6354 .LCFI174:
- 6355 .cfi_def_cfa_offset 4
- 6356 000c BD46 mov sp, r7
- 6357 .LCFI175:
- 6358 .cfi_def_cfa_register 13
- 6359 @ sp needed
- 6360 000e 5DF8047B ldr r7, [sp], #4
- 6361 .LCFI176:
- 6362 .cfi_restore 7
- 6363 .cfi_def_cfa_offset 0
- 6364 0012 7047 bx lr
- 6365 .cfi_endproc
- 6366 .LFE267:
- 6368 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
- 6369 .align 1
- 6370 .weak HAL_UART_AbortReceiveCpltCallback
- 6371 .syntax unified
- 6372 .thumb
- 6373 .thumb_func
- 6375 HAL_UART_AbortReceiveCpltCallback:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 181
- 6376 .LFB268:
- 2690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
- 2693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
- 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6377 .loc 1 2697 1
- 6378 .cfi_startproc
- 6379 @ args = 0, pretend = 0, frame = 8
- 6380 @ frame_needed = 1, uses_anonymous_args = 0
- 6381 @ link register save eliminated.
- 6382 0000 80B4 push {r7}
- 6383 .LCFI177:
- 6384 .cfi_def_cfa_offset 4
- 6385 .cfi_offset 7, -4
- 6386 0002 83B0 sub sp, sp, #12
- 6387 .LCFI178:
- 6388 .cfi_def_cfa_offset 16
- 6389 0004 00AF add r7, sp, #0
- 6390 .LCFI179:
- 6391 .cfi_def_cfa_register 7
- 6392 0006 7860 str r0, [r7, #4]
- 2698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
- 2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6393 .loc 1 2704 1
- 6394 0008 00BF nop
- 6395 000a 0C37 adds r7, r7, #12
- 6396 .LCFI180:
- 6397 .cfi_def_cfa_offset 4
- 6398 000c BD46 mov sp, r7
- 6399 .LCFI181:
- 6400 .cfi_def_cfa_register 13
- 6401 @ sp needed
- 6402 000e 5DF8047B ldr r7, [sp], #4
- 6403 .LCFI182:
- 6404 .cfi_restore 7
- 6405 .cfi_def_cfa_offset 0
- 6406 0012 7047 bx lr
- 6407 .cfi_endproc
- 6408 .LFE268:
- 6410 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
- 6411 .align 1
- 6412 .weak HAL_UARTEx_RxEventCallback
- 6413 .syntax unified
- 6414 .thumb
- 6415 .thumb_func
- 6417 HAL_UARTEx_RxEventCallback:
- 6418 .LFB269:
- 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 182
- 2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
- 2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle
- 2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
- 2710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception buffer until which, data are available)
- 2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
- 2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6419 .loc 1 2714 1
- 6420 .cfi_startproc
- 6421 @ args = 0, pretend = 0, frame = 8
- 6422 @ frame_needed = 1, uses_anonymous_args = 0
- 6423 @ link register save eliminated.
- 6424 0000 80B4 push {r7}
- 6425 .LCFI183:
- 6426 .cfi_def_cfa_offset 4
- 6427 .cfi_offset 7, -4
- 6428 0002 83B0 sub sp, sp, #12
- 6429 .LCFI184:
- 6430 .cfi_def_cfa_offset 16
- 6431 0004 00AF add r7, sp, #0
- 6432 .LCFI185:
- 6433 .cfi_def_cfa_register 7
- 6434 0006 7860 str r0, [r7, #4]
- 6435 0008 0B46 mov r3, r1
- 6436 000a 7B80 strh r3, [r7, #2] @ movhi
- 2715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
- 2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
- 2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(Size);
- 2718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
- 2720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
- 2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6437 .loc 1 2722 1
- 6438 000c 00BF nop
- 6439 000e 0C37 adds r7, r7, #12
- 6440 .LCFI186:
- 6441 .cfi_def_cfa_offset 4
- 6442 0010 BD46 mov sp, r7
- 6443 .LCFI187:
- 6444 .cfi_def_cfa_register 13
- 6445 @ sp needed
- 6446 0012 5DF8047B ldr r7, [sp], #4
- 6447 .LCFI188:
- 6448 .cfi_restore 7
- 6449 .cfi_def_cfa_offset 0
- 6450 0016 7047 bx lr
- 6451 .cfi_endproc
- 6452 .LFE269:
- 6454 .section .text.HAL_LIN_SendBreak,"ax",%progbits
- 6455 .align 1
- 6456 .global HAL_LIN_SendBreak
- 6457 .syntax unified
- 6458 .thumb
- 6459 .thumb_func
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 183
- 6461 HAL_LIN_SendBreak:
- 6462 .LFB270:
- 2723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
- 2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
- 2729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART control functions
- 2730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
- 2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
- 2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral Control functions #####
- 2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
- 2735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 2736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART:
- 2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API can be helpful to transmit the break character.
- 2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API can be helpful to enter the UART in mute mode.
- 2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_ExitMuteMode() API can be helpful to exit the UART mute mode by software
- 2740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API to enable the UART transmitter and disables the UART
- 2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API to enable the UART receiver and disables the UART trans
- 2742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
- 2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Transmits break characters.
- 2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
- 2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6463 .loc 1 2754 1
- 6464 .cfi_startproc
- 6465 @ args = 0, pretend = 0, frame = 32
- 6466 @ frame_needed = 1, uses_anonymous_args = 0
- 6467 @ link register save eliminated.
- 6468 0000 80B4 push {r7}
- 6469 .LCFI189:
- 6470 .cfi_def_cfa_offset 4
- 6471 .cfi_offset 7, -4
- 6472 0002 89B0 sub sp, sp, #36
- 6473 .LCFI190:
- 6474 .cfi_def_cfa_offset 40
- 6475 0004 00AF add r7, sp, #0
- 6476 .LCFI191:
- 6477 .cfi_def_cfa_register 7
- 6478 0006 7860 str r0, [r7, #4]
- 2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 2757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 6479 .loc 1 2759 3
- 6480 0008 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 184
- 6481 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 6482 000e 012B cmp r3, #1
- 6483 0010 01D1 bne .L338
- 6484 .loc 1 2759 3 is_stmt 0 discriminator 1
- 6485 0012 0223 movs r3, #2
- 6486 0014 2AE0 b .L339
- 6487 .L338:
- 6488 .loc 1 2759 3 discriminator 2
- 6489 0016 7B68 ldr r3, [r7, #4]
- 6490 0018 0122 movs r2, #1
- 6491 001a 83F83C20 strb r2, [r3, #60]
- 2760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6492 .loc 1 2761 17 is_stmt 1 discriminator 2
- 6493 001e 7B68 ldr r3, [r7, #4]
- 6494 0020 2422 movs r2, #36
- 6495 0022 83F83D20 strb r2, [r3, #61]
- 6496 .L342:
- 6497 .LBB544:
- 2762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Send break characters */
- 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_SBK);
- 6498 .loc 1 2764 3 discriminator 1
- 6499 0026 7B68 ldr r3, [r7, #4]
- 6500 0028 1B68 ldr r3, [r3]
- 6501 002a 0C33 adds r3, r3, #12
- 6502 002c FB60 str r3, [r7, #12]
- 6503 .LBB545:
- 6504 .LBB546:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6505 .loc 2 1072 4 discriminator 1
- 6506 002e FB68 ldr r3, [r7, #12]
- 6507 .syntax unified
- 6508 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6509 0030 53E8003F ldrex r3, [r3]
- 6510 @ 0 "" 2
- 6511 .thumb
- 6512 .syntax unified
- 6513 0034 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 6514 .loc 2 1073 10 discriminator 1
- 6515 0036 BB68 ldr r3, [r7, #8]
- 6516 .LBE546:
- 6517 .LBE545:
- 6518 .loc 1 2764 3 discriminator 1
- 6519 0038 43F00103 orr r3, r3, #1
- 6520 003c FB61 str r3, [r7, #28]
- 6521 003e 7B68 ldr r3, [r7, #4]
- 6522 0040 1B68 ldr r3, [r3]
- 6523 0042 0C33 adds r3, r3, #12
- 6524 0044 FA69 ldr r2, [r7, #28]
- 6525 0046 BA61 str r2, [r7, #24]
- 6526 0048 7B61 str r3, [r7, #20]
- 6527 .LBB547:
- 6528 .LBB548:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6529 .loc 2 1123 4 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 185
- 6530 004a 7969 ldr r1, [r7, #20]
- 6531 004c BA69 ldr r2, [r7, #24]
- 6532 .syntax unified
- 6533 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6534 004e 41E80023 strex r3, r2, [r1]
- 6535 @ 0 "" 2
- 6536 .thumb
- 6537 .syntax unified
- 6538 0052 3B61 str r3, [r7, #16]
- 6539 .loc 2 1124 10 discriminator 1
- 6540 0054 3B69 ldr r3, [r7, #16]
- 6541 .LBE548:
- 6542 .LBE547:
- 6543 .loc 1 2764 3 discriminator 1
- 6544 0056 002B cmp r3, #0
- 6545 0058 E5D1 bne .L342
- 6546 .LBE544:
- 2765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6547 .loc 1 2766 17
- 6548 005a 7B68 ldr r3, [r7, #4]
- 6549 005c 2022 movs r2, #32
- 6550 005e 83F83D20 strb r2, [r3, #61]
- 2767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 6551 .loc 1 2769 3
- 6552 0062 7B68 ldr r3, [r7, #4]
- 6553 0064 0022 movs r2, #0
- 6554 0066 83F83C20 strb r2, [r3, #60]
- 2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 6555 .loc 1 2771 10
- 6556 006a 0023 movs r3, #0
- 6557 .L339:
- 2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6558 .loc 1 2772 1
- 6559 006c 1846 mov r0, r3
- 6560 006e 2437 adds r7, r7, #36
- 6561 .LCFI192:
- 6562 .cfi_def_cfa_offset 4
- 6563 0070 BD46 mov sp, r7
- 6564 .LCFI193:
- 6565 .cfi_def_cfa_register 13
- 6566 @ sp needed
- 6567 0072 5DF8047B ldr r7, [sp], #4
- 6568 .LCFI194:
- 6569 .cfi_restore 7
- 6570 .cfi_def_cfa_offset 0
- 6571 0076 7047 bx lr
- 6572 .cfi_endproc
- 6573 .LFE270:
- 6575 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
- 6576 .align 1
- 6577 .global HAL_MultiProcessor_EnterMuteMode
- 6578 .syntax unified
- 6579 .thumb
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 186
- 6580 .thumb_func
- 6582 HAL_MultiProcessor_EnterMuteMode:
- 6583 .LFB271:
- 2773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enters the UART in mute mode.
- 2776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
- 2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6584 .loc 1 2781 1
- 6585 .cfi_startproc
- 6586 @ args = 0, pretend = 0, frame = 32
- 6587 @ frame_needed = 1, uses_anonymous_args = 0
- 6588 @ link register save eliminated.
- 6589 0000 80B4 push {r7}
- 6590 .LCFI195:
- 6591 .cfi_def_cfa_offset 4
- 6592 .cfi_offset 7, -4
- 6593 0002 89B0 sub sp, sp, #36
- 6594 .LCFI196:
- 6595 .cfi_def_cfa_offset 40
- 6596 0004 00AF add r7, sp, #0
- 6597 .LCFI197:
- 6598 .cfi_def_cfa_register 7
- 6599 0006 7860 str r0, [r7, #4]
- 2782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 2784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 6600 .loc 1 2786 3
- 6601 0008 7B68 ldr r3, [r7, #4]
- 6602 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 6603 000e 012B cmp r3, #1
- 6604 0010 01D1 bne .L344
- 6605 .loc 1 2786 3 is_stmt 0 discriminator 1
- 6606 0012 0223 movs r3, #2
- 6607 0014 2AE0 b .L345
- 6608 .L344:
- 6609 .loc 1 2786 3 discriminator 2
- 6610 0016 7B68 ldr r3, [r7, #4]
- 6611 0018 0122 movs r2, #1
- 6612 001a 83F83C20 strb r2, [r3, #60]
- 2787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6613 .loc 1 2788 17 is_stmt 1 discriminator 2
- 6614 001e 7B68 ldr r3, [r7, #4]
- 6615 0020 2422 movs r2, #36
- 6616 0022 83F83D20 strb r2, [r3, #61]
- 6617 .L348:
- 6618 .LBB549:
- 2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART mute mode by setting the RWU bit in the CR1 register */
- 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RWU);
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 187
- 6619 .loc 1 2791 3 discriminator 1
- 6620 0026 7B68 ldr r3, [r7, #4]
- 6621 0028 1B68 ldr r3, [r3]
- 6622 002a 0C33 adds r3, r3, #12
- 6623 002c FB60 str r3, [r7, #12]
- 6624 .LBB550:
- 6625 .LBB551:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6626 .loc 2 1072 4 discriminator 1
- 6627 002e FB68 ldr r3, [r7, #12]
- 6628 .syntax unified
- 6629 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6630 0030 53E8003F ldrex r3, [r3]
- 6631 @ 0 "" 2
- 6632 .thumb
- 6633 .syntax unified
- 6634 0034 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 6635 .loc 2 1073 10 discriminator 1
- 6636 0036 BB68 ldr r3, [r7, #8]
- 6637 .LBE551:
- 6638 .LBE550:
- 6639 .loc 1 2791 3 discriminator 1
- 6640 0038 43F00203 orr r3, r3, #2
- 6641 003c FB61 str r3, [r7, #28]
- 6642 003e 7B68 ldr r3, [r7, #4]
- 6643 0040 1B68 ldr r3, [r3]
- 6644 0042 0C33 adds r3, r3, #12
- 6645 0044 FA69 ldr r2, [r7, #28]
- 6646 0046 BA61 str r2, [r7, #24]
- 6647 0048 7B61 str r3, [r7, #20]
- 6648 .LBB552:
- 6649 .LBB553:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6650 .loc 2 1123 4 discriminator 1
- 6651 004a 7969 ldr r1, [r7, #20]
- 6652 004c BA69 ldr r2, [r7, #24]
- 6653 .syntax unified
- 6654 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6655 004e 41E80023 strex r3, r2, [r1]
- 6656 @ 0 "" 2
- 6657 .thumb
- 6658 .syntax unified
- 6659 0052 3B61 str r3, [r7, #16]
- 6660 .loc 2 1124 10 discriminator 1
- 6661 0054 3B69 ldr r3, [r7, #16]
- 6662 .LBE553:
- 6663 .LBE552:
- 6664 .loc 1 2791 3 discriminator 1
- 6665 0056 002B cmp r3, #0
- 6666 0058 E5D1 bne .L348
- 6667 .LBE549:
- 2792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6668 .loc 1 2793 17
- 6669 005a 7B68 ldr r3, [r7, #4]
- 6670 005c 2022 movs r2, #32
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 188
- 6671 005e 83F83D20 strb r2, [r3, #61]
- 2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 6672 .loc 1 2796 3
- 6673 0062 7B68 ldr r3, [r7, #4]
- 6674 0064 0022 movs r2, #0
- 6675 0066 83F83C20 strb r2, [r3, #60]
- 2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 6676 .loc 1 2798 10
- 6677 006a 0023 movs r3, #0
- 6678 .L345:
- 2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6679 .loc 1 2799 1
- 6680 006c 1846 mov r0, r3
- 6681 006e 2437 adds r7, r7, #36
- 6682 .LCFI198:
- 6683 .cfi_def_cfa_offset 4
- 6684 0070 BD46 mov sp, r7
- 6685 .LCFI199:
- 6686 .cfi_def_cfa_register 13
- 6687 @ sp needed
- 6688 0072 5DF8047B ldr r7, [sp], #4
- 6689 .LCFI200:
- 6690 .cfi_restore 7
- 6691 .cfi_def_cfa_offset 0
- 6692 0076 7047 bx lr
- 6693 .cfi_endproc
- 6694 .LFE271:
- 6696 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
- 6697 .align 1
- 6698 .global HAL_MultiProcessor_ExitMuteMode
- 6699 .syntax unified
- 6700 .thumb
- 6701 .thumb_func
- 6703 HAL_MultiProcessor_ExitMuteMode:
- 6704 .LFB272:
- 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Exits the UART mute mode: wake up software.
- 2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
- 2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6705 .loc 1 2808 1
- 6706 .cfi_startproc
- 6707 @ args = 0, pretend = 0, frame = 32
- 6708 @ frame_needed = 1, uses_anonymous_args = 0
- 6709 @ link register save eliminated.
- 6710 0000 80B4 push {r7}
- 6711 .LCFI201:
- 6712 .cfi_def_cfa_offset 4
- 6713 .cfi_offset 7, -4
- 6714 0002 89B0 sub sp, sp, #36
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 189
- 6715 .LCFI202:
- 6716 .cfi_def_cfa_offset 40
- 6717 0004 00AF add r7, sp, #0
- 6718 .LCFI203:
- 6719 .cfi_def_cfa_register 7
- 6720 0006 7860 str r0, [r7, #4]
- 2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
- 2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 6721 .loc 1 2813 3
- 6722 0008 7B68 ldr r3, [r7, #4]
- 6723 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 6724 000e 012B cmp r3, #1
- 6725 0010 01D1 bne .L350
- 6726 .loc 1 2813 3 is_stmt 0 discriminator 1
- 6727 0012 0223 movs r3, #2
- 6728 0014 2AE0 b .L351
- 6729 .L350:
- 6730 .loc 1 2813 3 discriminator 2
- 6731 0016 7B68 ldr r3, [r7, #4]
- 6732 0018 0122 movs r2, #1
- 6733 001a 83F83C20 strb r2, [r3, #60]
- 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6734 .loc 1 2815 17 is_stmt 1 discriminator 2
- 6735 001e 7B68 ldr r3, [r7, #4]
- 6736 0020 2422 movs r2, #36
- 6737 0022 83F83D20 strb r2, [r3, #61]
- 6738 .L354:
- 6739 .LBB554:
- 2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */
- 2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RWU);
- 6740 .loc 1 2818 3 discriminator 1
- 6741 0026 7B68 ldr r3, [r7, #4]
- 6742 0028 1B68 ldr r3, [r3]
- 6743 002a 0C33 adds r3, r3, #12
- 6744 002c FB60 str r3, [r7, #12]
- 6745 .LBB555:
- 6746 .LBB556:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6747 .loc 2 1072 4 discriminator 1
- 6748 002e FB68 ldr r3, [r7, #12]
- 6749 .syntax unified
- 6750 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6751 0030 53E8003F ldrex r3, [r3]
- 6752 @ 0 "" 2
- 6753 .thumb
- 6754 .syntax unified
- 6755 0034 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 6756 .loc 2 1073 10 discriminator 1
- 6757 0036 BB68 ldr r3, [r7, #8]
- 6758 .LBE556:
- 6759 .LBE555:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 190
- 6760 .loc 1 2818 3 discriminator 1
- 6761 0038 23F00203 bic r3, r3, #2
- 6762 003c FB61 str r3, [r7, #28]
- 6763 003e 7B68 ldr r3, [r7, #4]
- 6764 0040 1B68 ldr r3, [r3]
- 6765 0042 0C33 adds r3, r3, #12
- 6766 0044 FA69 ldr r2, [r7, #28]
- 6767 0046 BA61 str r2, [r7, #24]
- 6768 0048 7B61 str r3, [r7, #20]
- 6769 .LBB557:
- 6770 .LBB558:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 6771 .loc 2 1123 4 discriminator 1
- 6772 004a 7969 ldr r1, [r7, #20]
- 6773 004c BA69 ldr r2, [r7, #24]
- 6774 .syntax unified
- 6775 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 6776 004e 41E80023 strex r3, r2, [r1]
- 6777 @ 0 "" 2
- 6778 .thumb
- 6779 .syntax unified
- 6780 0052 3B61 str r3, [r7, #16]
- 6781 .loc 2 1124 10 discriminator 1
- 6782 0054 3B69 ldr r3, [r7, #16]
- 6783 .LBE558:
- 6784 .LBE557:
- 6785 .loc 1 2818 3 discriminator 1
- 6786 0056 002B cmp r3, #0
- 6787 0058 E5D1 bne .L354
- 6788 .LBE554:
- 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6789 .loc 1 2820 17
- 6790 005a 7B68 ldr r3, [r7, #4]
- 6791 005c 2022 movs r2, #32
- 6792 005e 83F83D20 strb r2, [r3, #61]
- 2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 6793 .loc 1 2823 3
- 6794 0062 7B68 ldr r3, [r7, #4]
- 6795 0064 0022 movs r2, #0
- 6796 0066 83F83C20 strb r2, [r3, #60]
- 2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 6797 .loc 1 2825 10
- 6798 006a 0023 movs r3, #0
- 6799 .L351:
- 2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6800 .loc 1 2826 1
- 6801 006c 1846 mov r0, r3
- 6802 006e 2437 adds r7, r7, #36
- 6803 .LCFI204:
- 6804 .cfi_def_cfa_offset 4
- 6805 0070 BD46 mov sp, r7
- 6806 .LCFI205:
- 6807 .cfi_def_cfa_register 13
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 191
- 6808 @ sp needed
- 6809 0072 5DF8047B ldr r7, [sp], #4
- 6810 .LCFI206:
- 6811 .cfi_restore 7
- 6812 .cfi_def_cfa_offset 0
- 6813 0076 7047 bx lr
- 6814 .cfi_endproc
- 6815 .LFE272:
- 6817 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
- 6818 .align 1
- 6819 .global HAL_HalfDuplex_EnableTransmitter
- 6820 .syntax unified
- 6821 .thumb
- 6822 .thumb_func
- 6824 HAL_HalfDuplex_EnableTransmitter:
- 6825 .LFB273:
- 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART transmitter and disables the UART receiver.
- 2830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
- 2835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6826 .loc 1 2835 1
- 6827 .cfi_startproc
- 6828 @ args = 0, pretend = 0, frame = 16
- 6829 @ frame_needed = 1, uses_anonymous_args = 0
- 6830 @ link register save eliminated.
- 6831 0000 80B4 push {r7}
- 6832 .LCFI207:
- 6833 .cfi_def_cfa_offset 4
- 6834 .cfi_offset 7, -4
- 6835 0002 85B0 sub sp, sp, #20
- 6836 .LCFI208:
- 6837 .cfi_def_cfa_offset 24
- 6838 0004 00AF add r7, sp, #0
- 6839 .LCFI209:
- 6840 .cfi_def_cfa_register 7
- 6841 0006 7860 str r0, [r7, #4]
- 2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
- 6842 .loc 1 2836 12
- 6843 0008 0023 movs r3, #0
- 6844 000a FB60 str r3, [r7, #12]
- 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 2839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 6845 .loc 1 2839 3
- 6846 000c 7B68 ldr r3, [r7, #4]
- 6847 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 6848 0012 012B cmp r3, #1
- 6849 0014 01D1 bne .L356
- 6850 .loc 1 2839 3 is_stmt 0 discriminator 1
- 6851 0016 0223 movs r3, #2
- 6852 0018 20E0 b .L357
- 6853 .L356:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 192
- 6854 .loc 1 2839 3 discriminator 2
- 6855 001a 7B68 ldr r3, [r7, #4]
- 6856 001c 0122 movs r2, #1
- 6857 001e 83F83C20 strb r2, [r3, #60]
- 2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6858 .loc 1 2841 17 is_stmt 1 discriminator 2
- 6859 0022 7B68 ldr r3, [r7, #4]
- 6860 0024 2422 movs r2, #36
- 6861 0026 83F83D20 strb r2, [r3, #61]
- 2842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
- 2844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
- 6862 .loc 1 2844 17 discriminator 2
- 6863 002a 7B68 ldr r3, [r7, #4]
- 6864 002c 1B68 ldr r3, [r3]
- 6865 .loc 1 2844 10 discriminator 2
- 6866 002e DB68 ldr r3, [r3, #12]
- 6867 0030 FB60 str r3, [r7, #12]
- 2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
- 2847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
- 6868 .loc 1 2847 10 discriminator 2
- 6869 0032 FB68 ldr r3, [r7, #12]
- 6870 0034 23F00C03 bic r3, r3, #12
- 6871 0038 FB60 str r3, [r7, #12]
- 2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
- 2850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_TE;
- 6872 .loc 1 2850 10 discriminator 2
- 6873 003a FB68 ldr r3, [r7, #12]
- 6874 003c 43F00803 orr r3, r3, #8
- 6875 0040 FB60 str r3, [r7, #12]
- 2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
- 2853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
- 6876 .loc 1 2853 3 discriminator 2
- 6877 0042 7B68 ldr r3, [r7, #4]
- 6878 0044 1B68 ldr r3, [r3]
- 6879 0046 FA68 ldr r2, [r7, #12]
- 6880 0048 DA60 str r2, [r3, #12]
- 2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6881 .loc 1 2855 17 discriminator 2
- 6882 004a 7B68 ldr r3, [r7, #4]
- 6883 004c 2022 movs r2, #32
- 6884 004e 83F83D20 strb r2, [r3, #61]
- 2856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 2858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 6885 .loc 1 2858 3 discriminator 2
- 6886 0052 7B68 ldr r3, [r7, #4]
- 6887 0054 0022 movs r2, #0
- 6888 0056 83F83C20 strb r2, [r3, #60]
- 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 6889 .loc 1 2860 10 discriminator 2
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 193
- 6890 005a 0023 movs r3, #0
- 6891 .L357:
- 2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6892 .loc 1 2861 1
- 6893 005c 1846 mov r0, r3
- 6894 005e 1437 adds r7, r7, #20
- 6895 .LCFI210:
- 6896 .cfi_def_cfa_offset 4
- 6897 0060 BD46 mov sp, r7
- 6898 .LCFI211:
- 6899 .cfi_def_cfa_register 13
- 6900 @ sp needed
- 6901 0062 5DF8047B ldr r7, [sp], #4
- 6902 .LCFI212:
- 6903 .cfi_restore 7
- 6904 .cfi_def_cfa_offset 0
- 6905 0066 7047 bx lr
- 6906 .cfi_endproc
- 6907 .LFE273:
- 6909 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
- 6910 .align 1
- 6911 .global HAL_HalfDuplex_EnableReceiver
- 6912 .syntax unified
- 6913 .thumb
- 6914 .thumb_func
- 6916 HAL_HalfDuplex_EnableReceiver:
- 6917 .LFB274:
- 2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART receiver and disables the UART transmitter.
- 2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
- 2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 6918 .loc 1 2870 1
- 6919 .cfi_startproc
- 6920 @ args = 0, pretend = 0, frame = 16
- 6921 @ frame_needed = 1, uses_anonymous_args = 0
- 6922 @ link register save eliminated.
- 6923 0000 80B4 push {r7}
- 6924 .LCFI213:
- 6925 .cfi_def_cfa_offset 4
- 6926 .cfi_offset 7, -4
- 6927 0002 85B0 sub sp, sp, #20
- 6928 .LCFI214:
- 6929 .cfi_def_cfa_offset 24
- 6930 0004 00AF add r7, sp, #0
- 6931 .LCFI215:
- 6932 .cfi_def_cfa_register 7
- 6933 0006 7860 str r0, [r7, #4]
- 2871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
- 6934 .loc 1 2871 12
- 6935 0008 0023 movs r3, #0
- 6936 000a FB60 str r3, [r7, #12]
- 2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 194
- 2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
- 2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
- 6937 .loc 1 2874 3
- 6938 000c 7B68 ldr r3, [r7, #4]
- 6939 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
- 6940 0012 012B cmp r3, #1
- 6941 0014 01D1 bne .L359
- 6942 .loc 1 2874 3 is_stmt 0 discriminator 1
- 6943 0016 0223 movs r3, #2
- 6944 0018 20E0 b .L360
- 6945 .L359:
- 6946 .loc 1 2874 3 discriminator 2
- 6947 001a 7B68 ldr r3, [r7, #4]
- 6948 001c 0122 movs r2, #1
- 6949 001e 83F83C20 strb r2, [r3, #60]
- 2875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
- 6950 .loc 1 2876 17 is_stmt 1 discriminator 2
- 6951 0022 7B68 ldr r3, [r7, #4]
- 6952 0024 2422 movs r2, #36
- 6953 0026 83F83D20 strb r2, [r3, #61]
- 2877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
- 2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
- 6954 .loc 1 2879 17 discriminator 2
- 6955 002a 7B68 ldr r3, [r7, #4]
- 6956 002c 1B68 ldr r3, [r3]
- 6957 .loc 1 2879 10 discriminator 2
- 6958 002e DB68 ldr r3, [r3, #12]
- 6959 0030 FB60 str r3, [r7, #12]
- 2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
- 2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
- 6960 .loc 1 2882 10 discriminator 2
- 6961 0032 FB68 ldr r3, [r7, #12]
- 6962 0034 23F00C03 bic r3, r3, #12
- 6963 0038 FB60 str r3, [r7, #12]
- 2883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
- 2885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_RE;
- 6964 .loc 1 2885 10 discriminator 2
- 6965 003a FB68 ldr r3, [r7, #12]
- 6966 003c 43F00403 orr r3, r3, #4
- 6967 0040 FB60 str r3, [r7, #12]
- 2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
- 2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
- 6968 .loc 1 2888 3 discriminator 2
- 6969 0042 7B68 ldr r3, [r7, #4]
- 6970 0044 1B68 ldr r3, [r3]
- 6971 0046 FA68 ldr r2, [r7, #12]
- 6972 0048 DA60 str r2, [r3, #12]
- 2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 6973 .loc 1 2890 17 discriminator 2
- 6974 004a 7B68 ldr r3, [r7, #4]
- 6975 004c 2022 movs r2, #32
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 195
- 6976 004e 83F83D20 strb r2, [r3, #61]
- 2891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 2893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 6977 .loc 1 2893 3 discriminator 2
- 6978 0052 7B68 ldr r3, [r7, #4]
- 6979 0054 0022 movs r2, #0
- 6980 0056 83F83C20 strb r2, [r3, #60]
- 2894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 6981 .loc 1 2895 10 discriminator 2
- 6982 005a 0023 movs r3, #0
- 6983 .L360:
- 2896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 6984 .loc 1 2896 1
- 6985 005c 1846 mov r0, r3
- 6986 005e 1437 adds r7, r7, #20
- 6987 .LCFI216:
- 6988 .cfi_def_cfa_offset 4
- 6989 0060 BD46 mov sp, r7
- 6990 .LCFI217:
- 6991 .cfi_def_cfa_register 13
- 6992 @ sp needed
- 6993 0062 5DF8047B ldr r7, [sp], #4
- 6994 .LCFI218:
- 6995 .cfi_restore 7
- 6996 .cfi_def_cfa_offset 0
- 6997 0066 7047 bx lr
- 6998 .cfi_endproc
- 6999 .LFE274:
- 7001 .section .text.HAL_UART_GetState,"ax",%progbits
- 7002 .align 1
- 7003 .global HAL_UART_GetState
- 7004 .syntax unified
- 7005 .thumb
- 7006 .thumb_func
- 7008 HAL_UART_GetState:
- 7009 .LFB275:
- 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
- 2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Errors functions
- 2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART State and Errors functions
- 2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
- 2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
- 2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
- 2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral State and Errors functions #####
- 2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
- 2909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
- 2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to return the State of
- 2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART communication process, return Peripheral Errors occurred during communication
- 2912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** process
- 2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetState() API can be helpful to check in run-time the state of the UART peripheral
- 2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetError() check in run-time errors that could be occurred during communication.
- 2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 196
- 2916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
- 2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 2918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Returns the UART state.
- 2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL state
- 2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
- 2927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7010 .loc 1 2927 1
- 7011 .cfi_startproc
- 7012 @ args = 0, pretend = 0, frame = 16
- 7013 @ frame_needed = 1, uses_anonymous_args = 0
- 7014 @ link register save eliminated.
- 7015 0000 80B4 push {r7}
- 7016 .LCFI219:
- 7017 .cfi_def_cfa_offset 4
- 7018 .cfi_offset 7, -4
- 7019 0002 85B0 sub sp, sp, #20
- 7020 .LCFI220:
- 7021 .cfi_def_cfa_offset 24
- 7022 0004 00AF add r7, sp, #0
- 7023 .LCFI221:
- 7024 .cfi_def_cfa_register 7
- 7025 0006 7860 str r0, [r7, #4]
- 2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
- 7026 .loc 1 2928 12
- 7027 0008 0023 movs r3, #0
- 7028 000a FB60 str r3, [r7, #12]
- 7029 .loc 1 2928 27
- 7030 000c 0023 movs r3, #0
- 7031 000e BB60 str r3, [r7, #8]
- 2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState;
- 7032 .loc 1 2929 16
- 7033 0010 7B68 ldr r3, [r7, #4]
- 7034 0012 93F83D30 ldrb r3, [r3, #61]
- 7035 0016 DBB2 uxtb r3, r3
- 7036 .loc 1 2929 9
- 7037 0018 FB60 str r3, [r7, #12]
- 2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
- 7038 .loc 1 2930 16
- 7039 001a 7B68 ldr r3, [r7, #4]
- 7040 001c 93F83E30 ldrb r3, [r3, #62]
- 7041 0020 DBB2 uxtb r3, r3
- 7042 .loc 1 2930 9
- 7043 0022 BB60 str r3, [r7, #8]
- 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
- 7044 .loc 1 2932 10
- 7045 0024 FB68 ldr r3, [r7, #12]
- 7046 0026 DAB2 uxtb r2, r3
- 7047 0028 BB68 ldr r3, [r7, #8]
- 7048 002a DBB2 uxtb r3, r3
- 7049 002c 1343 orrs r3, r3, r2
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 197
- 7050 002e DBB2 uxtb r3, r3
- 2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7051 .loc 1 2933 1
- 7052 0030 1846 mov r0, r3
- 7053 0032 1437 adds r7, r7, #20
- 7054 .LCFI222:
- 7055 .cfi_def_cfa_offset 4
- 7056 0034 BD46 mov sp, r7
- 7057 .LCFI223:
- 7058 .cfi_def_cfa_register 13
- 7059 @ sp needed
- 7060 0036 5DF8047B ldr r7, [sp], #4
- 7061 .LCFI224:
- 7062 .cfi_restore 7
- 7063 .cfi_def_cfa_offset 0
- 7064 003a 7047 bx lr
- 7065 .cfi_endproc
- 7066 .LFE275:
- 7068 .section .text.HAL_UART_GetError,"ax",%progbits
- 7069 .align 1
- 7070 .global HAL_UART_GetError
- 7071 .syntax unified
- 7072 .thumb
- 7073 .thumb_func
- 7075 HAL_UART_GetError:
- 7076 .LFB276:
- 2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Return the UART error code
- 2937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 2938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART.
- 2939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval UART Error Code
- 2940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
- 2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7077 .loc 1 2942 1
- 7078 .cfi_startproc
- 7079 @ args = 0, pretend = 0, frame = 8
- 7080 @ frame_needed = 1, uses_anonymous_args = 0
- 7081 @ link register save eliminated.
- 7082 0000 80B4 push {r7}
- 7083 .LCFI225:
- 7084 .cfi_def_cfa_offset 4
- 7085 .cfi_offset 7, -4
- 7086 0002 83B0 sub sp, sp, #12
- 7087 .LCFI226:
- 7088 .cfi_def_cfa_offset 16
- 7089 0004 00AF add r7, sp, #0
- 7090 .LCFI227:
- 7091 .cfi_def_cfa_register 7
- 7092 0006 7860 str r0, [r7, #4]
- 2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
- 7093 .loc 1 2943 15
- 7094 0008 7B68 ldr r3, [r7, #4]
- 7095 000a 1B6C ldr r3, [r3, #64]
- 2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7096 .loc 1 2944 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 198
- 7097 000c 1846 mov r0, r3
- 7098 000e 0C37 adds r7, r7, #12
- 7099 .LCFI228:
- 7100 .cfi_def_cfa_offset 4
- 7101 0010 BD46 mov sp, r7
- 7102 .LCFI229:
- 7103 .cfi_def_cfa_register 13
- 7104 @ sp needed
- 7105 0012 5DF8047B ldr r7, [sp], #4
- 7106 .LCFI230:
- 7107 .cfi_restore 7
- 7108 .cfi_def_cfa_offset 0
- 7109 0016 7047 bx lr
- 7110 .cfi_endproc
- 7111 .LFE276:
- 7113 .section .text.UART_DMATransmitCplt,"ax",%progbits
- 7114 .align 1
- 7115 .syntax unified
- 7116 .thumb
- 7117 .thumb_func
- 7119 UART_DMATransmitCplt:
- 7120 .LFB277:
- 2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
- 2948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
- 2952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
- 2955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
- 2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
- 2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval none
- 2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 2964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
- 2965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the UART Callback settings */
- 2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
- 2968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
- 2969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
- 2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
- 2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
- 2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
- 2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
- 2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
- 2975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
- 2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 199
- 2980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
- 2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
- 2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7121 .loc 1 2987 1
- 7122 .cfi_startproc
- 7123 @ args = 0, pretend = 0, frame = 64
- 7124 @ frame_needed = 1, uses_anonymous_args = 0
- 7125 0000 80B5 push {r7, lr}
- 7126 .LCFI231:
- 7127 .cfi_def_cfa_offset 8
- 7128 .cfi_offset 7, -8
- 7129 .cfi_offset 14, -4
- 7130 0002 90B0 sub sp, sp, #64
- 7131 .LCFI232:
- 7132 .cfi_def_cfa_offset 72
- 7133 0004 00AF add r7, sp, #0
- 7134 .LCFI233:
- 7135 .cfi_def_cfa_register 7
- 7136 0006 7860 str r0, [r7, #4]
- 2988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 7137 .loc 1 2988 23
- 7138 0008 7B68 ldr r3, [r7, #4]
- 7139 000a 9B6B ldr r3, [r3, #56]
- 7140 000c FB63 str r3, [r7, #60]
- 2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
- 2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
- 7141 .loc 1 2990 12
- 7142 000e 7B68 ldr r3, [r7, #4]
- 7143 0010 1B68 ldr r3, [r3]
- 7144 .loc 1 2990 22
- 7145 0012 1B68 ldr r3, [r3]
- 7146 .loc 1 2990 27
- 7147 0014 03F48073 and r3, r3, #256
- 7148 .loc 1 2990 6
- 7149 0018 002B cmp r3, #0
- 7150 001a 37D1 bne .L366
- 2991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 7151 .loc 1 2992 24
- 7152 001c FB6B ldr r3, [r7, #60]
- 7153 001e 0022 movs r2, #0
- 7154 0020 DA84 strh r2, [r3, #38] @ movhi
- 7155 .L369:
- 7156 .LBB559:
- 2993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by setting the DMAT bit
- 2995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
- 2996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 7157 .loc 1 2996 5 discriminator 1
- 7158 0022 FB6B ldr r3, [r7, #60]
- 7159 0024 1B68 ldr r3, [r3]
- 7160 0026 1433 adds r3, r3, #20
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 200
- 7161 0028 7B62 str r3, [r7, #36]
- 7162 .LBB560:
- 7163 .LBB561:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7164 .loc 2 1072 4 discriminator 1
- 7165 002a 7B6A ldr r3, [r7, #36]
- 7166 .syntax unified
- 7167 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7168 002c 53E8003F ldrex r3, [r3]
- 7169 @ 0 "" 2
- 7170 .thumb
- 7171 .syntax unified
- 7172 0030 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7173 .loc 2 1073 10 discriminator 1
- 7174 0032 3B6A ldr r3, [r7, #32]
- 7175 .LBE561:
- 7176 .LBE560:
- 7177 .loc 1 2996 5 discriminator 1
- 7178 0034 23F08003 bic r3, r3, #128
- 7179 0038 BB63 str r3, [r7, #56]
- 7180 003a FB6B ldr r3, [r7, #60]
- 7181 003c 1B68 ldr r3, [r3]
- 7182 003e 1433 adds r3, r3, #20
- 7183 0040 BA6B ldr r2, [r7, #56]
- 7184 0042 3A63 str r2, [r7, #48]
- 7185 0044 FB62 str r3, [r7, #44]
- 7186 .LBB562:
- 7187 .LBB563:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7188 .loc 2 1123 4 discriminator 1
- 7189 0046 F96A ldr r1, [r7, #44]
- 7190 0048 3A6B ldr r2, [r7, #48]
- 7191 .syntax unified
- 7192 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7193 004a 41E80023 strex r3, r2, [r1]
- 7194 @ 0 "" 2
- 7195 .thumb
- 7196 .syntax unified
- 7197 004e BB62 str r3, [r7, #40]
- 7198 .loc 2 1124 10 discriminator 1
- 7199 0050 BB6A ldr r3, [r7, #40]
- 7200 .LBE563:
- 7201 .LBE562:
- 7202 .loc 1 2996 5 discriminator 1
- 7203 0052 002B cmp r3, #0
- 7204 0054 E5D1 bne .L369
- 7205 .L372:
- 7206 .LBE559:
- 7207 .LBB564:
- 2997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
- 2999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
- 7208 .loc 1 2999 5 discriminator 1
- 7209 0056 FB6B ldr r3, [r7, #60]
- 7210 0058 1B68 ldr r3, [r3]
- 7211 005a 0C33 adds r3, r3, #12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 201
- 7212 005c 3B61 str r3, [r7, #16]
- 7213 .LBB565:
- 7214 .LBB566:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7215 .loc 2 1072 4 discriminator 1
- 7216 005e 3B69 ldr r3, [r7, #16]
- 7217 .syntax unified
- 7218 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7219 0060 53E8003F ldrex r3, [r3]
- 7220 @ 0 "" 2
- 7221 .thumb
- 7222 .syntax unified
- 7223 0064 FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7224 .loc 2 1073 10 discriminator 1
- 7225 0066 FB68 ldr r3, [r7, #12]
- 7226 .LBE566:
- 7227 .LBE565:
- 7228 .loc 1 2999 5 discriminator 1
- 7229 0068 43F04003 orr r3, r3, #64
- 7230 006c 7B63 str r3, [r7, #52]
- 7231 006e FB6B ldr r3, [r7, #60]
- 7232 0070 1B68 ldr r3, [r3]
- 7233 0072 0C33 adds r3, r3, #12
- 7234 0074 7A6B ldr r2, [r7, #52]
- 7235 0076 FA61 str r2, [r7, #28]
- 7236 0078 BB61 str r3, [r7, #24]
- 7237 .LBB567:
- 7238 .LBB568:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7239 .loc 2 1123 4 discriminator 1
- 7240 007a B969 ldr r1, [r7, #24]
- 7241 007c FA69 ldr r2, [r7, #28]
- 7242 .syntax unified
- 7243 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7244 007e 41E80023 strex r3, r2, [r1]
- 7245 @ 0 "" 2
- 7246 .thumb
- 7247 .syntax unified
- 7248 0082 7B61 str r3, [r7, #20]
- 7249 .loc 2 1124 10 discriminator 1
- 7250 0084 7B69 ldr r3, [r7, #20]
- 7251 .LBE568:
- 7252 .LBE567:
- 7253 .loc 1 2999 5 discriminator 1
- 7254 0086 002B cmp r3, #0
- 7255 0088 E5D1 bne .L372
- 7256 .LBE564:
- 3000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Circular mode */
- 3003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
- 3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
- 3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 202
- 3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
- 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
- 3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7257 .loc 1 3013 1
- 7258 008a 02E0 b .L374
- 7259 .L366:
- 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 7260 .loc 1 3010 5
- 7261 008c F86B ldr r0, [r7, #60]
- 7262 008e FFF7FEFF bl HAL_UART_TxCpltCallback
- 7263 .L374:
- 7264 .loc 1 3013 1
- 7265 0092 00BF nop
- 7266 0094 4037 adds r7, r7, #64
- 7267 .LCFI234:
- 7268 .cfi_def_cfa_offset 8
- 7269 0096 BD46 mov sp, r7
- 7270 .LCFI235:
- 7271 .cfi_def_cfa_register 13
- 7272 @ sp needed
- 7273 0098 80BD pop {r7, pc}
- 7274 .cfi_endproc
- 7275 .LFE277:
- 7277 .section .text.UART_DMATxHalfCplt,"ax",%progbits
- 7278 .align 1
- 7279 .syntax unified
- 7280 .thumb
- 7281 .thumb_func
- 7283 UART_DMATxHalfCplt:
- 7284 .LFB278:
- 3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback
- 3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
- 3022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7285 .loc 1 3022 1
- 7286 .cfi_startproc
- 7287 @ args = 0, pretend = 0, frame = 16
- 7288 @ frame_needed = 1, uses_anonymous_args = 0
- 7289 0000 80B5 push {r7, lr}
- 7290 .LCFI236:
- 7291 .cfi_def_cfa_offset 8
- 7292 .cfi_offset 7, -8
- 7293 .cfi_offset 14, -4
- 7294 0002 84B0 sub sp, sp, #16
- 7295 .LCFI237:
- 7296 .cfi_def_cfa_offset 24
- 7297 0004 00AF add r7, sp, #0
- 7298 .LCFI238:
- 7299 .cfi_def_cfa_register 7
- 7300 0006 7860 str r0, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 203
- 3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 7301 .loc 1 3023 23
- 7302 0008 7B68 ldr r3, [r7, #4]
- 7303 000a 9B6B ldr r3, [r3, #56]
- 7304 000c FB60 str r3, [r7, #12]
- 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
- 3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
- 3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
- 3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
- 7305 .loc 1 3030 3
- 7306 000e F868 ldr r0, [r7, #12]
- 7307 0010 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
- 3031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7308 .loc 1 3032 1
- 7309 0014 00BF nop
- 7310 0016 1037 adds r7, r7, #16
- 7311 .LCFI239:
- 7312 .cfi_def_cfa_offset 8
- 7313 0018 BD46 mov sp, r7
- 7314 .LCFI240:
- 7315 .cfi_def_cfa_register 13
- 7316 @ sp needed
- 7317 001a 80BD pop {r7, pc}
- 7318 .cfi_endproc
- 7319 .LFE278:
- 7321 .section .text.UART_DMAReceiveCplt,"ax",%progbits
- 7322 .align 1
- 7323 .syntax unified
- 7324 .thumb
- 7325 .thumb_func
- 7327 UART_DMAReceiveCplt:
- 7328 .LFB279:
- 3033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
- 3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
- 3041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7329 .loc 1 3041 1
- 7330 .cfi_startproc
- 7331 @ args = 0, pretend = 0, frame = 112
- 7332 @ frame_needed = 1, uses_anonymous_args = 0
- 7333 0000 80B5 push {r7, lr}
- 7334 .LCFI241:
- 7335 .cfi_def_cfa_offset 8
- 7336 .cfi_offset 7, -8
- 7337 .cfi_offset 14, -4
- 7338 0002 9CB0 sub sp, sp, #112
- 7339 .LCFI242:
- 7340 .cfi_def_cfa_offset 120
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 204
- 7341 0004 00AF add r7, sp, #0
- 7342 .LCFI243:
- 7343 .cfi_def_cfa_register 7
- 7344 0006 7860 str r0, [r7, #4]
- 3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 7345 .loc 1 3042 23
- 7346 0008 7B68 ldr r3, [r7, #4]
- 7347 000a 9B6B ldr r3, [r3, #56]
- 7348 000c FB66 str r3, [r7, #108]
- 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
- 3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
- 7349 .loc 1 3044 12
- 7350 000e 7B68 ldr r3, [r7, #4]
- 7351 0010 1B68 ldr r3, [r3]
- 7352 .loc 1 3044 22
- 7353 0012 1B68 ldr r3, [r3]
- 7354 .loc 1 3044 27
- 7355 0014 03F48073 and r3, r3, #256
- 7356 .loc 1 3044 6
- 7357 0018 002B cmp r3, #0
- 7358 001a 72D1 bne .L377
- 3045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0U;
- 7359 .loc 1 3046 24
- 7360 001c FB6E ldr r3, [r7, #108]
- 7361 001e 0022 movs r2, #0
- 7362 0020 DA85 strh r2, [r3, #46] @ movhi
- 7363 .L380:
- 7364 .LBB569:
- 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 7365 .loc 1 3049 5 discriminator 1
- 7366 0022 FB6E ldr r3, [r7, #108]
- 7367 0024 1B68 ldr r3, [r3]
- 7368 0026 0C33 adds r3, r3, #12
- 7369 0028 FB64 str r3, [r7, #76]
- 7370 .LBB570:
- 7371 .LBB571:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7372 .loc 2 1072 4 discriminator 1
- 7373 002a FB6C ldr r3, [r7, #76]
- 7374 .syntax unified
- 7375 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7376 002c 53E8003F ldrex r3, [r3]
- 7377 @ 0 "" 2
- 7378 .thumb
- 7379 .syntax unified
- 7380 0030 BB64 str r3, [r7, #72]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7381 .loc 2 1073 10 discriminator 1
- 7382 0032 BB6C ldr r3, [r7, #72]
- 7383 .LBE571:
- 7384 .LBE570:
- 7385 .loc 1 3049 5 discriminator 1
- 7386 0034 23F48073 bic r3, r3, #256
- 7387 0038 BB66 str r3, [r7, #104]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 205
- 7388 003a FB6E ldr r3, [r7, #108]
- 7389 003c 1B68 ldr r3, [r3]
- 7390 003e 0C33 adds r3, r3, #12
- 7391 0040 BA6E ldr r2, [r7, #104]
- 7392 0042 BA65 str r2, [r7, #88]
- 7393 0044 7B65 str r3, [r7, #84]
- 7394 .LBB572:
- 7395 .LBB573:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7396 .loc 2 1123 4 discriminator 1
- 7397 0046 796D ldr r1, [r7, #84]
- 7398 0048 BA6D ldr r2, [r7, #88]
- 7399 .syntax unified
- 7400 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7401 004a 41E80023 strex r3, r2, [r1]
- 7402 @ 0 "" 2
- 7403 .thumb
- 7404 .syntax unified
- 7405 004e 3B65 str r3, [r7, #80]
- 7406 .loc 2 1124 10 discriminator 1
- 7407 0050 3B6D ldr r3, [r7, #80]
- 7408 .LBE573:
- 7409 .LBE572:
- 7410 .loc 1 3049 5 discriminator 1
- 7411 0052 002B cmp r3, #0
- 7412 0054 E5D1 bne .L380
- 7413 .L383:
- 7414 .LBE569:
- 7415 .LBB574:
- 3050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 7416 .loc 1 3050 5 discriminator 1
- 7417 0056 FB6E ldr r3, [r7, #108]
- 7418 0058 1B68 ldr r3, [r3]
- 7419 005a 1433 adds r3, r3, #20
- 7420 005c BB63 str r3, [r7, #56]
- 7421 .LBB575:
- 7422 .LBB576:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7423 .loc 2 1072 4 discriminator 1
- 7424 005e BB6B ldr r3, [r7, #56]
- 7425 .syntax unified
- 7426 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7427 0060 53E8003F ldrex r3, [r3]
- 7428 @ 0 "" 2
- 7429 .thumb
- 7430 .syntax unified
- 7431 0064 7B63 str r3, [r7, #52]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7432 .loc 2 1073 10 discriminator 1
- 7433 0066 7B6B ldr r3, [r7, #52]
- 7434 .LBE576:
- 7435 .LBE575:
- 7436 .loc 1 3050 5 discriminator 1
- 7437 0068 23F00103 bic r3, r3, #1
- 7438 006c 7B66 str r3, [r7, #100]
- 7439 006e FB6E ldr r3, [r7, #108]
- 7440 0070 1B68 ldr r3, [r3]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 206
- 7441 0072 1433 adds r3, r3, #20
- 7442 0074 7A6E ldr r2, [r7, #100]
- 7443 0076 7A64 str r2, [r7, #68]
- 7444 0078 3B64 str r3, [r7, #64]
- 7445 .LBB577:
- 7446 .LBB578:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7447 .loc 2 1123 4 discriminator 1
- 7448 007a 396C ldr r1, [r7, #64]
- 7449 007c 7A6C ldr r2, [r7, #68]
- 7450 .syntax unified
- 7451 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7452 007e 41E80023 strex r3, r2, [r1]
- 7453 @ 0 "" 2
- 7454 .thumb
- 7455 .syntax unified
- 7456 0082 FB63 str r3, [r7, #60]
- 7457 .loc 2 1124 10 discriminator 1
- 7458 0084 FB6B ldr r3, [r7, #60]
- 7459 .LBE578:
- 7460 .LBE577:
- 7461 .loc 1 3050 5 discriminator 1
- 7462 0086 002B cmp r3, #0
- 7463 0088 E5D1 bne .L383
- 7464 .L386:
- 7465 .LBE574:
- 7466 .LBB579:
- 3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by setting the DMAR bit
- 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
- 3054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 7467 .loc 1 3054 5 discriminator 1
- 7468 008a FB6E ldr r3, [r7, #108]
- 7469 008c 1B68 ldr r3, [r3]
- 7470 008e 1433 adds r3, r3, #20
- 7471 0090 7B62 str r3, [r7, #36]
- 7472 .LBB580:
- 7473 .LBB581:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7474 .loc 2 1072 4 discriminator 1
- 7475 0092 7B6A ldr r3, [r7, #36]
- 7476 .syntax unified
- 7477 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7478 0094 53E8003F ldrex r3, [r3]
- 7479 @ 0 "" 2
- 7480 .thumb
- 7481 .syntax unified
- 7482 0098 3B62 str r3, [r7, #32]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7483 .loc 2 1073 10 discriminator 1
- 7484 009a 3B6A ldr r3, [r7, #32]
- 7485 .LBE581:
- 7486 .LBE580:
- 7487 .loc 1 3054 5 discriminator 1
- 7488 009c 23F04003 bic r3, r3, #64
- 7489 00a0 3B66 str r3, [r7, #96]
- 7490 00a2 FB6E ldr r3, [r7, #108]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 207
- 7491 00a4 1B68 ldr r3, [r3]
- 7492 00a6 1433 adds r3, r3, #20
- 7493 00a8 3A6E ldr r2, [r7, #96]
- 7494 00aa 3A63 str r2, [r7, #48]
- 7495 00ac FB62 str r3, [r7, #44]
- 7496 .LBB582:
- 7497 .LBB583:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7498 .loc 2 1123 4 discriminator 1
- 7499 00ae F96A ldr r1, [r7, #44]
- 7500 00b0 3A6B ldr r2, [r7, #48]
- 7501 .syntax unified
- 7502 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7503 00b2 41E80023 strex r3, r2, [r1]
- 7504 @ 0 "" 2
- 7505 .thumb
- 7506 .syntax unified
- 7507 00b6 BB62 str r3, [r7, #40]
- 7508 .loc 2 1124 10 discriminator 1
- 7509 00b8 BB6A ldr r3, [r7, #40]
- 7510 .LBE583:
- 7511 .LBE582:
- 7512 .loc 1 3054 5 discriminator 1
- 7513 00ba 002B cmp r3, #0
- 7514 00bc E5D1 bne .L386
- 7515 .LBE579:
- 3055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 7516 .loc 1 3057 20
- 7517 00be FB6E ldr r3, [r7, #108]
- 7518 00c0 2022 movs r2, #32
- 7519 00c2 83F83E20 strb r2, [r3, #62]
- 3058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
- 3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 7520 .loc 1 3060 14
- 7521 00c6 FB6E ldr r3, [r7, #108]
- 7522 00c8 1B6B ldr r3, [r3, #48]
- 7523 .loc 1 3060 8
- 7524 00ca 012B cmp r3, #1
- 7525 00cc 19D1 bne .L377
- 7526 .L389:
- 7527 .LBB584:
- 3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 7528 .loc 1 3062 7 discriminator 1
- 7529 00ce FB6E ldr r3, [r7, #108]
- 7530 00d0 1B68 ldr r3, [r3]
- 7531 00d2 0C33 adds r3, r3, #12
- 7532 00d4 3B61 str r3, [r7, #16]
- 7533 .LBB585:
- 7534 .LBB586:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7535 .loc 2 1072 4 discriminator 1
- 7536 00d6 3B69 ldr r3, [r7, #16]
- 7537 .syntax unified
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 208
- 7538 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7539 00d8 53E8003F ldrex r3, [r3]
- 7540 @ 0 "" 2
- 7541 .thumb
- 7542 .syntax unified
- 7543 00dc FB60 str r3, [r7, #12]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7544 .loc 2 1073 10 discriminator 1
- 7545 00de FB68 ldr r3, [r7, #12]
- 7546 .LBE586:
- 7547 .LBE585:
- 7548 .loc 1 3062 7 discriminator 1
- 7549 00e0 23F01003 bic r3, r3, #16
- 7550 00e4 FB65 str r3, [r7, #92]
- 7551 00e6 FB6E ldr r3, [r7, #108]
- 7552 00e8 1B68 ldr r3, [r3]
- 7553 00ea 0C33 adds r3, r3, #12
- 7554 00ec FA6D ldr r2, [r7, #92]
- 7555 00ee FA61 str r2, [r7, #28]
- 7556 00f0 BB61 str r3, [r7, #24]
- 7557 .LBB587:
- 7558 .LBB588:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7559 .loc 2 1123 4 discriminator 1
- 7560 00f2 B969 ldr r1, [r7, #24]
- 7561 00f4 FA69 ldr r2, [r7, #28]
- 7562 .syntax unified
- 7563 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7564 00f6 41E80023 strex r3, r2, [r1]
- 7565 @ 0 "" 2
- 7566 .thumb
- 7567 .syntax unified
- 7568 00fa 7B61 str r3, [r7, #20]
- 7569 .loc 2 1124 10 discriminator 1
- 7570 00fc 7B69 ldr r3, [r7, #20]
- 7571 .LBE588:
- 7572 .LBE587:
- 7573 .loc 1 3062 7 discriminator 1
- 7574 00fe 002B cmp r3, #0
- 7575 0100 E5D1 bne .L389
- 7576 .L377:
- 7577 .LBE584:
- 3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
- 3067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
- 3068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 7578 .loc 1 3068 12
- 7579 0102 FB6E ldr r3, [r7, #108]
- 7580 0104 1B6B ldr r3, [r3, #48]
- 7581 .loc 1 3068 6
- 7582 0106 012B cmp r3, #1
- 7583 0108 06D1 bne .L390
- 3069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 209
- 3072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
- 3073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
- 7584 .loc 1 3075 5
- 7585 010a FB6E ldr r3, [r7, #108]
- 7586 010c 9B8D ldrh r3, [r3, #44]
- 7587 010e 1946 mov r1, r3
- 7588 0110 F86E ldr r0, [r7, #108]
- 7589 0112 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
- 3081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
- 3083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
- 3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
- 3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
- 3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7590 .loc 1 3089 1
- 7591 0116 02E0 b .L392
- 7592 .L390:
- 3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 7593 .loc 1 3086 5
- 7594 0118 F86E ldr r0, [r7, #108]
- 7595 011a FFF7FEFF bl HAL_UART_RxCpltCallback
- 7596 .L392:
- 7597 .loc 1 3089 1
- 7598 011e 00BF nop
- 7599 0120 7037 adds r7, r7, #112
- 7600 .LCFI244:
- 7601 .cfi_def_cfa_offset 8
- 7602 0122 BD46 mov sp, r7
- 7603 .LCFI245:
- 7604 .cfi_def_cfa_register 13
- 7605 @ sp needed
- 7606 0124 80BD pop {r7, pc}
- 7607 .cfi_endproc
- 7608 .LFE279:
- 7610 .section .text.UART_DMARxHalfCplt,"ax",%progbits
- 7611 .align 1
- 7612 .syntax unified
- 7613 .thumb
- 7614 .thumb_func
- 7616 UART_DMARxHalfCplt:
- 7617 .LFB280:
- 3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback
- 3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 210
- 3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
- 3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7618 .loc 1 3098 1
- 7619 .cfi_startproc
- 7620 @ args = 0, pretend = 0, frame = 16
- 7621 @ frame_needed = 1, uses_anonymous_args = 0
- 7622 0000 80B5 push {r7, lr}
- 7623 .LCFI246:
- 7624 .cfi_def_cfa_offset 8
- 7625 .cfi_offset 7, -8
- 7626 .cfi_offset 14, -4
- 7627 0002 84B0 sub sp, sp, #16
- 7628 .LCFI247:
- 7629 .cfi_def_cfa_offset 24
- 7630 0004 00AF add r7, sp, #0
- 7631 .LCFI248:
- 7632 .cfi_def_cfa_register 7
- 7633 0006 7860 str r0, [r7, #4]
- 3099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 7634 .loc 1 3099 23
- 7635 0008 7B68 ldr r3, [r7, #4]
- 7636 000a 9B6B ldr r3, [r3, #56]
- 7637 000c FB60 str r3, [r7, #12]
- 3100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
- 3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
- 3103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 7638 .loc 1 3103 12
- 7639 000e FB68 ldr r3, [r7, #12]
- 7640 0010 1B6B ldr r3, [r3, #48]
- 7641 .loc 1 3103 6
- 7642 0012 012B cmp r3, #1
- 7643 0014 08D1 bne .L394
- 3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 3107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
- 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
- 7644 .loc 1 3110 44
- 7645 0016 FB68 ldr r3, [r7, #12]
- 7646 0018 9B8D ldrh r3, [r3, #44]
- 7647 .loc 1 3110 5
- 7648 001a 5B08 lsrs r3, r3, #1
- 7649 001c 9BB2 uxth r3, r3
- 7650 001e 1946 mov r1, r3
- 7651 0020 F868 ldr r0, [r7, #12]
- 7652 0022 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 3111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
- 3116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 211
- 3118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
- 3119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
- 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
- 3122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7653 .loc 1 3124 1
- 7654 0026 02E0 b .L396
- 7655 .L394:
- 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 7656 .loc 1 3121 5
- 7657 0028 F868 ldr r0, [r7, #12]
- 7658 002a FFF7FEFF bl HAL_UART_RxHalfCpltCallback
- 7659 .L396:
- 7660 .loc 1 3124 1
- 7661 002e 00BF nop
- 7662 0030 1037 adds r7, r7, #16
- 7663 .LCFI249:
- 7664 .cfi_def_cfa_offset 8
- 7665 0032 BD46 mov sp, r7
- 7666 .LCFI250:
- 7667 .cfi_def_cfa_register 13
- 7668 @ sp needed
- 7669 0034 80BD pop {r7, pc}
- 7670 .cfi_endproc
- 7671 .LFE280:
- 7673 .section .text.UART_DMAError,"ax",%progbits
- 7674 .align 1
- 7675 .syntax unified
- 7676 .thumb
- 7677 .thumb_func
- 7679 UART_DMAError:
- 7680 .LFB281:
- 3125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication error callback.
- 3128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
- 3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7681 .loc 1 3133 1
- 7682 .cfi_startproc
- 7683 @ args = 0, pretend = 0, frame = 16
- 7684 @ frame_needed = 1, uses_anonymous_args = 0
- 7685 0000 80B5 push {r7, lr}
- 7686 .LCFI251:
- 7687 .cfi_def_cfa_offset 8
- 7688 .cfi_offset 7, -8
- 7689 .cfi_offset 14, -4
- 7690 0002 84B0 sub sp, sp, #16
- 7691 .LCFI252:
- 7692 .cfi_def_cfa_offset 24
- 7693 0004 00AF add r7, sp, #0
- 7694 .LCFI253:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 212
- 7695 .cfi_def_cfa_register 7
- 7696 0006 7860 str r0, [r7, #4]
- 3134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
- 7697 .loc 1 3134 12
- 7698 0008 0023 movs r3, #0
- 7699 000a FB60 str r3, [r7, #12]
- 3135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 7700 .loc 1 3135 23
- 7701 000c 7B68 ldr r3, [r7, #4]
- 7702 000e 9B6B ldr r3, [r3, #56]
- 7703 0010 BB60 str r3, [r7, #8]
- 3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
- 3138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
- 7704 .loc 1 3138 16
- 7705 0012 BB68 ldr r3, [r7, #8]
- 7706 0014 1B68 ldr r3, [r3]
- 7707 0016 5B69 ldr r3, [r3, #20]
- 7708 0018 03F08003 and r3, r3, #128
- 7709 001c 802B cmp r3, #128
- 7710 001e 0CBF ite eq
- 7711 0020 0123 moveq r3, #1
- 7712 0022 0023 movne r3, #0
- 7713 0024 DBB2 uxtb r3, r3
- 7714 .loc 1 3138 14
- 7715 0026 FB60 str r3, [r7, #12]
- 3139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
- 7716 .loc 1 3139 13
- 7717 0028 BB68 ldr r3, [r7, #8]
- 7718 002a 93F83D30 ldrb r3, [r3, #61]
- 7719 002e DBB2 uxtb r3, r3
- 7720 .loc 1 3139 6
- 7721 0030 212B cmp r3, #33
- 7722 0032 08D1 bne .L398
- 7723 .loc 1 3139 49 discriminator 1
- 7724 0034 FB68 ldr r3, [r7, #12]
- 7725 0036 002B cmp r3, #0
- 7726 0038 05D0 beq .L398
- 3140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 7727 .loc 1 3141 24
- 7728 003a BB68 ldr r3, [r7, #8]
- 7729 003c 0022 movs r2, #0
- 7730 003e DA84 strh r2, [r3, #38] @ movhi
- 3142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
- 7731 .loc 1 3142 5
- 7732 0040 B868 ldr r0, [r7, #8]
- 7733 0042 FFF7FEFF bl UART_EndTxTransfer
- 7734 .L398:
- 3143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
- 3146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
- 7735 .loc 1 3146 16
- 7736 0046 BB68 ldr r3, [r7, #8]
- 7737 0048 1B68 ldr r3, [r3]
- 7738 004a 5B69 ldr r3, [r3, #20]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 213
- 7739 004c 03F04003 and r3, r3, #64
- 7740 0050 402B cmp r3, #64
- 7741 0052 0CBF ite eq
- 7742 0054 0123 moveq r3, #1
- 7743 0056 0023 movne r3, #0
- 7744 0058 DBB2 uxtb r3, r3
- 7745 .loc 1 3146 14
- 7746 005a FB60 str r3, [r7, #12]
- 3147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
- 7747 .loc 1 3147 13
- 7748 005c BB68 ldr r3, [r7, #8]
- 7749 005e 93F83E30 ldrb r3, [r3, #62]
- 7750 0062 DBB2 uxtb r3, r3
- 7751 .loc 1 3147 6
- 7752 0064 222B cmp r3, #34
- 7753 0066 08D1 bne .L399
- 7754 .loc 1 3147 50 discriminator 1
- 7755 0068 FB68 ldr r3, [r7, #12]
- 7756 006a 002B cmp r3, #0
- 7757 006c 05D0 beq .L399
- 3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 7758 .loc 1 3149 24
- 7759 006e BB68 ldr r3, [r7, #8]
- 7760 0070 0022 movs r2, #0
- 7761 0072 DA85 strh r2, [r3, #46] @ movhi
- 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
- 7762 .loc 1 3150 5
- 7763 0074 B868 ldr r0, [r7, #8]
- 7764 0076 FFF7FEFF bl UART_EndRxTransfer
- 7765 .L399:
- 3151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
- 7766 .loc 1 3153 20
- 7767 007a BB68 ldr r3, [r7, #8]
- 7768 007c 1B6C ldr r3, [r3, #64]
- 7769 007e 43F01002 orr r2, r3, #16
- 7770 0082 BB68 ldr r3, [r7, #8]
- 7771 0084 1A64 str r2, [r3, #64]
- 3154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
- 3156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
- 3157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
- 3159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 7772 .loc 1 3159 3
- 7773 0086 B868 ldr r0, [r7, #8]
- 7774 0088 FFF7FEFF bl HAL_UART_ErrorCallback
- 3160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7775 .loc 1 3161 1
- 7776 008c 00BF nop
- 7777 008e 1037 adds r7, r7, #16
- 7778 .LCFI254:
- 7779 .cfi_def_cfa_offset 8
- 7780 0090 BD46 mov sp, r7
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 214
- 7781 .LCFI255:
- 7782 .cfi_def_cfa_register 13
- 7783 @ sp needed
- 7784 0092 80BD pop {r7, pc}
- 7785 .cfi_endproc
- 7786 .LFE281:
- 7788 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
- 7789 .align 1
- 7790 .syntax unified
- 7791 .thumb
- 7792 .thumb_func
- 7794 UART_WaitOnFlagUntilTimeout:
- 7795 .LFB282:
- 3162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits
- 3165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * until a flag is no longer in the specified status.
- 3166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 3167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 3168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Flag specifies the UART flag to check.
- 3169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET).
- 3170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Tickstart Tick start value
- 3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
- 3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
- 3175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
- 3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7796 .loc 1 3176 1
- 7797 .cfi_startproc
- 7798 @ args = 4, pretend = 0, frame = 64
- 7799 @ frame_needed = 1, uses_anonymous_args = 0
- 7800 0000 80B5 push {r7, lr}
- 7801 .LCFI256:
- 7802 .cfi_def_cfa_offset 8
- 7803 .cfi_offset 7, -8
- 7804 .cfi_offset 14, -4
- 7805 0002 90B0 sub sp, sp, #64
- 7806 .LCFI257:
- 7807 .cfi_def_cfa_offset 72
- 7808 0004 00AF add r7, sp, #0
- 7809 .LCFI258:
- 7810 .cfi_def_cfa_register 7
- 7811 0006 F860 str r0, [r7, #12]
- 7812 0008 B960 str r1, [r7, #8]
- 7813 000a 3B60 str r3, [r7]
- 7814 000c 1346 mov r3, r2
- 7815 000e FB71 strb r3, [r7, #7]
- 3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
- 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
- 7816 .loc 1 3178 9
- 7817 0010 50E0 b .L401
- 7818 .L410:
- 3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */
- 3181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
- 7819 .loc 1 3181 8
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 215
- 7820 0012 BB6C ldr r3, [r7, #72]
- 7821 0014 B3F1FF3F cmp r3, #-1
- 7822 0018 4CD0 beq .L401
- 3182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
- 7823 .loc 1 3183 10
- 7824 001a BB6C ldr r3, [r7, #72]
- 7825 001c 002B cmp r3, #0
- 7826 001e 07D0 beq .L405
- 7827 .loc 1 3183 32 discriminator 1
- 7828 0020 FFF7FEFF bl HAL_GetTick
- 7829 0024 0246 mov r2, r0
- 7830 .loc 1 3183 46 discriminator 1
- 7831 0026 3B68 ldr r3, [r7]
- 7832 0028 D31A subs r3, r2, r3
- 7833 .loc 1 3183 27 discriminator 1
- 7834 002a BA6C ldr r2, [r7, #72]
- 7835 002c 9A42 cmp r2, r3
- 7836 002e 41D2 bcs .L401
- 7837 .L405:
- 7838 .LBB589:
- 3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for t
- 3186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE
- 7839 .loc 1 3186 9 discriminator 1
- 7840 0030 FB68 ldr r3, [r7, #12]
- 7841 0032 1B68 ldr r3, [r3]
- 7842 0034 0C33 adds r3, r3, #12
- 7843 0036 BB62 str r3, [r7, #40]
- 7844 .LBB590:
- 7845 .LBB591:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7846 .loc 2 1072 4 discriminator 1
- 7847 0038 BB6A ldr r3, [r7, #40]
- 7848 .syntax unified
- 7849 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7850 003a 53E8003F ldrex r3, [r3]
- 7851 @ 0 "" 2
- 7852 .thumb
- 7853 .syntax unified
- 7854 003e 7B62 str r3, [r7, #36]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7855 .loc 2 1073 10 discriminator 1
- 7856 0040 7B6A ldr r3, [r7, #36]
- 7857 .LBE591:
- 7858 .LBE590:
- 7859 .loc 1 3186 9 discriminator 1
- 7860 0042 23F4D073 bic r3, r3, #416
- 7861 0046 FB63 str r3, [r7, #60]
- 7862 0048 FB68 ldr r3, [r7, #12]
- 7863 004a 1B68 ldr r3, [r3]
- 7864 004c 0C33 adds r3, r3, #12
- 7865 004e FA6B ldr r2, [r7, #60]
- 7866 0050 7A63 str r2, [r7, #52]
- 7867 0052 3B63 str r3, [r7, #48]
- 7868 .LBB592:
- 7869 .LBB593:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 216
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7870 .loc 2 1123 4 discriminator 1
- 7871 0054 396B ldr r1, [r7, #48]
- 7872 0056 7A6B ldr r2, [r7, #52]
- 7873 .syntax unified
- 7874 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7875 0058 41E80023 strex r3, r2, [r1]
- 7876 @ 0 "" 2
- 7877 .thumb
- 7878 .syntax unified
- 7879 005c FB62 str r3, [r7, #44]
- 7880 .loc 2 1124 10 discriminator 1
- 7881 005e FB6A ldr r3, [r7, #44]
- 7882 .LBE593:
- 7883 .LBE592:
- 7884 .loc 1 3186 9 discriminator 1
- 7885 0060 002B cmp r3, #0
- 7886 0062 E5D1 bne .L405
- 7887 .L408:
- 7888 .LBE589:
- 7889 .LBB594:
- 3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 7890 .loc 1 3187 9 discriminator 1
- 7891 0064 FB68 ldr r3, [r7, #12]
- 7892 0066 1B68 ldr r3, [r3]
- 7893 0068 1433 adds r3, r3, #20
- 7894 006a 7B61 str r3, [r7, #20]
- 7895 .LBB595:
- 7896 .LBB596:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7897 .loc 2 1072 4 discriminator 1
- 7898 006c 7B69 ldr r3, [r7, #20]
- 7899 .syntax unified
- 7900 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7901 006e 53E8003F ldrex r3, [r3]
- 7902 @ 0 "" 2
- 7903 .thumb
- 7904 .syntax unified
- 7905 0072 3B61 str r3, [r7, #16]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 7906 .loc 2 1073 10 discriminator 1
- 7907 0074 3B69 ldr r3, [r7, #16]
- 7908 .LBE596:
- 7909 .LBE595:
- 7910 .loc 1 3187 9 discriminator 1
- 7911 0076 23F00103 bic r3, r3, #1
- 7912 007a BB63 str r3, [r7, #56]
- 7913 007c FB68 ldr r3, [r7, #12]
- 7914 007e 1B68 ldr r3, [r3]
- 7915 0080 1433 adds r3, r3, #20
- 7916 0082 BA6B ldr r2, [r7, #56]
- 7917 0084 3A62 str r2, [r7, #32]
- 7918 0086 FB61 str r3, [r7, #28]
- 7919 .LBB597:
- 7920 .LBB598:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 7921 .loc 2 1123 4 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 217
- 7922 0088 F969 ldr r1, [r7, #28]
- 7923 008a 3A6A ldr r2, [r7, #32]
- 7924 .syntax unified
- 7925 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 7926 008c 41E80023 strex r3, r2, [r1]
- 7927 @ 0 "" 2
- 7928 .thumb
- 7929 .syntax unified
- 7930 0090 BB61 str r3, [r7, #24]
- 7931 .loc 2 1124 10 discriminator 1
- 7932 0092 BB69 ldr r3, [r7, #24]
- 7933 .LBE598:
- 7934 .LBE597:
- 7935 .loc 1 3187 9 discriminator 1
- 7936 0094 002B cmp r3, #0
- 7937 0096 E5D1 bne .L408
- 7938 .LBE594:
- 3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 7939 .loc 1 3189 24
- 7940 0098 FB68 ldr r3, [r7, #12]
- 7941 009a 2022 movs r2, #32
- 7942 009c 83F83D20 strb r2, [r3, #61]
- 3190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 7943 .loc 1 3190 24
- 7944 00a0 FB68 ldr r3, [r7, #12]
- 7945 00a2 2022 movs r2, #32
- 7946 00a4 83F83E20 strb r2, [r3, #62]
- 3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 7947 .loc 1 3193 9
- 7948 00a8 FB68 ldr r3, [r7, #12]
- 7949 00aa 0022 movs r2, #0
- 7950 00ac 83F83C20 strb r2, [r3, #60]
- 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
- 7951 .loc 1 3195 16
- 7952 00b0 0323 movs r3, #3
- 7953 00b2 0FE0 b .L409
- 7954 .L401:
- 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7955 .loc 1 3178 11
- 7956 00b4 FB68 ldr r3, [r7, #12]
- 7957 00b6 1B68 ldr r3, [r3]
- 7958 00b8 1A68 ldr r2, [r3]
- 7959 00ba BB68 ldr r3, [r7, #8]
- 7960 00bc 1340 ands r3, r3, r2
- 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7961 .loc 1 3178 50
- 7962 00be BA68 ldr r2, [r7, #8]
- 7963 00c0 9A42 cmp r2, r3
- 7964 00c2 0CBF ite eq
- 7965 00c4 0123 moveq r3, #1
- 7966 00c6 0023 movne r3, #0
- 7967 00c8 DBB2 uxtb r3, r3
- 7968 00ca 1A46 mov r2, r3
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 218
- 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7969 .loc 1 3178 59
- 7970 00cc FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
- 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7971 .loc 1 3178 9
- 7972 00ce 9A42 cmp r2, r3
- 7973 00d0 9FD0 beq .L410
- 3196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 7974 .loc 1 3199 10
- 7975 00d2 0023 movs r3, #0
- 7976 .L409:
- 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 7977 .loc 1 3200 1
- 7978 00d4 1846 mov r0, r3
- 7979 00d6 4037 adds r7, r7, #64
- 7980 .LCFI259:
- 7981 .cfi_def_cfa_offset 8
- 7982 00d8 BD46 mov sp, r7
- 7983 .LCFI260:
- 7984 .cfi_def_cfa_register 13
- 7985 @ sp needed
- 7986 00da 80BD pop {r7, pc}
- 7987 .cfi_endproc
- 7988 .LFE282:
- 7990 .section .text.UART_Start_Receive_IT,"ax",%progbits
- 7991 .align 1
- 7992 .global UART_Start_Receive_IT
- 7993 .syntax unified
- 7994 .thumb
- 7995 .thumb_func
- 7997 UART_Start_Receive_IT:
- 7998 .LFB283:
- 3201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
- 3204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
- 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
- 3206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
- 3207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked.
- 3208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 3209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 3210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 3211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 7999 .loc 1 3214 1
- 8000 .cfi_startproc
- 8001 @ args = 0, pretend = 0, frame = 16
- 8002 @ frame_needed = 1, uses_anonymous_args = 0
- 8003 @ link register save eliminated.
- 8004 0000 80B4 push {r7}
- 8005 .LCFI261:
- 8006 .cfi_def_cfa_offset 4
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 219
- 8007 .cfi_offset 7, -4
- 8008 0002 85B0 sub sp, sp, #20
- 8009 .LCFI262:
- 8010 .cfi_def_cfa_offset 24
- 8011 0004 00AF add r7, sp, #0
- 8012 .LCFI263:
- 8013 .cfi_def_cfa_register 7
- 8014 0006 F860 str r0, [r7, #12]
- 8015 0008 B960 str r1, [r7, #8]
- 8016 000a 1346 mov r3, r2
- 8017 000c FB80 strh r3, [r7, #6] @ movhi
- 3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
- 8018 .loc 1 3215 21
- 8019 000e FB68 ldr r3, [r7, #12]
- 8020 0010 BA68 ldr r2, [r7, #8]
- 8021 0012 9A62 str r2, [r3, #40]
- 3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
- 8022 .loc 1 3216 21
- 8023 0014 FB68 ldr r3, [r7, #12]
- 8024 0016 FA88 ldrh r2, [r7, #6] @ movhi
- 8025 0018 9A85 strh r2, [r3, #44] @ movhi
- 3217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
- 8026 .loc 1 3217 22
- 8027 001a FB68 ldr r3, [r7, #12]
- 8028 001c FA88 ldrh r2, [r7, #6] @ movhi
- 8029 001e DA85 strh r2, [r3, #46] @ movhi
- 3218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8030 .loc 1 3219 20
- 8031 0020 FB68 ldr r3, [r7, #12]
- 8032 0022 0022 movs r2, #0
- 8033 0024 1A64 str r2, [r3, #64]
- 3220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
- 8034 .loc 1 3220 18
- 8035 0026 FB68 ldr r3, [r7, #12]
- 8036 0028 2222 movs r2, #34
- 8037 002a 83F83E20 strb r2, [r3, #62]
- 3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 3223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 8038 .loc 1 3223 3
- 8039 002e FB68 ldr r3, [r7, #12]
- 8040 0030 0022 movs r2, #0
- 8041 0032 83F83C20 strb r2, [r3, #60]
- 3224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
- 8042 .loc 1 3225 18
- 8043 0036 FB68 ldr r3, [r7, #12]
- 8044 0038 1B69 ldr r3, [r3, #16]
- 8045 .loc 1 3225 6
- 8046 003a 002B cmp r3, #0
- 8047 003c 07D0 beq .L412
- 3226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
- 3228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_PE);
- 8048 .loc 1 3228 5
- 8049 003e FB68 ldr r3, [r7, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 220
- 8050 0040 1B68 ldr r3, [r3]
- 8051 0042 DA68 ldr r2, [r3, #12]
- 8052 0044 FB68 ldr r3, [r7, #12]
- 8053 0046 1B68 ldr r3, [r3]
- 8054 0048 42F48072 orr r2, r2, #256
- 8055 004c DA60 str r2, [r3, #12]
- 8056 .L412:
- 3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_ERR);
- 8057 .loc 1 3232 3
- 8058 004e FB68 ldr r3, [r7, #12]
- 8059 0050 1B68 ldr r3, [r3]
- 8060 0052 5A69 ldr r2, [r3, #20]
- 8061 0054 FB68 ldr r3, [r7, #12]
- 8062 0056 1B68 ldr r3, [r3]
- 8063 0058 42F00102 orr r2, r2, #1
- 8064 005c 5A61 str r2, [r3, #20]
- 3233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Data Register not empty Interrupt */
- 3235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE);
- 8065 .loc 1 3235 3
- 8066 005e FB68 ldr r3, [r7, #12]
- 8067 0060 1B68 ldr r3, [r3]
- 8068 0062 DA68 ldr r2, [r3, #12]
- 8069 0064 FB68 ldr r3, [r7, #12]
- 8070 0066 1B68 ldr r3, [r3]
- 8071 0068 42F02002 orr r2, r2, #32
- 8072 006c DA60 str r2, [r3, #12]
- 3236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 8073 .loc 1 3237 10
- 8074 006e 0023 movs r3, #0
- 3238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8075 .loc 1 3238 1
- 8076 0070 1846 mov r0, r3
- 8077 0072 1437 adds r7, r7, #20
- 8078 .LCFI264:
- 8079 .cfi_def_cfa_offset 4
- 8080 0074 BD46 mov sp, r7
- 8081 .LCFI265:
- 8082 .cfi_def_cfa_register 13
- 8083 @ sp needed
- 8084 0076 5DF8047B ldr r7, [sp], #4
- 8085 .LCFI266:
- 8086 .cfi_restore 7
- 8087 .cfi_def_cfa_offset 0
- 8088 007a 7047 bx lr
- 8089 .cfi_endproc
- 8090 .LFE283:
- 8092 .section .text.UART_Start_Receive_DMA,"ax",%progbits
- 8093 .align 1
- 8094 .global UART_Start_Receive_DMA
- 8095 .syntax unified
- 8096 .thumb
- 8097 .thumb_func
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 221
- 8099 UART_Start_Receive_DMA:
- 8100 .LFB284:
- 3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
- 3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
- 3243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
- 3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
- 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked.
- 3246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
- 3248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
- 3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 3250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
- 3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8101 .loc 1 3252 1
- 8102 .cfi_startproc
- 8103 @ args = 0, pretend = 0, frame = 96
- 8104 @ frame_needed = 1, uses_anonymous_args = 0
- 8105 0000 80B5 push {r7, lr}
- 8106 .LCFI267:
- 8107 .cfi_def_cfa_offset 8
- 8108 .cfi_offset 7, -8
- 8109 .cfi_offset 14, -4
- 8110 0002 98B0 sub sp, sp, #96
- 8111 .LCFI268:
- 8112 .cfi_def_cfa_offset 104
- 8113 0004 00AF add r7, sp, #0
- 8114 .LCFI269:
- 8115 .cfi_def_cfa_register 7
- 8116 0006 F860 str r0, [r7, #12]
- 8117 0008 B960 str r1, [r7, #8]
- 8118 000a 1346 mov r3, r2
- 8119 000c FB80 strh r3, [r7, #6] @ movhi
- 3253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
- 3254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
- 8120 .loc 1 3255 21
- 8121 000e BA68 ldr r2, [r7, #8]
- 8122 0010 FB68 ldr r3, [r7, #12]
- 8123 0012 9A62 str r2, [r3, #40]
- 3256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
- 8124 .loc 1 3256 21
- 8125 0014 FB68 ldr r3, [r7, #12]
- 8126 0016 FA88 ldrh r2, [r7, #6] @ movhi
- 8127 0018 9A85 strh r2, [r3, #44] @ movhi
- 3257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8128 .loc 1 3258 20
- 8129 001a FB68 ldr r3, [r7, #12]
- 8130 001c 0022 movs r2, #0
- 8131 001e 1A64 str r2, [r3, #64]
- 3259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
- 8132 .loc 1 3259 18
- 8133 0020 FB68 ldr r3, [r7, #12]
- 8134 0022 2222 movs r2, #34
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 222
- 8135 0024 83F83E20 strb r2, [r3, #62]
- 3260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
- 3262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
- 8136 .loc 1 3262 8
- 8137 0028 FB68 ldr r3, [r7, #12]
- 8138 002a 9B6B ldr r3, [r3, #56]
- 8139 .loc 1 3262 35
- 8140 002c 404A ldr r2, .L426
- 8141 002e DA63 str r2, [r3, #60]
- 3263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
- 3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
- 8142 .loc 1 3265 8
- 8143 0030 FB68 ldr r3, [r7, #12]
- 8144 0032 9B6B ldr r3, [r3, #56]
- 8145 .loc 1 3265 39
- 8146 0034 3F4A ldr r2, .L426+4
- 8147 0036 1A64 str r2, [r3, #64]
- 3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
- 3268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
- 8148 .loc 1 3268 8
- 8149 0038 FB68 ldr r3, [r7, #12]
- 8150 003a 9B6B ldr r3, [r3, #56]
- 8151 .loc 1 3268 36
- 8152 003c 3E4A ldr r2, .L426+8
- 8153 003e DA64 str r2, [r3, #76]
- 3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
- 3271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 8154 .loc 1 3271 8
- 8155 0040 FB68 ldr r3, [r7, #12]
- 8156 0042 9B6B ldr r3, [r3, #56]
- 8157 .loc 1 3271 36
- 8158 0044 0022 movs r2, #0
- 8159 0046 1A65 str r2, [r3, #80]
- 3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA stream */
- 3274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint32_t *)&pData;
- 8160 .loc 1 3274 7
- 8161 0048 07F10803 add r3, r7, #8
- 8162 004c FB65 str r3, [r7, #92]
- 3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
- 8163 .loc 1 3275 3
- 8164 004e FB68 ldr r3, [r7, #12]
- 8165 0050 986B ldr r0, [r3, #56]
- 8166 .loc 1 3275 51
- 8167 0052 FB68 ldr r3, [r7, #12]
- 8168 0054 1B68 ldr r3, [r3]
- 8169 .loc 1 3275 45
- 8170 0056 0433 adds r3, r3, #4
- 8171 .loc 1 3275 3
- 8172 0058 1946 mov r1, r3
- 8173 005a FB6D ldr r3, [r7, #92]
- 8174 005c 1A68 ldr r2, [r3]
- 8175 005e FB88 ldrh r3, [r7, #6]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 223
- 8176 0060 FFF7FEFF bl HAL_DMA_Start_IT
- 8177 .LBB599:
- 3276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag just before enabling the DMA Rx request: can be mandatory for the secon
- 3278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
- 8178 .loc 1 3278 3
- 8179 0064 0023 movs r3, #0
- 8180 0066 3B61 str r3, [r7, #16]
- 8181 0068 FB68 ldr r3, [r7, #12]
- 8182 006a 1B68 ldr r3, [r3]
- 8183 006c 1B68 ldr r3, [r3]
- 8184 006e 3B61 str r3, [r7, #16]
- 8185 0070 FB68 ldr r3, [r7, #12]
- 8186 0072 1B68 ldr r3, [r3]
- 8187 0074 5B68 ldr r3, [r3, #4]
- 8188 0076 3B61 str r3, [r7, #16]
- 8189 0078 3B69 ldr r3, [r7, #16]
- 8190 .LBE599:
- 3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
- 3281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
- 8191 .loc 1 3281 3
- 8192 007a FB68 ldr r3, [r7, #12]
- 8193 007c 0022 movs r2, #0
- 8194 007e 83F83C20 strb r2, [r3, #60]
- 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
- 8195 .loc 1 3283 18
- 8196 0082 FB68 ldr r3, [r7, #12]
- 8197 0084 1B69 ldr r3, [r3, #16]
- 8198 .loc 1 3283 6
- 8199 0086 002B cmp r3, #0
- 8200 0088 19D0 beq .L421
- 8201 .L418:
- 8202 .LBB600:
- 3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
- 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 8203 .loc 1 3286 5 discriminator 1
- 8204 008a FB68 ldr r3, [r7, #12]
- 8205 008c 1B68 ldr r3, [r3]
- 8206 008e 0C33 adds r3, r3, #12
- 8207 0090 3B64 str r3, [r7, #64]
- 8208 .LBB601:
- 8209 .LBB602:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8210 .loc 2 1072 4 discriminator 1
- 8211 0092 3B6C ldr r3, [r7, #64]
- 8212 .syntax unified
- 8213 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8214 0094 53E8003F ldrex r3, [r3]
- 8215 @ 0 "" 2
- 8216 .thumb
- 8217 .syntax unified
- 8218 0098 FB63 str r3, [r7, #60]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8219 .loc 2 1073 10 discriminator 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 224
- 8220 009a FB6B ldr r3, [r7, #60]
- 8221 .LBE602:
- 8222 .LBE601:
- 8223 .loc 1 3286 5 discriminator 1
- 8224 009c 43F48073 orr r3, r3, #256
- 8225 00a0 BB65 str r3, [r7, #88]
- 8226 00a2 FB68 ldr r3, [r7, #12]
- 8227 00a4 1B68 ldr r3, [r3]
- 8228 00a6 0C33 adds r3, r3, #12
- 8229 00a8 BA6D ldr r2, [r7, #88]
- 8230 00aa FA64 str r2, [r7, #76]
- 8231 00ac BB64 str r3, [r7, #72]
- 8232 .LBB603:
- 8233 .LBB604:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8234 .loc 2 1123 4 discriminator 1
- 8235 00ae B96C ldr r1, [r7, #72]
- 8236 00b0 FA6C ldr r2, [r7, #76]
- 8237 .syntax unified
- 8238 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8239 00b2 41E80023 strex r3, r2, [r1]
- 8240 @ 0 "" 2
- 8241 .thumb
- 8242 .syntax unified
- 8243 00b6 7B64 str r3, [r7, #68]
- 8244 .loc 2 1124 10 discriminator 1
- 8245 00b8 7B6C ldr r3, [r7, #68]
- 8246 .LBE604:
- 8247 .LBE603:
- 8248 .loc 1 3286 5 discriminator 1
- 8249 00ba 002B cmp r3, #0
- 8250 00bc E5D1 bne .L418
- 8251 .L421:
- 8252 .LBE600:
- 8253 .LBB605:
- 3287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 3290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 8254 .loc 1 3290 3 discriminator 1
- 8255 00be FB68 ldr r3, [r7, #12]
- 8256 00c0 1B68 ldr r3, [r3]
- 8257 00c2 1433 adds r3, r3, #20
- 8258 00c4 FB62 str r3, [r7, #44]
- 8259 .LBB606:
- 8260 .LBB607:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8261 .loc 2 1072 4 discriminator 1
- 8262 00c6 FB6A ldr r3, [r7, #44]
- 8263 .syntax unified
- 8264 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8265 00c8 53E8003F ldrex r3, [r3]
- 8266 @ 0 "" 2
- 8267 .thumb
- 8268 .syntax unified
- 8269 00cc BB62 str r3, [r7, #40]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 225
- 8270 .loc 2 1073 10 discriminator 1
- 8271 00ce BB6A ldr r3, [r7, #40]
- 8272 .LBE607:
- 8273 .LBE606:
- 8274 .loc 1 3290 3 discriminator 1
- 8275 00d0 43F00103 orr r3, r3, #1
- 8276 00d4 7B65 str r3, [r7, #84]
- 8277 00d6 FB68 ldr r3, [r7, #12]
- 8278 00d8 1B68 ldr r3, [r3]
- 8279 00da 1433 adds r3, r3, #20
- 8280 00dc 7A6D ldr r2, [r7, #84]
- 8281 00de BA63 str r2, [r7, #56]
- 8282 00e0 7B63 str r3, [r7, #52]
- 8283 .LBB608:
- 8284 .LBB609:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8285 .loc 2 1123 4 discriminator 1
- 8286 00e2 796B ldr r1, [r7, #52]
- 8287 00e4 BA6B ldr r2, [r7, #56]
- 8288 .syntax unified
- 8289 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8290 00e6 41E80023 strex r3, r2, [r1]
- 8291 @ 0 "" 2
- 8292 .thumb
- 8293 .syntax unified
- 8294 00ea 3B63 str r3, [r7, #48]
- 8295 .loc 2 1124 10 discriminator 1
- 8296 00ec 3B6B ldr r3, [r7, #48]
- 8297 .LBE609:
- 8298 .LBE608:
- 8299 .loc 1 3290 3 discriminator 1
- 8300 00ee 002B cmp r3, #0
- 8301 00f0 E5D1 bne .L421
- 8302 .L424:
- 8303 .LBE605:
- 8304 .LBB610:
- 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
- 3293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
- 3294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 8305 .loc 1 3294 3 discriminator 1
- 8306 00f2 FB68 ldr r3, [r7, #12]
- 8307 00f4 1B68 ldr r3, [r3]
- 8308 00f6 1433 adds r3, r3, #20
- 8309 00f8 BB61 str r3, [r7, #24]
- 8310 .LBB611:
- 8311 .LBB612:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8312 .loc 2 1072 4 discriminator 1
- 8313 00fa BB69 ldr r3, [r7, #24]
- 8314 .syntax unified
- 8315 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8316 00fc 53E8003F ldrex r3, [r3]
- 8317 @ 0 "" 2
- 8318 .thumb
- 8319 .syntax unified
- 8320 0100 7B61 str r3, [r7, #20]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 226
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8321 .loc 2 1073 10 discriminator 1
- 8322 0102 7B69 ldr r3, [r7, #20]
- 8323 .LBE612:
- 8324 .LBE611:
- 8325 .loc 1 3294 3 discriminator 1
- 8326 0104 43F04003 orr r3, r3, #64
- 8327 0108 3B65 str r3, [r7, #80]
- 8328 010a FB68 ldr r3, [r7, #12]
- 8329 010c 1B68 ldr r3, [r3]
- 8330 010e 1433 adds r3, r3, #20
- 8331 0110 3A6D ldr r2, [r7, #80]
- 8332 0112 7A62 str r2, [r7, #36]
- 8333 0114 3B62 str r3, [r7, #32]
- 8334 .LBB613:
- 8335 .LBB614:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8336 .loc 2 1123 4 discriminator 1
- 8337 0116 396A ldr r1, [r7, #32]
- 8338 0118 7A6A ldr r2, [r7, #36]
- 8339 .syntax unified
- 8340 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8341 011a 41E80023 strex r3, r2, [r1]
- 8342 @ 0 "" 2
- 8343 .thumb
- 8344 .syntax unified
- 8345 011e FB61 str r3, [r7, #28]
- 8346 .loc 2 1124 10 discriminator 1
- 8347 0120 FB69 ldr r3, [r7, #28]
- 8348 .LBE614:
- 8349 .LBE613:
- 8350 .loc 1 3294 3 discriminator 1
- 8351 0122 002B cmp r3, #0
- 8352 0124 E5D1 bne .L424
- 8353 .LBE610:
- 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 8354 .loc 1 3296 10
- 8355 0126 0023 movs r3, #0
- 3297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8356 .loc 1 3297 1
- 8357 0128 1846 mov r0, r3
- 8358 012a 6037 adds r7, r7, #96
- 8359 .LCFI270:
- 8360 .cfi_def_cfa_offset 8
- 8361 012c BD46 mov sp, r7
- 8362 .LCFI271:
- 8363 .cfi_def_cfa_register 13
- 8364 @ sp needed
- 8365 012e 80BD pop {r7, pc}
- 8366 .L427:
- 8367 .align 2
- 8368 .L426:
- 8369 0130 00000000 .word UART_DMAReceiveCplt
- 8370 0134 00000000 .word UART_DMARxHalfCplt
- 8371 0138 00000000 .word UART_DMAError
- 8372 .cfi_endproc
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 227
- 8373 .LFE284:
- 8375 .section .text.UART_EndTxTransfer,"ax",%progbits
- 8376 .align 1
- 8377 .syntax unified
- 8378 .thumb
- 8379 .thumb_func
- 8381 UART_EndTxTransfer:
- 8382 .LFB285:
- 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
- 3301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
- 3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8383 .loc 1 3305 1
- 8384 .cfi_startproc
- 8385 @ args = 0, pretend = 0, frame = 32
- 8386 @ frame_needed = 1, uses_anonymous_args = 0
- 8387 @ link register save eliminated.
- 8388 0000 80B4 push {r7}
- 8389 .LCFI272:
- 8390 .cfi_def_cfa_offset 4
- 8391 .cfi_offset 7, -4
- 8392 0002 89B0 sub sp, sp, #36
- 8393 .LCFI273:
- 8394 .cfi_def_cfa_offset 40
- 8395 0004 00AF add r7, sp, #0
- 8396 .LCFI274:
- 8397 .cfi_def_cfa_register 7
- 8398 0006 7860 str r0, [r7, #4]
- 8399 .L431:
- 8400 .LBB615:
- 3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
- 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
- 8401 .loc 1 3307 3 discriminator 1
- 8402 0008 7B68 ldr r3, [r7, #4]
- 8403 000a 1B68 ldr r3, [r3]
- 8404 000c 0C33 adds r3, r3, #12
- 8405 000e FB60 str r3, [r7, #12]
- 8406 .LBB616:
- 8407 .LBB617:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8408 .loc 2 1072 4 discriminator 1
- 8409 0010 FB68 ldr r3, [r7, #12]
- 8410 .syntax unified
- 8411 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8412 0012 53E8003F ldrex r3, [r3]
- 8413 @ 0 "" 2
- 8414 .thumb
- 8415 .syntax unified
- 8416 0016 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8417 .loc 2 1073 10 discriminator 1
- 8418 0018 BB68 ldr r3, [r7, #8]
- 8419 .LBE617:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 228
- 8420 .LBE616:
- 8421 .loc 1 3307 3 discriminator 1
- 8422 001a 23F0C003 bic r3, r3, #192
- 8423 001e FB61 str r3, [r7, #28]
- 8424 0020 7B68 ldr r3, [r7, #4]
- 8425 0022 1B68 ldr r3, [r3]
- 8426 0024 0C33 adds r3, r3, #12
- 8427 0026 FA69 ldr r2, [r7, #28]
- 8428 0028 BA61 str r2, [r7, #24]
- 8429 002a 7B61 str r3, [r7, #20]
- 8430 .LBB618:
- 8431 .LBB619:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8432 .loc 2 1123 4 discriminator 1
- 8433 002c 7969 ldr r1, [r7, #20]
- 8434 002e BA69 ldr r2, [r7, #24]
- 8435 .syntax unified
- 8436 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8437 0030 41E80023 strex r3, r2, [r1]
- 8438 @ 0 "" 2
- 8439 .thumb
- 8440 .syntax unified
- 8441 0034 3B61 str r3, [r7, #16]
- 8442 .loc 2 1124 10 discriminator 1
- 8443 0036 3B69 ldr r3, [r7, #16]
- 8444 .LBE619:
- 8445 .LBE618:
- 8446 .loc 1 3307 3 discriminator 1
- 8447 0038 002B cmp r3, #0
- 8448 003a E5D1 bne .L431
- 8449 .LBE615:
- 3308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
- 3310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 8450 .loc 1 3310 17
- 8451 003c 7B68 ldr r3, [r7, #4]
- 8452 003e 2022 movs r2, #32
- 8453 0040 83F83D20 strb r2, [r3, #61]
- 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8454 .loc 1 3311 1
- 8455 0044 00BF nop
- 8456 0046 2437 adds r7, r7, #36
- 8457 .LCFI275:
- 8458 .cfi_def_cfa_offset 4
- 8459 0048 BD46 mov sp, r7
- 8460 .LCFI276:
- 8461 .cfi_def_cfa_register 13
- 8462 @ sp needed
- 8463 004a 5DF8047B ldr r7, [sp], #4
- 8464 .LCFI277:
- 8465 .cfi_restore 7
- 8466 .cfi_def_cfa_offset 0
- 8467 004e 7047 bx lr
- 8468 .cfi_endproc
- 8469 .LFE285:
- 8471 .section .text.UART_EndRxTransfer,"ax",%progbits
- 8472 .align 1
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 229
- 8473 .syntax unified
- 8474 .thumb
- 8475 .thumb_func
- 8477 UART_EndRxTransfer:
- 8478 .LFB286:
- 3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
- 3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
- 3316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
- 3319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8479 .loc 1 3319 1
- 8480 .cfi_startproc
- 8481 @ args = 0, pretend = 0, frame = 80
- 8482 @ frame_needed = 1, uses_anonymous_args = 0
- 8483 @ link register save eliminated.
- 8484 0000 80B4 push {r7}
- 8485 .LCFI278:
- 8486 .cfi_def_cfa_offset 4
- 8487 .cfi_offset 7, -4
- 8488 0002 95B0 sub sp, sp, #84
- 8489 .LCFI279:
- 8490 .cfi_def_cfa_offset 88
- 8491 0004 00AF add r7, sp, #0
- 8492 .LCFI280:
- 8493 .cfi_def_cfa_register 7
- 8494 0006 7860 str r0, [r7, #4]
- 8495 .L435:
- 8496 .LBB620:
- 3320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
- 3321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 8497 .loc 1 3321 3 discriminator 1
- 8498 0008 7B68 ldr r3, [r7, #4]
- 8499 000a 1B68 ldr r3, [r3]
- 8500 000c 0C33 adds r3, r3, #12
- 8501 000e 7B63 str r3, [r7, #52]
- 8502 .LBB621:
- 8503 .LBB622:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8504 .loc 2 1072 4 discriminator 1
- 8505 0010 7B6B ldr r3, [r7, #52]
- 8506 .syntax unified
- 8507 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8508 0012 53E8003F ldrex r3, [r3]
- 8509 @ 0 "" 2
- 8510 .thumb
- 8511 .syntax unified
- 8512 0016 3B63 str r3, [r7, #48]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8513 .loc 2 1073 10 discriminator 1
- 8514 0018 3B6B ldr r3, [r7, #48]
- 8515 .LBE622:
- 8516 .LBE621:
- 8517 .loc 1 3321 3 discriminator 1
- 8518 001a 23F49073 bic r3, r3, #288
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 230
- 8519 001e FB64 str r3, [r7, #76]
- 8520 0020 7B68 ldr r3, [r7, #4]
- 8521 0022 1B68 ldr r3, [r3]
- 8522 0024 0C33 adds r3, r3, #12
- 8523 0026 FA6C ldr r2, [r7, #76]
- 8524 0028 3A64 str r2, [r7, #64]
- 8525 002a FB63 str r3, [r7, #60]
- 8526 .LBB623:
- 8527 .LBB624:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8528 .loc 2 1123 4 discriminator 1
- 8529 002c F96B ldr r1, [r7, #60]
- 8530 002e 3A6C ldr r2, [r7, #64]
- 8531 .syntax unified
- 8532 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8533 0030 41E80023 strex r3, r2, [r1]
- 8534 @ 0 "" 2
- 8535 .thumb
- 8536 .syntax unified
- 8537 0034 BB63 str r3, [r7, #56]
- 8538 .loc 2 1124 10 discriminator 1
- 8539 0036 BB6B ldr r3, [r7, #56]
- 8540 .LBE624:
- 8541 .LBE623:
- 8542 .loc 1 3321 3 discriminator 1
- 8543 0038 002B cmp r3, #0
- 8544 003a E5D1 bne .L435
- 8545 .L438:
- 8546 .LBE620:
- 8547 .LBB625:
- 3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 8548 .loc 1 3322 3 discriminator 1
- 8549 003c 7B68 ldr r3, [r7, #4]
- 8550 003e 1B68 ldr r3, [r3]
- 8551 0040 1433 adds r3, r3, #20
- 8552 0042 3B62 str r3, [r7, #32]
- 8553 .LBB626:
- 8554 .LBB627:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8555 .loc 2 1072 4 discriminator 1
- 8556 0044 3B6A ldr r3, [r7, #32]
- 8557 .syntax unified
- 8558 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8559 0046 53E8003F ldrex r3, [r3]
- 8560 @ 0 "" 2
- 8561 .thumb
- 8562 .syntax unified
- 8563 004a FB61 str r3, [r7, #28]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 8564 .loc 2 1073 10 discriminator 1
- 8565 004c FB69 ldr r3, [r7, #28]
- 8566 .LBE627:
- 8567 .LBE626:
- 8568 .loc 1 3322 3 discriminator 1
- 8569 004e 23F00103 bic r3, r3, #1
- 8570 0052 BB64 str r3, [r7, #72]
- 8571 0054 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 231
- 8572 0056 1B68 ldr r3, [r3]
- 8573 0058 1433 adds r3, r3, #20
- 8574 005a BA6C ldr r2, [r7, #72]
- 8575 005c FA62 str r2, [r7, #44]
- 8576 005e BB62 str r3, [r7, #40]
- 8577 .LBB628:
- 8578 .LBB629:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8579 .loc 2 1123 4 discriminator 1
- 8580 0060 B96A ldr r1, [r7, #40]
- 8581 0062 FA6A ldr r2, [r7, #44]
- 8582 .syntax unified
- 8583 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8584 0064 41E80023 strex r3, r2, [r1]
- 8585 @ 0 "" 2
- 8586 .thumb
- 8587 .syntax unified
- 8588 0068 7B62 str r3, [r7, #36]
- 8589 .loc 2 1124 10 discriminator 1
- 8590 006a 7B6A ldr r3, [r7, #36]
- 8591 .LBE629:
- 8592 .LBE628:
- 8593 .loc 1 3322 3 discriminator 1
- 8594 006c 002B cmp r3, #0
- 8595 006e E5D1 bne .L438
- 8596 .LBE625:
- 3323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
- 3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 8597 .loc 1 3325 12
- 8598 0070 7B68 ldr r3, [r7, #4]
- 8599 0072 1B6B ldr r3, [r3, #48]
- 8600 .loc 1 3325 6
- 8601 0074 012B cmp r3, #1
- 8602 0076 19D1 bne .L439
- 8603 .L442:
- 8604 .LBB630:
- 3326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 8605 .loc 1 3327 5 discriminator 1
- 8606 0078 7B68 ldr r3, [r7, #4]
- 8607 007a 1B68 ldr r3, [r3]
- 8608 007c 0C33 adds r3, r3, #12
- 8609 007e FB60 str r3, [r7, #12]
- 8610 .LBB631:
- 8611 .LBB632:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8612 .loc 2 1072 4 discriminator 1
- 8613 0080 FB68 ldr r3, [r7, #12]
- 8614 .syntax unified
- 8615 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8616 0082 53E8003F ldrex r3, [r3]
- 8617 @ 0 "" 2
- 8618 .thumb
- 8619 .syntax unified
- 8620 0086 BB60 str r3, [r7, #8]
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 232
- 8621 .loc 2 1073 10 discriminator 1
- 8622 0088 BB68 ldr r3, [r7, #8]
- 8623 .LBE632:
- 8624 .LBE631:
- 8625 .loc 1 3327 5 discriminator 1
- 8626 008a 23F01003 bic r3, r3, #16
- 8627 008e 7B64 str r3, [r7, #68]
- 8628 0090 7B68 ldr r3, [r7, #4]
- 8629 0092 1B68 ldr r3, [r3]
- 8630 0094 0C33 adds r3, r3, #12
- 8631 0096 7A6C ldr r2, [r7, #68]
- 8632 0098 BA61 str r2, [r7, #24]
- 8633 009a 7B61 str r3, [r7, #20]
- 8634 .LBB633:
- 8635 .LBB634:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 8636 .loc 2 1123 4 discriminator 1
- 8637 009c 7969 ldr r1, [r7, #20]
- 8638 009e BA69 ldr r2, [r7, #24]
- 8639 .syntax unified
- 8640 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 8641 00a0 41E80023 strex r3, r2, [r1]
- 8642 @ 0 "" 2
- 8643 .thumb
- 8644 .syntax unified
- 8645 00a4 3B61 str r3, [r7, #16]
- 8646 .loc 2 1124 10 discriminator 1
- 8647 00a6 3B69 ldr r3, [r7, #16]
- 8648 .LBE634:
- 8649 .LBE633:
- 8650 .loc 1 3327 5 discriminator 1
- 8651 00a8 002B cmp r3, #0
- 8652 00aa E5D1 bne .L442
- 8653 .L439:
- 8654 .LBE630:
- 3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
- 3331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 8655 .loc 1 3331 18
- 8656 00ac 7B68 ldr r3, [r7, #4]
- 8657 00ae 2022 movs r2, #32
- 8658 00b0 83F83E20 strb r2, [r3, #62]
- 3332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 8659 .loc 1 3332 24
- 8660 00b4 7B68 ldr r3, [r7, #4]
- 8661 00b6 0022 movs r2, #0
- 8662 00b8 1A63 str r2, [r3, #48]
- 3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8663 .loc 1 3333 1
- 8664 00ba 00BF nop
- 8665 00bc 5437 adds r7, r7, #84
- 8666 .LCFI281:
- 8667 .cfi_def_cfa_offset 4
- 8668 00be BD46 mov sp, r7
- 8669 .LCFI282:
- 8670 .cfi_def_cfa_register 13
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 233
- 8671 @ sp needed
- 8672 00c0 5DF8047B ldr r7, [sp], #4
- 8673 .LCFI283:
- 8674 .cfi_restore 7
- 8675 .cfi_def_cfa_offset 0
- 8676 00c4 7047 bx lr
- 8677 .cfi_endproc
- 8678 .LFE286:
- 8680 .section .text.UART_DMAAbortOnError,"ax",%progbits
- 8681 .align 1
- 8682 .syntax unified
- 8683 .thumb
- 8684 .thumb_func
- 8686 UART_DMAAbortOnError:
- 8687 .LFB287:
- 3334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
- 3337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
- 3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
- 3343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8688 .loc 1 3343 1
- 8689 .cfi_startproc
- 8690 @ args = 0, pretend = 0, frame = 16
- 8691 @ frame_needed = 1, uses_anonymous_args = 0
- 8692 0000 80B5 push {r7, lr}
- 8693 .LCFI284:
- 8694 .cfi_def_cfa_offset 8
- 8695 .cfi_offset 7, -8
- 8696 .cfi_offset 14, -4
- 8697 0002 84B0 sub sp, sp, #16
- 8698 .LCFI285:
- 8699 .cfi_def_cfa_offset 24
- 8700 0004 00AF add r7, sp, #0
- 8701 .LCFI286:
- 8702 .cfi_def_cfa_register 7
- 8703 0006 7860 str r0, [r7, #4]
- 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 8704 .loc 1 3344 23
- 8705 0008 7B68 ldr r3, [r7, #4]
- 8706 000a 9B6B ldr r3, [r3, #56]
- 8707 000c FB60 str r3, [r7, #12]
- 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 8708 .loc 1 3345 22
- 8709 000e FB68 ldr r3, [r7, #12]
- 8710 0010 0022 movs r2, #0
- 8711 0012 DA85 strh r2, [r3, #46] @ movhi
- 3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 8712 .loc 1 3346 22
- 8713 0014 FB68 ldr r3, [r7, #12]
- 8714 0016 0022 movs r2, #0
- 8715 0018 DA84 strh r2, [r3, #38] @ movhi
- 3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 234
- 3348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
- 3350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
- 3351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
- 3353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
- 8716 .loc 1 3353 3
- 8717 001a F868 ldr r0, [r7, #12]
- 8718 001c FFF7FEFF bl HAL_UART_ErrorCallback
- 3354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8719 .loc 1 3355 1
- 8720 0020 00BF nop
- 8721 0022 1037 adds r7, r7, #16
- 8722 .LCFI287:
- 8723 .cfi_def_cfa_offset 8
- 8724 0024 BD46 mov sp, r7
- 8725 .LCFI288:
- 8726 .cfi_def_cfa_register 13
- 8727 @ sp needed
- 8728 0026 80BD pop {r7, pc}
- 8729 .cfi_endproc
- 8730 .LFE287:
- 8732 .section .text.UART_DMATxAbortCallback,"ax",%progbits
- 8733 .align 1
- 8734 .syntax unified
- 8735 .thumb
- 8736 .thumb_func
- 8738 UART_DMATxAbortCallback:
- 8739 .LFB288:
- 3356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
- 3359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
- 3360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
- 3361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
- 3362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
- 3367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8740 .loc 1 3367 1
- 8741 .cfi_startproc
- 8742 @ args = 0, pretend = 0, frame = 16
- 8743 @ frame_needed = 1, uses_anonymous_args = 0
- 8744 0000 80B5 push {r7, lr}
- 8745 .LCFI289:
- 8746 .cfi_def_cfa_offset 8
- 8747 .cfi_offset 7, -8
- 8748 .cfi_offset 14, -4
- 8749 0002 84B0 sub sp, sp, #16
- 8750 .LCFI290:
- 8751 .cfi_def_cfa_offset 24
- 8752 0004 00AF add r7, sp, #0
- 8753 .LCFI291:
- 8754 .cfi_def_cfa_register 7
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 235
- 8755 0006 7860 str r0, [r7, #4]
- 3368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 8756 .loc 1 3368 23
- 8757 0008 7B68 ldr r3, [r7, #4]
- 8758 000a 9B6B ldr r3, [r3, #56]
- 8759 000c FB60 str r3, [r7, #12]
- 3369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
- 8760 .loc 1 3370 8
- 8761 000e FB68 ldr r3, [r7, #12]
- 8762 0010 5B6B ldr r3, [r3, #52]
- 8763 .loc 1 3370 36
- 8764 0012 0022 movs r2, #0
- 8765 0014 1A65 str r2, [r3, #80]
- 3371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
- 3373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
- 8766 .loc 1 3373 12
- 8767 0016 FB68 ldr r3, [r7, #12]
- 8768 0018 9B6B ldr r3, [r3, #56]
- 8769 .loc 1 3373 6
- 8770 001a 002B cmp r3, #0
- 8771 001c 04D0 beq .L445
- 3374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
- 8772 .loc 1 3375 14
- 8773 001e FB68 ldr r3, [r7, #12]
- 8774 0020 9B6B ldr r3, [r3, #56]
- 8775 .loc 1 3375 22
- 8776 0022 1B6D ldr r3, [r3, #80]
- 8777 .loc 1 3375 8
- 8778 0024 002B cmp r3, #0
- 8779 0026 17D1 bne .L447
- 8780 .L445:
- 3376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 3378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
- 3382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 8781 .loc 1 3382 22
- 8782 0028 FB68 ldr r3, [r7, #12]
- 8783 002a 0022 movs r2, #0
- 8784 002c DA84 strh r2, [r3, #38] @ movhi
- 3383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 8785 .loc 1 3383 22
- 8786 002e FB68 ldr r3, [r7, #12]
- 8787 0030 0022 movs r2, #0
- 8788 0032 DA85 strh r2, [r3, #46] @ movhi
- 3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
- 3386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8789 .loc 1 3386 20
- 8790 0034 FB68 ldr r3, [r7, #12]
- 8791 0036 0022 movs r2, #0
- 8792 0038 1A64 str r2, [r3, #64]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 236
- 3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
- 3389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 8793 .loc 1 3389 18
- 8794 003a FB68 ldr r3, [r7, #12]
- 8795 003c 2022 movs r2, #32
- 8796 003e 83F83D20 strb r2, [r3, #61]
- 3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 8797 .loc 1 3390 18
- 8798 0042 FB68 ldr r3, [r7, #12]
- 8799 0044 2022 movs r2, #32
- 8800 0046 83F83E20 strb r2, [r3, #62]
- 3391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 8801 .loc 1 3391 24
- 8802 004a FB68 ldr r3, [r7, #12]
- 8803 004c 0022 movs r2, #0
- 8804 004e 1A63 str r2, [r3, #48]
- 3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
- 3394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
- 3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
- 3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
- 3399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
- 8805 .loc 1 3399 3
- 8806 0050 F868 ldr r0, [r7, #12]
- 8807 0052 FFF7FEFF bl HAL_UART_AbortCpltCallback
- 8808 0056 00E0 b .L444
- 8809 .L447:
- 3377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8810 .loc 1 3377 7
- 8811 0058 00BF nop
- 8812 .L444:
- 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8813 .loc 1 3401 1
- 8814 005a 1037 adds r7, r7, #16
- 8815 .LCFI292:
- 8816 .cfi_def_cfa_offset 8
- 8817 005c BD46 mov sp, r7
- 8818 .LCFI293:
- 8819 .cfi_def_cfa_register 13
- 8820 @ sp needed
- 8821 005e 80BD pop {r7, pc}
- 8822 .cfi_endproc
- 8823 .LFE288:
- 8825 .section .text.UART_DMARxAbortCallback,"ax",%progbits
- 8826 .align 1
- 8827 .syntax unified
- 8828 .thumb
- 8829 .thumb_func
- 8831 UART_DMARxAbortCallback:
- 8832 .LFB289:
- 3402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 237
- 3405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
- 3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
- 3407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
- 3408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
- 3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8833 .loc 1 3413 1
- 8834 .cfi_startproc
- 8835 @ args = 0, pretend = 0, frame = 16
- 8836 @ frame_needed = 1, uses_anonymous_args = 0
- 8837 0000 80B5 push {r7, lr}
- 8838 .LCFI294:
- 8839 .cfi_def_cfa_offset 8
- 8840 .cfi_offset 7, -8
- 8841 .cfi_offset 14, -4
- 8842 0002 84B0 sub sp, sp, #16
- 8843 .LCFI295:
- 8844 .cfi_def_cfa_offset 24
- 8845 0004 00AF add r7, sp, #0
- 8846 .LCFI296:
- 8847 .cfi_def_cfa_register 7
- 8848 0006 7860 str r0, [r7, #4]
- 3414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 8849 .loc 1 3414 23
- 8850 0008 7B68 ldr r3, [r7, #4]
- 8851 000a 9B6B ldr r3, [r3, #56]
- 8852 000c FB60 str r3, [r7, #12]
- 3415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
- 8853 .loc 1 3416 8
- 8854 000e FB68 ldr r3, [r7, #12]
- 8855 0010 9B6B ldr r3, [r3, #56]
- 8856 .loc 1 3416 36
- 8857 0012 0022 movs r2, #0
- 8858 0014 1A65 str r2, [r3, #80]
- 3417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
- 3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
- 8859 .loc 1 3419 12
- 8860 0016 FB68 ldr r3, [r7, #12]
- 8861 0018 5B6B ldr r3, [r3, #52]
- 8862 .loc 1 3419 6
- 8863 001a 002B cmp r3, #0
- 8864 001c 04D0 beq .L449
- 3420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
- 8865 .loc 1 3421 14
- 8866 001e FB68 ldr r3, [r7, #12]
- 8867 0020 5B6B ldr r3, [r3, #52]
- 8868 .loc 1 3421 22
- 8869 0022 1B6D ldr r3, [r3, #80]
- 8870 .loc 1 3421 8
- 8871 0024 002B cmp r3, #0
- 8872 0026 17D1 bne .L451
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 238
- 8873 .L449:
- 3422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
- 3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
- 3428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 8874 .loc 1 3428 22
- 8875 0028 FB68 ldr r3, [r7, #12]
- 8876 002a 0022 movs r2, #0
- 8877 002c DA84 strh r2, [r3, #38] @ movhi
- 3429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 8878 .loc 1 3429 22
- 8879 002e FB68 ldr r3, [r7, #12]
- 8880 0030 0022 movs r2, #0
- 8881 0032 DA85 strh r2, [r3, #46] @ movhi
- 3430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
- 3432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8882 .loc 1 3432 20
- 8883 0034 FB68 ldr r3, [r7, #12]
- 8884 0036 0022 movs r2, #0
- 8885 0038 1A64 str r2, [r3, #64]
- 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
- 3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 8886 .loc 1 3435 18
- 8887 003a FB68 ldr r3, [r7, #12]
- 8888 003c 2022 movs r2, #32
- 8889 003e 83F83D20 strb r2, [r3, #61]
- 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 8890 .loc 1 3436 18
- 8891 0042 FB68 ldr r3, [r7, #12]
- 8892 0044 2022 movs r2, #32
- 8893 0046 83F83E20 strb r2, [r3, #62]
- 3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 8894 .loc 1 3437 24
- 8895 004a FB68 ldr r3, [r7, #12]
- 8896 004c 0022 movs r2, #0
- 8897 004e 1A63 str r2, [r3, #48]
- 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
- 3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
- 3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
- 3443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
- 3445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
- 8898 .loc 1 3445 3
- 8899 0050 F868 ldr r0, [r7, #12]
- 8900 0052 FFF7FEFF bl HAL_UART_AbortCpltCallback
- 8901 0056 00E0 b .L448
- 8902 .L451:
- 3423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8903 .loc 1 3423 7
- 8904 0058 00BF nop
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 239
- 8905 .L448:
- 3446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8906 .loc 1 3447 1
- 8907 005a 1037 adds r7, r7, #16
- 8908 .LCFI297:
- 8909 .cfi_def_cfa_offset 8
- 8910 005c BD46 mov sp, r7
- 8911 .LCFI298:
- 8912 .cfi_def_cfa_register 13
- 8913 @ sp needed
- 8914 005e 80BD pop {r7, pc}
- 8915 .cfi_endproc
- 8916 .LFE289:
- 8918 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
- 8919 .align 1
- 8920 .syntax unified
- 8921 .thumb
- 8922 .thumb_func
- 8924 UART_DMATxOnlyAbortCallback:
- 8925 .LFB290:
- 3448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
- 3451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
- 3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
- 3453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
- 3454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
- 3459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8926 .loc 1 3459 1
- 8927 .cfi_startproc
- 8928 @ args = 0, pretend = 0, frame = 16
- 8929 @ frame_needed = 1, uses_anonymous_args = 0
- 8930 0000 80B5 push {r7, lr}
- 8931 .LCFI299:
- 8932 .cfi_def_cfa_offset 8
- 8933 .cfi_offset 7, -8
- 8934 .cfi_offset 14, -4
- 8935 0002 84B0 sub sp, sp, #16
- 8936 .LCFI300:
- 8937 .cfi_def_cfa_offset 24
- 8938 0004 00AF add r7, sp, #0
- 8939 .LCFI301:
- 8940 .cfi_def_cfa_register 7
- 8941 0006 7860 str r0, [r7, #4]
- 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 8942 .loc 1 3460 23
- 8943 0008 7B68 ldr r3, [r7, #4]
- 8944 000a 9B6B ldr r3, [r3, #56]
- 8945 000c FB60 str r3, [r7, #12]
- 3461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
- 8946 .loc 1 3462 22
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 240
- 8947 000e FB68 ldr r3, [r7, #12]
- 8948 0010 0022 movs r2, #0
- 8949 0012 DA84 strh r2, [r3, #38] @ movhi
- 3463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
- 3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 8950 .loc 1 3465 17
- 8951 0014 FB68 ldr r3, [r7, #12]
- 8952 0016 2022 movs r2, #32
- 8953 0018 83F83D20 strb r2, [r3, #61]
- 3466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
- 3468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
- 3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
- 3471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
- 3473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
- 8954 .loc 1 3473 3
- 8955 001c F868 ldr r0, [r7, #12]
- 8956 001e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
- 3474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 8957 .loc 1 3475 1
- 8958 0022 00BF nop
- 8959 0024 1037 adds r7, r7, #16
- 8960 .LCFI302:
- 8961 .cfi_def_cfa_offset 8
- 8962 0026 BD46 mov sp, r7
- 8963 .LCFI303:
- 8964 .cfi_def_cfa_register 13
- 8965 @ sp needed
- 8966 0028 80BD pop {r7, pc}
- 8967 .cfi_endproc
- 8968 .LFE290:
- 8970 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
- 8971 .align 1
- 8972 .syntax unified
- 8973 .thumb
- 8974 .thumb_func
- 8976 UART_DMARxOnlyAbortCallback:
- 8977 .LFB291:
- 3476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
- 3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
- 3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
- 3481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
- 3482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
- 3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
- 3484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
- 3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 8978 .loc 1 3487 1
- 8979 .cfi_startproc
- 8980 @ args = 0, pretend = 0, frame = 16
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 241
- 8981 @ frame_needed = 1, uses_anonymous_args = 0
- 8982 0000 80B5 push {r7, lr}
- 8983 .LCFI304:
- 8984 .cfi_def_cfa_offset 8
- 8985 .cfi_offset 7, -8
- 8986 .cfi_offset 14, -4
- 8987 0002 84B0 sub sp, sp, #16
- 8988 .LCFI305:
- 8989 .cfi_def_cfa_offset 24
- 8990 0004 00AF add r7, sp, #0
- 8991 .LCFI306:
- 8992 .cfi_def_cfa_register 7
- 8993 0006 7860 str r0, [r7, #4]
- 3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
- 8994 .loc 1 3488 23
- 8995 0008 7B68 ldr r3, [r7, #4]
- 8996 000a 9B6B ldr r3, [r3, #56]
- 8997 000c FB60 str r3, [r7, #12]
- 3489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
- 8998 .loc 1 3490 22
- 8999 000e FB68 ldr r3, [r7, #12]
- 9000 0010 0022 movs r2, #0
- 9001 0012 DA85 strh r2, [r3, #46] @ movhi
- 3491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
- 3493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 9002 .loc 1 3493 18
- 9003 0014 FB68 ldr r3, [r7, #12]
- 9004 0016 2022 movs r2, #32
- 9005 0018 83F83E20 strb r2, [r3, #62]
- 3494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 9006 .loc 1 3494 24
- 9007 001c FB68 ldr r3, [r7, #12]
- 9008 001e 0022 movs r2, #0
- 9009 0020 1A63 str r2, [r3, #48]
- 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
- 3497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
- 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
- 3500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
- 3502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
- 9010 .loc 1 3502 3
- 9011 0022 F868 ldr r0, [r7, #12]
- 9012 0024 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
- 3503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 9013 .loc 1 3504 1
- 9014 0028 00BF nop
- 9015 002a 1037 adds r7, r7, #16
- 9016 .LCFI307:
- 9017 .cfi_def_cfa_offset 8
- 9018 002c BD46 mov sp, r7
- 9019 .LCFI308:
- 9020 .cfi_def_cfa_register 13
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 242
- 9021 @ sp needed
- 9022 002e 80BD pop {r7, pc}
- 9023 .cfi_endproc
- 9024 .LFE291:
- 9026 .section .text.UART_Transmit_IT,"ax",%progbits
- 9027 .align 1
- 9028 .syntax unified
- 9029 .thumb
- 9030 .thumb_func
- 9032 UART_Transmit_IT:
- 9033 .LFB292:
- 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
- 3508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 3509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
- 3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 9034 .loc 1 3513 1
- 9035 .cfi_startproc
- 9036 @ args = 0, pretend = 0, frame = 16
- 9037 @ frame_needed = 1, uses_anonymous_args = 0
- 9038 @ link register save eliminated.
- 9039 0000 80B4 push {r7}
- 9040 .LCFI309:
- 9041 .cfi_def_cfa_offset 4
- 9042 .cfi_offset 7, -4
- 9043 0002 85B0 sub sp, sp, #20
- 9044 .LCFI310:
- 9045 .cfi_def_cfa_offset 24
- 9046 0004 00AF add r7, sp, #0
- 9047 .LCFI311:
- 9048 .cfi_def_cfa_register 7
- 9049 0006 7860 str r0, [r7, #4]
- 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *tmp;
- 3515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
- 3517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
- 9050 .loc 1 3517 12
- 9051 0008 7B68 ldr r3, [r7, #4]
- 9052 000a 93F83D30 ldrb r3, [r3, #61]
- 9053 000e DBB2 uxtb r3, r3
- 9054 .loc 1 3517 6
- 9055 0010 212B cmp r3, #33
- 9056 0012 3ED1 bne .L455
- 3518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 9057 .loc 1 3519 21
- 9058 0014 7B68 ldr r3, [r7, #4]
- 9059 0016 9B68 ldr r3, [r3, #8]
- 9060 .loc 1 3519 8
- 9061 0018 B3F5805F cmp r3, #4096
- 9062 001c 14D1 bne .L456
- 9063 .loc 1 3519 71 discriminator 1
- 9064 001e 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 243
- 9065 0020 1B69 ldr r3, [r3, #16]
- 9066 .loc 1 3519 56 discriminator 1
- 9067 0022 002B cmp r3, #0
- 9068 0024 10D1 bne .L456
- 3520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr;
- 9069 .loc 1 3521 11
- 9070 0026 7B68 ldr r3, [r7, #4]
- 9071 0028 1B6A ldr r3, [r3, #32]
- 9072 002a FB60 str r3, [r7, #12]
- 3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
- 9073 .loc 1 3522 40
- 9074 002c FB68 ldr r3, [r7, #12]
- 9075 002e 1B88 ldrh r3, [r3]
- 9076 .loc 1 3522 29
- 9077 0030 1A46 mov r2, r3
- 9078 .loc 1 3522 12
- 9079 0032 7B68 ldr r3, [r7, #4]
- 9080 0034 1B68 ldr r3, [r3]
- 9081 .loc 1 3522 29
- 9082 0036 C2F30802 ubfx r2, r2, #0, #9
- 9083 .loc 1 3522 27
- 9084 003a 5A60 str r2, [r3, #4]
- 3523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
- 9085 .loc 1 3523 25
- 9086 003c 7B68 ldr r3, [r7, #4]
- 9087 003e 1B6A ldr r3, [r3, #32]
- 9088 0040 9A1C adds r2, r3, #2
- 9089 0042 7B68 ldr r3, [r7, #4]
- 9090 0044 1A62 str r2, [r3, #32]
- 9091 0046 08E0 b .L457
- 9092 .L456:
- 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0x00FF);
- 9093 .loc 1 3527 45
- 9094 0048 7B68 ldr r3, [r7, #4]
- 9095 004a 1B6A ldr r3, [r3, #32]
- 9096 .loc 1 3527 57
- 9097 004c 591C adds r1, r3, #1
- 9098 004e 7A68 ldr r2, [r7, #4]
- 9099 0050 1162 str r1, [r2, #32]
- 9100 .loc 1 3527 39
- 9101 0052 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 9102 .loc 1 3527 12
- 9103 0054 7B68 ldr r3, [r7, #4]
- 9104 0056 1B68 ldr r3, [r3]
- 9105 .loc 1 3527 27
- 9106 0058 5A60 str r2, [r3, #4]
- 9107 .L457:
- 3528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->TxXferCount == 0U)
- 9108 .loc 1 3530 16
- 9109 005a 7B68 ldr r3, [r7, #4]
- 9110 005c DB8C ldrh r3, [r3, #38] @ movhi
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 244
- 9111 005e 9BB2 uxth r3, r3
- 9112 .loc 1 3530 9
- 9113 0060 013B subs r3, r3, #1
- 9114 0062 9BB2 uxth r3, r3
- 9115 .loc 1 3530 8
- 9116 0064 7A68 ldr r2, [r7, #4]
- 9117 0066 1946 mov r1, r3 @ movhi
- 9118 0068 D184 strh r1, [r2, #38] @ movhi
- 9119 006a 002B cmp r3, #0
- 9120 006c 0FD1 bne .L458
- 3531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
- 3533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
- 9121 .loc 1 3533 7
- 9122 006e 7B68 ldr r3, [r7, #4]
- 9123 0070 1B68 ldr r3, [r3]
- 9124 0072 DA68 ldr r2, [r3, #12]
- 9125 0074 7B68 ldr r3, [r7, #4]
- 9126 0076 1B68 ldr r3, [r3]
- 9127 0078 22F08002 bic r2, r2, #128
- 9128 007c DA60 str r2, [r3, #12]
- 3534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
- 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TC);
- 9129 .loc 1 3536 7
- 9130 007e 7B68 ldr r3, [r7, #4]
- 9131 0080 1B68 ldr r3, [r3]
- 9132 0082 DA68 ldr r2, [r3, #12]
- 9133 0084 7B68 ldr r3, [r7, #4]
- 9134 0086 1B68 ldr r3, [r3]
- 9135 0088 42F04002 orr r2, r2, #64
- 9136 008c DA60 str r2, [r3, #12]
- 9137 .L458:
- 3537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 9138 .loc 1 3538 12
- 9139 008e 0023 movs r3, #0
- 9140 0090 00E0 b .L459
- 9141 .L455:
- 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 9142 .loc 1 3542 12
- 9143 0092 0223 movs r3, #2
- 9144 .L459:
- 3543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 9145 .loc 1 3544 1
- 9146 0094 1846 mov r0, r3
- 9147 0096 1437 adds r7, r7, #20
- 9148 .LCFI312:
- 9149 .cfi_def_cfa_offset 4
- 9150 0098 BD46 mov sp, r7
- 9151 .LCFI313:
- 9152 .cfi_def_cfa_register 13
- 9153 @ sp needed
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 245
- 9154 009a 5DF8047B ldr r7, [sp], #4
- 9155 .LCFI314:
- 9156 .cfi_restore 7
- 9157 .cfi_def_cfa_offset 0
- 9158 009e 7047 bx lr
- 9159 .cfi_endproc
- 9160 .LFE292:
- 9162 .section .text.UART_EndTransmit_IT,"ax",%progbits
- 9163 .align 1
- 9164 .syntax unified
- 9165 .thumb
- 9166 .thumb_func
- 9168 UART_EndTransmit_IT:
- 9169 .LFB293:
- 3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Wraps up transmission in non blocking mode.
- 3548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 3549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 3550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 3551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
- 3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 9170 .loc 1 3553 1
- 9171 .cfi_startproc
- 9172 @ args = 0, pretend = 0, frame = 8
- 9173 @ frame_needed = 1, uses_anonymous_args = 0
- 9174 0000 80B5 push {r7, lr}
- 9175 .LCFI315:
- 9176 .cfi_def_cfa_offset 8
- 9177 .cfi_offset 7, -8
- 9178 .cfi_offset 14, -4
- 9179 0002 82B0 sub sp, sp, #8
- 9180 .LCFI316:
- 9181 .cfi_def_cfa_offset 16
- 9182 0004 00AF add r7, sp, #0
- 9183 .LCFI317:
- 9184 .cfi_def_cfa_register 7
- 9185 0006 7860 str r0, [r7, #4]
- 3554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
- 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TC);
- 9186 .loc 1 3555 3
- 9187 0008 7B68 ldr r3, [r7, #4]
- 9188 000a 1B68 ldr r3, [r3]
- 9189 000c DA68 ldr r2, [r3, #12]
- 9190 000e 7B68 ldr r3, [r7, #4]
- 9191 0010 1B68 ldr r3, [r3]
- 9192 0012 22F04002 bic r2, r2, #64
- 9193 0016 DA60 str r2, [r3, #12]
- 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
- 3558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
- 9194 .loc 1 3558 17
- 9195 0018 7B68 ldr r3, [r7, #4]
- 9196 001a 2022 movs r2, #32
- 9197 001c 83F83D20 strb r2, [r3, #61]
- 3559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 246
- 3560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
- 3562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
- 3563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
- 3565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
- 9198 .loc 1 3565 3
- 9199 0020 7868 ldr r0, [r7, #4]
- 9200 0022 FFF7FEFF bl HAL_UART_TxCpltCallback
- 3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 9201 .loc 1 3568 10
- 9202 0026 0023 movs r3, #0
- 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 9203 .loc 1 3569 1
- 9204 0028 1846 mov r0, r3
- 9205 002a 0837 adds r7, r7, #8
- 9206 .LCFI318:
- 9207 .cfi_def_cfa_offset 8
- 9208 002c BD46 mov sp, r7
- 9209 .LCFI319:
- 9210 .cfi_def_cfa_register 13
- 9211 @ sp needed
- 9212 002e 80BD pop {r7, pc}
- 9213 .cfi_endproc
- 9214 .LFE293:
- 9216 .section .text.UART_Receive_IT,"ax",%progbits
- 9217 .align 1
- 9218 .syntax unified
- 9219 .thumb
- 9220 .thumb_func
- 9222 UART_Receive_IT:
- 9223 .LFB294:
- 3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode
- 3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 3575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
- 3576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
- 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 9224 .loc 1 3578 1
- 9225 .cfi_startproc
- 9226 @ args = 0, pretend = 0, frame = 48
- 9227 @ frame_needed = 1, uses_anonymous_args = 0
- 9228 0000 80B5 push {r7, lr}
- 9229 .LCFI320:
- 9230 .cfi_def_cfa_offset 8
- 9231 .cfi_offset 7, -8
- 9232 .cfi_offset 14, -4
- 9233 0002 8CB0 sub sp, sp, #48
- 9234 .LCFI321:
- 9235 .cfi_def_cfa_offset 56
- 9236 0004 00AF add r7, sp, #0
- 9237 .LCFI322:
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 247
- 9238 .cfi_def_cfa_register 7
- 9239 0006 7860 str r0, [r7, #4]
- 3579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
- 3580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
- 3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
- 3583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
- 9240 .loc 1 3583 12
- 9241 0008 7B68 ldr r3, [r7, #4]
- 9242 000a 93F83E30 ldrb r3, [r3, #62]
- 9243 000e DBB2 uxtb r3, r3
- 9244 .loc 1 3583 6
- 9245 0010 222B cmp r3, #34
- 9246 0012 40F0AB80 bne .L463
- 3584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 9247 .loc 1 3585 21
- 9248 0016 7B68 ldr r3, [r7, #4]
- 9249 0018 9B68 ldr r3, [r3, #8]
- 9250 .loc 1 3585 8
- 9251 001a B3F5805F cmp r3, #4096
- 9252 001e 17D1 bne .L464
- 9253 .loc 1 3585 71 discriminator 1
- 9254 0020 7B68 ldr r3, [r7, #4]
- 9255 0022 1B69 ldr r3, [r3, #16]
- 9256 .loc 1 3585 56 discriminator 1
- 9257 0024 002B cmp r3, #0
- 9258 0026 13D1 bne .L464
- 3586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
- 9259 .loc 1 3587 19
- 9260 0028 0023 movs r3, #0
- 9261 002a FB62 str r3, [r7, #44]
- 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) huart->pRxBuffPtr;
- 9262 .loc 1 3588 19
- 9263 002c 7B68 ldr r3, [r7, #4]
- 9264 002e 9B6A ldr r3, [r3, #40]
- 9265 0030 BB62 str r3, [r7, #40]
- 3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
- 9266 .loc 1 3589 38
- 9267 0032 7B68 ldr r3, [r7, #4]
- 9268 0034 1B68 ldr r3, [r3]
- 9269 .loc 1 3589 48
- 9270 0036 5B68 ldr r3, [r3, #4]
- 9271 .loc 1 3589 22
- 9272 0038 9BB2 uxth r3, r3
- 9273 003a C3F30803 ubfx r3, r3, #0, #9
- 9274 003e 9AB2 uxth r2, r3
- 9275 .loc 1 3589 20
- 9276 0040 BB6A ldr r3, [r7, #40]
- 9277 0042 1A80 strh r2, [r3] @ movhi
- 3590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
- 9278 .loc 1 3590 25
- 9279 0044 7B68 ldr r3, [r7, #4]
- 9280 0046 9B6A ldr r3, [r3, #40]
- 9281 0048 9A1C adds r2, r3, #2
- 9282 004a 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 248
- 9283 004c 9A62 str r2, [r3, #40]
- 9284 004e 26E0 b .L465
- 9285 .L464:
- 3591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = (uint8_t *) huart->pRxBuffPtr;
- 9286 .loc 1 3594 18
- 9287 0050 7B68 ldr r3, [r7, #4]
- 9288 0052 9B6A ldr r3, [r3, #40]
- 9289 0054 FB62 str r3, [r7, #44]
- 3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
- 9290 .loc 1 3595 20
- 9291 0056 0023 movs r3, #0
- 9292 0058 BB62 str r3, [r7, #40]
- 3596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORDLE
- 9293 .loc 1 3597 23
- 9294 005a 7B68 ldr r3, [r7, #4]
- 9295 005c 9B68 ldr r3, [r3, #8]
- 9296 .loc 1 3597 10
- 9297 005e B3F5805F cmp r3, #4096
- 9298 0062 07D0 beq .L466
- 9299 .loc 1 3597 74 discriminator 1
- 9300 0064 7B68 ldr r3, [r7, #4]
- 9301 0066 9B68 ldr r3, [r3, #8]
- 9302 .loc 1 3597 58 discriminator 1
- 9303 0068 002B cmp r3, #0
- 9304 006a 0AD1 bne .L467
- 9305 .loc 1 3597 124 discriminator 2
- 9306 006c 7B68 ldr r3, [r7, #4]
- 9307 006e 1B69 ldr r3, [r3, #16]
- 9308 .loc 1 3597 109 discriminator 2
- 9309 0070 002B cmp r3, #0
- 9310 0072 06D1 bne .L467
- 9311 .L466:
- 3598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
- 9312 .loc 1 3599 38
- 9313 0074 7B68 ldr r3, [r7, #4]
- 9314 0076 1B68 ldr r3, [r3]
- 9315 .loc 1 3599 48
- 9316 0078 5B68 ldr r3, [r3, #4]
- 9317 .loc 1 3599 23
- 9318 007a DAB2 uxtb r2, r3
- 9319 .loc 1 3599 21
- 9320 007c FB6A ldr r3, [r7, #44]
- 9321 007e 1A70 strb r2, [r3]
- 9322 0080 08E0 b .L468
- 9323 .L467:
- 3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
- 9324 .loc 1 3603 38
- 9325 0082 7B68 ldr r3, [r7, #4]
- 9326 0084 1B68 ldr r3, [r3]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 249
- 9327 .loc 1 3603 48
- 9328 0086 5B68 ldr r3, [r3, #4]
- 9329 .loc 1 3603 23
- 9330 0088 DBB2 uxtb r3, r3
- 9331 008a 03F07F03 and r3, r3, #127
- 9332 008e DAB2 uxtb r2, r3
- 9333 .loc 1 3603 21
- 9334 0090 FB6A ldr r3, [r7, #44]
- 9335 0092 1A70 strb r2, [r3]
- 9336 .L468:
- 3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
- 9337 .loc 1 3605 25
- 9338 0094 7B68 ldr r3, [r7, #4]
- 9339 0096 9B6A ldr r3, [r3, #40]
- 9340 0098 5A1C adds r2, r3, #1
- 9341 009a 7B68 ldr r3, [r7, #4]
- 9342 009c 9A62 str r2, [r3, #40]
- 9343 .L465:
- 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->RxXferCount == 0U)
- 9344 .loc 1 3608 16
- 9345 009e 7B68 ldr r3, [r7, #4]
- 9346 00a0 DB8D ldrh r3, [r3, #46] @ movhi
- 9347 00a2 9BB2 uxth r3, r3
- 9348 .loc 1 3608 9
- 9349 00a4 013B subs r3, r3, #1
- 9350 00a6 9BB2 uxth r3, r3
- 9351 .loc 1 3608 8
- 9352 00a8 7A68 ldr r2, [r7, #4]
- 9353 00aa 1946 mov r1, r3 @ movhi
- 9354 00ac D185 strh r1, [r2, #46] @ movhi
- 9355 00ae 002B cmp r3, #0
- 9356 00b0 5AD1 bne .L469
- 3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Data Register not empty Interrupt */
- 3611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
- 9357 .loc 1 3611 7
- 9358 00b2 7B68 ldr r3, [r7, #4]
- 9359 00b4 1B68 ldr r3, [r3]
- 9360 00b6 DA68 ldr r2, [r3, #12]
- 9361 00b8 7B68 ldr r3, [r7, #4]
- 9362 00ba 1B68 ldr r3, [r3]
- 9363 00bc 22F02002 bic r2, r2, #32
- 9364 00c0 DA60 str r2, [r3, #12]
- 3612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt */
- 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_PE);
- 9365 .loc 1 3614 7
- 9366 00c2 7B68 ldr r3, [r7, #4]
- 9367 00c4 1B68 ldr r3, [r3]
- 9368 00c6 DA68 ldr r2, [r3, #12]
- 9369 00c8 7B68 ldr r3, [r7, #4]
- 9370 00ca 1B68 ldr r3, [r3]
- 9371 00cc 22F48072 bic r2, r2, #256
- 9372 00d0 DA60 str r2, [r3, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 250
- 3615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
- 3617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
- 9373 .loc 1 3617 7
- 9374 00d2 7B68 ldr r3, [r7, #4]
- 9375 00d4 1B68 ldr r3, [r3]
- 9376 00d6 5A69 ldr r2, [r3, #20]
- 9377 00d8 7B68 ldr r3, [r7, #4]
- 9378 00da 1B68 ldr r3, [r3]
- 9379 00dc 22F00102 bic r2, r2, #1
- 9380 00e0 5A61 str r2, [r3, #20]
- 3618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
- 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
- 9381 .loc 1 3620 22
- 9382 00e2 7B68 ldr r3, [r7, #4]
- 9383 00e4 2022 movs r2, #32
- 9384 00e6 83F83E20 strb r2, [r3, #62]
- 3621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
- 3623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
- 3624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
- 9385 .loc 1 3624 16
- 9386 00ea 7B68 ldr r3, [r7, #4]
- 9387 00ec 1B6B ldr r3, [r3, #48]
- 9388 .loc 1 3624 10
- 9389 00ee 012B cmp r3, #1
- 9390 00f0 35D1 bne .L470
- 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set reception type to Standard */
- 3627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
- 9391 .loc 1 3627 30
- 9392 00f2 7B68 ldr r3, [r7, #4]
- 9393 00f4 0022 movs r2, #0
- 9394 00f6 1A63 str r2, [r3, #48]
- 9395 .L473:
- 9396 .LBB635:
- 3628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable IDLE interrupt */
- 3630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
- 9397 .loc 1 3630 9 discriminator 1
- 9398 00f8 7B68 ldr r3, [r7, #4]
- 9399 00fa 1B68 ldr r3, [r3]
- 9400 00fc 0C33 adds r3, r3, #12
- 9401 00fe 7B61 str r3, [r7, #20]
- 9402 .LBB636:
- 9403 .LBB637:
- 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9404 .loc 2 1072 4 discriminator 1
- 9405 0100 7B69 ldr r3, [r7, #20]
- 9406 .syntax unified
- 9407 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9408 0102 53E8003F ldrex r3, [r3]
- 9409 @ 0 "" 2
- 9410 .thumb
- 9411 .syntax unified
- 9412 0106 3B61 str r3, [r7, #16]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 251
- 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
- 9413 .loc 2 1073 10 discriminator 1
- 9414 0108 3B69 ldr r3, [r7, #16]
- 9415 .LBE637:
- 9416 .LBE636:
- 9417 .loc 1 3630 9 discriminator 1
- 9418 010a 23F01003 bic r3, r3, #16
- 9419 010e 7B62 str r3, [r7, #36]
- 9420 0110 7B68 ldr r3, [r7, #4]
- 9421 0112 1B68 ldr r3, [r3]
- 9422 0114 0C33 adds r3, r3, #12
- 9423 0116 7A6A ldr r2, [r7, #36]
- 9424 0118 3A62 str r2, [r7, #32]
- 9425 011a FB61 str r3, [r7, #28]
- 9426 .LBB638:
- 9427 .LBB639:
- 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
- 9428 .loc 2 1123 4 discriminator 1
- 9429 011c F969 ldr r1, [r7, #28]
- 9430 011e 3A6A ldr r2, [r7, #32]
- 9431 .syntax unified
- 9432 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
- 9433 0120 41E80023 strex r3, r2, [r1]
- 9434 @ 0 "" 2
- 9435 .thumb
- 9436 .syntax unified
- 9437 0124 BB61 str r3, [r7, #24]
- 9438 .loc 2 1124 10 discriminator 1
- 9439 0126 BB69 ldr r3, [r7, #24]
- 9440 .LBE639:
- 9441 .LBE638:
- 9442 .loc 1 3630 9 discriminator 1
- 9443 0128 002B cmp r3, #0
- 9444 012a E5D1 bne .L473
- 9445 .LBE635:
- 3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */
- 3633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE))
- 9446 .loc 1 3633 13
- 9447 012c 7B68 ldr r3, [r7, #4]
- 9448 012e 1B68 ldr r3, [r3]
- 9449 0130 1B68 ldr r3, [r3]
- 9450 0132 03F01003 and r3, r3, #16
- 9451 .loc 1 3633 12
- 9452 0136 102B cmp r3, #16
- 9453 0138 0AD1 bne .L474
- 9454 .LBB640:
- 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */
- 3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
- 9455 .loc 1 3636 11
- 9456 013a 0023 movs r3, #0
- 9457 013c FB60 str r3, [r7, #12]
- 9458 013e 7B68 ldr r3, [r7, #4]
- 9459 0140 1B68 ldr r3, [r3]
- 9460 0142 1B68 ldr r3, [r3]
- 9461 0144 FB60 str r3, [r7, #12]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 252
- 9462 0146 7B68 ldr r3, [r7, #4]
- 9463 0148 1B68 ldr r3, [r3]
- 9464 014a 5B68 ldr r3, [r3, #4]
- 9465 014c FB60 str r3, [r7, #12]
- 9466 014e FB68 ldr r3, [r7, #12]
- 9467 .L474:
- 9468 .LBE640:
- 3637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
- 3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
- 3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
- 3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
- 9469 .loc 1 3644 9
- 9470 0150 7B68 ldr r3, [r7, #4]
- 9471 0152 9B8D ldrh r3, [r3, #44]
- 9472 0154 1946 mov r1, r3
- 9473 0156 7868 ldr r0, [r7, #4]
- 9474 0158 FFF7FEFF bl HAL_UARTEx_RxEventCallback
- 9475 015c 02E0 b .L475
- 9476 .L470:
- 3645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Standard reception API called */
- 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
- 3651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
- 3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
- 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
- 3655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
- 9477 .loc 1 3655 9
- 9478 015e 7868 ldr r0, [r7, #4]
- 9479 0160 FFF7FEFF bl HAL_UART_RxCpltCallback
- 9480 .L475:
- 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
- 3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 9481 .loc 1 3659 14
- 9482 0164 0023 movs r3, #0
- 9483 0166 02E0 b .L476
- 9484 .L469:
- 3660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
- 9485 .loc 1 3661 12
- 9486 0168 0023 movs r3, #0
- 9487 016a 00E0 b .L476
- 9488 .L463:
- 3662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
- 9489 .loc 1 3665 12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 253
- 9490 016c 0223 movs r3, #2
- 9491 .L476:
- 3666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 9492 .loc 1 3667 1
- 9493 016e 1846 mov r0, r3
- 9494 0170 3037 adds r7, r7, #48
- 9495 .LCFI323:
- 9496 .cfi_def_cfa_offset 8
- 9497 0172 BD46 mov sp, r7
- 9498 .LCFI324:
- 9499 .cfi_def_cfa_register 13
- 9500 @ sp needed
- 9501 0174 80BD pop {r7, pc}
- 9502 .cfi_endproc
- 9503 .LFE294:
- 9505 .global __aeabi_uldivmod
- 9506 .section .text.UART_SetConfig,"ax",%progbits
- 9507 .align 1
- 9508 .syntax unified
- 9509 .thumb
- 9510 .thumb_func
- 9512 UART_SetConfig:
- 9513 .LFB295:
- 3668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
- 3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Configures the UART peripheral.
- 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
- 3672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
- 3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
- 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
- 3675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart)
- 3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 9514 .loc 1 3676 1
- 9515 .cfi_startproc
- 9516 @ args = 0, pretend = 0, frame = 256
- 9517 @ frame_needed = 1, uses_anonymous_args = 0
- 9518 0000 2DE9B04F push {r4, r5, r7, r8, r9, r10, fp, lr}
- 9519 .LCFI325:
- 9520 .cfi_def_cfa_offset 32
- 9521 .cfi_offset 4, -32
- 9522 .cfi_offset 5, -28
- 9523 .cfi_offset 7, -24
- 9524 .cfi_offset 8, -20
- 9525 .cfi_offset 9, -16
- 9526 .cfi_offset 10, -12
- 9527 .cfi_offset 11, -8
- 9528 .cfi_offset 14, -4
- 9529 0004 C0B0 sub sp, sp, #256
- 9530 .LCFI326:
- 9531 .cfi_def_cfa_offset 288
- 9532 0006 00AF add r7, sp, #0
- 9533 .LCFI327:
- 9534 .cfi_def_cfa_register 7
- 9535 0008 C7F8F400 str r0, [r7, #244]
- 3677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg;
- 3678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t pclk;
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 254
- 3679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
- 3681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
- 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
- 3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
- 3684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
- 3685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
- 3687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits
- 3688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** according to huart->Init.StopBits value */
- 3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
- 9536 .loc 1 3689 3
- 9537 000c D7F8F430 ldr r3, [r7, #244]
- 9538 0010 1B68 ldr r3, [r3]
- 9539 0012 1B69 ldr r3, [r3, #16]
- 9540 0014 23F44050 bic r0, r3, #12288
- 9541 0018 D7F8F430 ldr r3, [r7, #244]
- 9542 001c D968 ldr r1, [r3, #12]
- 9543 001e D7F8F430 ldr r3, [r7, #244]
- 9544 0022 1A68 ldr r2, [r3]
- 9545 0024 40EA0103 orr r3, r0, r1
- 9546 0028 1361 str r3, [r2, #16]
- 3690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
- 3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Word Length, Parity and mode:
- 3693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the M bits according to huart->Init.WordLength value
- 3694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set PCE and PS bits according to huart->Init.Parity value
- 3695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set TE and RE bits according to huart->Init.Mode value
- 3696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set OVER8 bit according to huart->Init.OverSampling value */
- 3697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
- 9547 .loc 1 3698 33
- 9548 002a D7F8F430 ldr r3, [r7, #244]
- 9549 002e 9A68 ldr r2, [r3, #8]
- 9550 .loc 1 3698 58
- 9551 0030 D7F8F430 ldr r3, [r7, #244]
- 9552 0034 1B69 ldr r3, [r3, #16]
- 9553 .loc 1 3698 45
- 9554 0036 1A43 orrs r2, r2, r3
- 9555 .loc 1 3698 79
- 9556 0038 D7F8F430 ldr r3, [r7, #244]
- 9557 003c 5B69 ldr r3, [r3, #20]
- 9558 .loc 1 3698 66
- 9559 003e 1A43 orrs r2, r2, r3
- 9560 .loc 1 3698 98
- 9561 0040 D7F8F430 ldr r3, [r7, #244]
- 9562 0044 DB69 ldr r3, [r3, #28]
- 9563 .loc 1 3698 10
- 9564 0046 1343 orrs r3, r3, r2
- 9565 0048 C7F8F830 str r3, [r7, #248]
- 3699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
- 9566 .loc 1 3699 3
- 9567 004c D7F8F430 ldr r3, [r7, #244]
- 9568 0050 1B68 ldr r3, [r3]
- 9569 0052 DB68 ldr r3, [r3, #12]
- 9570 0054 23F41641 bic r1, r3, #38400
- 9571 0058 21F00C01 bic r1, r1, #12
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 255
- 9572 005c D7F8F430 ldr r3, [r7, #244]
- 9573 0060 1A68 ldr r2, [r3]
- 9574 0062 D7F8F830 ldr r3, [r7, #248]
- 9575 0066 0B43 orrs r3, r3, r1
- 9576 0068 D360 str r3, [r2, #12]
- 3700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE |
- 3701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg);
- 3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
- 3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART HFC: Set CTSE and RTSE bits according to huart->Init.HwFlowCtl value */
- 3705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE), huart->Init.HwFlowCtl);
- 9577 .loc 1 3705 3
- 9578 006a D7F8F430 ldr r3, [r7, #244]
- 9579 006e 1B68 ldr r3, [r3]
- 9580 0070 5B69 ldr r3, [r3, #20]
- 9581 0072 23F44070 bic r0, r3, #768
- 9582 0076 D7F8F430 ldr r3, [r7, #244]
- 9583 007a 9969 ldr r1, [r3, #24]
- 9584 007c D7F8F430 ldr r3, [r7, #244]
- 9585 0080 1A68 ldr r2, [r3]
- 9586 0082 40EA0103 orr r3, r0, r1
- 9587 0086 5361 str r3, [r2, #20]
- 3706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
- 3708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6) && defined(UART9) && defined(UART10)
- 3709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6) || (huart->Instance == UART9) ||
- 3710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
- 3712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #elif defined(USART6)
- 3714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6))
- 9588 .loc 1 3714 15
- 9589 0088 D7F8F430 ldr r3, [r7, #244]
- 9590 008c 1A68 ldr r2, [r3]
- 9591 .loc 1 3714 8
- 9592 008e 8F4B ldr r3, .L484
- 9593 0090 9A42 cmp r2, r3
- 9594 0092 05D0 beq .L478
- 9595 .loc 1 3714 46 discriminator 1
- 9596 0094 D7F8F430 ldr r3, [r7, #244]
- 9597 0098 1A68 ldr r2, [r3]
- 9598 .loc 1 3714 37 discriminator 1
- 9599 009a 8D4B ldr r3, .L484+4
- 9600 009c 9A42 cmp r2, r3
- 9601 009e 04D1 bne .L479
- 9602 .L478:
- 3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
- 9603 .loc 1 3716 14
- 9604 00a0 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
- 9605 00a4 C7F8FC00 str r0, [r7, #252]
- 9606 .loc 1 3716 12
- 9607 00a8 03E0 b .L480
- 9608 .L479:
- 3717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
- 3719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Instance == USART1)
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 256
- 3720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
- 3722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */
- 3724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
- 9609 .loc 1 3726 14
- 9610 00aa FFF7FEFF bl HAL_RCC_GetPCLK1Freq
- 9611 00ae C7F8FC00 str r0, [r7, #252]
- 9612 .L480:
- 3727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
- 3729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
- 9613 .loc 1 3729 18
- 9614 00b2 D7F8F430 ldr r3, [r7, #244]
- 9615 00b6 DB69 ldr r3, [r3, #28]
- 9616 .loc 1 3729 6
- 9617 00b8 B3F5004F cmp r3, #32768
- 9618 00bc 40F00C81 bne .L481
- 3730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(pclk, huart->Init.BaudRate);
- 9619 .loc 1 3731 28
- 9620 00c0 D7F8FC30 ldr r3, [r7, #252]
- 9621 00c4 0022 movs r2, #0
- 9622 00c6 C7F8E830 str r3, [r7, #232]
- 9623 00ca C7F8EC20 str r2, [r7, #236]
- 9624 00ce D7E93A45 ldrd r4, [r7, #232]
- 9625 00d2 2246 mov r2, r4
- 9626 00d4 2B46 mov r3, r5
- 9627 00d6 9118 adds r1, r2, r2
- 9628 00d8 B965 str r1, [r7, #88]
- 9629 00da 5B41 adcs r3, r3, r3
- 9630 00dc FB65 str r3, [r7, #92]
- 9631 00de D7E91623 ldrd r2, [r7, #88]
- 9632 00e2 2146 mov r1, r4
- 9633 00e4 12EB0108 adds r8, r2, r1
- 9634 00e8 2946 mov r1, r5
- 9635 00ea 43EB0109 adc r9, r3, r1
- 9636 00ee 4FF00002 mov r2, #0
- 9637 00f2 4FF00003 mov r3, #0
- 9638 00f6 4FEAC903 lsl r3, r9, #3
- 9639 00fa 43EA5873 orr r3, r3, r8, lsr #29
- 9640 00fe 4FEAC802 lsl r2, r8, #3
- 9641 0102 9046 mov r8, r2
- 9642 0104 9946 mov r9, r3
- 9643 0106 2346 mov r3, r4
- 9644 0108 18EB0303 adds r3, r8, r3
- 9645 010c C7F8E030 str r3, [r7, #224]
- 9646 0110 2B46 mov r3, r5
- 9647 0112 49EB0303 adc r3, r9, r3
- 9648 0116 C7F8E430 str r3, [r7, #228]
- 9649 011a D7F8F430 ldr r3, [r7, #244]
- 9650 011e 5B68 ldr r3, [r3, #4]
- 9651 0120 0022 movs r2, #0
- 9652 0122 C7F8D830 str r3, [r7, #216]
- 9653 0126 C7F8DC20 str r2, [r7, #220]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 257
- 9654 012a D7E93612 ldrd r1, [r7, #216]
- 9655 012e 0B46 mov r3, r1
- 9656 0130 DB18 adds r3, r3, r3
- 9657 0132 3B65 str r3, [r7, #80]
- 9658 0134 1346 mov r3, r2
- 9659 0136 42EB0303 adc r3, r2, r3
- 9660 013a 7B65 str r3, [r7, #84]
- 9661 013c D7E91423 ldrd r2, [r7, #80]
- 9662 0140 D7E93801 ldrd r0, [r7, #224]
- 9663 0144 FFF7FEFF bl __aeabi_uldivmod
- 9664 0148 0246 mov r2, r0
- 9665 014a 0B46 mov r3, r1
- 9666 014c 614B ldr r3, .L484+8
- 9667 014e A3FB0223 umull r2, r3, r3, r2
- 9668 0152 5B09 lsrs r3, r3, #5
- 9669 0154 1C01 lsls r4, r3, #4
- 9670 0156 D7F8FC30 ldr r3, [r7, #252]
- 9671 015a 0022 movs r2, #0
- 9672 015c C7F8D030 str r3, [r7, #208]
- 9673 0160 C7F8D420 str r2, [r7, #212]
- 9674 0164 D7E93489 ldrd r8, [r7, #208]
- 9675 0168 4246 mov r2, r8
- 9676 016a 4B46 mov r3, r9
- 9677 016c 9118 adds r1, r2, r2
- 9678 016e B964 str r1, [r7, #72]
- 9679 0170 5B41 adcs r3, r3, r3
- 9680 0172 FB64 str r3, [r7, #76]
- 9681 0174 D7E91223 ldrd r2, [r7, #72]
- 9682 0178 4146 mov r1, r8
- 9683 017a 12EB010A adds r10, r2, r1
- 9684 017e 4946 mov r1, r9
- 9685 0180 43EB010B adc fp, r3, r1
- 9686 0184 4FF00002 mov r2, #0
- 9687 0188 4FF00003 mov r3, #0
- 9688 018c 4FEACB03 lsl r3, fp, #3
- 9689 0190 43EA5A73 orr r3, r3, r10, lsr #29
- 9690 0194 4FEACA02 lsl r2, r10, #3
- 9691 0198 9246 mov r10, r2
- 9692 019a 9B46 mov fp, r3
- 9693 019c 4346 mov r3, r8
- 9694 019e 1AEB0303 adds r3, r10, r3
- 9695 01a2 C7F8C830 str r3, [r7, #200]
- 9696 01a6 4B46 mov r3, r9
- 9697 01a8 4BEB0303 adc r3, fp, r3
- 9698 01ac C7F8CC30 str r3, [r7, #204]
- 9699 01b0 D7F8F430 ldr r3, [r7, #244]
- 9700 01b4 5B68 ldr r3, [r3, #4]
- 9701 01b6 0022 movs r2, #0
- 9702 01b8 C7F8C030 str r3, [r7, #192]
- 9703 01bc C7F8C420 str r2, [r7, #196]
- 9704 01c0 D7E93012 ldrd r1, [r7, #192]
- 9705 01c4 0B46 mov r3, r1
- 9706 01c6 DB18 adds r3, r3, r3
- 9707 01c8 3B64 str r3, [r7, #64]
- 9708 01ca 1346 mov r3, r2
- 9709 01cc 42EB0303 adc r3, r2, r3
- 9710 01d0 7B64 str r3, [r7, #68]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 258
- 9711 01d2 D7E91023 ldrd r2, [r7, #64]
- 9712 01d6 D7E93201 ldrd r0, [r7, #200]
- 9713 01da FFF7FEFF bl __aeabi_uldivmod
- 9714 01de 0246 mov r2, r0
- 9715 01e0 0B46 mov r3, r1
- 9716 01e2 1146 mov r1, r2
- 9717 01e4 3B4B ldr r3, .L484+8
- 9718 01e6 A3FB0123 umull r2, r3, r3, r1
- 9719 01ea 5B09 lsrs r3, r3, #5
- 9720 01ec 6422 movs r2, #100
- 9721 01ee 02FB03F3 mul r3, r2, r3
- 9722 01f2 CB1A subs r3, r1, r3
- 9723 01f4 DB00 lsls r3, r3, #3
- 9724 01f6 03F13202 add r2, r3, #50
- 9725 01fa 364B ldr r3, .L484+8
- 9726 01fc A3FB0223 umull r2, r3, r3, r2
- 9727 0200 5B09 lsrs r3, r3, #5
- 9728 0202 5B00 lsls r3, r3, #1
- 9729 0204 03F4F873 and r3, r3, #496
- 9730 0208 1C44 add r4, r4, r3
- 9731 020a D7F8FC30 ldr r3, [r7, #252]
- 9732 020e 0022 movs r2, #0
- 9733 0210 C7F8B830 str r3, [r7, #184]
- 9734 0214 C7F8BC20 str r2, [r7, #188]
- 9735 0218 D7E92E89 ldrd r8, [r7, #184]
- 9736 021c 4246 mov r2, r8
- 9737 021e 4B46 mov r3, r9
- 9738 0220 9118 adds r1, r2, r2
- 9739 0222 B963 str r1, [r7, #56]
- 9740 0224 5B41 adcs r3, r3, r3
- 9741 0226 FB63 str r3, [r7, #60]
- 9742 0228 D7E90E23 ldrd r2, [r7, #56]
- 9743 022c 4146 mov r1, r8
- 9744 022e 5118 adds r1, r2, r1
- 9745 0230 3963 str r1, [r7, #48]
- 9746 0232 4946 mov r1, r9
- 9747 0234 4B41 adcs r3, r3, r1
- 9748 0236 7B63 str r3, [r7, #52]
- 9749 0238 4FF00002 mov r2, #0
- 9750 023c 4FF00003 mov r3, #0
- 9751 0240 D7E90CAB ldrd r10, [r7, #48]
- 9752 0244 5946 mov r1, fp
- 9753 0246 CB00 lsls r3, r1, #3
- 9754 0248 5146 mov r1, r10
- 9755 024a 43EA5173 orr r3, r3, r1, lsr #29
- 9756 024e 5146 mov r1, r10
- 9757 0250 CA00 lsls r2, r1, #3
- 9758 0252 1046 mov r0, r2
- 9759 0254 1946 mov r1, r3
- 9760 0256 0346 mov r3, r0
- 9761 0258 4246 mov r2, r8
- 9762 025a 9B18 adds r3, r3, r2
- 9763 025c C7F8B030 str r3, [r7, #176]
- 9764 0260 4B46 mov r3, r9
- 9765 0262 0A46 mov r2, r1
- 9766 0264 42EB0303 adc r3, r2, r3
- 9767 0268 C7F8B430 str r3, [r7, #180]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 259
- 9768 026c D7F8F430 ldr r3, [r7, #244]
- 9769 0270 5B68 ldr r3, [r3, #4]
- 9770 0272 0022 movs r2, #0
- 9771 0274 C7F8A830 str r3, [r7, #168]
- 9772 0278 C7F8AC20 str r2, [r7, #172]
- 9773 027c D7E92A12 ldrd r1, [r7, #168]
- 9774 0280 0B46 mov r3, r1
- 9775 0282 DB18 adds r3, r3, r3
- 9776 0284 BB62 str r3, [r7, #40]
- 9777 0286 1346 mov r3, r2
- 9778 0288 42EB0303 adc r3, r2, r3
- 9779 028c FB62 str r3, [r7, #44]
- 9780 028e D7E90A23 ldrd r2, [r7, #40]
- 9781 0292 D7E92C01 ldrd r0, [r7, #176]
- 9782 0296 FFF7FEFF bl __aeabi_uldivmod
- 9783 029a 0246 mov r2, r0
- 9784 029c 0B46 mov r3, r1
- 9785 029e 0D4B ldr r3, .L484+8
- 9786 02a0 A3FB0213 umull r1, r3, r3, r2
- 9787 02a4 5B09 lsrs r3, r3, #5
- 9788 02a6 6421 movs r1, #100
- 9789 02a8 01FB03F3 mul r3, r1, r3
- 9790 02ac D31A subs r3, r2, r3
- 9791 02ae DB00 lsls r3, r3, #3
- 9792 02b0 3233 adds r3, r3, #50
- 9793 02b2 084A ldr r2, .L484+8
- 9794 02b4 A2FB0323 umull r2, r3, r2, r3
- 9795 02b8 5B09 lsrs r3, r3, #5
- 9796 02ba 03F00702 and r2, r3, #7
- 9797 .loc 1 3731 10
- 9798 02be D7F8F430 ldr r3, [r7, #244]
- 9799 02c2 1B68 ldr r3, [r3]
- 9800 .loc 1 3731 28
- 9801 02c4 2244 add r2, r2, r4
- 9802 .loc 1 3731 26
- 9803 02c6 9A60 str r2, [r3, #8]
- 3732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
- 3734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
- 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
- 3736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 3737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 9804 .loc 1 3737 1
- 9805 02c8 05E1 b .L483
- 9806 .L485:
- 9807 02ca 00BF .align 2
- 9808 .L484:
- 9809 02cc 00100140 .word 1073811456
- 9810 02d0 00140140 .word 1073812480
- 9811 02d4 1F85EB51 .word 1374389535
- 9812 .L481:
- 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 9813 .loc 1 3735 28
- 9814 02d8 D7F8FC30 ldr r3, [r7, #252]
- 9815 02dc 0022 movs r2, #0
- 9816 02de C7F8A030 str r3, [r7, #160]
- 9817 02e2 C7F8A420 str r2, [r7, #164]
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 260
- 9818 02e6 D7E92889 ldrd r8, [r7, #160]
- 9819 02ea 4246 mov r2, r8
- 9820 02ec 4B46 mov r3, r9
- 9821 02ee 9118 adds r1, r2, r2
- 9822 02f0 3962 str r1, [r7, #32]
- 9823 02f2 5B41 adcs r3, r3, r3
- 9824 02f4 7B62 str r3, [r7, #36]
- 9825 02f6 D7E90823 ldrd r2, [r7, #32]
- 9826 02fa 4146 mov r1, r8
- 9827 02fc 5418 adds r4, r2, r1
- 9828 02fe 4946 mov r1, r9
- 9829 0300 43EB0105 adc r5, r3, r1
- 9830 0304 4FF00002 mov r2, #0
- 9831 0308 4FF00003 mov r3, #0
- 9832 030c EB00 lsls r3, r5, #3
- 9833 030e 43EA5473 orr r3, r3, r4, lsr #29
- 9834 0312 E200 lsls r2, r4, #3
- 9835 0314 1446 mov r4, r2
- 9836 0316 1D46 mov r5, r3
- 9837 0318 4346 mov r3, r8
- 9838 031a E318 adds r3, r4, r3
- 9839 031c C7F89830 str r3, [r7, #152]
- 9840 0320 4B46 mov r3, r9
- 9841 0322 45EB0303 adc r3, r5, r3
- 9842 0326 C7F89C30 str r3, [r7, #156]
- 9843 032a D7F8F430 ldr r3, [r7, #244]
- 9844 032e 5B68 ldr r3, [r3, #4]
- 9845 0330 0022 movs r2, #0
- 9846 0332 C7F89030 str r3, [r7, #144]
- 9847 0336 C7F89420 str r2, [r7, #148]
- 9848 033a 4FF00002 mov r2, #0
- 9849 033e 4FF00003 mov r3, #0
- 9850 0342 D7E92445 ldrd r4, [r7, #144]
- 9851 0346 2946 mov r1, r5
- 9852 0348 8B00 lsls r3, r1, #2
- 9853 034a 2146 mov r1, r4
- 9854 034c 43EA9173 orr r3, r3, r1, lsr #30
- 9855 0350 2146 mov r1, r4
- 9856 0352 8A00 lsls r2, r1, #2
- 9857 0354 D7E92601 ldrd r0, [r7, #152]
- 9858 0358 FFF7FEFF bl __aeabi_uldivmod
- 9859 035c 0246 mov r2, r0
- 9860 035e 0B46 mov r3, r1
- 9861 0360 604B ldr r3, .L486
- 9862 0362 A3FB0223 umull r2, r3, r3, r2
- 9863 0366 5B09 lsrs r3, r3, #5
- 9864 0368 1C01 lsls r4, r3, #4
- 9865 036a D7F8FC30 ldr r3, [r7, #252]
- 9866 036e 0022 movs r2, #0
- 9867 0370 C7F88830 str r3, [r7, #136]
- 9868 0374 C7F88C20 str r2, [r7, #140]
- 9869 0378 D7E92289 ldrd r8, [r7, #136]
- 9870 037c 4246 mov r2, r8
- 9871 037e 4B46 mov r3, r9
- 9872 0380 9118 adds r1, r2, r2
- 9873 0382 B961 str r1, [r7, #24]
- 9874 0384 5B41 adcs r3, r3, r3
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 261
- 9875 0386 FB61 str r3, [r7, #28]
- 9876 0388 D7E90623 ldrd r2, [r7, #24]
- 9877 038c 4146 mov r1, r8
- 9878 038e 5118 adds r1, r2, r1
- 9879 0390 3961 str r1, [r7, #16]
- 9880 0392 4946 mov r1, r9
- 9881 0394 4B41 adcs r3, r3, r1
- 9882 0396 7B61 str r3, [r7, #20]
- 9883 0398 4FF00002 mov r2, #0
- 9884 039c 4FF00003 mov r3, #0
- 9885 03a0 D7E904AB ldrd r10, [r7, #16]
- 9886 03a4 5946 mov r1, fp
- 9887 03a6 CB00 lsls r3, r1, #3
- 9888 03a8 5146 mov r1, r10
- 9889 03aa 43EA5173 orr r3, r3, r1, lsr #29
- 9890 03ae 5146 mov r1, r10
- 9891 03b0 CA00 lsls r2, r1, #3
- 9892 03b2 1046 mov r0, r2
- 9893 03b4 1946 mov r1, r3
- 9894 03b6 0346 mov r3, r0
- 9895 03b8 4246 mov r2, r8
- 9896 03ba 9B18 adds r3, r3, r2
- 9897 03bc C7F88030 str r3, [r7, #128]
- 9898 03c0 4B46 mov r3, r9
- 9899 03c2 0A46 mov r2, r1
- 9900 03c4 42EB0303 adc r3, r2, r3
- 9901 03c8 C7F88430 str r3, [r7, #132]
- 9902 03cc D7F8F430 ldr r3, [r7, #244]
- 9903 03d0 5B68 ldr r3, [r3, #4]
- 9904 03d2 0022 movs r2, #0
- 9905 03d4 BB67 str r3, [r7, #120]
- 9906 03d6 FA67 str r2, [r7, #124]
- 9907 03d8 4FF00002 mov r2, #0
- 9908 03dc 4FF00003 mov r3, #0
- 9909 03e0 D7E91E89 ldrd r8, [r7, #120]
- 9910 03e4 4946 mov r1, r9
- 9911 03e6 8B00 lsls r3, r1, #2
- 9912 03e8 4146 mov r1, r8
- 9913 03ea 43EA9173 orr r3, r3, r1, lsr #30
- 9914 03ee 4146 mov r1, r8
- 9915 03f0 8A00 lsls r2, r1, #2
- 9916 03f2 D7E92001 ldrd r0, [r7, #128]
- 9917 03f6 FFF7FEFF bl __aeabi_uldivmod
- 9918 03fa 0246 mov r2, r0
- 9919 03fc 0B46 mov r3, r1
- 9920 03fe 394B ldr r3, .L486
- 9921 0400 A3FB0213 umull r1, r3, r3, r2
- 9922 0404 5B09 lsrs r3, r3, #5
- 9923 0406 6421 movs r1, #100
- 9924 0408 01FB03F3 mul r3, r1, r3
- 9925 040c D31A subs r3, r2, r3
- 9926 040e 1B01 lsls r3, r3, #4
- 9927 0410 3233 adds r3, r3, #50
- 9928 0412 344A ldr r2, .L486
- 9929 0414 A2FB0323 umull r2, r3, r2, r3
- 9930 0418 5B09 lsrs r3, r3, #5
- 9931 041a 03F0F003 and r3, r3, #240
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 262
- 9932 041e 1C44 add r4, r4, r3
- 9933 0420 D7F8FC30 ldr r3, [r7, #252]
- 9934 0424 0022 movs r2, #0
- 9935 0426 3B67 str r3, [r7, #112]
- 9936 0428 7A67 str r2, [r7, #116]
- 9937 042a D7E91C89 ldrd r8, [r7, #112]
- 9938 042e 4246 mov r2, r8
- 9939 0430 4B46 mov r3, r9
- 9940 0432 9118 adds r1, r2, r2
- 9941 0434 B960 str r1, [r7, #8]
- 9942 0436 5B41 adcs r3, r3, r3
- 9943 0438 FB60 str r3, [r7, #12]
- 9944 043a D7E90223 ldrd r2, [r7, #8]
- 9945 043e 4146 mov r1, r8
- 9946 0440 5118 adds r1, r2, r1
- 9947 0442 3960 str r1, [r7]
- 9948 0444 4946 mov r1, r9
- 9949 0446 4B41 adcs r3, r3, r1
- 9950 0448 7B60 str r3, [r7, #4]
- 9951 044a 4FF00002 mov r2, #0
- 9952 044e 4FF00003 mov r3, #0
- 9953 0452 D7E900AB ldrd r10, [r7]
- 9954 0456 5946 mov r1, fp
- 9955 0458 CB00 lsls r3, r1, #3
- 9956 045a 5146 mov r1, r10
- 9957 045c 43EA5173 orr r3, r3, r1, lsr #29
- 9958 0460 5146 mov r1, r10
- 9959 0462 CA00 lsls r2, r1, #3
- 9960 0464 1046 mov r0, r2
- 9961 0466 1946 mov r1, r3
- 9962 0468 0346 mov r3, r0
- 9963 046a 4246 mov r2, r8
- 9964 046c 9B18 adds r3, r3, r2
- 9965 046e BB66 str r3, [r7, #104]
- 9966 0470 4B46 mov r3, r9
- 9967 0472 0A46 mov r2, r1
- 9968 0474 42EB0303 adc r3, r2, r3
- 9969 0478 FB66 str r3, [r7, #108]
- 9970 047a D7F8F430 ldr r3, [r7, #244]
- 9971 047e 5B68 ldr r3, [r3, #4]
- 9972 0480 0022 movs r2, #0
- 9973 0482 3B66 str r3, [r7, #96]
- 9974 0484 7A66 str r2, [r7, #100]
- 9975 0486 4FF00002 mov r2, #0
- 9976 048a 4FF00003 mov r3, #0
- 9977 048e D7E91889 ldrd r8, [r7, #96]
- 9978 0492 4946 mov r1, r9
- 9979 0494 8B00 lsls r3, r1, #2
- 9980 0496 4146 mov r1, r8
- 9981 0498 43EA9173 orr r3, r3, r1, lsr #30
- 9982 049c 4146 mov r1, r8
- 9983 049e 8A00 lsls r2, r1, #2
- 9984 04a0 D7E91A01 ldrd r0, [r7, #104]
- 9985 04a4 FFF7FEFF bl __aeabi_uldivmod
- 9986 04a8 0246 mov r2, r0
- 9987 04aa 0B46 mov r3, r1
- 9988 04ac 0D4B ldr r3, .L486
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 263
- 9989 04ae A3FB0213 umull r1, r3, r3, r2
- 9990 04b2 5B09 lsrs r3, r3, #5
- 9991 04b4 6421 movs r1, #100
- 9992 04b6 01FB03F3 mul r3, r1, r3
- 9993 04ba D31A subs r3, r2, r3
- 9994 04bc 1B01 lsls r3, r3, #4
- 9995 04be 3233 adds r3, r3, #50
- 9996 04c0 084A ldr r2, .L486
- 9997 04c2 A2FB0323 umull r2, r3, r2, r3
- 9998 04c6 5B09 lsrs r3, r3, #5
- 9999 04c8 03F00F02 and r2, r3, #15
- 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 10000 .loc 1 3735 10
- 10001 04cc D7F8F430 ldr r3, [r7, #244]
- 10002 04d0 1B68 ldr r3, [r3]
- 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 10003 .loc 1 3735 28
- 10004 04d2 2244 add r2, r2, r4
- 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
- 10005 .loc 1 3735 26
- 10006 04d4 9A60 str r2, [r3, #8]
- 10007 .L483:
- 10008 .loc 1 3737 1
- 10009 04d6 00BF nop
- 10010 04d8 07F58077 add r7, r7, #256
- 10011 .LCFI328:
- 10012 .cfi_def_cfa_offset 32
- 10013 04dc BD46 mov sp, r7
- 10014 .LCFI329:
- 10015 .cfi_def_cfa_register 13
- 10016 @ sp needed
- 10017 04de BDE8B08F pop {r4, r5, r7, r8, r9, r10, fp, pc}
- 10018 .L487:
- 10019 04e2 00BF .align 2
- 10020 .L486:
- 10021 04e4 1F85EB51 .word 1374389535
- 10022 .cfi_endproc
- 10023 .LFE295:
- 10025 .text
- 10026 .Letext0:
- 10027 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
- 10028 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
- 10029 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h"
- 10030 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
- 10031 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
- 10032 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
- 10033 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 264
- DEFINED SYMBOLS
- *ABS*:00000000 stm32f4xx_hal_uart.c
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:20 .text.HAL_UART_Init:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:26 .text.HAL_UART_Init:00000000 HAL_UART_Init
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:642 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9512 .text.UART_SetConfig:00000000 UART_SetConfig
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:136 .text.HAL_HalfDuplex_Init:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:142 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:259 .text.HAL_LIN_Init:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:265 .text.HAL_LIN_Init:00000000 HAL_LIN_Init
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:400 .text.HAL_MultiProcessor_Init:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:406 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:552 .text.HAL_UART_DeInit:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:558 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:684 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:636 .text.HAL_UART_MspInit:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:678 .text.HAL_UART_MspDeInit:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:720 .text.HAL_UART_Transmit:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:726 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7794 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:946 .text.HAL_UART_Receive:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:952 .text.HAL_UART_Receive:00000000 HAL_UART_Receive
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1196 .text.HAL_UART_Transmit_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1202 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1313 .text.HAL_UART_Receive_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1319 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7997 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1403 .text.HAL_UART_Transmit_DMA:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1409 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1606 .text.HAL_UART_Transmit_DMA:000000f0 $d
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7119 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7283 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7679 .text.UART_DMAError:00000000 UART_DMAError
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1613 .text.HAL_UART_Receive_DMA:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1619 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8099 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1703 .text.HAL_UART_DMAPause:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:1709 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2020 .text.HAL_UART_DMAResume:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2026 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2322 .text.HAL_UART_DMAStop:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2328 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8381 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8477 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2545 .text.HAL_UARTEx_ReceiveToIdle:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2551 .text.HAL_UARTEx_ReceiveToIdle:00000000 HAL_UARTEx_ReceiveToIdle
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2871 .text.HAL_UARTEx_ReceiveToIdle_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:2877 .text.HAL_UARTEx_ReceiveToIdle_IT:00000000 HAL_UARTEx_ReceiveToIdle_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3045 .text.HAL_UARTEx_ReceiveToIdle_DMA:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3051 .text.HAL_UARTEx_ReceiveToIdle_DMA:00000000 HAL_UARTEx_ReceiveToIdle_DMA
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3219 .text.HAL_UART_Abort:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3225 .text.HAL_UART_Abort:00000000 HAL_UART_Abort
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3638 .text.HAL_UART_AbortTransmit:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3644 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3835 .text.HAL_UART_AbortReceive:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:3841 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4145 .text.HAL_UART_Abort_IT:00000000 $t
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 265
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4151 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6291 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4612 .text.HAL_UART_Abort_IT:00000220 $d
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8738 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8831 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4618 .text.HAL_UART_AbortTransmit_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4624 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6333 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4827 .text.HAL_UART_AbortTransmit_IT:000000e4 $d
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8924 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4832 .text.HAL_UART_AbortReceive_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:4838 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6375 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5158 .text.HAL_UART_AbortReceive_IT:00000160 $d
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8976 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5163 .text.HAL_UART_IRQHandler:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5169 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9222 .text.UART_Receive_IT:00000000 UART_Receive_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6249 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6417 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5816 .text.HAL_UART_IRQHandler:000003dc $d
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8686 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:5821 .text.HAL_UART_IRQHandler:000003e0 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9032 .text.UART_Transmit_IT:00000000 UART_Transmit_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9168 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6075 .text.HAL_UART_TxCpltCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6081 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6117 .text.HAL_UART_TxHalfCpltCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6123 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6159 .text.HAL_UART_RxCpltCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6165 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6201 .text.HAL_UART_RxHalfCpltCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6207 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6243 .text.HAL_UART_ErrorCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6285 .text.HAL_UART_AbortCpltCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6327 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6369 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6411 .text.HAL_UARTEx_RxEventCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6455 .text.HAL_LIN_SendBreak:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6461 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6576 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6582 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6697 .text.HAL_MultiProcessor_ExitMuteMode:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6703 .text.HAL_MultiProcessor_ExitMuteMode:00000000 HAL_MultiProcessor_ExitMuteMode
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6818 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6824 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6910 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:6916 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7002 .text.HAL_UART_GetState:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7008 .text.HAL_UART_GetState:00000000 HAL_UART_GetState
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7069 .text.HAL_UART_GetError:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7075 .text.HAL_UART_GetError:00000000 HAL_UART_GetError
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7114 .text.UART_DMATransmitCplt:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7278 .text.UART_DMATxHalfCplt:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7322 .text.UART_DMAReceiveCplt:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7327 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7611 .text.UART_DMARxHalfCplt:00000000 $t
- ARM GAS C:\Users\10728\AppData\Local\Temp\cc19ESHk.s page 266
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7616 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7674 .text.UART_DMAError:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7789 .text.UART_WaitOnFlagUntilTimeout:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:7991 .text.UART_Start_Receive_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8093 .text.UART_Start_Receive_DMA:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8369 .text.UART_Start_Receive_DMA:00000130 $d
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8376 .text.UART_EndTxTransfer:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8472 .text.UART_EndRxTransfer:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8681 .text.UART_DMAAbortOnError:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8733 .text.UART_DMATxAbortCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8826 .text.UART_DMARxAbortCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8919 .text.UART_DMATxOnlyAbortCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:8971 .text.UART_DMARxOnlyAbortCallback:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9027 .text.UART_Transmit_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9163 .text.UART_EndTransmit_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9217 .text.UART_Receive_IT:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9507 .text.UART_SetConfig:00000000 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9809 .text.UART_SetConfig:000002cc $d
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:9814 .text.UART_SetConfig:000002d8 $t
- C:\Users\10728\AppData\Local\Temp\cc19ESHk.s:10021 .text.UART_SetConfig:000004e4 $d
- UNDEFINED SYMBOLS
- HAL_GetTick
- HAL_DMA_Start_IT
- HAL_DMA_Abort
- HAL_DMA_GetError
- HAL_DMA_Abort_IT
- __aeabi_uldivmod
- HAL_RCC_GetPCLK2Freq
- HAL_RCC_GetPCLK1Freq
|