stm32f3xx_hal_i2c.lst 2.0 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 2
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f3xx_hal_i2c.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .rodata.I2C_TransferConfig.str1.4,"aMS",%progbits,1
  21. 20 .align 2
  22. 21 .LC0:
  23. 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c."
  24. 22 6572732F
  25. 22 53544D33
  26. 22 32463378
  27. 22 785F4841
  28. 23 0033 6300 .ascii "c\000"
  29. 24 .section .text.I2C_TransferConfig,"ax",%progbits
  30. 25 .align 1
  31. 26 .p2align 2,,3
  32. 27 .syntax unified
  33. 28 .thumb
  34. 29 .thumb_func
  35. 31 I2C_TransferConfig:
  36. 32 .LVL0:
  37. 33 .LFB207:
  38. 34 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c"
  39. 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  40. 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ******************************************************************************
  41. 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @file stm32f3xx_hal_i2c.c
  42. 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @author MCD Application Team
  43. 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C HAL module driver.
  44. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This file provides firmware functions to manage the following
  45. 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
  46. 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + Initialization and de-initialization functions
  47. 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + IO operation functions
  48. 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + Peripheral State and Errors functions
  49. 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
  50. 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ******************************************************************************
  51. 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @attention
  52. 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
  53. 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * Copyright (c) 2016 STMicroelectronics.
  54. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * All rights reserved.
  55. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
  56. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This software is licensed under terms that can be found in the LICENSE file
  57. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in the root directory of this software component.
  58. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 2
  60. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
  61. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ******************************************************************************
  62. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
  63. 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==============================================================================
  64. 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### How to use this driver #####
  65. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==============================================================================
  66. 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  67. 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
  68. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  69. 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
  70. 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
  71. 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  72. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API:
  73. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
  74. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) I2C pins configuration
  75. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
  76. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
  77. 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
  78. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
  79. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
  80. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
  81. 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for
  82. 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the transmit or receive channel
  83. 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
  84. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
  85. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
  86. 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
  87. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
  88. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the DMA Tx or Rx channel
  89. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  90. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
  91. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
  92. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  93. 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H
  94. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API.
  95. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  96. 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead
  97. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  98. 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
  99. 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  100. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Polling mode IO operation ***
  101. 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =================================
  102. 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  103. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit(
  104. 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive()
  105. 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit()
  106. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive()
  107. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  108. 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
  109. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =====================================
  110. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  111. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W
  112. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_
  113. 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  114. 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  115. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode IO operation ***
  116. 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===================================
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 3
  118. 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  119. 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans
  120. 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
  121. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
  122. 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv
  123. 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
  124. 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
  125. 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi
  126. 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
  127. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
  128. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_
  129. 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
  130. 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
  131. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
  132. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
  133. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Abort a master or memory I2C process communication with Interrupt using HAL_I2C_Master_Ab
  134. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
  135. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
  136. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
  137. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
  138. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  139. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  140. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
  141. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==========================================================
  142. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  143. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
  144. 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** when a direction change during transfer
  145. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  146. 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
  147. 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Option field values are defined through I2C_XFEROPTIONS and are listed below:
  148. 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac
  149. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** no sequential mode
  150. 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
  151. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and data to transfer without a final stop condition
  152. 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
  153. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** start condition, address and data to transfer without a final stop cond
  154. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** an then permit a call the same master sequential interface several time
  155. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Master_Seq_Transmit
  156. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D
  157. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
  158. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
  159. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfer
  160. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
  161. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
  162. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
  163. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfer
  164. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
  165. 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
  166. 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** after several call of the same master sequential interface several time
  167. 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (link with option I2C_FIRST_AND_NEXT_FRAME).
  168. 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Usage can, transfer several bytes one by one using
  169. 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
  170. 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
  171. 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
  172. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
  173. 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** with option I2C_FIRST_AND_NEXT_FRAME then I2C_NEXT_FRAME.
  174. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 4
  176. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Receive sequence permit to call the opposite interface Receive or Tra
  177. 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
  178. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
  179. 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** each call of the same master sequential
  180. 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** interface.
  181. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
  182. 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** each bytes using
  183. 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT
  184. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT
  185. 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA
  186. 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA
  187. 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** with option I2C_FIRST_FRAME then I2C_OTHER_FRAME.
  188. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
  189. 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** generation of STOP condition.
  190. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  191. 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Different sequential I2C interfaces are listed below:
  192. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using
  193. 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT() or using HAL_I2C_Master_Seq_Transmit_DMA()
  194. 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut
  195. 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_MasterTxCpltC
  196. 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using
  197. 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Receive_IT() or using HAL_I2C_Master_Seq_Receive_DMA()
  198. 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed
  199. 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
  200. 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Abort a master or memory IT or DMA I2C process communication with Interrupt using HAL_I2
  201. 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
  202. 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
  203. 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT()
  204. 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_DisableListen_IT()
  205. 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and users can
  206. 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code to check the Address Match Code and the transmission direction reques
  207. 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (Write/Read).
  208. 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and users can
  209. 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ListenCpltCallback()
  210. 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using
  211. 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Transmit_IT() or using HAL_I2C_Slave_Seq_Transmit_DMA()
  212. 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute
  213. 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCa
  214. 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using
  215. 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Receive_IT() or using HAL_I2C_Slave_Seq_Receive_DMA()
  216. 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a
  217. 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
  218. 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
  219. 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
  220. 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
  221. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
  222. 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  223. 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
  224. 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =======================================
  225. 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  226. 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
  227. 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT()
  228. 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
  229. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
  230. 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
  231. 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT()
  232. 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 5
  234. 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
  235. 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
  236. 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
  237. 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  238. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** DMA mode IO operation ***
  239. 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==============================
  240. 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  241. 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
  242. 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA()
  243. 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can
  244. 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
  245. 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
  246. 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA()
  247. 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can
  248. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
  249. 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
  250. 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA()
  251. 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can
  252. 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
  253. 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
  254. 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA()
  255. 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can
  256. 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
  257. 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
  258. 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
  259. 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Abort a master or memory I2C process communication with Interrupt using HAL_I2C_Master_Ab
  260. 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can
  261. 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback()
  262. 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
  263. 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
  264. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  265. 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
  266. 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =================================
  267. 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  268. 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
  269. 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA()
  270. 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can
  271. 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
  272. 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
  273. 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA()
  274. 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can
  275. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
  276. 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can
  277. 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback()
  278. 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  279. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  280. 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** I2C HAL driver macros list ***
  281. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ==================================
  282. 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  283. 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
  284. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  285. 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral
  286. 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral
  287. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
  288. 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
  289. 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
  290. 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 6
  292. 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
  293. 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  294. 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Callback registration ***
  295. 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================
  296. 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  297. 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
  298. 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
  299. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback()
  300. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to register an interrupt callback.
  301. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  302. 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Function HAL_I2C_RegisterCallback() allows to register following callbacks:
  303. 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
  304. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
  305. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
  306. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
  307. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
  308. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
  309. 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
  310. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
  311. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
  312. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
  313. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
  314. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
  315. 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and a pointer to the user callback function.
  316. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  317. 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall
  318. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  319. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Use function HAL_I2C_UnRegisterCallback to reset a callback to the default
  320. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** weak function.
  321. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
  322. 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and the Callback ID.
  323. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This function allows to reset following callbacks:
  324. 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
  325. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
  326. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
  327. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
  328. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
  329. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
  330. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
  331. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
  332. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
  333. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
  334. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
  335. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  336. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback().
  337. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  338. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET
  339. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
  340. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback().
  341. 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
  342. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when
  343. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
  344. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit()
  345. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
  346. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  347. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only.
  348. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 7
  350. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state,
  351. 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
  352. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
  353. 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit()
  354. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Init() function.
  355. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  356. 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
  357. 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
  358. 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** are set to the corresponding weak functions.
  359. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  360. 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  361. 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
  362. 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  363. 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
  364. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  365. 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  366. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
  367. 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #include "stm32f3xx_hal.h"
  368. 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  369. 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup STM32F3xx_HAL_Driver
  370. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  371. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  372. 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  373. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C I2C
  374. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C HAL module driver
  375. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  376. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  377. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  378. 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
  379. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  380. 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
  381. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
  382. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  383. 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
  384. 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  385. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  386. 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
  387. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
  388. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
  389. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
  390. 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
  391. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
  392. 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
  393. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
  394. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
  395. 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
  396. 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  397. 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
  398. 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define SLAVE_ADDR_SHIFT 7U
  399. 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define SLAVE_ADDR_MSK 0x06U
  400. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  401. 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
  402. 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | \
  403. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_STATE_BUSY_RX) & \
  404. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)(~((uint32_t)HAL_I2C_STATE_READY))))
  405. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Mask State define, keep only RX and TX bits */
  406. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 8
  408. 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Default Value */
  409. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
  410. 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
  411. 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Master Busy TX, combinaison of State LSB and Mode enum */
  412. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
  413. 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER))
  414. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Master Busy RX, combinaison of State LSB and Mode enum */
  415. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
  416. 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
  417. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Slave Busy TX, combinaison of State LSB and Mode enum */
  418. 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
  419. 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE))
  420. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Slave Busy RX, combinaison of State LSB and Mode enum */
  421. 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \
  422. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
  423. 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Memory Busy TX, combinaison of State LSB and Mode enum */
  424. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \
  425. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM))
  426. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Memory Busy RX, combinaison of State LSB and Mode enum */
  427. 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  428. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  429. 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
  430. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_TX_IT (uint16_t)(0x0001U) /*!< Bit field can be combinated with
  431. 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
  432. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_RX_IT (uint16_t)(0x0002U) /*!< Bit field can be combinated with
  433. 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */
  434. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (uint16_t)(0x8000U) /*!< Bit field can be combinated with @ref I2
  435. 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and @ref I2C_XFER_RX_IT */
  436. 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  437. 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (uint16_t)(0x0010U) /*!< Bit definition to manage addition of glo
  438. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and NACK treatment */
  439. 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (uint16_t)(0x0020U) /*!< Bit definition to manage only STOP evene
  440. 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (uint16_t)(0x0040U) /*!< Bit definition to manage only Reload of
  441. 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  442. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
  443. 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
  444. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  445. 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  446. 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  447. 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  448. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private macros ------------------------------------------------------------*/
  449. 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup I2C_Private_Macro
  450. 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  451. 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  452. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Macro to get remaining data to transfer on DMA side */
  453. 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_GET_DMA_REMAIN_DATA(__HANDLE__) __HAL_DMA_GET_COUNTER(__HANDLE__)
  454. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  455. 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  456. 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  457. 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  458. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
  459. 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
  460. 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  461. 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
  462. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  463. 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  464. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 9
  466. 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
  467. 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
  468. 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
  469. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
  470. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
  471. 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
  472. 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  473. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  474. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle IT transfer */
  475. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
  476. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
  477. 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
  478. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
  479. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
  480. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
  481. 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
  482. 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  483. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle IT transfer */
  484. 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
  485. 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
  486. 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
  487. 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
  488. 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
  489. 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
  490. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  491. 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
  492. 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  493. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
  494. 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  495. 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
  496. 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  497. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
  498. 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  499. 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
  500. 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  501. 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
  502. 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  503. 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources);
  504. 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  505. 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
  506. 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
  507. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart);
  508. 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
  509. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
  510. 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
  511. 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
  512. 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
  513. 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
  514. 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
  515. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart);
  516. 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  517. 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
  518. 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
  519. 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
  520. 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  521. 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to treat different error callback */
  522. 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c);
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 10
  524. 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  525. 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to flush TXDR register */
  526. 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
  527. 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  528. 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */
  529. 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
  530. 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request);
  531. 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  532. 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to Convert Specific options */
  533. 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
  534. 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  535. 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  536. 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  537. 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  538. 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
  539. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  540. 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
  541. 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  542. 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  543. 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  544. 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
  545. 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initialization and Configuration functions
  546. 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
  547. 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
  548. 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
  549. 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
  550. 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
  551. 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
  552. 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
  553. 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  554. 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
  555. 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
  556. 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  557. 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
  558. 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the selected configuration:
  559. 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Clock Timing
  560. 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 1
  561. 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
  562. 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Dual Addressing mode
  563. 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 2
  564. 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 2 Mask
  565. 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) General call mode
  566. 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Nostretch mode
  567. 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  568. 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
  569. 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** of the selected I2Cx peripheral.
  570. 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  571. 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
  572. 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  573. 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  574. 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  575. 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  576. 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
  577. 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
  578. 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  579. 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  580. 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 11
  582. 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  583. 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
  584. 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  585. 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
  586. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c == NULL)
  587. 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  588. 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  589. 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  590. 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  591. 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  592. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
  593. 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
  594. 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
  595. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
  596. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
  597. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
  598. 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
  599. 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
  600. 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  601. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
  602. 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  603. 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
  604. 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
  605. 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  606. 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  607. 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the I2C Callback settings */
  608. 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
  609. 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
  610. 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
  611. 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
  612. 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
  613. 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
  614. 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
  615. 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
  616. 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
  617. 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
  618. 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  619. 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
  620. 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  621. 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
  622. 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  623. 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  624. 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
  625. 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
  626. 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  627. 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
  628. 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
  629. 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  630. 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  631. 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  632. 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
  633. 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  634. 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
  635. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
  636. 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  637. 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
  638. 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 12
  640. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
  641. 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  642. 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
  643. 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
  644. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
  645. 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  646. 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
  647. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
  648. 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  649. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
  650. 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  651. 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
  652. 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  653. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
  654. 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  655. 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  656. 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
  657. 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
  658. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
  659. 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  660. 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10);
  661. 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  662. 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  663. 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  664. 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear the I2C ADD10 bit */
  665. 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10);
  666. 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  667. 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
  668. 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
  669. 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  670. 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
  671. 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
  672. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
  673. 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  674. 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
  675. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \
  676. 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
  677. 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  678. 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
  679. 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
  680. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
  681. 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  682. 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
  683. 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
  684. 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  685. 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  686. 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  687. 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  688. 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  689. 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  690. 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  691. 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  692. 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  693. 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  694. 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
  695. 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  696. 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 13
  698. 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  699. 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  700. 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
  701. 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  702. 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
  703. 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c == NULL)
  704. 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  705. 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  706. 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  707. 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  708. 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  709. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
  710. 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  711. 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
  712. 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  713. 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
  714. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
  715. 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  716. 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  717. 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
  718. 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  719. 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
  720. 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  721. 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  722. 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
  723. 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
  724. 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  725. 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
  726. 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
  727. 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  728. 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  729. 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  730. 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
  731. 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  732. 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  733. 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  734. 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Release Lock */
  735. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  736. 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  737. 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  738. 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  739. 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  740. 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  741. 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
  742. 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  743. 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  744. 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  745. 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  746. 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
  747. 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  748. 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  749. 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  750. 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  751. 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  752. 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
  753. 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  754. 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 14
  756. 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  757. 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  758. 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
  759. 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  760. 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  761. 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  762. 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  763. 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
  764. 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  765. 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  766. 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  767. 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  768. 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  769. 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
  770. 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  771. 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  772. 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  773. 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  774. 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  775. 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register a User I2C Callback
  776. 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak predefined callback
  777. 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note The HAL_I2C_RegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_RES
  778. 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * to register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
  779. 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  780. 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  781. 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
  782. 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
  783. 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
  784. 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
  785. 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
  786. 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
  787. 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
  788. 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
  789. 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
  790. 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
  791. 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
  792. 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
  793. 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
  794. 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
  795. 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  796. 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  797. 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
  798. 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** pI2C_CallbackTypeDef pCallback)
  799. 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  800. 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  801. 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  802. 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL)
  803. 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  804. 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  805. 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  806. 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  807. 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  808. 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  809. 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  810. 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
  811. 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  812. 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 15
  814. 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  815. 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
  816. 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
  817. 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  818. 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  819. 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
  820. 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
  821. 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  822. 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  823. 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
  824. 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
  825. 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  826. 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  827. 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
  828. 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
  829. 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  830. 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  831. 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
  832. 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
  833. 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  834. 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  835. 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
  836. 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
  837. 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  838. 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  839. 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
  840. 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
  841. 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  842. 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  843. 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
  844. 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
  845. 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  846. 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  847. 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
  848. 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
  849. 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  850. 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  851. 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
  852. 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
  853. 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  854. 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  855. 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
  856. 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
  857. 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  858. 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  859. 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
  860. 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  861. 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  862. 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  863. 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  864. 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  865. 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  866. 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  867. 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  868. 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
  869. 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  870. 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 16
  872. 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  873. 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
  874. 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
  875. 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  876. 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  877. 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
  878. 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
  879. 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  880. 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  881. 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
  882. 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  883. 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  884. 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  885. 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  886. 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  887. 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  888. 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  889. 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  890. 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  891. 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  892. 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  893. 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  894. 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  895. 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  896. 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  897. 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  898. 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  899. 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
  900. 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  901. 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  902. 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  903. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Unregister an I2C Callback
  904. 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
  905. 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note The HAL_I2C_UnRegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_R
  906. 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * to un-register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID.
  907. 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  908. 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  909. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
  910. 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
  911. 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
  912. 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
  913. 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
  914. 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
  915. 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
  916. 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
  917. 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
  918. 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
  919. 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
  920. 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
  921. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
  922. 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
  923. 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  924. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  925. 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
  926. 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  927. 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  928. 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 17
  930. 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
  931. 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  932. 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
  933. 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  934. 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
  935. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
  936. 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  937. 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  938. 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
  939. 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
  940. 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  941. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  942. 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
  943. 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
  944. 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  945. 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  946. 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
  947. 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
  948. 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  949. 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  950. 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
  951. 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
  952. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  953. 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  954. 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
  955. 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
  956. 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  957. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  958. 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
  959. 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
  960. 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  961. 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  962. 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
  963. 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
  964. 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  965. 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  966. 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
  967. 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
  968. 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  969. 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  970. 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
  971. 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
  972. 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  973. 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  974. 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
  975. 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
  976. 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  977. 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  978. 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
  979. 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  980. 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  981. 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  982. 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  983. 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  984. 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  985. 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  986. 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 18
  988. 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
  989. 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  990. 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID)
  991. 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  992. 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
  993. 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
  994. 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  995. 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  996. 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
  997. 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
  998. 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  999. 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1000. 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default :
  1001. 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  1002. 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  1003. 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1004. 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  1005. 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  1006. 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  1007. 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1008. 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1009. 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1010. 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1011. 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  1012. 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  1013. 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1014. 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  1015. 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  1016. 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1017. 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1018. 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
  1019. 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1020. 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1021. 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1022. 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
  1023. 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
  1024. 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1025. 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1026. 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
  1027. 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1028. 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1029. 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
  1030. 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1031. 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  1032. 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1033. 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL)
  1034. 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1035. 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  1036. 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  1037. 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1038. 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1039. 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1040. 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1041. 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
  1042. 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1043. 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
  1044. 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 19
  1046. 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1047. 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1048. 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  1049. 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  1050. 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1051. 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  1052. 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  1053. 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1054. 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1055. 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
  1056. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1057. 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1058. 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1059. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
  1060. 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
  1061. 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1062. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1063. 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1064. 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1065. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
  1066. 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1067. 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  1068. 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1069. 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
  1070. 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1071. 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
  1072. 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1073. 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1074. 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1075. 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */
  1076. 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
  1077. 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1078. 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */
  1079. 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  1080. 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1081. 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1082. 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
  1083. 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1084. 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1085. 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  1086. 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1087. 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1088. 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  1089. 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1090. 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1091. 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
  1092. 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Data transfers functions
  1093. 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
  1094. 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
  1095. 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
  1096. 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### IO operation functions #####
  1097. 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
  1098. 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  1099. 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
  1100. 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfers.
  1101. 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1102. 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) There are two modes of transfer:
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 20
  1104. 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
  1105. 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The status of all data processing is returned by the same function
  1106. 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** after finishing transfer.
  1107. 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
  1108. 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
  1109. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The end of the data processing will be indicated through the
  1110. 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
  1111. 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** using DMA mode.
  1112. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1113. 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Blocking mode functions are :
  1114. 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
  1115. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
  1116. 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
  1117. 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
  1118. 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
  1119. 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
  1120. 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
  1121. 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1122. 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
  1123. 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
  1124. 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
  1125. 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
  1126. 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
  1127. 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
  1128. 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
  1129. 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
  1130. 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
  1131. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
  1132. 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
  1133. 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
  1134. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
  1135. 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
  1136. 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1137. 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
  1138. 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
  1139. 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
  1140. 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
  1141. 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
  1142. 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
  1143. 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
  1144. 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
  1145. 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
  1146. 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
  1147. 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
  1148. 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1149. 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
  1150. 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
  1151. 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
  1152. 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
  1153. 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
  1154. 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
  1155. 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
  1156. 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
  1157. 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
  1158. 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
  1159. 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
  1160. 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 21
  1162. 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
  1163. 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  1164. 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1165. 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1166. 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1167. 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
  1168. 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1169. 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1170. 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  1171. 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  1172. 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1173. 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1174. 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  1175. 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1176. 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1177. 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
  1178. 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
  1179. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1180. 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  1181. 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  1182. 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1183. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1184. 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1185. 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1186. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1187. 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1188. 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
  1189. 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  1190. 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1191. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
  1192. 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1193. 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1194. 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1195. 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1196. 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  1197. 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  1198. 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1199. 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1200. 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  1201. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  1202. 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  1203. 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  1204. 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1205. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  1206. 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1207. 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  1208. 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  1209. 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1210. 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1211. 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1212. 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1213. 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  1214. 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1215. 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1216. 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
  1217. 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1218. 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 22
  1220. 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  1221. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  1222. 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1223. 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1224. 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1225. 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1226. 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1227. 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  1228. 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1229. 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  1230. 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
  1231. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U), xfermode,
  1232. 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  1233. 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1234. 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1235. 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1236. 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  1237. 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
  1238. 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode,
  1239. 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  1240. 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1241. 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1242. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
  1243. 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1244. 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
  1245. 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1246. 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1247. 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1248. 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1249. 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  1250. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  1251. 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1252. 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1253. 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1254. 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1255. 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1256. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  1257. 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1258. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
  1259. 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1260. 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
  1261. 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
  1262. 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1263. 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1264. 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1265. 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1266. 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  1267. 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1268. 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  1269. 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  1270. 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  1271. 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1272. 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1273. 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1274. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1275. 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  1276. 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 23
  1278. 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1279. 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1280. 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1281. 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1282. 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
  1283. 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */
  1284. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1285. 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1286. 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1287. 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1288. 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1289. 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  1290. 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  1291. 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1292. 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  1293. 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  1294. 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1295. 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  1296. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  1297. 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1298. 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  1299. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  1300. 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1301. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  1302. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1303. 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1304. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1305. 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1306. 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1307. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1308. 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1309. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1310. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
  1311. 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1312. 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1313. 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  1314. 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  1315. 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1316. 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1317. 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  1318. 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1319. 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1320. 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
  1321. 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout)
  1322. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1323. 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  1324. 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1325. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1326. 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1327. 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1328. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1329. 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1330. 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
  1331. 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  1332. 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1333. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
  1334. 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 24
  1336. 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1337. 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1338. 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1339. 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  1340. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  1341. 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1342. 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1343. 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  1344. 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  1345. 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  1346. 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  1347. 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1348. 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  1349. 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
  1350. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  1351. 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1352. 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  1353. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  1354. 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  1355. 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1356. 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1357. 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1358. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1359. 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  1360. 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  1361. 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1362. 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1363. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
  1364. 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1365. 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */
  1366. 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1367. 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1368. 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1369. 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1370. 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1371. 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  1372. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  1373. 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1374. 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1375. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1376. 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1377. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  1378. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1379. 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1380. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
  1381. 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1382. 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
  1383. 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
  1384. 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1385. 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1386. 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1387. 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1388. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  1389. 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1390. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  1391. 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  1392. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 25
  1394. 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1395. 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1396. 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1397. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1398. 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  1399. 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  1400. 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1401. 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1402. 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1403. 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1404. 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
  1405. 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */
  1406. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1407. 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1408. 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1409. 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1410. 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1411. 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  1412. 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  1413. 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1414. 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  1415. 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  1416. 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1417. 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  1418. 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  1419. 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1420. 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  1421. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  1422. 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1423. 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  1424. 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1425. 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1426. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1427. 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1428. 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1429. 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1430. 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1431. 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1432. 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
  1433. 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1434. 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1435. 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1436. 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1437. 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  1438. 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1439. 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1440. 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
  1441. 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout)
  1442. 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1443. 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  1444. 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t tmpXferCount;
  1445. 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef error;
  1446. 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1447. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1448. 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1449. 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  1450. 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 26
  1452. 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  1453. 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1454. 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1455. 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1456. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1457. 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1458. 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
  1459. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  1460. 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1461. 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  1462. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  1463. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1464. 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1465. 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  1466. 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  1467. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  1468. 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  1469. 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1470. 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  1471. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  1472. 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1473. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
  1474. 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
  1475. 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1476. 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  1477. 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  1478. 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  1479. 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1480. 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1481. 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1482. 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1483. 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1484. 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1485. 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1486. 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */
  1487. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
  1488. 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1489. 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1490. 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1491. 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1492. 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  1493. 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  1494. 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1495. 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1496. 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1497. 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1498. 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
  1499. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  1500. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1501. 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
  1502. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
  1503. 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1504. 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */
  1505. 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
  1506. 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1507. 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1508. 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 27
  1510. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1511. 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  1512. 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  1513. 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1514. 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1515. 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1516. 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1517. 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
  1518. 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  1519. 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1520. 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1521. 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
  1522. 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
  1523. 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1524. 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1525. 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1526. 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1527. 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  1528. 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  1529. 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1530. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1531. 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1532. 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1533. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
  1534. 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1535. 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
  1536. 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1537. 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1538. 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1539. 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1540. 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1541. 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1542. 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1543. 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  1544. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  1545. 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1546. 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1547. 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1548. 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1549. 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1550. 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1551. 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1552. 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until AF flag is set */
  1553. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error = I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart);
  1554. 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1555. 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (error != HAL_OK)
  1556. 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1557. 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */
  1558. 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
  1559. 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0 */
  1560. 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1561. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpXferCount = hi2c->XferCount;
  1562. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U))
  1563. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1564. 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset ErrorCode to NONE */
  1565. 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1566. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 28
  1568. 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1569. 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1570. 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1571. 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1572. 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1573. 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1574. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1575. 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1576. 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1577. 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  1578. 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  1579. 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1580. 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear AF flag */
  1581. 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  1582. 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1583. 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP flag is set */
  1584. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1585. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1586. 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1587. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1588. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1589. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1590. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1591. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1592. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */
  1593. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  1594. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1595. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1596. 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
  1597. 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
  1598. 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1599. 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1600. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1601. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1602. 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1603. 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1604. 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1605. 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1606. 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1607. 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  1608. 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  1609. 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1610. 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  1611. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  1612. 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1613. 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  1614. 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1615. 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1616. 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1617. 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1618. 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1619. 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1620. 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1621. 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1622. 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
  1623. 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1624. 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 29
  1626. 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1627. 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1628. 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  1629. 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1630. 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1631. 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,
  1632. 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout)
  1633. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1634. 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  1635. 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1636. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1637. 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1638. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  1639. 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1640. 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  1641. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1642. 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1643. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1644. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1645. 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1646. 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
  1647. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  1648. 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1649. 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  1650. 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  1651. 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1652. 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1653. 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  1654. 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  1655. 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  1656. 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1657. 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  1658. 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1659. 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  1660. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  1661. 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1662. 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */
  1663. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
  1664. 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1665. 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1666. 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1667. 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1668. 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1669. 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1670. 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
  1671. 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  1672. 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1673. 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
  1674. 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
  1675. 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1676. 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1677. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1678. 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1679. 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1680. 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1681. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
  1682. 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 30
  1684. 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */
  1685. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1686. 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1687. 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1688. 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1689. 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1690. 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
  1691. 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
  1692. 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1693. 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  1694. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  1695. 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1696. 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1697. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1698. 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1699. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1700. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  1701. 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1702. 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1703. 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1704. 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1705. 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1706. 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  1707. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  1708. 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1709. 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1710. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1711. 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1712. 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1713. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  1714. 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1715. 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1716. 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP flag is set */
  1717. 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  1718. 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1719. 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1720. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1721. 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1722. 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1723. 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1724. 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */
  1725. 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  1726. 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1727. 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
  1728. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
  1729. 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1730. 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1731. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1732. 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  1733. 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1734. 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1735. 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  1736. 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  1737. 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1738. 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  1739. 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  1740. 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 31
  1742. 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  1743. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  1744. 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1745. 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  1746. 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1747. 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1748. 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1749. 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1750. 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1751. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1752. 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1753. 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1754. 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
  1755. 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1756. 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1757. 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  1758. 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  1759. 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1760. 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1761. 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1762. 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1763. 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
  1764. 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
  1765. 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1766. 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  1767. 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1768. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1769. 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1770. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  1771. 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1772. 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1773. 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1774. 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1775. 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1776. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1777. 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1778. 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  1779. 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  1780. 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1781. 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1782. 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  1783. 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  1784. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  1785. 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  1786. 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  1787. 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1788. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  1789. 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1790. 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  1791. 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  1792. 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1793. 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1794. 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1795. 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1796. 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  1797. 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1798. 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 32
  1800. 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  1801. 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
  1802. 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
  1803. 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1804. 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  1805. 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  1806. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  1807. 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1808. 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1809. 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1810. 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1811. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1812. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  1813. 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1814. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U), xfermode,
  1815. 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  1816. 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1817. 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1818. 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1819. 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode,
  1820. 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  1821. 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1822. 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1823. 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  1824. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  1825. 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1826. 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  1827. 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  1828. 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  1829. 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1830. 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  1831. 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  1832. 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  1833. 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  1834. 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  1835. 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1836. 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  1837. 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1838. 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1839. 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1840. 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1841. 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1842. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1843. 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1844. 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1845. 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
  1846. 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1847. 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1848. 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  1849. 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  1850. 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1851. 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1852. 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1853. 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1854. 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
  1855. 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
  1856. 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 33
  1858. 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  1859. 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1860. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1861. 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1862. 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  1863. 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1864. 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1865. 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1866. 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1867. 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1868. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1869. 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1870. 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  1871. 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  1872. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1873. 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1874. 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  1875. 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  1876. 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  1877. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  1878. 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  1879. 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1880. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  1881. 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1882. 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  1883. 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  1884. 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1885. 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1886. 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1887. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1888. 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  1889. 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1890. 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1891. 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  1892. 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
  1893. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
  1894. 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1895. 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  1896. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  1897. 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1898. 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  1899. 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  1900. 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  1901. 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1902. 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
  1903. 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  1904. 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  1905. 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  1906. 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
  1907. 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1908. 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  1909. 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1910. 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1911. 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1912. 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1913. 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1914. 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 34
  1916. 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1917. 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1918. 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
  1919. 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1920. 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1921. 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1922. 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1923. 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1924. 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1925. 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
  1926. 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1927. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1928. 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1929. 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1930. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1931. 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1932. 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  1933. 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  1934. 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  1935. 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1936. 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  1937. 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  1938. 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1939. 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  1940. 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  1941. 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  1942. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  1943. 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  1944. 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  1945. 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1946. 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
  1947. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
  1948. 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1949. 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  1950. 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  1951. 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  1952. 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1953. 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  1954. 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  1955. 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1956. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  1957. 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  1958. 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1959. 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1960. 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  1961. 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  1962. 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1963. 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  1964. 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  1965. 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  1966. 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1967. 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  1968. 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  1969. 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  1970. 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  1971. 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
  1972. 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 35
  1974. 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  1975. 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1976. 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  1977. 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1978. 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  1979. 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1980. 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  1981. 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1982. 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  1983. 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
  1984. 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  1985. 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  1986. 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  1987. 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  1988. 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  1989. 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  1990. 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
  1991. 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1992. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  1993. 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  1994. 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  1995. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  1996. 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  1997. 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  1998. 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  1999. 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2000. 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2001. 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  2002. 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  2003. 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2004. 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2005. 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2006. 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2007. 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2008. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  2009. 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  2010. 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2011. 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2012. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2013. 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2014. 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2015. 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2016. 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2017. 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2018. 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
  2019. 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  2020. 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  2021. 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  2022. 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
  2023. 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2024. 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2025. 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2026. 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2027. 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2028. 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2029. 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2030. 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 36
  2032. 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2033. 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2034. 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
  2035. 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2036. 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2037. 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  2038. 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  2039. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2040. 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2041. 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2042. 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2043. 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
  2044. 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
  2045. 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2046. 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  2047. 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  2048. 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  2049. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2050. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2051. 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2052. 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  2053. 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2054. 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2055. 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2056. 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2057. 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2058. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2059. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2060. 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  2061. 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  2062. 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2063. 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2064. 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2065. 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2066. 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2067. 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  2068. 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  2069. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2070. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  2071. 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2072. 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  2073. 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  2074. 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2075. 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2076. 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2077. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2078. 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  2079. 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2080. 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2081. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
  2082. 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2083. 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  2084. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  2085. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  2086. 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2087. 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  2088. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 37
  2090. 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2091. 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** sizetoxfer = hi2c->XferSize;
  2092. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  2093. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  2094. 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2095. 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2096. 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
  2097. 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2098. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  2099. 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2100. 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  2101. 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
  2102. 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2103. 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  2104. 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
  2105. 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2106. 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  2107. 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
  2108. 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  2109. 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2110. 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  2111. 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr,
  2112. 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  2113. 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2114. 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2115. 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2116. 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2117. 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  2118. 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2119. 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2120. 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2121. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  2122. 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2123. 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2124. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2125. 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2126. 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2127. 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2128. 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2129. 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  2130. 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2131. 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  2132. 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART
  2133. 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U),
  2134. 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode, I2C_GENERATE_START_WRITE);
  2135. 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2136. 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  2137. 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  2138. 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2139. 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2140. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2141. 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2142. 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2143. 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2144. 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2145. 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
  2146. 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 38
  2148. 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2149. 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  2150. 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
  2151. 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2152. 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2153. 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2154. 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2155. 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  2156. 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2157. 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2158. 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2159. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  2160. 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2161. 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2162. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2163. 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2164. 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2165. 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2166. 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2167. 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2168. 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2169. 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
  2170. 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  2171. 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2172. 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  2173. 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
  2174. 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, I2C_AUTOEND_MODE,
  2175. 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  2176. 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2177. 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2178. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2179. 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2180. 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2181. 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2182. 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2183. 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  2184. 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  2185. 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  2186. 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  2187. 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  2188. 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2189. 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2190. 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2191. 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2192. 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2193. 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2194. 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2195. 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2196. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2197. 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2198. 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2199. 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
  2200. 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2201. 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2202. 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  2203. 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  2204. 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 39
  2206. 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2207. 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2208. 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2209. 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
  2210. 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size)
  2211. 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2212. 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  2213. 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  2214. 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2215. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2216. 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2217. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  2218. 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2219. 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2220. 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2221. 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2222. 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2223. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2224. 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2225. 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  2226. 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  2227. 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2228. 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2229. 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2230. 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2231. 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2232. 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  2233. 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  2234. 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2235. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  2236. 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2237. 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  2238. 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  2239. 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2240. 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2241. 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2242. 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2243. 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  2244. 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2245. 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2246. 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
  2247. 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2248. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  2249. 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2250. 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  2251. 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
  2252. 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2253. 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  2254. 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
  2255. 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2256. 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  2257. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
  2258. 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  2259. 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2260. 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  2261. 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
  2262. 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  2263. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 40
  2264. 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2265. 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2266. 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2267. 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2268. 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  2269. 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2270. 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2271. 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2272. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  2273. 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2274. 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2275. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2276. 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2277. 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2278. 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2279. 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2280. 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  2281. 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2282. 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  2283. 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
  2284. 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
  2285. 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2286. 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  2287. 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  2288. 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2289. 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2290. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2291. 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2292. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2293. 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2294. 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2295. 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
  2296. 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
  2297. 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2298. 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  2299. 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
  2300. 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2301. 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2302. 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2303. 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2304. 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  2305. 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2306. 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2307. 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2308. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  2309. 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2310. 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2311. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2312. 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2313. 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2314. 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2315. 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2316. 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2317. 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2318. 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
  2319. 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  2320. 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2321. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 41
  2322. 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  2323. 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
  2324. 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  2325. 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  2326. 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2327. 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2328. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2329. 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2330. 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2331. 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2332. 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2333. 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
  2334. 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  2335. 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  2336. 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  2337. 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
  2338. 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2339. 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2340. 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2341. 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2342. 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2343. 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2344. 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2345. 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2346. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2347. 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2348. 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2349. 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
  2350. 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2351. 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2352. 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2353. 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2354. 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2355. 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2356. 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
  2357. 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2358. 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  2359. 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2360. 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2361. 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2362. 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  2363. 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2364. 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  2365. 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2366. 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2367. 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2368. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2369. 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2370. 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  2371. 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  2372. 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2373. 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2374. 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2375. 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2376. 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2377. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2378. 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  2379. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 42
  2380. 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  2381. 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2382. 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */
  2383. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE)
  2384. 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2385. 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  2386. 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  2387. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  2388. 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2389. 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  2390. 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  2391. 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2392. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  2393. 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  2394. 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2395. 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2396. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
  2397. 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2398. 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  2399. 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2400. 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  2401. 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
  2402. 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2403. 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  2404. 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
  2405. 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2406. 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  2407. 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
  2408. 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  2409. 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2410. 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  2411. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx,
  2412. 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
  2413. 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  2414. 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2415. 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2416. 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2417. 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2418. 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  2419. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2420. 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2421. 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2422. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  2423. 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2424. 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2425. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2426. 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2427. 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2428. 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2429. 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2430. 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  2431. 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2432. 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  2433. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  2434. 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2435. 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2436. 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2437. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 43
  2438. 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2439. 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2440. 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2441. 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2442. 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
  2443. 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  2444. 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2445. 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  2446. 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
  2447. 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2448. 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2449. 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2450. 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2451. 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  2452. 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2453. 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2454. 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2455. 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  2456. 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2457. 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2458. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2459. 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2460. 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2461. 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2462. 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2463. 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2464. 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2465. 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  2466. 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  2467. 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2468. 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2469. 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2470. 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2471. 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2472. 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2473. 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2474. 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
  2475. 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  2476. 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2477. 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2478. 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2479. 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2480. 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2481. 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2482. 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2483. 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2484. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2485. 2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2486. 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2487. 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
  2488. 2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2489. 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2490. 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2491. 2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2492. 2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2493. 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2494. 2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
  2495. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 44
  2496. 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2497. 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  2498. 2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2499. 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2500. 2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2501. 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  2502. 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2503. 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  2504. 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2505. 2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2506. 2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2507. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2508. 2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2509. 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  2510. 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  2511. 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2512. 2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2513. 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2514. 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2515. 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2516. 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2517. 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  2518. 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  2519. 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2520. 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  2521. 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2522. 2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  2523. 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
  2524. 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2525. 2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  2526. 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
  2527. 2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2528. 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  2529. 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
  2530. 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  2531. 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2532. 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  2533. 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
  2534. 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  2535. 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2536. 2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2537. 2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2538. 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2539. 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  2540. 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2541. 2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2542. 2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2543. 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  2544. 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2545. 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2546. 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2547. 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2548. 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2549. 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2550. 2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2551. 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  2552. 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2553. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 45
  2554. 2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  2555. 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  2556. 2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2557. 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2558. 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2559. 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2560. 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2561. 2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2562. 2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2563. 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
  2564. 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  2565. 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2566. 2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  2567. 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
  2568. 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2569. 2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2570. 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2571. 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  2572. 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  2573. 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2574. 2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2575. 2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  2576. 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  2577. 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2578. 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2579. 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2580. 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2581. 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2582. 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2583. 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2584. 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2585. 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2586. 2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2587. 2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2588. 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2589. 2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2590. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2591. 2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2592. 2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2593. 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
  2594. 2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2595. 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2596. 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  2597. 2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  2598. 2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  2599. 2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  2600. 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2601. 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2602. 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  2603. 2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2604. 2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2605. 2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
  2606. 2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti
  2607. 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2608. 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  2609. 2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2610. 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  2611. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 46
  2612. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
  2613. 2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2614. 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2615. 2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2616. 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  2617. 2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2618. 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  2619. 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2620. 2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2621. 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2622. 2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2623. 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2624. 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2625. 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
  2626. 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  2627. 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2628. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
  2629. 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2630. 2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2631. 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2632. 2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2633. 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  2634. 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  2635. 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2636. 2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2637. 2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2638. 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2639. 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2640. 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  2641. 2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2642. 2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
  2643. 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
  2644. 2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2645. 2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2646. 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2647. 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2648. 2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2649. 2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2650. 2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
  2651. 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  2652. 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2653. 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  2654. 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
  2655. 2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2656. 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2657. 2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2658. 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2659. 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
  2660. 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2661. 2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2662. 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do
  2663. 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2664. 2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
  2665. 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  2666. 2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2667. 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2668. 2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2669. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 47
  2670. 2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2671. 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  2672. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  2673. 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2674. 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  2675. 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  2676. 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2677. 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  2678. 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  2679. 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2680. 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
  2681. 2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2682. 2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
  2683. 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
  2684. 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2685. 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2686. 2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2687. 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2688. 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  2689. 2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2690. 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  2691. 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  2692. 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  2693. 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2694. 2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2695. 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2696. 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2697. 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  2698. 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  2699. 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2700. 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2701. 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2702. 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
  2703. 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2704. 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
  2705. 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
  2706. 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  2707. 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2708. 2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2709. 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2710. 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2711. 2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  2712. 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  2713. 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2714. 2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  2715. 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  2716. 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2717. 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  2718. 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2719. 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2720. 2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2721. 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2722. 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2723. 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2724. 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2725. 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2726. 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2727. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 48
  2728. 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2729. 2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2730. 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2731. 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2732. 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2733. 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
  2734. 2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2735. 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2736. 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  2737. 2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  2738. 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  2739. 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  2740. 2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2741. 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2742. 2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  2743. 2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2744. 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2745. 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
  2746. 2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim
  2747. 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2748. 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  2749. 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2750. 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  2751. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
  2752. 2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2753. 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2754. 2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2755. 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  2756. 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2757. 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  2758. 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2759. 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2760. 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2761. 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2762. 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2763. 2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2764. 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/
  2765. 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  2766. 2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2767. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
  2768. 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2769. 2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2770. 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2771. 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2772. 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  2773. 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  2774. 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2775. 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2776. 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2777. 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2778. 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2779. 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  2780. 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2781. 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
  2782. 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
  2783. 2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2784. 2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2785. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 49
  2786. 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2787. 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2788. 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2789. 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2790. 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  2791. 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
  2792. 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  2793. 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2794. 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  2795. 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  2796. 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  2797. 2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2798. 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2799. 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2800. 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2801. 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  2802. 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  2803. 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2804. 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2805. 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do
  2806. 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2807. 2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */
  2808. 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
  2809. 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2810. 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2811. 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2812. 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2813. 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  2814. 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  2815. 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2816. 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  2817. 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  2818. 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2819. 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  2820. 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  2821. 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2822. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
  2823. 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2824. 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
  2825. 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
  2826. 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2827. 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2828. 2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2829. 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2830. 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  2831. 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2832. 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  2833. 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
  2834. 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  2835. 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2836. 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2837. 2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2838. 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  2839. 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  2840. 2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  2841. 2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2842. 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2843. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 50
  2844. 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U);
  2845. 2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2846. 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
  2847. 2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
  2848. 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
  2849. 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2850. 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2851. 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2852. 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2853. 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  2854. 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  2855. 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2856. 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  2857. 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  2858. 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2859. 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  2860. 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  2861. 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2862. 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2863. 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2864. 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2865. 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2866. 2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2867. 2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2868. 2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2869. 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2870. 2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2871. 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2872. 2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2873. 2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
  2874. 2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2875. 2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2876. 2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  2877. 2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  2878. 2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  2879. 2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  2880. 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2881. 2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2882. 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2883. 2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2884. 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
  2885. 2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
  2886. 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2887. 2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  2888. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
  2889. 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2890. 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2891. 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2892. 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  2893. 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2894. 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  2895. 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2896. 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2897. 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2898. 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  2899. 2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2900. 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2901. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 51
  2902. 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2903. 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2904. 2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2905. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2906. 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2907. 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  2908. 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  2909. 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2910. 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2911. 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  2912. 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0U;
  2913. 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  2914. 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  2915. 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  2916. 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  2917. 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  2918. 2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2919. 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
  2920. 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
  2921. 2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2922. 2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
  2923. 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  2924. 2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2925. 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
  2926. 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
  2927. 2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2928. 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
  2929. 2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2930. 2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2931. 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
  2932. 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
  2933. 2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2934. 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
  2935. 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
  2936. 2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2937. 2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
  2938. 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_W
  2939. 2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2940. 2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  2941. 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  2942. 2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2943. 2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  2944. 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  2945. 2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  2946. 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2947. 2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  2948. 2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  2949. 2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  2950. 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  2951. 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  2952. 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2953. 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  2954. 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2955. 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  2956. 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2957. 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2958. 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2959. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 52
  2960. 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2961. 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2962. 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  2963. 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
  2964. 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  2965. 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  2966. 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  2967. 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  2968. 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  2969. 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  2970. 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  2971. 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  2972. 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  2973. 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  2974. 2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
  2975. 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
  2976. 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2977. 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  2978. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
  2979. 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2980. 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  2981. 2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2982. 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  2983. 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2984. 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  2985. 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  2986. 2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2987. 2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2988. 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  2989. 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  2990. 2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  2991. 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  2992. 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2993. 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  2994. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  2995. 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  2996. 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  2997. 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  2998. 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  2999. 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3000. 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  3001. 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  3002. 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  3003. 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  3004. 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  3005. 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  3006. 2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3007. 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
  3008. 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
  3009. 2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3010. 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
  3011. 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  3012. 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3013. 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
  3014. 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
  3015. 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3016. 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
  3017. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 53
  3018. 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3019. 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3020. 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
  3021. 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
  3022. 2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3023. 2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
  3024. 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
  3025. 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3026. 2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
  3027. 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_
  3028. 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3029. 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3030. 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3031. 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3032. 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3033. 2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3034. 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3035. 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3036. 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  3037. 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  3038. 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  3039. 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  3040. 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  3041. 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3042. 2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  3043. 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3044. 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3045. 2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3046. 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3047. 2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3048. 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3049. 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3050. 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  3051. 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
  3052. 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  3053. 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  3054. 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  3055. 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  3056. 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  3057. 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  3058. 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  3059. 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  3060. 2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  3061. 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  3062. 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
  3063. 2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
  3064. 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3065. 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  3066. 2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3067. 2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  3068. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
  3069. 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3070. 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  3071. 2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3072. 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  3073. 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3074. 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  3075. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 54
  3076. 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3077. 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3078. 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3079. 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  3080. 2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3081. 2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3082. 2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3083. 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3084. 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  3085. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  3086. 2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3087. 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  3088. 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  3089. 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  3090. 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3091. 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  3092. 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  3093. 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  3094. 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  3095. 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  3096. 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  3097. 3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3098. 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  3099. 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3100. 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  3101. 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3102. 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3103. 3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3104. 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  3105. 3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3106. 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3107. 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
  3108. 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
  3109. 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3110. 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
  3111. 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  3112. 3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3113. 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
  3114. 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
  3115. 3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3116. 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
  3117. 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3118. 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3119. 3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
  3120. 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
  3121. 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3122. 3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
  3123. 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
  3124. 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3125. 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3126. 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  3127. 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3128. 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  3129. 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
  3130. 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3131. 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  3132. 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
  3133. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 55
  3134. 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3135. 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  3136. 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
  3137. 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  3138. 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3139. 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  3140. 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
  3141. 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  3142. 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3143. 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3144. 3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3145. 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3146. 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3147. 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  3148. 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3149. 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3150. 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  3151. 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3152. 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3153. 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3154. 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3155. 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3156. 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3157. 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3158. 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  3159. 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3160. 3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
  3161. 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START
  3162. 3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3163. 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3164. 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3165. 3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3166. 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3167. 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3168. 3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3169. 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  3170. 3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  3171. 3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  3172. 3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  3173. 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  3174. 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3175. 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3176. 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3177. 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3178. 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3179. 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  3180. 3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3181. 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3182. 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  3183. 3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3184. 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3185. 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3186. 3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3187. 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3188. 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3189. 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3190. 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  3191. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 56
  3192. 3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3193. 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3194. 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3195. 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3196. 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3197. 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3198. 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3199. 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  3200. 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
  3201. 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  3202. 3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  3203. 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  3204. 3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  3205. 3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  3206. 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  3207. 3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  3208. 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be read
  3209. 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  3210. 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  3211. 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
  3212. 3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
  3213. 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3214. 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  3215. 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3216. 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  3217. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
  3218. 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3219. 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  3220. 3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3221. 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  3222. 3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3223. 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  3224. 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3225. 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3226. 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3227. 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  3228. 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3229. 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3230. 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3231. 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3232. 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  3233. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  3234. 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3235. 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  3236. 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  3237. 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  3238. 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3239. 3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  3240. 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  3241. 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  3242. 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  3243. 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  3244. 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  3245. 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3246. 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  3247. 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3248. 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  3249. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 57
  3250. 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3251. 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3252. 3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3253. 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  3254. 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3255. 3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3256. 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
  3257. 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
  3258. 3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3259. 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */
  3260. 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  3261. 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3262. 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
  3263. 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
  3264. 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3265. 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
  3266. 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3267. 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3268. 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */
  3269. 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
  3270. 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3271. 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */
  3272. 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress);
  3273. 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3274. 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3275. 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  3276. 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3277. 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  3278. 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
  3279. 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3280. 3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  3281. 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
  3282. 3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3283. 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  3284. 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
  3285. 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  3286. 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3287. 3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  3288. 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
  3289. 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  3290. 3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3291. 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3292. 3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3293. 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3294. 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3295. 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  3296. 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3297. 3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3298. 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  3299. 3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3300. 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3301. 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3302. 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3303. 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3304. 3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3305. 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3306. 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  3307. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 58
  3308. 3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3309. 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
  3310. 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_STAR
  3311. 3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3312. 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3313. 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3314. 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3315. 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3316. 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3317. 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3318. 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  3319. 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  3320. 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  3321. 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  3322. 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  3323. 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3324. 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3325. 3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3326. 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3327. 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3328. 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  3329. 3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3330. 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3331. 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  3332. 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3333. 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3334. 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3335. 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3336. 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3337. 3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3338. 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3339. 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  3340. 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3341. 3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3342. 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3343. 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3344. 3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3345. 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3346. 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3347. 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  3348. 3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
  3349. 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This function is used with Memory devices
  3350. 3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  3351. 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  3352. 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  3353. 3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  3354. 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Trials Number of trials
  3355. 3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  3356. 3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  3357. 3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  3358. 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
  3359. 3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout)
  3360. 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3361. 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  3362. 3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3363. 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL;
  3364. 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3365. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 59
  3366. 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp1;
  3367. 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2;
  3368. 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3369. 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  3370. 3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3371. 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
  3372. 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3373. 3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3374. 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3375. 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3376. 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  3377. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  3378. 3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3379. 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
  3380. 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  3381. 3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3382. 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do
  3383. 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3384. 3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Start */
  3385. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
  3386. 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3387. 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
  3388. 3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
  3389. 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  3390. 3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3391. 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
  3392. 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  3393. 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3394. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET))
  3395. 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3396. 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
  3397. 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3398. 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
  3399. 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3400. 3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3401. 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3402. 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3403. 3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3404. 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
  3405. 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3406. 3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3407. 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3408. 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3409. 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3410. 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3411. 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3412. 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3413. 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
  3414. 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  3415. 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3416. 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3417. 3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
  3418. 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
  3419. 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3420. 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
  3421. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
  3422. 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3423. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 60
  3424. 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3425. 3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3426. 3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3427. 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  3428. 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  3429. 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3430. 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Device is ready */
  3431. 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3432. 3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3433. 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3434. 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3435. 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3436. 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  3437. 3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3438. 3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3439. 3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3440. 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
  3441. 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
  3442. 3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3443. 3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3444. 3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3445. 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3446. 3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  3447. 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  3448. 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3449. 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
  3450. 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  3451. 3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3452. 3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3453. 3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Trials */
  3454. 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Trials++;
  3455. 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials);
  3456. 3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3457. 3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3458. 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3459. 3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3460. 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3461. 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
  3462. 3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3463. 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3464. 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3465. 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3466. 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3467. 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3468. 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3469. 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3470. 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3471. 3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3472. 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3473. 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3474. 3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  3475. 3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
  3476. 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  3477. 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  3478. 3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  3479. 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  3480. 3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  3481. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 61
  3482. 3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  3483. 3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  3484. 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  3485. 3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  3486. 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  3487. 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
  3488. 3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
  3489. 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3490. 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  3491. 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
  3492. 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  3493. 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3494. 3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  3495. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  3496. 3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3497. 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  3498. 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3499. 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  3500. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  3501. 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3502. 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  3503. 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  3504. 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  3505. 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3506. 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  3507. 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  3508. 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  3509. 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  3510. 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  3511. 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3512. 3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
  3513. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  3514. 3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3515. 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  3516. 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  3517. 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3518. 3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3519. 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3520. 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  3521. 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3522. 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3523. 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3524. 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U) && ((XferOptions == I2C_FIRST_FRAME) || \
  3525. 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  3526. 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3527. 3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  3528. 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  3529. 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  3530. 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3531. 3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  3532. 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  3533. 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3534. 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** sizetoxfer = hi2c->XferSize;
  3535. 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  3536. 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  3537. 3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3538. 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3539. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 62
  3540. 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
  3541. 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
  3542. 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
  3543. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
  3544. 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  3545. 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3546. 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
  3547. 3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3548. 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3549. 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3550. 3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
  3551. 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
  3552. 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3553. 3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
  3554. 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
  3555. 3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3556. 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3557. 3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3558. 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3559. 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3560. 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
  3561. 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME))
  3562. 3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3563. 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest);
  3564. 3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3565. 3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3566. 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3567. 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
  3568. 3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3569. 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3570. 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3571. 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3572. 3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3573. 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3574. 3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3575. 3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3576. 3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  3577. 3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  3578. 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  3579. 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  3580. 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  3581. 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3582. 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  3583. 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3584. 3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3585. 3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3586. 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3587. 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3588. 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3589. 3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3590. 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  3591. 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
  3592. 3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  3593. 3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  3594. 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  3595. 3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  3596. 3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  3597. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 63
  3598. 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  3599. 3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  3600. 3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  3601. 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  3602. 3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  3603. 3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
  3604. 3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
  3605. 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3606. 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  3607. 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
  3608. 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  3609. 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  3610. 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3611. 3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  3612. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  3613. 3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3614. 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  3615. 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3616. 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  3617. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  3618. 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3619. 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
  3620. 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  3621. 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  3622. 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3623. 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  3624. 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  3625. 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  3626. 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  3627. 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  3628. 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3629. 3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
  3630. 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  3631. 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3632. 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  3633. 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  3634. 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3635. 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3636. 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3637. 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  3638. 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3639. 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3640. 3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3641. 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U) && ((XferOptions == I2C_FIRST_FRAME) || \
  3642. 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  3643. 3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3644. 3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */
  3645. 3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  3646. 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  3647. 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3648. 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  3649. 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  3650. 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3651. 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** sizetoxfer = hi2c->XferSize;
  3652. 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  3653. 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  3654. 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3655. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 64
  3656. 3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3657. 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
  3658. 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
  3659. 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
  3660. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \
  3661. 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  3662. 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3663. 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
  3664. 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3665. 3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3666. 3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3667. 3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
  3668. 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
  3669. 3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3670. 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
  3671. 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
  3672. 3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3673. 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3674. 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3675. 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3676. 3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3677. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
  3678. 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3679. 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  3680. 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3681. 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  3682. 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
  3683. 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3684. 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  3685. 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
  3686. 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3687. 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  3688. 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
  3689. 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  3690. 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3691. 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  3692. 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr,
  3693. 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  3694. 3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3695. 3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3696. 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3697. 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3698. 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3699. 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  3700. 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3701. 3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3702. 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  3703. 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3704. 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3705. 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3706. 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3707. 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3708. 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3709. 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3710. 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  3711. 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3712. 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
  3713. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 65
  3714. 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME))
  3715. 3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3716. 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest);
  3717. 3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3718. 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3719. 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3720. 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
  3721. 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3722. 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3723. 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  3724. 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  3725. 3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3726. 3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3727. 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3728. 3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3729. 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3730. 3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3731. 3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3732. 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
  3733. 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
  3734. 3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3735. 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  3736. 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
  3737. 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3738. 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3739. 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3740. 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3741. 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3742. 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  3743. 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3744. 3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3745. 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  3746. 3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3747. 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3748. 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3749. 3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3750. 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3751. 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3752. 3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3753. 3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3754. 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3755. 3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
  3756. 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  3757. 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3758. 3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  3759. 3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
  3760. 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME))
  3761. 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3762. 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest);
  3763. 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3764. 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3765. 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3766. 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
  3767. 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3768. 3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3769. 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3770. 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3771. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 66
  3772. 3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3773. 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3774. 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3775. 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3776. 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
  3777. 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  3778. 3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  3779. 3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  3780. 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
  3781. 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3782. 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3783. 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  3784. 3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3785. 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3786. 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3787. 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3788. 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3789. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3790. 3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3791. 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  3792. 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
  3793. 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  3794. 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  3795. 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  3796. 3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  3797. 3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  3798. 3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  3799. 3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  3800. 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  3801. 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  3802. 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  3803. 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
  3804. 3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
  3805. 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3806. 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  3807. 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
  3808. 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3809. 3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  3810. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  3811. 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3812. 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  3813. 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3814. 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  3815. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  3816. 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3817. 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  3818. 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  3819. 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  3820. 3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3821. 3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  3822. 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  3823. 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  3824. 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  3825. 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  3826. 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3827. 3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
  3828. 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  3829. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 67
  3830. 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3831. 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  3832. 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  3833. 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3834. 3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3835. 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3836. 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  3837. 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3838. 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3839. 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3840. 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
  3841. 3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
  3842. 3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
  3843. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
  3844. 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  3845. 3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3846. 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
  3847. 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3848. 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3849. 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3850. 3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
  3851. 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
  3852. 3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3853. 3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
  3854. 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
  3855. 3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3856. 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3857. 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3858. 3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3859. 3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3860. 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
  3861. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
  3862. 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3863. 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3864. 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3865. 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3866. 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3867. 3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3868. 3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3869. 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
  3870. 3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3871. 3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  3872. 3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3873. 3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3874. 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3875. 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  3876. 3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3877. 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3878. 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3879. 3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  3880. 3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
  3881. 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  3882. 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  3883. 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  3884. 3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  3885. 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  3886. 3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  3887. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 68
  3888. 3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  3889. 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  3890. 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  3891. 3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  3892. 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
  3893. 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions)
  3894. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3895. 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  3896. 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
  3897. 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  3898. 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3899. 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  3900. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  3901. 3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3902. 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  3903. 3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3904. 3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  3905. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  3906. 3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3907. 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
  3908. 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  3909. 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  3910. 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3911. 3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  3912. 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  3913. 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  3914. 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  3915. 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  3916. 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3917. 3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
  3918. 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  3919. 3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3920. 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  3921. 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  3922. 3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3923. 3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3924. 3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3925. 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  3926. 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3927. 3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3928. 3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3929. 3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame,
  3930. 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */
  3931. 3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */
  3932. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \
  3933. 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  3934. 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3935. 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
  3936. 3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3937. 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3938. 3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3939. 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
  3940. 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
  3941. 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3942. 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
  3943. 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE)
  3944. 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3945. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 69
  3946. 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  3947. 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3948. 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3949. 3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3950. 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
  3951. 3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3952. 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  3953. 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3954. 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  3955. 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
  3956. 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3957. 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  3958. 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
  3959. 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3960. 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  3961. 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
  3962. 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  3963. 3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3964. 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  3965. 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
  3966. 3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  3967. 3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3968. 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  3969. 3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3970. 3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  3971. 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  3972. 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  3973. 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3974. 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  3975. 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  3976. 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3977. 3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3978. 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3979. 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3980. 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  3981. 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  3982. 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3983. 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  3984. 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  3985. 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
  3986. 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
  3987. 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3988. 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  3989. 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  3990. 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3991. 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  3992. 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  3993. 3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  3994. 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  3995. 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  3996. 3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  3997. 3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
  3998. 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
  3999. 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4000. 3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  4001. 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
  4002. 3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4003. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 70
  4004. 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4005. 3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4006. 3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  4007. 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  4008. 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  4009. 3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4010. 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  4011. 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  4012. 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4013. 3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4014. 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4015. 3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4016. 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4017. 3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4018. 3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4019. 3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4020. 3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4021. 3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
  4022. 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  4023. 3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4024. 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */
  4025. 3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
  4026. 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  4027. 3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  4028. 3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4029. 3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4030. 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4031. 3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4032. 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  4033. 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  4034. 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  4035. 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
  4036. 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */
  4037. 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI |
  4038. 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */
  4039. 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
  4040. 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4041. 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4042. 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4043. 3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4044. 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4045. 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4046. 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  4047. 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4048. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4049. 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4050. 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4051. 3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
  4052. 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  4053. 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4054. 3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4055. 3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  4056. 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  4057. 3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  4058. 3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  4059. 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4060. 3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
  4061. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 71
  4062. 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
  4063. 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4064. 3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  4065. 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
  4066. 3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4067. 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  4068. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  4069. 3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4070. 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
  4071. 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4072. 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  4073. 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4074. 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  4075. 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4076. 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4077. 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4078. 3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
  4079. 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
  4080. 3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4081. 3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  4082. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  4083. 3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4084. 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
  4085. 3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
  4086. 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
  4087. 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4088. 3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
  4089. 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
  4090. 3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4091. 3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
  4092. 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
  4093. 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4094. 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  4095. 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4096. 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  4097. 3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4098. 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  4099. 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  4100. 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
  4101. 3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4102. 3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
  4103. 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
  4104. 3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4105. 3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
  4106. 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
  4107. 3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4108. 4000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4109. 4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4110. 4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4111. 4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4112. 4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
  4113. 4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  4114. 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  4115. 4007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4116. 4008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  4117. 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  4118. 4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4119. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 72
  4120. 4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  4121. 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  4122. 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  4123. 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  4124. 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  4125. 4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  4126. 4017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4127. 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
  4128. 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
  4129. 4020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4130. 4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
  4131. 4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
  4132. 4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  4133. 4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4134. 4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4135. 4026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4136. 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4137. 4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4138. 4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  4139. 4030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  4140. 4031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  4141. 4032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */
  4142. 4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
  4143. 4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4144. 4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4145. 4036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4146. 4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4147. 4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4148. 4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4149. 4040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4150. 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4151. 4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4152. 4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4153. 4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
  4154. 4045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  4155. 4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4156. 4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4157. 4048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  4158. 4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  4159. 4050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  4160. 4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  4161. 4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4162. 4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
  4163. 4054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
  4164. 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4165. 4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  4166. 4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
  4167. 4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  4168. 4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4169. 4060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  4170. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  4171. 4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4172. 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
  4173. 4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4174. 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  4175. 4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4176. 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  4177. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 73
  4178. 4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4179. 4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4180. 4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4181. 4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  4182. 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  4183. 4073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4184. 4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
  4185. 4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
  4186. 4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4187. 4077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
  4188. 4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
  4189. 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
  4190. 4080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4191. 4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
  4192. 4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
  4193. 4083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4194. 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
  4195. 4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4196. 4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
  4197. 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  4198. 4088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4199. 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  4200. 4090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4201. 4091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  4202. 4092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  4203. 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
  4204. 4094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4205. 4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
  4206. 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
  4207. 4097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4208. 4098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
  4209. 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
  4210. 4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4211. 4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4212. 4102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4213. 4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4214. 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
  4215. 4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4216. 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
  4217. 4107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4218. 4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  4219. 4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4220. 4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
  4221. 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  4222. 4112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4223. 4113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  4224. 4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  4225. 4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
  4226. 4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4227. 4117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
  4228. 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
  4229. 4119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4230. 4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
  4231. 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
  4232. 4122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4233. 4123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4234. 4124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4235. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 74
  4236. 4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4237. 4126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4238. 4127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4239. 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  4240. 4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4241. 4130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4242. 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
  4243. 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  4244. 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  4245. 4134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4246. 4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  4247. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  4248. 4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4249. 4138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  4250. 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  4251. 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  4252. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  4253. 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  4254. 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  4255. 4144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4256. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  4257. 4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4258. 4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  4259. 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
  4260. 4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4261. 4150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  4262. 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
  4263. 4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4264. 4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  4265. 4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
  4266. 4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  4267. 4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4268. 4157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  4269. 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
  4270. 4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  4271. 4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4272. 4161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4273. 4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4274. 4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  4275. 4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  4276. 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  4277. 4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4278. 4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  4279. 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  4280. 4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4281. 4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4282. 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4283. 4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4284. 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4285. 4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4286. 4175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4287. 4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  4288. 4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4289. 4178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  4290. 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  4291. 4180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4292. 4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */
  4293. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 75
  4294. 4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0;
  4295. 4183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4296. 4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4297. 4185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4298. 4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  4299. 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  4300. 4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  4301. 4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4302. 4190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  4303. 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  4304. 4192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4305. 4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4306. 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4307. 4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4308. 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4309. 4197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4310. 4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4311. 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
  4312. 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
  4313. 4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4314. 4202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
  4315. 4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
  4316. 4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  4317. 4205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4318. 4206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4319. 4207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4320. 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4321. 4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4322. 4210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  4323. 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
  4324. 4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4325. 4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  4326. 4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  4327. 4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  4328. 4216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
  4329. 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  4330. 4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4331. 4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4332. 4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4333. 4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4334. 4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4335. 4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4336. 4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4337. 4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4338. 4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4339. 4227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4340. 4228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
  4341. 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  4342. 4230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4343. 4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4344. 4232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  4345. 4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  4346. 4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  4347. 4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  4348. 4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4349. 4237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
  4350. 4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
  4351. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 76
  4352. 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4353. 4240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  4354. 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
  4355. 4242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4356. 4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  4357. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  4358. 4245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4359. 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
  4360. 4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4361. 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  4362. 4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4363. 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  4364. 4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4365. 4252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4366. 4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4367. 4254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
  4368. 4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
  4369. 4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4370. 4257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  4371. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  4372. 4259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4373. 4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
  4374. 4261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
  4375. 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
  4376. 4263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4377. 4264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
  4378. 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  4379. 4266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4380. 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
  4381. 4268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4382. 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  4383. 4270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4384. 4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
  4385. 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  4386. 4273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4387. 4274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  4388. 4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  4389. 4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
  4390. 4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4391. 4278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
  4392. 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
  4393. 4280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4394. 4281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
  4395. 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
  4396. 4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4397. 4284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4398. 4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4399. 4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4400. 4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4401. 4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
  4402. 4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  4403. 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  4404. 4291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4405. 4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  4406. 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  4407. 4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4408. 4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  4409. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 77
  4410. 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  4411. 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  4412. 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  4413. 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  4414. 4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  4415. 4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4416. 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
  4417. 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
  4418. 4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4419. 4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
  4420. 4306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
  4421. 4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  4422. 4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4423. 4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4424. 4310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4425. 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4426. 4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4427. 4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  4428. 4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  4429. 4315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  4430. 4316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */
  4431. 4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
  4432. 4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4433. 4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4434. 4320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4435. 4321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4436. 4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4437. 4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4438. 4324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4439. 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4440. 4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4441. 4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4442. 4328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
  4443. 4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
  4444. 4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4445. 4331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4446. 4332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer
  4447. 4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent
  4448. 4334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
  4449. 4335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  4450. 4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4451. 4337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
  4452. 4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions)
  4453. 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4454. 4340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  4455. 4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp;
  4456. 4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  4457. 4343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4458. 4344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  4459. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
  4460. 4346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4461. 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
  4462. 4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4463. 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
  4464. 4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4465. 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
  4466. 4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4467. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 78
  4468. 4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4469. 4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4470. 4355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
  4471. 4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
  4472. 4357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4473. 4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  4474. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  4475. 4360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4476. 4361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
  4477. 4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
  4478. 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
  4479. 4364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4480. 4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */
  4481. 4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  4482. 4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4483. 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
  4484. 4369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4485. 4370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
  4486. 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  4487. 4372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4488. 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  4489. 4374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4490. 4375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  4491. 4376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  4492. 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
  4493. 4378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4494. 4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
  4495. 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
  4496. 4381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4497. 4382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
  4498. 4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
  4499. 4384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4500. 4385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4501. 4386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4502. 4387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4503. 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
  4504. 4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4505. 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
  4506. 4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4507. 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  4508. 4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4509. 4394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */
  4510. 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  4511. 4396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4512. 4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  4513. 4398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  4514. 4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
  4515. 4400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4516. 4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
  4517. 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
  4518. 4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4519. 4404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
  4520. 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
  4521. 4406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4522. 4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4523. 4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4524. 4409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4525. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 79
  4526. 4410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4527. 4411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4528. 4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  4529. 4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4530. 4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4531. 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
  4532. 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  4533. 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  4534. 4418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4535. 4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */
  4536. 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
  4537. 4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4538. 4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */
  4539. 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  4540. 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  4541. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  4542. 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  4543. 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  4544. 4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4545. 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  4546. 4430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4547. 4431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
  4548. 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
  4549. 4433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4550. 4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */
  4551. 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
  4552. 4436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4553. 4437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
  4554. 4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
  4555. 4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  4556. 4440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4557. 4441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  4558. 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR,
  4559. 4443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
  4560. 4444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4561. 4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4562. 4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4563. 4447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  4564. 4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  4565. 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  4566. 4450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4567. 4451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  4568. 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
  4569. 4453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4570. 4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4571. 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4572. 4456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4573. 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4574. 4458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4575. 4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4576. 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
  4577. 4461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4578. 4462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  4579. 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  4580. 4464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4581. 4465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */
  4582. 4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0;
  4583. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 80
  4584. 4467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4585. 4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4586. 4469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4587. 4470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */
  4588. 4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  4589. 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  4590. 4473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4591. 4474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */
  4592. 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
  4593. 4476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4594. 4477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4595. 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4596. 4479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4597. 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4598. 4481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4599. 4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4600. 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR);
  4601. 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
  4602. 4485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4603. 4486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
  4604. 4487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
  4605. 4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  4606. 4489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4607. 4490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4608. 4491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4609. 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4610. 4493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4611. 4494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  4612. 4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
  4613. 4496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4614. 4497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  4615. 4498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  4616. 4499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  4617. 4500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */
  4618. 4501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
  4619. 4502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4620. 4503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4621. 4504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4622. 4505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4623. 4506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4624. 4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4625. 4508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4626. 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4627. 4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4628. 4511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4629. 4512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
  4630. 4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4631. 4514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4632. 4515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  4633. 4516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4634. 4517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
  4635. 4518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4636. 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  4637. 4520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4638. 4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  4639. 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  4640. 4523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4641. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 81
  4642. 4524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the Address Match interrupt */
  4643. 4525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  4644. 4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4645. 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4646. 4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4647. 4529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4648. 4530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4649. 4531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  4650. 4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4651. 4533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4652. 4534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4653. 4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4654. 4536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
  4655. 4537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4656. 4538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C
  4657. 4539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  4658. 4540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4659. 4541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
  4660. 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4661. 4543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  4662. 4544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp;
  4663. 4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4664. 4546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
  4665. 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
  4666. 4548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4667. 4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
  4668. 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
  4669. 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  4670. 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  4671. 4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  4672. 4554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4673. 4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the Address Match interrupt */
  4674. 4556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  4675. 4557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4676. 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4677. 4559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4678. 4560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4679. 4561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4680. 4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY;
  4681. 4563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4682. 4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4683. 4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4684. 4566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4685. 4567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Abort a master or memory I2C IT or DMA process communication with Interrupt.
  4686. 4568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4687. 4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4688. 4570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  4689. 4571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  4690. 4572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  4691. 4573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4692. 4574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
  4693. 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4694. 4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode;
  4695. 4577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4696. 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmp_mode == HAL_I2C_MODE_MASTER) || (tmp_mode == HAL_I2C_MODE_MEM))
  4697. 4579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4698. 4580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  4699. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 82
  4700. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  4701. 4582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4702. 4583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
  4703. 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
  4704. 4585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4705. 4586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  4706. 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  4707. 4588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4708. 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  4709. 4590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4710. 4591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
  4711. 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
  4712. 4593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4713. 4594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4714. 4595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4715. 4596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
  4716. 4597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4717. 4598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4718. 4599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
  4719. 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
  4720. 4601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4721. 4602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
  4722. 4603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
  4723. 4604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
  4724. 4605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4725. 4606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  4726. 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  4727. 4608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4728. 4609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
  4729. 4610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
  4730. 4611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */
  4731. 4612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
  4732. 4613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4733. 4614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  4734. 4615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4735. 4616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  4736. 4617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4737. 4618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong usage of abort function */
  4738. 4619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
  4739. 4620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  4740. 4621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4741. 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4742. 4623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4743. 4624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4744. 4625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  4745. 4626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4746. 4627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4747. 4628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
  4748. 4629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  4749. 4630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4750. 4631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4751. 4632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4752. 4633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
  4753. 4634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4754. 4635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4755. 4636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4756. 4637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4757. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 83
  4758. 4638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) /* Derogation MISRAC2012-Rule-8.13 */
  4759. 4639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4760. 4640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
  4761. 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
  4762. 4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  4763. 4643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4764. 4644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
  4765. 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
  4766. 4646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4767. 4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
  4768. 4648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4769. 4649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4770. 4650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4771. 4651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4772. 4652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
  4773. 4653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4774. 4654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4775. 4655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4776. 4656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4777. 4657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
  4778. 4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4779. 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
  4780. 4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  4781. 4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
  4782. 4662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4783. 4663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
  4784. 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \
  4785. 4665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  4786. 4666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4787. 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
  4788. 4668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4789. 4669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */
  4790. 4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
  4791. 4671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4792. 4672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4793. 4673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
  4794. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \
  4795. 4675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  4796. 4676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4797. 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
  4798. 4678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4799. 4679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */
  4800. 4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
  4801. 4681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4802. 4682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4803. 4683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
  4804. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \
  4805. 4685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  4806. 4686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4807. 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
  4808. 4688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4809. 4689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */
  4810. 4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
  4811. 4691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4812. 4692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4813. 4693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
  4814. 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
  4815. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 84
  4816. 4695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4817. 4696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
  4818. 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_
  4819. 4698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4820. 4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror);
  4821. 4700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4822. 4701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4823. 4702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4824. 4703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4825. 4704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
  4826. 4705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4827. 4706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4828. 4707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4829. 4708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4830. 4709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
  4831. 4710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4832. 4711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4833. 4712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4834. 4713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4835. 4714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4836. 4715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
  4837. 4716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4838. 4717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4839. 4718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4840. 4719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4841. 4720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
  4842. 4721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4843. 4722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4844. 4723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4845. 4724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4846. 4725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
  4847. 4726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4848. 4727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4849. 4728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4850. 4729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4851. 4730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4852. 4731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
  4853. 4732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4854. 4733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4855. 4734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4856. 4735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
  4857. 4736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4858. 4737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4859. 4738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4860. 4739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4861. 4740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
  4862. 4741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4863. 4742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4864. 4743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4865. 4744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4866. 4745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4867. 4746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
  4868. 4747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4869. 4748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4870. 4749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4871. 4750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4872. 4751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
  4873. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 85
  4874. 4752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4875. 4753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4876. 4754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4877. 4755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4878. 4756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
  4879. 4757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4880. 4758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4881. 4759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4882. 4760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4883. 4761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4884. 4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
  4885. 4763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4886. 4764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4887. 4765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4888. 4766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4889. 4767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Address Match callback.
  4890. 4768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4891. 4769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4892. 4770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
  4893. 4771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
  4894. 4772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4895. 4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4896. 4774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
  4897. 4775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4898. 4776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4899. 4777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4900. 4778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection);
  4901. 4779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode);
  4902. 4780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4903. 4781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4904. 4782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
  4905. 4783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4906. 4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4907. 4785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4908. 4786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4909. 4787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Listen Complete callback.
  4910. 4788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4911. 4789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4912. 4790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4913. 4791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4914. 4792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
  4915. 4793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4916. 4794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4917. 4795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4918. 4796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4919. 4797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4920. 4798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
  4921. 4799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4922. 4800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4923. 4801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4924. 4802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4925. 4803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
  4926. 4804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4927. 4805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4928. 4806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4929. 4807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4930. 4808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
  4931. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 86
  4932. 4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4933. 4810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4934. 4811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4935. 4812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4936. 4813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4937. 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
  4938. 4815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4939. 4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4940. 4817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4941. 4818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4942. 4819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
  4943. 4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4944. 4821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4945. 4822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4946. 4823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4947. 4824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
  4948. 4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4949. 4826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4950. 4827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4951. 4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4952. 4829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4953. 4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
  4954. 4831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4955. 4832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4956. 4833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4957. 4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4958. 4835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C error callback.
  4959. 4836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4960. 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4961. 4838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4962. 4839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4963. 4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
  4964. 4841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4965. 4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4966. 4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4967. 4844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4968. 4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4969. 4846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
  4970. 4847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4971. 4848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4972. 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4973. 4850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4974. 4851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C abort callback.
  4975. 4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  4976. 4853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  4977. 4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  4978. 4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4979. 4856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
  4980. 4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  4981. 4858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  4982. 4859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c);
  4983. 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4984. 4861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
  4985. 4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
  4986. 4863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4987. 4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  4988. 4865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4989. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 87
  4990. 4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  4991. 4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  4992. 4868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  4993. 4869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  4994. 4870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
  4995. 4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
  4996. 4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *
  4997. 4873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim
  4998. 4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
  4999. 4875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
  5000. 4876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===============================================================================
  5001. 4877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..]
  5002. 4878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
  5003. 4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and the data flow.
  5004. 4880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5005. 4881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim
  5006. 4882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  5007. 4883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5008. 4884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5009. 4885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5010. 4886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C handle state.
  5011. 4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5012. 4888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5013. 4889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL state
  5014. 4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5015. 4891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(const I2C_HandleTypeDef *hi2c)
  5016. 4892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5017. 4893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */
  5018. 4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->State;
  5019. 4895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5020. 4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5021. 4897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5022. 4898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
  5023. 4899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5024. 4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for I2C module
  5025. 4901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL mode
  5026. 4902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5027. 4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(const I2C_HandleTypeDef *hi2c)
  5028. 4904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5029. 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode;
  5030. 4906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5031. 4907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5032. 4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5033. 4909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C error code.
  5034. 4910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5035. 4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5036. 4912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval I2C Error Code
  5037. 4913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5038. 4914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(const I2C_HandleTypeDef *hi2c)
  5039. 4915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5040. 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode;
  5041. 4917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5042. 4918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5043. 4919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5044. 4920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  5045. 4921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5046. 4922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5047. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 88
  5048. 4923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5049. 4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @}
  5050. 4925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5051. 4926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5052. 4927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
  5053. 4928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{
  5054. 4929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5055. 4930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5056. 4931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5057. 4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
  5058. 4933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5059. 4934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5060. 4935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  5061. 4936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
  5062. 4937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  5063. 4938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5064. 4939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  5065. 4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
  5066. 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5067. 4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  5068. 4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  5069. 4944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5070. 4945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  5071. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  5072. 4947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5073. 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
  5074. 4949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  5075. 4950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5076. 4951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5077. 4952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5078. 4953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5079. 4954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
  5080. 4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
  5081. 4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
  5082. 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  5083. 4958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5084. 4959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  5085. 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  5086. 4961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5087. 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
  5088. 4963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  5089. 4964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5090. 4965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
  5091. 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
  5092. 4967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5093. 4968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  5094. 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  5095. 4970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5096. 4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  5097. 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  5098. 4973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5099. 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  5100. 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  5101. 4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5102. 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) == RESET) && \
  5103. 4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
  5104. 4979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)))
  5105. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 89
  5106. 4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5107. 4981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  5108. 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
  5109. 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5110. 4984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  5111. 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  5112. 4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5113. 4987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  5114. 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  5115. 4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5116. 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  5117. 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  5118. 4992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5119. 4993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5120. 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
  5121. 4995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5122. 4996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5123. 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
  5124. 4998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5125. 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
  5126. 5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5127. 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  5128. 5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5129. 5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */
  5130. 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
  5131. 5005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5132. 5006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  5133. 5007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5134. 5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5135. 5009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5136. 5010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  5137. 5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5138. 5012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
  5139. 5013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5140. 5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5141. 5015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5142. 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  5143. 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  5144. 5018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5145. 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
  5146. 5020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
  5147. 5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5148. 5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5149. 5023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5150. 5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize,
  5151. 5025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  5152. 5026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5153. 5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5154. 5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5155. 5029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5156. 5030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5157. 5031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
  5158. 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
  5159. 5033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5160. 5034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
  5161. 5035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
  5162. 5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5163. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 90
  5164. 5037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5165. 5038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5166. 5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
  5167. 5040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5168. 5041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
  5169. 5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5170. 5043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5171. 5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5172. 5045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
  5173. 5046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5174. 5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5175. 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
  5176. 5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5177. 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
  5178. 5051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5179. 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
  5180. 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
  5181. 5054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5182. 5055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */
  5183. 5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
  5184. 5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5185. 5058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5186. 5059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5187. 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
  5188. 5061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
  5189. 5062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5190. 5063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5191. 5064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5192. 5065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5193. 5066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5194. 5067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
  5195. 5068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5196. 5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
  5197. 5070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5198. 5071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5199. 5072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5200. 5073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5201. 5074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  5202. 5075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5203. 5076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5204. 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
  5205. 5078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  5206. 5079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5207. 5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
  5208. 5081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
  5209. 5082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5210. 5083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5211. 5084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  5212. 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  5213. 5086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5214. 5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  5215. 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5216. 5089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5217. 5090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5218. 5091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with Interrupt.
  5219. 5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5220. 5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5221. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 91
  5222. 5094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  5223. 5095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
  5224. 5096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  5225. 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5226. 5098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  5227. 5099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
  5228. 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5229. 5101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  5230. 5102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  5231. 5103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5232. 5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  5233. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  5234. 5106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5235. 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
  5236. 5108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  5237. 5109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5238. 5110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5239. 5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5240. 5112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5241. 5113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
  5242. 5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
  5243. 5115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
  5244. 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  5245. 5117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5246. 5118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  5247. 5119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  5248. 5120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5249. 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
  5250. 5122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  5251. 5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5252. 5124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
  5253. 5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
  5254. 5126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5255. 5127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  5256. 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  5257. 5129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5258. 5130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  5259. 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  5260. 5132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5261. 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  5262. 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  5263. 5135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5264. 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
  5265. 5137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  5266. 5138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5267. 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Memaddress == 0xFFFFFFFFU)
  5268. 5140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5269. 5141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  5270. 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  5271. 5143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5272. 5144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  5273. 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  5274. 5146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5275. 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  5276. 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  5277. 5149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5278. 5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5279. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 92
  5280. 5151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5281. 5152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */
  5282. 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress;
  5283. 5154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5284. 5155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
  5285. 5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
  5286. 5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5287. 5158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5288. 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \
  5289. 5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5290. 5161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5291. 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
  5292. 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5293. 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  5294. 5165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5295. 5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */
  5296. 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
  5297. 5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5298. 5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  5299. 5170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5300. 5171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5301. 5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5302. 5173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  5303. 5174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5304. 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5305. 5176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
  5306. 5177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5307. 5178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5308. 5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5309. 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  5310. 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5311. 5182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  5312. 5183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5313. 5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5314. 5185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5315. 5186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5316. 5187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
  5317. 5188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5318. 5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
  5319. 5190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5320. 5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5321. 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \
  5322. 5193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5323. 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5324. 5195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupt related to address step */
  5325. 5196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  5326. 5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5327. 5198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
  5328. 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
  5329. 5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5330. 5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  5331. 5202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5332. 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ;
  5333. 5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5334. 5205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5335. 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  5336. 5207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5337. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 93
  5338. 5208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */
  5339. 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
  5340. 5210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5341. 5211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  5342. 5212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5343. 5213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5344. 5214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5345. 5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  5346. 5216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5347. 5217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5348. 5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
  5349. 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5350. 5220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  5351. 5221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5352. 5222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5353. 5223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5354. 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  5355. 5225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5356. 5226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */
  5357. 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5358. 5228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  5359. 5229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5360. 5230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5361. 5231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5362. 5232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5363. 5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  5364. 5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5365. 5235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5366. 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
  5367. 5237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  5368. 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5369. 5239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
  5370. 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
  5371. 5241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5372. 5242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5373. 5243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  5374. 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  5375. 5245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5376. 5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  5377. 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5378. 5248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5379. 5249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5380. 5250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
  5381. 5251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5382. 5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5383. 5253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  5384. 5254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
  5385. 5255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  5386. 5256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5387. 5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  5388. 5258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
  5389. 5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5390. 5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  5391. 5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  5392. 5262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5393. 5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */
  5394. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  5395. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 94
  5396. 5265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5397. 5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */
  5398. 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \
  5399. 5268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  5400. 5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5401. 5270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */
  5402. 5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags);
  5403. 5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5404. 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
  5405. 5274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  5406. 5275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5407. 5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */
  5408. 5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
  5409. 5278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0*/
  5410. 5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */
  5411. 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
  5412. 5281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5413. 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
  5414. 5283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  5415. 5284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
  5416. 5285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5417. 5286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */
  5418. 5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
  5419. 5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5420. 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
  5421. 5290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5422. 5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5423. 5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5424. 5293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5425. 5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  5426. 5295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  5427. 5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5428. 5297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
  5429. 5298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
  5430. 5299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  5431. 5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5432. 5301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5433. 5302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5434. 5303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5435. 5304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5436. 5305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5437. 5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5438. 5307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5439. 5308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5440. 5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
  5441. 5310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5442. 5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5443. 5312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5444. 5313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
  5445. 5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  5446. 5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5447. 5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
  5448. 5317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5449. 5318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5450. 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
  5451. 5320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5452. 5321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5453. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 95
  5454. 5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5455. 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \
  5456. 5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  5457. 5325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5458. 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
  5459. 5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5460. 5328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  5461. 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  5462. 5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5463. 5331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  5464. 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  5465. 5333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5466. 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  5467. 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  5468. 5336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5469. 5337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5470. 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
  5471. 5339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  5472. 5340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5473. 5341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
  5474. 5342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  5475. 5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5476. 5344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5477. 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \
  5478. 5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  5479. 5347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5480. 5348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags);
  5481. 5349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5482. 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
  5483. 5351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  5484. 5352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5485. 5353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
  5486. 5354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
  5487. 5355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if all Data have already been sent */
  5488. 5356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
  5489. 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
  5490. 5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5491. 5359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */
  5492. 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
  5493. 5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5494. 5362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  5495. 5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  5496. 5364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5497. 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  5498. 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  5499. 5367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5500. 5368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5501. 5369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5502. 5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
  5503. 5371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5504. 5372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
  5505. 5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
  5506. 5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  5507. 5375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5508. 5376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5509. 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5510. 5378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5511. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 96
  5512. 5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5513. 5380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  5514. 5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5515. 5382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5516. 5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  5517. 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  5518. 5385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5519. 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  5520. 5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5521. 5388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5522. 5389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5523. 5390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
  5524. 5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5525. 5392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5526. 5393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  5527. 5394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
  5528. 5395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  5529. 5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5530. 5397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  5531. 5398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
  5532. 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5533. 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  5534. 5401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  5535. 5402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5536. 5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  5537. 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  5538. 5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5539. 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
  5540. 5407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  5541. 5408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5542. 5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5543. 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5544. 5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5545. 5412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
  5546. 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  5547. 5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5548. 5415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
  5549. 5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
  5550. 5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
  5551. 5418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
  5552. 5419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5553. 5420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  5554. 5421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  5555. 5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5556. 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
  5557. 5424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5558. 5425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5559. 5426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC interrupt */
  5560. 5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
  5561. 5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5562. 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
  5563. 5430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5564. 5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Recover Slave address */
  5565. 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
  5566. 5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5567. 5434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
  5568. 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  5569. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 97
  5570. 5436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5571. 5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */
  5572. 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
  5573. 5439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5574. 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  5575. 5441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5576. 5442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5577. 5443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5578. 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  5579. 5445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5580. 5446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  5581. 5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5582. 5448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5583. 5449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5584. 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  5585. 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  5586. 5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5587. 5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  5588. 5454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5589. 5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5590. 5456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5591. 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  5592. 5458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5593. 5459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5594. 5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5595. 5461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
  5596. 5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
  5597. 5463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5598. 5464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  5599. 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  5600. 5466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5601. 5467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  5602. 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  5603. 5469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5604. 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
  5605. 5471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5606. 5472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5607. 5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5608. 5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
  5609. 5475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5610. 5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5611. 5477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5612. 5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5613. 5479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
  5614. 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
  5615. 5481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5616. 5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
  5617. 5483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
  5618. 5484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5619. 5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5620. 5486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5621. 5487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
  5622. 5488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5623. 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
  5624. 5490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5625. 5491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5626. 5492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5627. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 98
  5628. 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
  5629. 5494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5630. 5495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5631. 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
  5632. 5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5633. 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
  5634. 5499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5635. 5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
  5636. 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
  5637. 5502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5638. 5503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */
  5639. 5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
  5640. 5505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5641. 5506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5642. 5507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5643. 5508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
  5644. 5509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
  5645. 5510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5646. 5511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5647. 5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5648. 5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5649. 5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5650. 5515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
  5651. 5516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5652. 5517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
  5653. 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5654. 5519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5655. 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
  5656. 5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  5657. 5522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5658. 5523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
  5659. 5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
  5660. 5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5661. 5526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5662. 5527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5663. 5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  5664. 5529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5665. 5530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5666. 5531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  5667. 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  5668. 5533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5669. 5534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  5670. 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5671. 5536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5672. 5537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5673. 5538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with DMA.
  5674. 5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5675. 5540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5676. 5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  5677. 5542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
  5678. 5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  5679. 5544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5680. 5545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  5681. 5546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
  5682. 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5683. 5548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  5684. 5549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5685. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 99
  5686. 5550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */
  5687. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  5688. 5552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5689. 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
  5690. 5554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  5691. 5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5692. 5556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5693. 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5694. 5558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5695. 5559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */
  5696. 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  5697. 5561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5698. 5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
  5699. 5563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
  5700. 5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
  5701. 5565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
  5702. 5566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5703. 5567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  5704. 5568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  5705. 5569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5706. 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \
  5707. 5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  5708. 5572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5709. 5573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */
  5710. 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress;
  5711. 5575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5712. 5576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */
  5713. 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU;
  5714. 5578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5715. 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \
  5716. 5580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5717. 5581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5718. 5582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupt related to address step */
  5719. 5583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  5720. 5584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5721. 5585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable only Error interrupt */
  5722. 5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
  5723. 5587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5724. 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
  5725. 5589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5726. 5590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
  5727. 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  5728. 5592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5729. 5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */
  5730. 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
  5731. 5595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5732. 5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  5733. 5597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5734. 5598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5735. 5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5736. 5600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  5737. 5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5738. 5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5739. 5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
  5740. 5604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5741. 5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5742. 5606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5743. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 100
  5744. 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  5745. 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5746. 5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  5747. 5610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5748. 5611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5749. 5612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  5750. 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  5751. 5614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5752. 5615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  5753. 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  5754. 5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5755. 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
  5756. 5619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5757. 5620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5758. 5621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5759. 5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
  5760. 5623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5761. 5624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5762. 5625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5763. 5626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5764. 5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
  5765. 5628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5766. 5629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
  5767. 5630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5768. 5631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5769. 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \
  5770. 5633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  5771. 5634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5772. 5635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupt related to address step */
  5773. 5636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  5774. 5637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5775. 5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable only Error and NACK interrupt for data transfer */
  5776. 5639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
  5777. 5640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5778. 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  5779. 5642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5780. 5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ;
  5781. 5644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5782. 5645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5783. 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  5784. 5647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5785. 5648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */
  5786. 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
  5787. 5650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5788. 5651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  5789. 5652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5790. 5653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5791. 5654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5792. 5655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  5793. 5656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5794. 5657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5795. 5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
  5796. 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5797. 5660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  5798. 5661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5799. 5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5800. 5663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5801. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 101
  5802. 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  5803. 5665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5804. 5666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */
  5805. 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  5806. 5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  5807. 5669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5808. 5670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5809. 5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */
  5810. 5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
  5811. 5673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5812. 5674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */
  5813. 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  5814. 5676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5815. 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
  5816. 5678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5817. 5679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5818. 5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5819. 5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
  5820. 5682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5821. 5683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5822. 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
  5823. 5685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  5824. 5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5825. 5687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */
  5826. 5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
  5827. 5689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5828. 5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5829. 5691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5830. 5692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  5831. 5693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5832. 5694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5833. 5695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  5834. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  5835. 5697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5836. 5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  5837. 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5838. 5700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5839. 5701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5840. 5702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
  5841. 5703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5842. 5704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5843. 5705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  5844. 5706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
  5845. 5707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  5846. 5708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5847. 5709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags,
  5848. 5710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources)
  5849. 5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5850. 5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  5851. 5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
  5852. 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
  5853. 5715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5854. 5716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */
  5855. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c);
  5856. 5718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5857. 5719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */
  5858. 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \
  5859. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 102
  5860. 5721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  5861. 5722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5862. 5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */
  5863. 5724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
  5864. 5725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5865. 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \
  5866. 5727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  5867. 5728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5868. 5729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */
  5869. 5730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
  5870. 5731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0 */
  5871. 5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */
  5872. 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
  5873. 5734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
  5874. 5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5875. 5736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */
  5876. 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  5877. 5738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5878. 5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
  5879. 5740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5880. 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U)
  5881. 5742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5882. 5743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U;
  5883. 5744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5884. 5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5885. 5746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5886. 5747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5887. 5748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */
  5888. 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  5889. 5750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5890. 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
  5891. 5752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5892. 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U)
  5893. 5754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5894. 5755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U;
  5895. 5756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5896. 5757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5897. 5758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5898. 5759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5899. 5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (treatdmanack == 1U)
  5900. 5761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5901. 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
  5902. 5763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  5903. 5764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
  5904. 5765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5905. 5766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */
  5906. 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
  5907. 5768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5908. 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
  5909. 5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5910. 5771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5911. 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5912. 5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5913. 5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  5914. 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  5915. 5776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5916. 5777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
  5917. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 103
  5918. 5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
  5919. 5779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  5920. 5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5921. 5781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5922. 5782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5923. 5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5924. 5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5925. 5785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5926. 5786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5927. 5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5928. 5788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5929. 5789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
  5930. 5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  5931. 5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5932. 5792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5933. 5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
  5934. 5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  5935. 5795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5936. 5796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */
  5937. 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpstate = hi2c->State;
  5938. 5798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5939. 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
  5940. 5800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5941. 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
  5942. 5802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5943. 5803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
  5944. 5804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5945. 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN
  5946. 5806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5947. 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
  5948. 5808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5949. 5809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5950. 5810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5951. 5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
  5952. 5812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5953. 5813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5954. 5814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  5955. 5815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
  5956. 5816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5957. 5817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5958. 5818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5959. 5819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5960. 5820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5961. 5821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */
  5962. 5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  5963. 5823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5964. 5824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5965. 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \
  5966. 5826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  5967. 5827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5968. 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
  5969. 5829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5970. 5830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  5971. 5831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5972. 5832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  5973. 5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5974. 5834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5975. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 104
  5976. 5835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  5977. 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  5978. 5837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5979. 5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  5980. 5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  5981. 5840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  5982. 5841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  5983. 5842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
  5984. 5843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  5985. 5844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  5986. 5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  5987. 5846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  5988. 5847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  5989. 5848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  5990. 5849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  5991. 5850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
  5992. 5851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  5993. 5852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  5994. 5853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
  5995. 5854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
  5996. 5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
  5997. 5856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  5998. 5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
  5999. 5858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6000. 5859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
  6001. 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
  6002. 5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6003. 5862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  6004. 5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6005. 5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6006. 5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
  6007. 5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
  6008. 5867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6009. 5868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */
  6010. 5869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  6011. 5870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6012. 5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
  6013. 5872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6014. 5873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6015. 5874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */
  6016. 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
  6017. 5876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6018. 5877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
  6019. 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
  6020. 5879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6021. 5880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  6022. 5881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6023. 5882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6024. 5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */
  6025. 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  6026. 5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6027. 5886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6028. 5887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */
  6029. 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
  6030. 5889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6031. 5890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  6032. 5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6033. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 105
  6034. 5892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6035. 5893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  6036. 5894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6037. 5895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6038. 5896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6039. 5897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
  6040. 5898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  6041. 5899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  6042. 5900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
  6043. 5901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
  6044. 5902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address
  6045. 5903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
  6046. 5904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  6047. 5905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
  6048. 5906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  6049. 5907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6050. 5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress,
  6051. 5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
  6052. 5910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
  6053. 5911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6054. 5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
  6055. 5913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6056. 5914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
  6057. 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
  6058. 5916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6059. 5917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  6060. 5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6061. 5919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6062. 5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */
  6063. 5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
  6064. 5922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6065. 5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */
  6066. 5924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  6067. 5925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6068. 5926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */
  6069. 5927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6070. 5928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6071. 5929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */
  6072. 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
  6073. 5931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6074. 5932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */
  6075. 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
  6076. 5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6077. 5935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  6078. 5936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6079. 5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6080. 5938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */
  6081. 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
  6082. 5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6083. 5941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6084. 5942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TC flag is set */
  6085. 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
  6086. 5944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6087. 5945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  6088. 5946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6089. 5947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6090. 5948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  6091. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 106
  6092. 5949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6093. 5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6094. 5951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6095. 5952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Address complete process callback.
  6096. 5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6097. 5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  6098. 5955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6099. 5956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6100. 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
  6101. 5958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6102. 5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection;
  6103. 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode;
  6104. 5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code;
  6105. 5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code;
  6106. 5963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6107. 5964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  6108. 5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(ITFlags);
  6109. 5966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6110. 5967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
  6111. 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
  6112. 5969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6113. 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
  6114. 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
  6115. 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
  6116. 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
  6117. 5974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6118. 5975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
  6119. 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
  6120. 5977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6121. 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK))
  6122. 5979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6123. 5980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
  6124. 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++;
  6125. 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
  6126. 5983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6127. 5984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Address Event counter */
  6128. 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
  6129. 5986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6130. 5987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
  6131. 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  6132. 5989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6133. 5990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6134. 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6135. 5992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6136. 5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */
  6137. 5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6138. 5995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
  6139. 5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6140. 5997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
  6141. 5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6142. 5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6143. 6000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6144. 6001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6145. 6002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6146. 6003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
  6147. 6004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6148. 6005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */
  6149. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 107
  6150. 6006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  6151. 6007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6152. 6008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6153. 6009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6154. 6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6155. 6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */
  6156. 6012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6157. 6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
  6158. 6014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6159. 6015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
  6160. 6016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6161. 6017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6162. 6018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6163. 6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
  6164. 6020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6165. 6021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6166. 6022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */
  6167. 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
  6168. 6024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6169. 6025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6170. 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6171. 6027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6172. 6028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */
  6173. 6029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6174. 6030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
  6175. 6031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6176. 6032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
  6177. 6033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6178. 6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6179. 6035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6180. 6036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Else clear address flag only */
  6181. 6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6182. 6038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6183. 6039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */
  6184. 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
  6185. 6041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6186. 6042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6187. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6188. 6044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6189. 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6190. 6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6191. 6047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6192. 6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
  6193. 6049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6194. 6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6195. 6051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6196. 6052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
  6197. 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6198. 6054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
  6199. 6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6200. 6056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6201. 6057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
  6202. 6058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
  6203. 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
  6204. 6060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6205. 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6206. 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  6207. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 108
  6208. 6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  6209. 6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6210. 6065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
  6211. 6066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  6212. 6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6213. 6068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6214. 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6215. 6070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6216. 6071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6217. 6072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6218. 6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
  6219. 6074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6220. 6075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
  6221. 6076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6222. 6077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6223. 6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
  6224. 6079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6225. 6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6226. 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6227. 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
  6228. 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  6229. 6084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6230. 6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
  6231. 6086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
  6232. 6087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6233. 6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6234. 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6235. 6090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6236. 6091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6237. 6092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6238. 6093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
  6239. 6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6240. 6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
  6241. 6096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6242. 6097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6243. 6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6244. 6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6245. 6100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6246. 6101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
  6247. 6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6248. 6103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6249. 6104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6250. 6105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
  6251. 6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6252. 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  6253. 6108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6254. 6109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
  6255. 6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6256. 6111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6257. 6112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
  6258. 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
  6259. 6114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6260. 6115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  6261. 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  6262. 6117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6263. 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
  6264. 6119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6265. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 109
  6266. 6120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  6267. 6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  6268. 6122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6269. 6123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6270. 6124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6271. 6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
  6272. 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6273. 6127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6274. 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
  6275. 6129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6276. 6130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
  6277. 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  6278. 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
  6279. 6133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6280. 6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
  6281. 6135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  6282. 6136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6283. 6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6284. 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6285. 6139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6286. 6140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6287. 6141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6288. 6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
  6289. 6143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6290. 6144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
  6291. 6145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6292. 6146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6293. 6147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6294. 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
  6295. 6149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6296. 6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
  6297. 6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  6298. 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
  6299. 6153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6300. 6154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
  6301. 6155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
  6302. 6156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6303. 6157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6304. 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6305. 6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6306. 6160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6307. 6161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6308. 6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
  6309. 6163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6310. 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
  6311. 6165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6312. 6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6313. 6167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6314. 6168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6315. 6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  6316. 6170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6317. 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6318. 6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6319. 6173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6320. 6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master complete process.
  6321. 6175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6322. 6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  6323. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 110
  6324. 6177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6325. 6178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6326. 6179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
  6327. 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6328. 6181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
  6329. 6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  6330. 6183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg;
  6331. 6184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6332. 6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  6333. 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  6334. 6187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6335. 6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
  6336. 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
  6337. 6190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6338. 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
  6339. 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  6340. 6193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6341. 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  6342. 6195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6343. 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
  6344. 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
  6345. 6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6346. 6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6347. 6200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6348. 6201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
  6349. 6202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6350. 6203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6351. 6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  6352. 6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  6353. 6206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6354. 6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
  6355. 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  6356. 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  6357. 6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6358. 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET)
  6359. 6212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6360. 6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  6361. 6214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  6362. 6215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6363. 6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set acknowledge error code */
  6364. 6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  6365. 6218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6366. 6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6367. 6220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Fetch Last receive data if any */
  6368. 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET))
  6369. 6222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6370. 6223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  6371. 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpreg = (uint8_t)hi2c->Instance->RXDR;
  6372. 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
  6373. 6226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6374. 6227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6375. 6228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  6376. 6229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  6377. 6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6378. 6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
  6379. 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
  6380. 6233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6381. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 111
  6382. 6234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6383. 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
  6384. 6236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6385. 6237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6386. 6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
  6387. 6239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6388. 6240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
  6389. 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
  6390. 6242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6391. 6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6392. 6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6393. 6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6394. 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
  6395. 6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6396. 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6397. 6249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6398. 6250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6399. 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6400. 6252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6401. 6253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6402. 6254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6403. 6255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
  6404. 6256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6405. 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
  6406. 6258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6407. 6259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6408. 6260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6409. 6261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6410. 6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6411. 6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6412. 6264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6413. 6265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6414. 6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6415. 6267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6416. 6268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6417. 6269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
  6418. 6270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6419. 6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
  6420. 6272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6421. 6273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6422. 6274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6423. 6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
  6424. 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  6425. 6277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6426. 6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6427. 6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6428. 6280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6429. 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
  6430. 6282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6431. 6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6432. 6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6433. 6285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6434. 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6435. 6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6436. 6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6437. 6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6438. 6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
  6439. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 112
  6440. 6291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6441. 6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
  6442. 6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6443. 6294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6444. 6295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6445. 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6446. 6297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6447. 6298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6448. 6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6449. 6300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6450. 6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6451. 6302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6452. 6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6453. 6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
  6454. 6305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6455. 6306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
  6456. 6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6457. 6308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6458. 6309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6459. 6310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6460. 6311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6461. 6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  6462. 6313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6463. 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6464. 6315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6465. 6316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6466. 6317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave complete process.
  6467. 6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6468. 6319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  6469. 6320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6470. 6321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6471. 6322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
  6472. 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6473. 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  6474. 6325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  6475. 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  6476. 6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
  6477. 6328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6478. 6329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  6479. 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  6480. 6331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6481. 6332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */
  6482. 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN))
  6483. 6334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6484. 6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
  6485. 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
  6486. 6337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6487. 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
  6488. 6339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6489. 6340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
  6490. 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
  6491. 6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6492. 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (tmpstate == HAL_I2C_STATE_LISTEN)
  6493. 6344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6494. 6345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT);
  6495. 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6496. 6347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6497. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 113
  6498. 6348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6499. 6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6500. 6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
  6501. 6351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6502. 6352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6503. 6353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */
  6504. 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  6505. 6355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6506. 6356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  6507. 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  6508. 6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6509. 6359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  6510. 6360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  6511. 6361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6512. 6362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
  6513. 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
  6514. 6364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6515. 6365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  6516. 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  6517. 6367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6518. 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  6519. 6369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6520. 6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx);
  6521. 6371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6522. 6372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6523. 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
  6524. 6374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6525. 6375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  6526. 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  6527. 6377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6528. 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  6529. 6379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6530. 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx);
  6531. 6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6532. 6382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6533. 6383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6534. 6384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6535. 6385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */
  6536. 6386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6537. 6387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6538. 6388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
  6539. 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
  6540. 6390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6541. 6391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
  6542. 6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
  6543. 6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6544. 6394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  6545. 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  6546. 6396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6547. 6397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  6548. 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  6549. 6399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6550. 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
  6551. 6401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6552. 6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  6553. 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  6554. 6404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6555. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 114
  6556. 6405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6557. 6406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6558. 6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
  6559. 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
  6560. 6409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6561. 6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
  6562. 6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  6563. 6412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6564. 6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6565. 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \
  6566. 6415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
  6567. 6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6568. 6417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */
  6569. 6418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
  6570. 6419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0*/
  6571. 6420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */
  6572. 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
  6573. 6422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6574. 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME))
  6575. 6424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  6576. 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */
  6577. 6426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6578. 6427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */
  6579. 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
  6580. 6429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6581. 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
  6582. 6431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6583. 6432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  6584. 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  6585. 6434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6586. 6435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  6587. 6436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  6588. 6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6589. 6438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
  6590. 6439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
  6591. 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  6592. 6441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6593. 6442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6594. 6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6595. 6444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  6596. 6445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  6597. 6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6598. 6447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6599. 6448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6600. 6449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6601. 6450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
  6602. 6451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  6603. 6452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  6604. 6453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6605. 6454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
  6606. 6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  6607. 6456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6608. 6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
  6609. 6458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6610. 6459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6611. 6460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
  6612. 6461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6613. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 115
  6614. 6462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6615. 6463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6616. 6464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6617. 6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6618. 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  6619. 6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6620. 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
  6621. 6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6622. 6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6623. 6471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
  6624. 6472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6625. 6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
  6626. 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
  6627. 6475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6628. 6476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */
  6629. 6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
  6630. 6478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6631. 6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6632. 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  6633. 6481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6634. 6482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */
  6635. 6483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  6636. 6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6637. 6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  6638. 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6639. 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6640. 6488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6641. 6489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6642. 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6643. 6491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6644. 6492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
  6645. 6493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6646. 6494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
  6647. 6495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6648. 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
  6649. 6497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6650. 6498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6651. 6499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6652. 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
  6653. 6501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6654. 6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6655. 6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6656. 6504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6657. 6505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6658. 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6659. 6507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6660. 6508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6661. 6509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6662. 6510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
  6663. 6511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6664. 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
  6665. 6513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6666. 6514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6667. 6515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6668. 6516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6669. 6517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6670. 6518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6671. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 116
  6672. 6519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6673. 6520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6674. 6521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6675. 6522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6676. 6523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6677. 6524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6678. 6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
  6679. 6526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6680. 6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
  6681. 6528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6682. 6529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6683. 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6684. 6531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6685. 6532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6686. 6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Listen complete process.
  6687. 6534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6688. 6535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
  6689. 6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6690. 6537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6691. 6538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
  6692. 6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6693. 6540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
  6694. 6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  6695. 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6696. 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6697. 6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6698. 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  6699. 6546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6700. 6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
  6701. 6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
  6702. 6549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6703. 6550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */
  6704. 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
  6705. 6552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6706. 6553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */
  6707. 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++;
  6708. 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6709. 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
  6710. 6557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6711. 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  6712. 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  6713. 6560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6714. 6561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
  6715. 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  6716. 6563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6717. 6564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6718. 6565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6719. 6566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all Interrupts*/
  6720. 6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
  6721. 6568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6722. 6569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */
  6723. 6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  6724. 6571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6725. 6572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6726. 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6727. 6574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6728. 6575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
  6729. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 117
  6730. 6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6731. 6577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
  6732. 6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6733. 6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
  6734. 6580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6735. 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6736. 6582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6737. 6583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6738. 6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C interrupts error process.
  6739. 6585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6740. 6586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
  6741. 6587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6742. 6588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6743. 6589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
  6744. 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6745. 6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
  6746. 6592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6747. 6593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmppreviousstate;
  6748. 6594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6749. 6595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
  6750. 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  6751. 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  6752. 6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
  6753. 6599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6754. 6600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set new error code */
  6755. 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
  6756. 6602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6757. 6603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */
  6758. 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) ||
  6759. 6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
  6760. 6606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
  6761. 6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6762. 6608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
  6763. 6609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
  6764. 6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6765. 6611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
  6766. 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
  6767. 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  6768. 6614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6769. 6615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6770. 6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6771. 6617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts */
  6772. 6618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
  6773. 6619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6774. 6620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  6775. 6621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  6776. 6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6777. 6623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */
  6778. 6624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This change will be do later */
  6779. 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
  6780. 6626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6781. 6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
  6782. 6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6783. 6629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6784. 6630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a STOPF is detected */
  6785. 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
  6786. 6632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6787. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 118
  6788. 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
  6789. 6634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6790. 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  6791. 6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  6792. 6637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6793. 6638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6794. 6639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  6795. 6640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  6796. 6641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6797. 6642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6798. 6643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6799. 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  6800. 6645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6801. 6646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6802. 6647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
  6803. 6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmppreviousstate = hi2c->PreviousState;
  6804. 6649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6805. 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \
  6806. 6651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
  6807. 6652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6808. 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
  6809. 6654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6810. 6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  6811. 6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6812. 6657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6813. 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY)
  6814. 6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6815. 6660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  6816. 6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  6817. 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
  6818. 6663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6819. 6664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6820. 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6821. 6666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6822. 6667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */
  6823. 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
  6824. 6669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6825. 6670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
  6826. 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
  6827. 6672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6828. 6673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6829. 6674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6830. 6675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6831. 6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
  6832. 6677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6833. 6678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6834. 6679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
  6835. 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \
  6836. 6681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
  6837. 6682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6838. 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
  6839. 6684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6840. 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  6841. 6686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6842. 6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6843. 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY)
  6844. 6689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6845. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 119
  6846. 6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
  6847. 6691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
  6848. 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
  6849. 6693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6850. 6694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6851. 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6852. 6696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6853. 6697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */
  6854. 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
  6855. 6699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6856. 6700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
  6857. 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
  6858. 6702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6859. 6703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6860. 6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6861. 6705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6862. 6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
  6863. 6707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6864. 6708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6865. 6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6866. 6710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6867. 6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
  6868. 6712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6869. 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6870. 6714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6871. 6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6872. 6716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Error callback treatment.
  6873. 6717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6874. 6718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6875. 6719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6876. 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c)
  6877. 6721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6878. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
  6879. 6723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6880. 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  6881. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6882. 6726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6883. 6727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6884. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6885. 6729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6886. 6730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6887. 6731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6888. 6732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
  6889. 6733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6890. 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
  6891. 6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6892. 6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6893. 6737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6894. 6738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6895. 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  6896. 6740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6897. 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  6898. 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  6899. 6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6900. 6744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6901. 6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
  6902. 6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
  6903. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 120
  6904. 6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else
  6905. 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
  6906. 6749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  6907. 6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6908. 6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6909. 6752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6910. 6753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6911. 6754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
  6912. 6755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  6913. 6756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6914. 6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6915. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
  6916. 6759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6917. 6760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a pending TXIS flag is set */
  6918. 6761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
  6919. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
  6920. 6763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6921. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
  6922. 6765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6923. 6766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6924. 6767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register if not empty */
  6925. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
  6926. 6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6927. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
  6928. 6771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6929. 6772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6930. 6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6931. 6774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6932. 6775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
  6933. 6776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
  6934. 6777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6935. 6778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6936. 6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
  6937. 6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6938. 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  6939. 6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
  6940. 6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6941. 6784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  6942. 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  6943. 6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6944. 6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
  6945. 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
  6946. 6789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6947. 6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */
  6948. 6791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
  6949. 6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6950. 6793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
  6951. 6794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6952. 6795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6953. 6796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */
  6954. 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
  6955. 6798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6956. 6799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */
  6957. 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  6958. 6801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6959. 6802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  6960. 6803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6961. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 121
  6962. 6804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6963. 6805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6964. 6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  6965. 6807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6966. 6808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6967. 6809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  6968. 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
  6969. 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  6970. 6812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6971. 6813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  6972. 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
  6973. 6815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6974. 6816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  6975. 6817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6976. 6818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
  6977. 6819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
  6978. 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6979. 6821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6980. 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  6981. 6823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6982. 6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6983. 6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  6984. 6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
  6985. 6827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
  6986. 6828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  6987. 6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  6988. 6830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
  6989. 6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6990. 6832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  6991. 6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
  6992. 6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  6993. 6835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6994. 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
  6995. 6837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  6996. 6838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  6997. 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
  6998. 6840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  6999. 6841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */
  7000. 6842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
  7001. 6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  7002. 6844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7003. 6845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  7004. 6846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7005. 6847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
  7006. 6848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
  7007. 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
  7008. 6850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7009. 6851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7010. 6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7011. 6853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7012. 6854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7013. 6855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
  7014. 6856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
  7015. 6857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  7016. 6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7017. 6859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
  7018. 6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7019. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 122
  7020. 6861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  7021. 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
  7022. 6863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7023. 6864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  7024. 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  7025. 6866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7026. 6867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
  7027. 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
  7028. 6869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7029. 6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */
  7030. 6871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
  7031. 6872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7032. 6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
  7033. 6874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  7034. 6875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7035. 6876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */
  7036. 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
  7037. 6878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7038. 6879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */
  7039. 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
  7040. 6881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7041. 6882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */
  7042. 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
  7043. 6884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7044. 6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U;
  7045. 6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7046. 6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  7047. 6888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7048. 6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
  7049. 6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7050. 6891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7051. 6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  7052. 6893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7053. 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  7054. 6895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7055. 6896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7056. 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */
  7057. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr,
  7058. 6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  7059. 6900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7060. 6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  7061. 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
  7062. 6903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7063. 6904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  7064. 6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7065. 6906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
  7066. 6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
  7067. 6908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7068. 6909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7069. 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7070. 6911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7071. 6912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7072. 6913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7073. 6914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
  7074. 6915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
  7075. 6916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  7076. 6917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7077. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 123
  7078. 6918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
  7079. 6919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7080. 6920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  7081. 6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
  7082. 6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  7083. 6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7084. 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) && \
  7085. 6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  7086. 6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7087. 6927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */
  7088. 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
  7089. 6929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7090. 6930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
  7091. 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
  7092. 6932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7093. 6933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  7094. 6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7095. 6935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
  7096. 6936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
  7097. 6937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
  7098. 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7099. 6939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7100. 6940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7101. 6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7102. 6942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7103. 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
  7104. 6944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle
  7105. 6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  7106. 6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7107. 6947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
  7108. 6948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7109. 6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  7110. 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
  7111. 6951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7112. 6952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Acknowledge */
  7113. 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
  7114. 6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7115. 6955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
  7116. 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
  7117. 6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7118. 6958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7119. 6959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7120. 6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7121. 6961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
  7122. 6962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
  7123. 6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle.
  7124. 6964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  7125. 6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7126. 6966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
  7127. 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7128. 6968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  7129. 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent);
  7130. 6970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7131. 6971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset AbortCpltCallback */
  7132. 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
  7133. 6973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7134. 6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  7135. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 124
  7136. 6975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7137. 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
  7138. 6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7139. 6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  7140. 6979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7141. 6980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7142. 6981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c);
  7143. 6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7144. 6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7145. 6984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7146. 6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7147. 6986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout. It waits
  7148. 6987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * until a flag is no longer in the specified status.
  7149. 6988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  7150. 6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  7151. 6990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
  7152. 6991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Status The actual Flag status (SET or RESET).
  7153. 6992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  7154. 6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
  7155. 6994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  7156. 6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7157. 6996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
  7158. 6997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart)
  7159. 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7160. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
  7161. 7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7162. 7001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */
  7163. 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
  7164. 7003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7165. 7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  7166. 7005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7167. 7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7168. 7007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
  7169. 7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
  7170. 7009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7171. 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
  7172. 7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7173. 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, Flag) == Status))
  7174. 7013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7175. 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
  7176. 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7177. 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7178. 7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7179. 7018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  7180. 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  7181. 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  7182. 7021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7183. 7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7184. 7023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7185. 7024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7186. 7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  7187. 7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7188. 7027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7189. 7028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7190. 7029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
  7191. 7030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  7192. 7031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  7193. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 125
  7194. 7032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  7195. 7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
  7196. 7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  7197. 7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7198. 7036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
  7199. 7037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
  7200. 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7201. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
  7202. 7040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7203. 7041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */
  7204. 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
  7205. 7043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7206. 7044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  7207. 7045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7208. 7046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7209. 7047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
  7210. 7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
  7211. 7049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7212. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
  7213. 7051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7214. 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET))
  7215. 7053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7216. 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
  7217. 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7218. 7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7219. 7057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7220. 7058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  7221. 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  7222. 7060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7223. 7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  7224. 7062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7225. 7063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7226. 7064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7227. 7065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7228. 7066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  7229. 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7230. 7068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7231. 7069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7232. 7070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
  7233. 7071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  7234. 7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  7235. 7073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  7236. 7074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
  7237. 7075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  7238. 7076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7239. 7077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
  7240. 7078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
  7241. 7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7242. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
  7243. 7081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7244. 7082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */
  7245. 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
  7246. 7084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7247. 7085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  7248. 7086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7249. 7087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7250. 7088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
  7251. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 126
  7252. 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
  7253. 7090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7254. 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET))
  7255. 7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7256. 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
  7257. 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7258. 7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7259. 7096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7260. 7097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  7261. 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  7262. 7099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7263. 7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  7264. 7101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7265. 7102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7266. 7103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7267. 7104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK;
  7268. 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7269. 7106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7270. 7107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7271. 7108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
  7272. 7109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  7273. 7110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  7274. 7111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  7275. 7112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
  7276. 7113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  7277. 7114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7278. 7115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
  7279. 7116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart)
  7280. 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7281. 7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  7282. 7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7283. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) && (status == HAL_OK))
  7284. 7121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7285. 7122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */
  7286. 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK)
  7287. 7124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7288. 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7289. 7126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7290. 7127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7291. 7128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a STOPF is detected */
  7292. 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) && (status == HAL_OK))
  7293. 7130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7294. 7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an RXNE is pending */
  7295. 7132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */
  7296. 7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
  7297. 7134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7298. 7135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return HAL_OK */
  7299. 7136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */
  7300. 7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_OK;
  7301. 7138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7302. 7139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7303. 7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check a no-acknowledge have been detected */
  7304. 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
  7305. 7142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7306. 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  7307. 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
  7308. 7145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7309. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 127
  7310. 7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  7311. 7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  7312. 7148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7313. 7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  7314. 7150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  7315. 7151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7316. 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7317. 7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7318. 7154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7319. 7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  7320. 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  7321. 7157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7322. 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7323. 7159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7324. 7160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  7325. 7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7326. 7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  7327. 7163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7328. 7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7329. 7165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7330. 7166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
  7331. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) && (status == HAL_OK))
  7332. 7168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7333. 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET))
  7334. 7170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7335. 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
  7336. 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7337. 7173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7338. 7174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  7339. 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  7340. 7176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7341. 7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7342. 7178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7343. 7179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7344. 7180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7345. 7181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
  7346. 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7347. 7183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7348. 7184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7349. 7185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles errors detection during an I2C Communication.
  7350. 7186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  7351. 7187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  7352. 7188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration
  7353. 7189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value
  7354. 7190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status
  7355. 7191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7356. 7192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Ti
  7357. 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7358. 7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  7359. 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
  7360. 7196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
  7361. 7197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
  7362. 7198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1;
  7363. 7199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
  7364. 7200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7365. 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF))
  7366. 7202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7367. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 128
  7368. 7203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACKF Flag */
  7369. 7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
  7370. 7205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7371. 7206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP Flag is set or timeout occurred */
  7372. 7207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
  7373. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK))
  7374. 7209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7375. 7210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
  7376. 7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
  7377. 7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7378. 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
  7379. 7214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7380. 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP);
  7381. 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
  7382. 7217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7383. 7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of I2C still busy, try to regenerate a STOP manually */
  7384. 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \
  7385. 7220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
  7386. 7221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
  7387. 7222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7388. 7223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */
  7389. 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
  7390. 7225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7391. 7226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Tick with new reference */
  7392. 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick();
  7393. 7228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7394. 7229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7395. 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
  7396. 7231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7397. 7232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */
  7398. 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF)
  7399. 7234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7400. 7235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_TIMEOUT;
  7401. 7236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7402. 7237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7403. 7238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7404. 7239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break;
  7405. 7240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7406. 7241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7407. 7242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7408. 7243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7409. 7244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7410. 7245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7411. 7246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case STOP Flag is detected, clear it */
  7412. 7247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status == HAL_OK)
  7413. 7248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7414. 7249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */
  7415. 7250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
  7416. 7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7417. 7252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7418. 7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_AF;
  7419. 7254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7420. 7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7421. 7256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7422. 7257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7423. 7258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Refresh Content of Status register */
  7424. 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** itflag = hi2c->Instance->ISR;
  7425. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 129
  7426. 7260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7427. 7261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Then verify if an additional errors occurs */
  7428. 7262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a Bus error occurred */
  7429. 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR))
  7430. 7264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7431. 7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_BERR;
  7432. 7266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7433. 7267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */
  7434. 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
  7435. 7269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7436. 7270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7437. 7271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7438. 7272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7439. 7273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Over-Run/Under-Run error occurred */
  7440. 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR))
  7441. 7275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7442. 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_OVR;
  7443. 7277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7444. 7278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */
  7445. 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
  7446. 7280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7447. 7281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7448. 7282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7449. 7283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7450. 7284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Arbitration Loss error occurred */
  7451. 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO))
  7452. 7286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7453. 7287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_ARLO;
  7454. 7288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7455. 7289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */
  7456. 7290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
  7457. 7291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7458. 7292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR;
  7459. 7293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7460. 7294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7461. 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status != HAL_OK)
  7462. 7296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7463. 7297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */
  7464. 7298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
  7465. 7299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7466. 7300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */
  7467. 7301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
  7468. 7302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7469. 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= error_code;
  7470. 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7471. 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7472. 7306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7473. 7307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */
  7474. 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
  7475. 7309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7476. 7310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7477. 7311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status;
  7478. 7312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7479. 7313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7480. 7314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  7481. 7315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
  7482. 7316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  7483. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 130
  7484. 7317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
  7485. 7318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
  7486. 7319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
  7487. 7320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
  7488. 7321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
  7489. 7322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
  7490. 7323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
  7491. 7324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
  7492. 7325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
  7493. 7326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values:
  7494. 7327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
  7495. 7328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
  7496. 7329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
  7497. 7330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
  7498. 7331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  7499. 7332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  7500. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
  7501. 7334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  7502. 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7503. 35 .loc 1 7335 1 view -0
  7504. 36 .cfi_startproc
  7505. 37 @ args = 4, pretend = 0, frame = 0
  7506. 38 @ frame_needed = 0, uses_anonymous_args = 0
  7507. 7336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  7508. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
  7509. 39 .loc 1 7337 3 view .LVU1
  7510. 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  7511. 40 .loc 1 7335 1 is_stmt 0 view .LVU2
  7512. 41 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  7513. 42 .LCFI0:
  7514. 43 .cfi_def_cfa_offset 24
  7515. 44 .cfi_offset 4, -24
  7516. 45 .cfi_offset 5, -20
  7517. 46 .cfi_offset 6, -16
  7518. 47 .cfi_offset 7, -12
  7519. 48 .cfi_offset 8, -8
  7520. 49 .cfi_offset 14, -4
  7521. 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  7522. 50 .loc 1 7335 1 view .LVU3
  7523. 51 0004 1446 mov r4, r2
  7524. 52 0006 1E46 mov r6, r3
  7525. 53 .loc 1 7337 3 view .LVU4
  7526. 54 0008 214A ldr r2, .L18
  7527. 55 .LVL1:
  7528. 56 .loc 1 7337 3 view .LVU5
  7529. 57 000a 0368 ldr r3, [r0]
  7530. 58 .LVL2:
  7531. 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  7532. 59 .loc 1 7335 1 view .LVU6
  7533. 60 000c DDF81880 ldr r8, [sp, #24]
  7534. 61 .loc 1 7337 3 view .LVU7
  7535. 62 0010 9342 cmp r3, r2
  7536. 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  7537. 63 .loc 1 7335 1 view .LVU8
  7538. 64 0012 0746 mov r7, r0
  7539. 65 0014 0D46 mov r5, r1
  7540. 66 .loc 1 7337 3 view .LVU9
  7541. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 131
  7542. 67 0016 08D0 beq .L2
  7543. 68 .loc 1 7337 3 discriminator 1 view .LVU10
  7544. 69 0018 02F58062 add r2, r2, #1024
  7545. 70 001c 9342 cmp r3, r2
  7546. 71 001e 04D0 beq .L2
  7547. 72 .loc 1 7337 3 discriminator 2 view .LVU11
  7548. 73 0020 1C48 ldr r0, .L18+4
  7549. 74 .LVL3:
  7550. 75 .loc 1 7337 3 discriminator 2 view .LVU12
  7551. 76 0022 41F6A941 movw r1, #7337
  7552. 77 .LVL4:
  7553. 78 .loc 1 7337 3 discriminator 2 view .LVU13
  7554. 79 0026 FFF7FEFF bl assert_failed
  7555. 80 .LVL5:
  7556. 81 .L2:
  7557. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  7558. 82 .loc 1 7338 3 is_stmt 1 view .LVU14
  7559. 83 002a B6F1007F cmp r6, #33554432
  7560. 84 002e 02D0 beq .L3
  7561. 85 .loc 1 7338 3 is_stmt 0 discriminator 2 view .LVU15
  7562. 86 0030 36F08073 bics r3, r6, #16777216
  7563. 87 0034 20D1 bne .L16
  7564. 88 .L3:
  7565. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  7566. 89 .loc 1 7339 3 is_stmt 1 view .LVU16
  7567. 90 0036 184B ldr r3, .L18+8
  7568. 91 0038 9845 cmp r8, r3
  7569. 92 003a 08D0 beq .L4
  7570. 93 .loc 1 7339 3 is_stmt 0 discriminator 2 view .LVU17
  7571. 94 003c A3F50053 sub r3, r3, #8192
  7572. 95 0040 28F48062 bic r2, r8, #1024
  7573. 96 0044 9A42 cmp r2, r3
  7574. 97 0046 02D0 beq .L4
  7575. 98 .loc 1 7339 3 discriminator 3 view .LVU18
  7576. 99 0048 B8F1000F cmp r8, #0
  7577. 100 004c 1AD1 bne .L17
  7578. 101 .L4:
  7579. 7340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7580. 7341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  7581. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \
  7582. 102 .loc 1 7342 3 is_stmt 1 view .LVU19
  7583. 103 .LVL6:
  7584. 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  7585. 7344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
  7586. 7345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7587. 7346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* update CR2 register */
  7588. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, \
  7589. 104 .loc 1 7347 3 view .LVU20
  7590. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  7591. 105 .loc 1 7342 19 is_stmt 0 view .LVU21
  7592. 106 004e 48EA0442 orr r2, r8, r4, lsl #16
  7593. 107 .loc 1 7347 3 view .LVU22
  7594. 108 0052 3868 ldr r0, [r7]
  7595. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  7596. 109 .loc 1 7342 19 view .LVU23
  7597. 110 0054 42EA0604 orr r4, r2, r6
  7598. 111 .LVL7:
  7599. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 132
  7600. 112 .loc 1 7347 3 view .LVU24
  7601. 113 0058 104A ldr r2, .L18+12
  7602. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  7603. 114 .loc 1 7342 52 view .LVU25
  7604. 115 005a C5F30903 ubfx r3, r5, #0, #10
  7605. 116 .loc 1 7347 3 view .LVU26
  7606. 117 005e 42EA5858 orr r8, r2, r8, lsr #21
  7607. 118 0062 4268 ldr r2, [r0, #4]
  7608. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  7609. 119 .loc 1 7342 19 view .LVU27
  7610. 120 0064 2343 orrs r3, r3, r4
  7611. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  7612. 121 .loc 1 7342 12 view .LVU28
  7613. 122 0066 23F00043 bic r3, r3, #-2147483648
  7614. 123 .loc 1 7347 3 view .LVU29
  7615. 124 006a 22EA0808 bic r8, r2, r8
  7616. 125 006e 43EA0803 orr r3, r3, r8
  7617. 126 0072 4360 str r3, [r0, #4]
  7618. 7348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  7619. 7349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \
  7620. 7350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_CR2_START | I2C_CR2_STOP)), tmp);
  7621. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7622. 127 .loc 1 7351 1 view .LVU30
  7623. 128 0074 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  7624. 129 .LVL8:
  7625. 130 .L16:
  7626. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  7627. 131 .loc 1 7338 3 discriminator 3 view .LVU31
  7628. 132 0078 0648 ldr r0, .L18+4
  7629. 133 007a 41F6AA41 movw r1, #7338
  7630. 134 007e FFF7FEFF bl assert_failed
  7631. 135 .LVL9:
  7632. 136 0082 D8E7 b .L3
  7633. 137 .L17:
  7634. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7635. 138 .loc 1 7339 3 discriminator 4 view .LVU32
  7636. 139 0084 0348 ldr r0, .L18+4
  7637. 140 0086 41F6AB41 movw r1, #7339
  7638. 141 008a FFF7FEFF bl assert_failed
  7639. 142 .LVL10:
  7640. 143 008e DEE7 b .L4
  7641. 144 .L19:
  7642. 145 .align 2
  7643. 146 .L18:
  7644. 147 0090 00540040 .word 1073763328
  7645. 148 0094 00000000 .word .LC0
  7646. 149 0098 00400080 .word -2147467264
  7647. 150 009c FF63FF03 .word 67068927
  7648. 151 .cfi_endproc
  7649. 152 .LFE207:
  7650. 154 .section .text.I2C_IsErrorOccurred,"ax",%progbits
  7651. 155 .align 1
  7652. 156 .p2align 2,,3
  7653. 157 .syntax unified
  7654. 158 .thumb
  7655. 159 .thumb_func
  7656. 161 I2C_IsErrorOccurred:
  7657. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 133
  7658. 162 .LVL11:
  7659. 163 .LFB206:
  7660. 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  7661. 164 .loc 1 7193 1 is_stmt 1 view -0
  7662. 165 .cfi_startproc
  7663. 166 @ args = 0, pretend = 0, frame = 0
  7664. 167 @ frame_needed = 0, uses_anonymous_args = 0
  7665. 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  7666. 168 .loc 1 7193 1 is_stmt 0 view .LVU34
  7667. 169 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
  7668. 170 .LCFI1:
  7669. 171 .cfi_def_cfa_offset 24
  7670. 172 .cfi_offset 3, -24
  7671. 173 .cfi_offset 4, -20
  7672. 174 .cfi_offset 5, -16
  7673. 175 .cfi_offset 6, -12
  7674. 176 .cfi_offset 7, -8
  7675. 177 .cfi_offset 14, -4
  7676. 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
  7677. 178 .loc 1 7195 27 view .LVU35
  7678. 179 0002 0368 ldr r3, [r0]
  7679. 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
  7680. 180 .loc 1 7195 12 view .LVU36
  7681. 181 0004 9D69 ldr r5, [r3, #24]
  7682. 7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
  7683. 182 .loc 1 7194 3 is_stmt 1 view .LVU37
  7684. 183 .LVL12:
  7685. 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0;
  7686. 184 .loc 1 7195 3 view .LVU38
  7687. 7196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart;
  7688. 185 .loc 1 7196 3 view .LVU39
  7689. 7197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1;
  7690. 186 .loc 1 7197 3 view .LVU40
  7691. 7198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2;
  7692. 187 .loc 1 7198 3 view .LVU41
  7693. 7199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7694. 188 .loc 1 7199 3 view .LVU42
  7695. 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7696. 189 .loc 1 7201 3 view .LVU43
  7697. 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7698. 190 .loc 1 7201 6 is_stmt 0 view .LVU44
  7699. 191 0006 15F01005 ands r5, r5, #16
  7700. 192 .LVL13:
  7701. 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  7702. 193 .loc 1 7193 1 view .LVU45
  7703. 194 000a 0646 mov r6, r0
  7704. 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7705. 195 .loc 1 7201 6 view .LVU46
  7706. 196 000c 40D0 beq .L42
  7707. 197 000e 1746 mov r7, r2
  7708. 7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7709. 198 .loc 1 7204 5 is_stmt 1 view .LVU47
  7710. 199 0010 1022 movs r2, #16
  7711. 200 .LVL14:
  7712. 7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7713. 201 .loc 1 7204 5 is_stmt 0 view .LVU48
  7714. 202 0012 0C46 mov r4, r1
  7715. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 134
  7716. 203 0014 DA61 str r2, [r3, #28]
  7717. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7718. 204 .loc 1 7208 5 is_stmt 1 view .LVU49
  7719. 205 .LVL15:
  7720. 206 .L22:
  7721. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7722. 207 .loc 1 7208 11 view .LVU50
  7723. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7724. 208 .loc 1 7208 13 is_stmt 0 view .LVU51
  7725. 209 0016 9A69 ldr r2, [r3, #24]
  7726. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7727. 210 .loc 1 7208 11 view .LVU52
  7728. 211 0018 9506 lsls r5, r2, #26
  7729. 212 001a 04D4 bmi .L25
  7730. 7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7731. 213 .loc 1 7211 7 is_stmt 1 view .LVU53
  7732. 7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7733. 214 .loc 1 7211 10 is_stmt 0 view .LVU54
  7734. 215 001c 621C adds r2, r4, #1
  7735. 216 001e 4DD1 bne .L23
  7736. 217 .L63:
  7737. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7738. 218 .loc 1 7208 11 is_stmt 1 view .LVU55
  7739. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7740. 219 .loc 1 7208 13 is_stmt 0 view .LVU56
  7741. 220 0020 9A69 ldr r2, [r3, #24]
  7742. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7743. 221 .loc 1 7208 11 view .LVU57
  7744. 222 0022 9706 lsls r7, r2, #26
  7745. 223 0024 FCD5 bpl .L63
  7746. 224 .L25:
  7747. 7250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7748. 225 .loc 1 7250 7 is_stmt 1 view .LVU58
  7749. 226 0026 2022 movs r2, #32
  7750. 227 0028 DA61 str r2, [r3, #28]
  7751. 228 002a 0025 movs r5, #0
  7752. 229 .LVL16:
  7753. 230 .L30:
  7754. 7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7755. 231 .loc 1 7253 5 view .LVU59
  7756. 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7757. 232 .loc 1 7259 10 is_stmt 0 view .LVU60
  7758. 233 002c 9A69 ldr r2, [r3, #24]
  7759. 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7760. 234 .loc 1 7263 6 view .LVU61
  7761. 235 002e D405 lsls r4, r2, #23
  7762. 236 .LVL17:
  7763. 7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7764. 237 .loc 1 7253 16 view .LVU62
  7765. 238 0030 45F00405 orr r5, r5, #4
  7766. 239 .LVL18:
  7767. 7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7768. 240 .loc 1 7255 5 is_stmt 1 view .LVU63
  7769. 7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7770. 241 .loc 1 7255 12 is_stmt 0 view .LVU64
  7771. 242 0034 4FF00100 mov r0, #1
  7772. 243 .LVL19:
  7773. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 135
  7774. 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7775. 244 .loc 1 7259 3 is_stmt 1 view .LVU65
  7776. 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7777. 245 .loc 1 7263 3 view .LVU66
  7778. 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7779. 246 .loc 1 7263 6 is_stmt 0 view .LVU67
  7780. 247 0038 2ED4 bmi .L68
  7781. 248 .L33:
  7782. 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7783. 249 .loc 1 7274 3 is_stmt 1 view .LVU68
  7784. 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7785. 250 .loc 1 7274 6 is_stmt 0 view .LVU69
  7786. 251 003a 5105 lsls r1, r2, #21
  7787. 252 003c 39D5 bpl .L37
  7788. 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7789. 253 .loc 1 7276 5 is_stmt 1 view .LVU70
  7790. 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7791. 254 .loc 1 7279 5 is_stmt 0 view .LVU71
  7792. 255 003e 4FF48061 mov r1, #1024
  7793. 256 0042 D961 str r1, [r3, #28]
  7794. 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7795. 257 .loc 1 7276 16 view .LVU72
  7796. 258 0044 45F00805 orr r5, r5, #8
  7797. 259 .LVL20:
  7798. 260 .L65:
  7799. 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7800. 261 .loc 1 7279 5 is_stmt 1 view .LVU73
  7801. 7281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7802. 262 .loc 1 7281 5 view .LVU74
  7803. 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7804. 263 .loc 1 7285 3 view .LVU75
  7805. 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7806. 264 .loc 1 7285 6 is_stmt 0 view .LVU76
  7807. 265 0048 9705 lsls r7, r2, #22
  7808. 266 004a 04D5 bpl .L36
  7809. 267 .LVL21:
  7810. 268 .L35:
  7811. 7287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7812. 269 .loc 1 7287 5 is_stmt 1 view .LVU77
  7813. 7290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7814. 270 .loc 1 7290 5 is_stmt 0 view .LVU78
  7815. 271 004c 4FF40072 mov r2, #512
  7816. 272 .LVL22:
  7817. 7287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7818. 273 .loc 1 7287 16 view .LVU79
  7819. 274 0050 45F00205 orr r5, r5, #2
  7820. 275 .LVL23:
  7821. 7290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7822. 276 .loc 1 7290 5 is_stmt 1 view .LVU80
  7823. 277 0054 DA61 str r2, [r3, #28]
  7824. 7292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7825. 278 .loc 1 7292 5 view .LVU81
  7826. 279 .LVL24:
  7827. 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7828. 280 .loc 1 7295 3 view .LVU82
  7829. 281 .L36:
  7830. 7298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7831. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 136
  7832. 282 .loc 1 7298 5 view .LVU83
  7833. 283 .LBB48:
  7834. 284 .LBI48:
  7835. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7836. 285 .loc 1 6758 13 view .LVU84
  7837. 286 .LBB49:
  7838. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7839. 287 .loc 1 6762 3 view .LVU85
  7840. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7841. 288 .loc 1 6762 7 is_stmt 0 view .LVU86
  7842. 289 0056 9A69 ldr r2, [r3, #24]
  7843. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7844. 290 .loc 1 6762 6 view .LVU87
  7845. 291 0058 9107 lsls r1, r2, #30
  7846. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7847. 292 .loc 1 6764 5 is_stmt 1 view .LVU88
  7848. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7849. 293 .loc 1 6768 3 view .LVU89
  7850. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7851. 294 .loc 1 6764 26 is_stmt 0 view .LVU90
  7852. 295 005a 44BF itt mi
  7853. 296 005c 0022 movmi r2, #0
  7854. 297 005e 9A62 strmi r2, [r3, #40]
  7855. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7856. 298 .loc 1 6768 7 view .LVU91
  7857. 299 0060 9A69 ldr r2, [r3, #24]
  7858. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7859. 300 .loc 1 6768 6 view .LVU92
  7860. 301 0062 D207 lsls r2, r2, #31
  7861. 302 0064 03D4 bmi .L41
  7862. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7863. 303 .loc 1 6770 5 is_stmt 1 view .LVU93
  7864. 304 0066 9A69 ldr r2, [r3, #24]
  7865. 305 0068 42F00102 orr r2, r2, #1
  7866. 306 006c 9A61 str r2, [r3, #24]
  7867. 307 .L41:
  7868. 308 .LVL25:
  7869. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7870. 309 .loc 1 6770 5 is_stmt 0 view .LVU94
  7871. 310 .LBE49:
  7872. 311 .LBE48:
  7873. 7301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7874. 312 .loc 1 7301 5 is_stmt 1 view .LVU95
  7875. 313 006e 5A68 ldr r2, [r3, #4]
  7876. 314 0070 2649 ldr r1, .L69
  7877. 315 0072 0A40 ands r2, r2, r1
  7878. 316 0074 5A60 str r2, [r3, #4]
  7879. 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7880. 317 .loc 1 7303 5 view .LVU96
  7881. 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7882. 318 .loc 1 7303 21 is_stmt 0 view .LVU97
  7883. 319 0076 736C ldr r3, [r6, #68]
  7884. 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7885. 320 .loc 1 7305 16 view .LVU98
  7886. 321 0078 0022 movs r2, #0
  7887. 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7888. 322 .loc 1 7303 21 view .LVU99
  7889. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 137
  7890. 323 007a 1D43 orrs r5, r5, r3
  7891. 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7892. 324 .loc 1 7304 17 view .LVU100
  7893. 325 007c 2023 movs r3, #32
  7894. 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  7895. 326 .loc 1 7303 21 view .LVU101
  7896. 327 007e 7564 str r5, [r6, #68]
  7897. 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7898. 328 .loc 1 7304 5 is_stmt 1 view .LVU102
  7899. 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7900. 329 .loc 1 7308 5 is_stmt 0 view .LVU103
  7901. 330 0080 86F84020 strb r2, [r6, #64]
  7902. 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  7903. 331 .loc 1 7304 17 view .LVU104
  7904. 332 0084 86F84130 strb r3, [r6, #65]
  7905. 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7906. 333 .loc 1 7305 5 is_stmt 1 view .LVU105
  7907. 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7908. 334 .loc 1 7305 16 is_stmt 0 view .LVU106
  7909. 335 0088 86F84220 strb r2, [r6, #66]
  7910. 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7911. 336 .loc 1 7308 5 is_stmt 1 view .LVU107
  7912. 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7913. 337 .loc 1 7308 5 view .LVU108
  7914. 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7915. 338 .loc 1 7308 5 view .LVU109
  7916. 7311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7917. 339 .loc 1 7311 3 view .LVU110
  7918. 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7919. 340 .loc 1 7308 5 is_stmt 0 view .LVU111
  7920. 341 008c 0120 movs r0, #1
  7921. 7312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7922. 342 .loc 1 7312 1 view .LVU112
  7923. 343 008e F8BD pop {r3, r4, r5, r6, r7, pc}
  7924. 344 .LVL26:
  7925. 345 .L42:
  7926. 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7927. 346 .loc 1 7259 10 view .LVU113
  7928. 347 0090 9A69 ldr r2, [r3, #24]
  7929. 348 .LVL27:
  7930. 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7931. 349 .loc 1 7263 6 view .LVU114
  7932. 350 0092 D405 lsls r4, r2, #23
  7933. 7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR;
  7934. 351 .loc 1 7194 21 view .LVU115
  7935. 352 0094 2846 mov r0, r5
  7936. 353 .LVL28:
  7937. 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7938. 354 .loc 1 7259 3 is_stmt 1 view .LVU116
  7939. 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7940. 355 .loc 1 7263 3 view .LVU117
  7941. 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7942. 356 .loc 1 7263 6 is_stmt 0 view .LVU118
  7943. 357 0096 D0D5 bpl .L33
  7944. 358 .LVL29:
  7945. 359 .L68:
  7946. 7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7947. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 138
  7948. 360 .loc 1 7265 5 is_stmt 1 view .LVU119
  7949. 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7950. 361 .loc 1 7268 5 is_stmt 0 view .LVU120
  7951. 362 0098 4FF48071 mov r1, #256
  7952. 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7953. 363 .loc 1 7274 6 view .LVU121
  7954. 364 009c 5005 lsls r0, r2, #21
  7955. 365 .LVL30:
  7956. 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7957. 366 .loc 1 7268 5 view .LVU122
  7958. 367 009e D961 str r1, [r3, #28]
  7959. 7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7960. 368 .loc 1 7265 16 view .LVU123
  7961. 369 00a0 45F00105 orr r5, r5, #1
  7962. 370 .LVL31:
  7963. 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7964. 371 .loc 1 7268 5 is_stmt 1 view .LVU124
  7965. 7270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  7966. 372 .loc 1 7270 5 view .LVU125
  7967. 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7968. 373 .loc 1 7274 3 view .LVU126
  7969. 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7970. 374 .loc 1 7274 6 is_stmt 0 view .LVU127
  7971. 375 00a4 D0D5 bpl .L65
  7972. 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7973. 376 .loc 1 7276 5 is_stmt 1 view .LVU128
  7974. 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7975. 377 .loc 1 7279 5 is_stmt 0 view .LVU129
  7976. 378 00a6 4FF48061 mov r1, #1024
  7977. 379 00aa D961 str r1, [r3, #28]
  7978. 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7979. 380 .loc 1 7276 16 view .LVU130
  7980. 381 00ac 45F00805 orr r5, r5, #8
  7981. 382 .LVL32:
  7982. 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  7983. 383 .loc 1 7276 16 view .LVU131
  7984. 384 00b0 CAE7 b .L65
  7985. 385 .LVL33:
  7986. 386 .L37:
  7987. 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7988. 387 .loc 1 7285 3 is_stmt 1 view .LVU132
  7989. 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7990. 388 .loc 1 7285 6 is_stmt 0 view .LVU133
  7991. 389 00b2 9405 lsls r4, r2, #22
  7992. 390 00b4 CAD4 bmi .L35
  7993. 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7994. 391 .loc 1 7295 3 is_stmt 1 view .LVU134
  7995. 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  7996. 392 .loc 1 7295 6 is_stmt 0 view .LVU135
  7997. 393 00b6 0028 cmp r0, #0
  7998. 394 00b8 CDD1 bne .L36
  7999. 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8000. 395 .loc 1 7308 5 is_stmt 1 view .LVU136
  8001. 7311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8002. 396 .loc 1 7311 3 view .LVU137
  8003. 7312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8004. 397 .loc 1 7312 1 is_stmt 0 view .LVU138
  8005. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 139
  8006. 398 00ba F8BD pop {r3, r4, r5, r6, r7, pc}
  8007. 399 .LVL34:
  8008. 400 .L23:
  8009. 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8010. 401 .loc 1 7213 9 is_stmt 1 view .LVU139
  8011. 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8012. 402 .loc 1 7213 15 is_stmt 0 view .LVU140
  8013. 403 00bc FFF7FEFF bl HAL_GetTick
  8014. 404 .LVL35:
  8015. 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8016. 405 .loc 1 7213 29 view .LVU141
  8017. 406 00c0 C01B subs r0, r0, r7
  8018. 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8019. 407 .loc 1 7213 12 view .LVU142
  8020. 408 00c2 A042 cmp r0, r4
  8021. 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
  8022. 409 .loc 1 7215 33 view .LVU143
  8023. 410 00c4 3368 ldr r3, [r6]
  8024. 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8025. 411 .loc 1 7213 12 view .LVU144
  8026. 412 00c6 01D8 bhi .L26
  8027. 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8028. 413 .loc 1 7213 53 discriminator 1 view .LVU145
  8029. 414 00c8 002C cmp r4, #0
  8030. 415 00ca A4D1 bne .L22
  8031. 416 .L26:
  8032. 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
  8033. 417 .loc 1 7215 11 is_stmt 1 view .LVU146
  8034. 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode;
  8035. 418 .loc 1 7215 43 is_stmt 0 view .LVU147
  8036. 419 00cc 5868 ldr r0, [r3, #4]
  8037. 420 .LVL36:
  8038. 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8039. 421 .loc 1 7216 11 is_stmt 1 view .LVU148
  8040. 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8041. 422 .loc 1 7216 16 is_stmt 0 view .LVU149
  8042. 423 00ce 96F84220 ldrb r2, [r6, #66] @ zero_extendqisi2
  8043. 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
  8044. 424 .loc 1 7219 16 view .LVU150
  8045. 425 00d2 9969 ldr r1, [r3, #24]
  8046. 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
  8047. 426 .loc 1 7219 14 view .LVU151
  8048. 427 00d4 0D04 lsls r5, r1, #16
  8049. 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8050. 428 .loc 1 7216 16 view .LVU152
  8051. 429 00d6 D2B2 uxtb r2, r2
  8052. 430 .LVL37:
  8053. 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
  8054. 431 .loc 1 7219 11 is_stmt 1 view .LVU153
  8055. 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
  8056. 432 .loc 1 7219 14 is_stmt 0 view .LVU154
  8057. 433 00d8 0BD5 bpl .L31
  8058. 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \
  8059. 434 .loc 1 7219 66 discriminator 1 view .LVU155
  8060. 435 00da 4104 lsls r1, r0, #17
  8061. 436 00dc 09D4 bmi .L31
  8062. 7220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE))
  8063. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 140
  8064. 437 .loc 1 7220 38 view .LVU156
  8065. 438 00de 202A cmp r2, #32
  8066. 439 00e0 07D0 beq .L31
  8067. 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8068. 440 .loc 1 7224 13 is_stmt 1 view .LVU157
  8069. 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8070. 441 .loc 1 7224 33 is_stmt 0 view .LVU158
  8071. 442 00e2 5A68 ldr r2, [r3, #4]
  8072. 443 .LVL38:
  8073. 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8074. 444 .loc 1 7224 33 view .LVU159
  8075. 445 00e4 42F48042 orr r2, r2, #16384
  8076. 446 00e8 5A60 str r2, [r3, #4]
  8077. 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8078. 447 .loc 1 7227 13 is_stmt 1 view .LVU160
  8079. 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8080. 448 .loc 1 7227 25 is_stmt 0 view .LVU161
  8081. 449 00ea FFF7FEFF bl HAL_GetTick
  8082. 450 .LVL39:
  8083. 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8084. 451 .loc 1 7230 18 view .LVU162
  8085. 452 00ee 3368 ldr r3, [r6]
  8086. 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8087. 453 .loc 1 7227 25 view .LVU163
  8088. 454 00f0 0746 mov r7, r0
  8089. 455 .LVL40:
  8090. 456 .L31:
  8091. 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8092. 457 .loc 1 7233 13 is_stmt 1 view .LVU164
  8093. 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8094. 458 .loc 1 7230 17 view .LVU165
  8095. 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8096. 459 .loc 1 7230 18 is_stmt 0 view .LVU166
  8097. 460 00f2 9969 ldr r1, [r3, #24]
  8098. 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8099. 461 .loc 1 7230 17 view .LVU167
  8100. 462 00f4 8A06 lsls r2, r1, #26
  8101. 463 00f6 8ED4 bmi .L22
  8102. 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8103. 464 .loc 1 7233 18 view .LVU168
  8104. 465 00f8 FFF7FEFF bl HAL_GetTick
  8105. 466 .LVL41:
  8106. 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8107. 467 .loc 1 7233 32 view .LVU169
  8108. 468 00fc C31B subs r3, r0, r7
  8109. 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8110. 469 .loc 1 7233 16 view .LVU170
  8111. 470 00fe 192B cmp r3, #25
  8112. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8113. 471 .loc 1 7208 13 view .LVU171
  8114. 472 0100 3368 ldr r3, [r6]
  8115. 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8116. 473 .loc 1 7233 16 view .LVU172
  8117. 474 0102 F6D9 bls .L31
  8118. 475 .LVL42:
  8119. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8120. 476 .loc 1 7208 11 is_stmt 1 view .LVU173
  8121. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 141
  8122. 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8123. 477 .loc 1 7208 13 is_stmt 0 view .LVU174
  8124. 478 0104 9A69 ldr r2, [r3, #24]
  8125. 7235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8126. 479 .loc 1 7235 26 view .LVU175
  8127. 480 0106 2025 movs r5, #32
  8128. 481 0108 90E7 b .L30
  8129. 482 .L70:
  8130. 483 010a 00BF .align 2
  8131. 484 .L69:
  8132. 485 010c 00E800FE .word -33495040
  8133. 486 .cfi_endproc
  8134. 487 .LFE206:
  8135. 489 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
  8136. 490 .align 1
  8137. 491 .p2align 2,,3
  8138. 492 .syntax unified
  8139. 493 .thumb
  8140. 494 .thumb_func
  8141. 496 I2C_WaitOnTXISFlagUntilTimeout:
  8142. 497 .LVL43:
  8143. 498 .LFB203:
  8144. 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
  8145. 499 .loc 1 7038 1 is_stmt 1 view -0
  8146. 500 .cfi_startproc
  8147. 501 @ args = 0, pretend = 0, frame = 0
  8148. 502 @ frame_needed = 0, uses_anonymous_args = 0
  8149. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8150. 503 .loc 1 7039 3 view .LVU177
  8151. 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
  8152. 504 .loc 1 7038 1 is_stmt 0 view .LVU178
  8153. 505 0000 70B5 push {r4, r5, r6, lr}
  8154. 506 .LCFI2:
  8155. 507 .cfi_def_cfa_offset 16
  8156. 508 .cfi_offset 4, -16
  8157. 509 .cfi_offset 5, -12
  8158. 510 .cfi_offset 6, -8
  8159. 511 .cfi_offset 14, -4
  8160. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8161. 512 .loc 1 7039 10 view .LVU179
  8162. 513 0002 0368 ldr r3, [r0]
  8163. 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
  8164. 514 .loc 1 7038 1 view .LVU180
  8165. 515 0004 0446 mov r4, r0
  8166. 516 0006 0D46 mov r5, r1
  8167. 517 0008 1646 mov r6, r2
  8168. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8169. 518 .loc 1 7039 9 view .LVU181
  8170. 519 000a 05E0 b .L75
  8171. 520 .L79:
  8172. 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8173. 521 .loc 1 7042 9 view .LVU182
  8174. 522 000c FFF7FEFF bl I2C_IsErrorOccurred
  8175. 523 .LVL44:
  8176. 7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8177. 524 .loc 1 7048 5 is_stmt 1 view .LVU183
  8178. 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8179. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 142
  8180. 525 .loc 1 7042 8 is_stmt 0 view .LVU184
  8181. 526 0010 50B9 cbnz r0, .L80
  8182. 7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8183. 527 .loc 1 7048 8 view .LVU185
  8184. 528 0012 6A1C adds r2, r5, #1
  8185. 529 0014 0AD1 bne .L74
  8186. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8187. 530 .loc 1 7039 10 view .LVU186
  8188. 531 0016 2368 ldr r3, [r4]
  8189. 532 .L75:
  8190. 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8191. 533 .loc 1 7042 5 is_stmt 1 view .LVU187
  8192. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8193. 534 .loc 1 7039 9 view .LVU188
  8194. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8195. 535 .loc 1 7039 10 is_stmt 0 view .LVU189
  8196. 536 0018 9B69 ldr r3, [r3, #24]
  8197. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8198. 537 .loc 1 7039 9 view .LVU190
  8199. 538 001a 9B07 lsls r3, r3, #30
  8200. 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8201. 539 .loc 1 7042 9 view .LVU191
  8202. 540 001c 3246 mov r2, r6
  8203. 541 001e 2946 mov r1, r5
  8204. 542 0020 2046 mov r0, r4
  8205. 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8206. 543 .loc 1 7039 9 view .LVU192
  8207. 544 0022 F3D5 bpl .L79
  8208. 545 .LVL45:
  8209. 7066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8210. 546 .loc 1 7066 10 view .LVU193
  8211. 547 0024 0020 movs r0, #0
  8212. 548 .LVL46:
  8213. 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8214. 549 .loc 1 7067 1 view .LVU194
  8215. 550 0026 70BD pop {r4, r5, r6, pc}
  8216. 551 .LVL47:
  8217. 552 .L80:
  8218. 7044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8219. 553 .loc 1 7044 14 view .LVU195
  8220. 554 0028 0120 movs r0, #1
  8221. 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8222. 555 .loc 1 7067 1 view .LVU196
  8223. 556 002a 70BD pop {r4, r5, r6, pc}
  8224. 557 .LVL48:
  8225. 558 .L74:
  8226. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8227. 559 .loc 1 7050 7 is_stmt 1 view .LVU197
  8228. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8229. 560 .loc 1 7050 13 is_stmt 0 view .LVU198
  8230. 561 002c FFF7FEFF bl HAL_GetTick
  8231. 562 .LVL49:
  8232. 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8233. 563 .loc 1 7052 9 is_stmt 1 view .LVU199
  8234. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8235. 564 .loc 1 7050 27 is_stmt 0 view .LVU200
  8236. 565 0030 801B subs r0, r0, r6
  8237. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 143
  8238. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8239. 566 .loc 1 7050 10 view .LVU201
  8240. 567 0032 A842 cmp r0, r5
  8241. 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8242. 568 .loc 1 7052 14 view .LVU202
  8243. 569 0034 2368 ldr r3, [r4]
  8244. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8245. 570 .loc 1 7050 10 view .LVU203
  8246. 571 0036 01D8 bhi .L76
  8247. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8248. 572 .loc 1 7050 51 discriminator 1 view .LVU204
  8249. 573 0038 002D cmp r5, #0
  8250. 574 003a EDD1 bne .L75
  8251. 575 .L76:
  8252. 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8253. 576 .loc 1 7052 14 view .LVU205
  8254. 577 003c 9A69 ldr r2, [r3, #24]
  8255. 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8256. 578 .loc 1 7052 12 view .LVU206
  8257. 579 003e 12F00202 ands r2, r2, #2
  8258. 580 0042 E9D1 bne .L75
  8259. 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8260. 581 .loc 1 7054 11 is_stmt 1 view .LVU207
  8261. 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8262. 582 .loc 1 7054 27 is_stmt 0 view .LVU208
  8263. 583 0044 636C ldr r3, [r4, #68]
  8264. 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8265. 584 .loc 1 7059 11 view .LVU209
  8266. 585 0046 84F84020 strb r2, [r4, #64]
  8267. 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8268. 586 .loc 1 7055 23 view .LVU210
  8269. 587 004a 2021 movs r1, #32
  8270. 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8271. 588 .loc 1 7054 27 view .LVU211
  8272. 589 004c 0B43 orrs r3, r3, r1
  8273. 590 004e 6364 str r3, [r4, #68]
  8274. 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8275. 591 .loc 1 7055 11 is_stmt 1 view .LVU212
  8276. 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8277. 592 .loc 1 7055 23 is_stmt 0 view .LVU213
  8278. 593 0050 84F84110 strb r1, [r4, #65]
  8279. 7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8280. 594 .loc 1 7056 11 is_stmt 1 view .LVU214
  8281. 7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8282. 595 .loc 1 7056 22 is_stmt 0 view .LVU215
  8283. 596 0054 84F84220 strb r2, [r4, #66]
  8284. 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8285. 597 .loc 1 7059 11 is_stmt 1 view .LVU216
  8286. 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8287. 598 .loc 1 7059 11 view .LVU217
  8288. 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8289. 599 .loc 1 7059 11 view .LVU218
  8290. 7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8291. 600 .loc 1 7061 11 view .LVU219
  8292. 7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8293. 601 .loc 1 7061 18 is_stmt 0 view .LVU220
  8294. 602 0058 0120 movs r0, #1
  8295. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 144
  8296. 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8297. 603 .loc 1 7067 1 view .LVU221
  8298. 604 005a 70BD pop {r4, r5, r6, pc}
  8299. 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8300. 605 .loc 1 7067 1 view .LVU222
  8301. 606 .cfi_endproc
  8302. 607 .LFE203:
  8303. 609 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
  8304. 610 .align 1
  8305. 611 .p2align 2,,3
  8306. 612 .syntax unified
  8307. 613 .thumb
  8308. 614 .thumb_func
  8309. 616 I2C_WaitOnFlagUntilTimeout:
  8310. 617 .LVL50:
  8311. 618 .LFB202:
  8312. 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
  8313. 619 .loc 1 6998 1 is_stmt 1 view -0
  8314. 620 .cfi_startproc
  8315. 621 @ args = 4, pretend = 0, frame = 0
  8316. 622 @ frame_needed = 0, uses_anonymous_args = 0
  8317. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8318. 623 .loc 1 6999 3 view .LVU224
  8319. 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
  8320. 624 .loc 1 6998 1 is_stmt 0 view .LVU225
  8321. 625 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  8322. 626 .LCFI3:
  8323. 627 .cfi_def_cfa_offset 24
  8324. 628 .cfi_offset 4, -24
  8325. 629 .cfi_offset 5, -20
  8326. 630 .cfi_offset 6, -16
  8327. 631 .cfi_offset 7, -12
  8328. 632 .cfi_offset 8, -8
  8329. 633 .cfi_offset 14, -4
  8330. 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
  8331. 634 .loc 1 6998 1 view .LVU226
  8332. 635 0004 DDF81880 ldr r8, [sp, #24]
  8333. 636 0008 1D46 mov r5, r3
  8334. 637 000a 0446 mov r4, r0
  8335. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8336. 638 .loc 1 6999 10 view .LVU227
  8337. 639 000c 0368 ldr r3, [r0]
  8338. 640 .LVL51:
  8339. 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
  8340. 641 .loc 1 6998 1 view .LVU228
  8341. 642 000e 0F46 mov r7, r1
  8342. 643 0010 1646 mov r6, r2
  8343. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8344. 644 .loc 1 6999 9 view .LVU229
  8345. 645 0012 05E0 b .L86
  8346. 646 .LVL52:
  8347. 647 .L90:
  8348. 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8349. 648 .loc 1 7002 9 view .LVU230
  8350. 649 0014 FFF7FEFF bl I2C_IsErrorOccurred
  8351. 650 .LVL53:
  8352. 7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8353. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 145
  8354. 651 .loc 1 7008 5 is_stmt 1 view .LVU231
  8355. 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8356. 652 .loc 1 7002 8 is_stmt 0 view .LVU232
  8357. 653 0018 80B9 cbnz r0, .L91
  8358. 7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8359. 654 .loc 1 7008 8 view .LVU233
  8360. 655 001a 6B1C adds r3, r5, #1
  8361. 656 001c 11D1 bne .L85
  8362. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8363. 657 .loc 1 6999 10 view .LVU234
  8364. 658 001e 2368 ldr r3, [r4]
  8365. 659 .L86:
  8366. 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8367. 660 .loc 1 7002 5 is_stmt 1 view .LVU235
  8368. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8369. 661 .loc 1 6999 9 view .LVU236
  8370. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8371. 662 .loc 1 6999 10 is_stmt 0 view .LVU237
  8372. 663 0020 9B69 ldr r3, [r3, #24]
  8373. 664 0022 37EA0303 bics r3, r7, r3
  8374. 665 0026 0CBF ite eq
  8375. 666 0028 0123 moveq r3, #1
  8376. 667 002a 0023 movne r3, #0
  8377. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8378. 668 .loc 1 6999 9 view .LVU238
  8379. 669 002c B342 cmp r3, r6
  8380. 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8381. 670 .loc 1 7002 9 view .LVU239
  8382. 671 002e 4246 mov r2, r8
  8383. 672 0030 2946 mov r1, r5
  8384. 673 0032 2046 mov r0, r4
  8385. 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8386. 674 .loc 1 6999 9 view .LVU240
  8387. 675 0034 EED0 beq .L90
  8388. 676 .LVL54:
  8389. 7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8390. 677 .loc 1 7025 10 view .LVU241
  8391. 678 0036 0020 movs r0, #0
  8392. 679 .LVL55:
  8393. 680 .L84:
  8394. 7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8395. 681 .loc 1 7026 1 view .LVU242
  8396. 682 0038 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  8397. 683 .LVL56:
  8398. 684 .L91:
  8399. 7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8400. 685 .loc 1 7004 14 view .LVU243
  8401. 686 003c 0120 movs r0, #1
  8402. 7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8403. 687 .loc 1 7026 1 view .LVU244
  8404. 688 003e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  8405. 689 .LVL57:
  8406. 690 .L85:
  8407. 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8408. 691 .loc 1 7010 7 is_stmt 1 view .LVU245
  8409. 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8410. 692 .loc 1 7010 13 is_stmt 0 view .LVU246
  8411. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 146
  8412. 693 0042 FFF7FEFF bl HAL_GetTick
  8413. 694 .LVL58:
  8414. 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8415. 695 .loc 1 7012 9 is_stmt 1 view .LVU247
  8416. 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8417. 696 .loc 1 7010 27 is_stmt 0 view .LVU248
  8418. 697 0046 A0EB0800 sub r0, r0, r8
  8419. 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8420. 698 .loc 1 7010 10 view .LVU249
  8421. 699 004a A842 cmp r0, r5
  8422. 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8423. 700 .loc 1 7012 14 view .LVU250
  8424. 701 004c 2368 ldr r3, [r4]
  8425. 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8426. 702 .loc 1 7010 10 view .LVU251
  8427. 703 004e 01D8 bhi .L87
  8428. 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8429. 704 .loc 1 7010 51 discriminator 1 view .LVU252
  8430. 705 0050 002D cmp r5, #0
  8431. 706 0052 E5D1 bne .L86
  8432. 707 .L87:
  8433. 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8434. 708 .loc 1 7012 14 view .LVU253
  8435. 709 0054 9A69 ldr r2, [r3, #24]
  8436. 710 0056 37EA0202 bics r2, r7, r2
  8437. 711 005a 0CBF ite eq
  8438. 712 005c 0122 moveq r2, #1
  8439. 713 005e 0022 movne r2, #0
  8440. 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8441. 714 .loc 1 7012 12 view .LVU254
  8442. 715 0060 B242 cmp r2, r6
  8443. 716 0062 DDD1 bne .L86
  8444. 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8445. 717 .loc 1 7014 11 is_stmt 1 view .LVU255
  8446. 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8447. 718 .loc 1 7014 27 is_stmt 0 view .LVU256
  8448. 719 0064 636C ldr r3, [r4, #68]
  8449. 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8450. 720 .loc 1 7016 22 view .LVU257
  8451. 721 0066 0022 movs r2, #0
  8452. 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8453. 722 .loc 1 7014 27 view .LVU258
  8454. 723 0068 43F02003 orr r3, r3, #32
  8455. 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8456. 724 .loc 1 7015 23 view .LVU259
  8457. 725 006c 2021 movs r1, #32
  8458. 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8459. 726 .loc 1 7014 27 view .LVU260
  8460. 727 006e 6364 str r3, [r4, #68]
  8461. 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8462. 728 .loc 1 7015 11 is_stmt 1 view .LVU261
  8463. 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  8464. 729 .loc 1 7019 11 is_stmt 0 view .LVU262
  8465. 730 0070 84F84020 strb r2, [r4, #64]
  8466. 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8467. 731 .loc 1 7015 23 view .LVU263
  8468. 732 0074 84F84110 strb r1, [r4, #65]
  8469. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 147
  8470. 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8471. 733 .loc 1 7016 11 is_stmt 1 view .LVU264
  8472. 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8473. 734 .loc 1 7020 18 is_stmt 0 view .LVU265
  8474. 735 0078 0120 movs r0, #1
  8475. 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8476. 736 .loc 1 7016 22 view .LVU266
  8477. 737 007a 84F84220 strb r2, [r4, #66]
  8478. 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  8479. 738 .loc 1 7019 11 is_stmt 1 view .LVU267
  8480. 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  8481. 739 .loc 1 7019 11 view .LVU268
  8482. 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  8483. 740 .loc 1 7019 11 view .LVU269
  8484. 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8485. 741 .loc 1 7020 11 view .LVU270
  8486. 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8487. 742 .loc 1 7020 18 is_stmt 0 view .LVU271
  8488. 743 007e DBE7 b .L84
  8489. 744 .cfi_endproc
  8490. 745 .LFE202:
  8491. 747 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
  8492. 748 .align 1
  8493. 749 .p2align 2,,3
  8494. 750 .syntax unified
  8495. 751 .thumb
  8496. 752 .thumb_func
  8497. 754 I2C_WaitOnSTOPFlagUntilTimeout:
  8498. 755 .LVL59:
  8499. 756 .LFB204:
  8500. 7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
  8501. 757 .loc 1 7079 1 is_stmt 1 view -0
  8502. 758 .cfi_startproc
  8503. 759 @ args = 0, pretend = 0, frame = 0
  8504. 760 @ frame_needed = 0, uses_anonymous_args = 0
  8505. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8506. 761 .loc 1 7080 3 view .LVU273
  8507. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8508. 762 .loc 1 7080 9 view .LVU274
  8509. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8510. 763 .loc 1 7080 10 is_stmt 0 view .LVU275
  8511. 764 0000 0368 ldr r3, [r0]
  8512. 765 0002 9B69 ldr r3, [r3, #24]
  8513. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8514. 766 .loc 1 7080 9 view .LVU276
  8515. 767 0004 9B06 lsls r3, r3, #26
  8516. 768 0006 29D4 bmi .L109
  8517. 7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
  8518. 769 .loc 1 7079 1 view .LVU277
  8519. 770 0008 70B5 push {r4, r5, r6, lr}
  8520. 771 .LCFI4:
  8521. 772 .cfi_def_cfa_offset 16
  8522. 773 .cfi_offset 4, -16
  8523. 774 .cfi_offset 5, -12
  8524. 775 .cfi_offset 6, -8
  8525. 776 .cfi_offset 14, -4
  8526. 777 000a 0546 mov r5, r0
  8527. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 148
  8528. 778 000c 0C46 mov r4, r1
  8529. 779 000e 1646 mov r6, r2
  8530. 780 0010 0DE0 b .L94
  8531. 781 .LVL60:
  8532. 782 .L112:
  8533. 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8534. 783 .loc 1 7089 11 view .LVU278
  8535. 784 0012 FFF7FEFF bl HAL_GetTick
  8536. 785 .LVL61:
  8537. 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8538. 786 .loc 1 7091 7 is_stmt 1 view .LVU279
  8539. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8540. 787 .loc 1 7080 9 view .LVU280
  8541. 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8542. 788 .loc 1 7089 25 is_stmt 0 view .LVU281
  8543. 789 0016 801B subs r0, r0, r6
  8544. 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8545. 790 .loc 1 7089 8 view .LVU282
  8546. 791 0018 A042 cmp r0, r4
  8547. 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8548. 792 .loc 1 7091 12 view .LVU283
  8549. 793 001a 2968 ldr r1, [r5]
  8550. 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8551. 794 .loc 1 7089 8 view .LVU284
  8552. 795 001c 00D8 bhi .L96
  8553. 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8554. 796 .loc 1 7089 49 discriminator 1 view .LVU285
  8555. 797 001e 1CB9 cbnz r4, .L98
  8556. 798 .L96:
  8557. 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8558. 799 .loc 1 7091 12 view .LVU286
  8559. 800 0020 8B69 ldr r3, [r1, #24]
  8560. 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8561. 801 .loc 1 7091 10 view .LVU287
  8562. 802 0022 13F02003 ands r3, r3, #32
  8563. 803 0026 0DD0 beq .L110
  8564. 804 .L98:
  8565. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8566. 805 .loc 1 7080 10 view .LVU288
  8567. 806 0028 8B69 ldr r3, [r1, #24]
  8568. 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8569. 807 .loc 1 7080 9 view .LVU289
  8570. 808 002a 9B06 lsls r3, r3, #26
  8571. 809 002c 08D4 bmi .L111
  8572. 810 .L94:
  8573. 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8574. 811 .loc 1 7083 5 is_stmt 1 view .LVU290
  8575. 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8576. 812 .loc 1 7083 9 is_stmt 0 view .LVU291
  8577. 813 002e 3246 mov r2, r6
  8578. 814 0030 2146 mov r1, r4
  8579. 815 0032 2846 mov r0, r5
  8580. 816 0034 FFF7FEFF bl I2C_IsErrorOccurred
  8581. 817 .LVL62:
  8582. 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8583. 818 .loc 1 7089 5 is_stmt 1 view .LVU292
  8584. 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8585. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 149
  8586. 819 .loc 1 7083 8 is_stmt 0 view .LVU293
  8587. 820 0038 0028 cmp r0, #0
  8588. 821 003a EAD0 beq .L112
  8589. 7085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8590. 822 .loc 1 7085 14 view .LVU294
  8591. 823 003c 0120 movs r0, #1
  8592. 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8593. 824 .loc 1 7105 1 view .LVU295
  8594. 825 003e 70BD pop {r4, r5, r6, pc}
  8595. 826 .LVL63:
  8596. 827 .L111:
  8597. 7104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8598. 828 .loc 1 7104 10 view .LVU296
  8599. 829 0040 0020 movs r0, #0
  8600. 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8601. 830 .loc 1 7105 1 view .LVU297
  8602. 831 0042 70BD pop {r4, r5, r6, pc}
  8603. 832 .LVL64:
  8604. 833 .L110:
  8605. 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8606. 834 .loc 1 7093 9 is_stmt 1 view .LVU298
  8607. 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8608. 835 .loc 1 7093 25 is_stmt 0 view .LVU299
  8609. 836 0044 6A6C ldr r2, [r5, #68]
  8610. 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8611. 837 .loc 1 7098 9 view .LVU300
  8612. 838 0046 85F84030 strb r3, [r5, #64]
  8613. 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8614. 839 .loc 1 7094 21 view .LVU301
  8615. 840 004a 2021 movs r1, #32
  8616. 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8617. 841 .loc 1 7093 25 view .LVU302
  8618. 842 004c 0A43 orrs r2, r2, r1
  8619. 843 004e 6A64 str r2, [r5, #68]
  8620. 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8621. 844 .loc 1 7094 9 is_stmt 1 view .LVU303
  8622. 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8623. 845 .loc 1 7094 21 is_stmt 0 view .LVU304
  8624. 846 0050 85F84110 strb r1, [r5, #65]
  8625. 7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8626. 847 .loc 1 7095 9 is_stmt 1 view .LVU305
  8627. 7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8628. 848 .loc 1 7095 20 is_stmt 0 view .LVU306
  8629. 849 0054 85F84230 strb r3, [r5, #66]
  8630. 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8631. 850 .loc 1 7098 9 is_stmt 1 view .LVU307
  8632. 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8633. 851 .loc 1 7098 9 view .LVU308
  8634. 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8635. 852 .loc 1 7098 9 view .LVU309
  8636. 7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8637. 853 .loc 1 7100 9 view .LVU310
  8638. 7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8639. 854 .loc 1 7100 16 is_stmt 0 view .LVU311
  8640. 855 0058 0120 movs r0, #1
  8641. 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8642. 856 .loc 1 7105 1 view .LVU312
  8643. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 150
  8644. 857 005a 70BD pop {r4, r5, r6, pc}
  8645. 858 .LVL65:
  8646. 859 .L109:
  8647. 860 .LCFI5:
  8648. 861 .cfi_def_cfa_offset 0
  8649. 862 .cfi_restore 4
  8650. 863 .cfi_restore 5
  8651. 864 .cfi_restore 6
  8652. 865 .cfi_restore 14
  8653. 7104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8654. 866 .loc 1 7104 10 view .LVU313
  8655. 867 005c 0020 movs r0, #0
  8656. 868 .LVL66:
  8657. 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8658. 869 .loc 1 7105 1 view .LVU314
  8659. 870 005e 7047 bx lr
  8660. 871 .cfi_endproc
  8661. 872 .LFE204:
  8662. 874 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
  8663. 875 .align 1
  8664. 876 .p2align 2,,3
  8665. 877 .syntax unified
  8666. 878 .thumb
  8667. 879 .thumb_func
  8668. 881 I2C_WaitOnRXNEFlagUntilTimeout:
  8669. 882 .LVL67:
  8670. 883 .LFB205:
  8671. 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  8672. 884 .loc 1 7117 1 is_stmt 1 view -0
  8673. 885 .cfi_startproc
  8674. 886 @ args = 0, pretend = 0, frame = 0
  8675. 887 @ frame_needed = 0, uses_anonymous_args = 0
  8676. 7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8677. 888 .loc 1 7118 3 view .LVU316
  8678. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8679. 889 .loc 1 7120 3 view .LVU317
  8680. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8681. 890 .loc 1 7120 9 view .LVU318
  8682. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8683. 891 .loc 1 7120 11 is_stmt 0 view .LVU319
  8684. 892 0000 0368 ldr r3, [r0]
  8685. 893 0002 9B69 ldr r3, [r3, #24]
  8686. 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  8687. 894 .loc 1 7117 1 view .LVU320
  8688. 895 0004 70B5 push {r4, r5, r6, lr}
  8689. 896 .LCFI6:
  8690. 897 .cfi_def_cfa_offset 16
  8691. 898 .cfi_offset 4, -16
  8692. 899 .cfi_offset 5, -12
  8693. 900 .cfi_offset 6, -8
  8694. 901 .cfi_offset 14, -4
  8695. 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  8696. 902 .loc 1 7117 1 view .LVU321
  8697. 903 0006 0446 mov r4, r0
  8698. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8699. 904 .loc 1 7120 9 view .LVU322
  8700. 905 0008 5807 lsls r0, r3, #29
  8701. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 151
  8702. 906 .LVL68:
  8703. 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
  8704. 907 .loc 1 7117 1 view .LVU323
  8705. 908 000a 0D46 mov r5, r1
  8706. 909 000c 1646 mov r6, r2
  8707. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8708. 910 .loc 1 7120 9 view .LVU324
  8709. 911 000e 31D4 bmi .L124
  8710. 912 .LVL69:
  8711. 913 .L123:
  8712. 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8713. 914 .loc 1 7123 5 is_stmt 1 view .LVU325
  8714. 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8715. 915 .loc 1 7123 9 is_stmt 0 view .LVU326
  8716. 916 0010 3246 mov r2, r6
  8717. 917 0012 2946 mov r1, r5
  8718. 918 0014 2046 mov r0, r4
  8719. 919 0016 FFF7FEFF bl I2C_IsErrorOccurred
  8720. 920 .LVL70:
  8721. 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8722. 921 .loc 1 7129 10 view .LVU327
  8723. 922 001a 2368 ldr r3, [r4]
  8724. 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8725. 923 .loc 1 7123 8 view .LVU328
  8726. 924 001c E8B9 cbnz r0, .L116
  8727. 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8728. 925 .loc 1 7129 5 is_stmt 1 view .LVU329
  8729. 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8730. 926 .loc 1 7129 10 is_stmt 0 view .LVU330
  8731. 927 001e 9A69 ldr r2, [r3, #24]
  8732. 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8733. 928 .loc 1 7129 8 view .LVU331
  8734. 929 0020 9106 lsls r1, r2, #26
  8735. 930 0022 1DD5 bpl .L118
  8736. 7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8737. 931 .loc 1 7133 7 is_stmt 1 view .LVU332
  8738. 7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8739. 932 .loc 1 7133 12 is_stmt 0 view .LVU333
  8740. 933 0024 9A69 ldr r2, [r3, #24]
  8741. 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8742. 934 .loc 1 7141 7 is_stmt 1 view .LVU334
  8743. 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8744. 935 .loc 1 7141 11 is_stmt 0 view .LVU335
  8745. 936 0026 9A69 ldr r2, [r3, #24]
  8746. 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8747. 937 .loc 1 7141 10 view .LVU336
  8748. 938 0028 12F01002 ands r2, r2, #16
  8749. 939 002c 17D0 beq .L120
  8750. 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
  8751. 940 .loc 1 7143 9 is_stmt 1 view .LVU337
  8752. 7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8753. 941 .loc 1 7147 9 is_stmt 0 view .LVU338
  8754. 942 002e 2021 movs r1, #32
  8755. 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
  8756. 943 .loc 1 7143 9 view .LVU339
  8757. 944 0030 1025 movs r5, #16
  8758. 945 .LVL71:
  8759. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 152
  8760. 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8761. 946 .loc 1 7144 25 view .LVU340
  8762. 947 0032 0422 movs r2, #4
  8763. 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
  8764. 948 .loc 1 7143 9 view .LVU341
  8765. 949 0034 DD61 str r5, [r3, #28]
  8766. 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8767. 950 .loc 1 7144 9 is_stmt 1 view .LVU342
  8768. 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8769. 951 .loc 1 7144 25 is_stmt 0 view .LVU343
  8770. 952 0036 6264 str r2, [r4, #68]
  8771. 7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8772. 953 .loc 1 7147 9 is_stmt 1 view .LVU344
  8773. 954 0038 D961 str r1, [r3, #28]
  8774. 7150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8775. 955 .loc 1 7150 9 view .LVU345
  8776. 956 003a 5A68 ldr r2, [r3, #4]
  8777. 957 003c 184D ldr r5, .L136
  8778. 958 003e 2A40 ands r2, r2, r5
  8779. 959 0040 5A60 str r2, [r3, #4]
  8780. 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8781. 960 .loc 1 7152 9 view .LVU346
  8782. 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  8783. 961 .loc 1 7152 21 is_stmt 0 view .LVU347
  8784. 962 0042 84F84110 strb r1, [r4, #65]
  8785. 7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8786. 963 .loc 1 7153 9 is_stmt 1 view .LVU348
  8787. 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8788. 964 .loc 1 7156 9 is_stmt 0 view .LVU349
  8789. 965 0046 84F84000 strb r0, [r4, #64]
  8790. 7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8791. 966 .loc 1 7153 20 view .LVU350
  8792. 967 004a 84F84200 strb r0, [r4, #66]
  8793. 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8794. 968 .loc 1 7156 9 is_stmt 1 view .LVU351
  8795. 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8796. 969 .loc 1 7156 9 view .LVU352
  8797. 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8798. 970 .loc 1 7156 9 view .LVU353
  8799. 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8800. 971 .loc 1 7158 9 view .LVU354
  8801. 972 .LVL72:
  8802. 973 .L119:
  8803. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8804. 974 .loc 1 7167 5 view .LVU355
  8805. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8806. 975 .loc 1 7167 12 is_stmt 0 view .LVU356
  8807. 976 004e FFF7FEFF bl HAL_GetTick
  8808. 977 .LVL73:
  8809. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8810. 978 .loc 1 7120 9 is_stmt 1 view .LVU357
  8811. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8812. 979 .loc 1 7120 11 is_stmt 0 view .LVU358
  8813. 980 0052 2368 ldr r3, [r4]
  8814. 981 0054 0120 movs r0, #1
  8815. 7181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8816. 982 .loc 1 7181 3 is_stmt 1 view .LVU359
  8817. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 153
  8818. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8819. 983 .loc 1 7120 11 is_stmt 0 view .LVU360
  8820. 984 0056 9B69 ldr r3, [r3, #24]
  8821. 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8822. 985 .loc 1 7182 1 view .LVU361
  8823. 986 0058 70BD pop {r4, r5, r6, pc}
  8824. 987 .LVL74:
  8825. 988 .L116:
  8826. 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8827. 989 .loc 1 7125 7 is_stmt 1 view .LVU362
  8828. 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8829. 990 .loc 1 7129 5 view .LVU363
  8830. 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8831. 991 .loc 1 7129 10 is_stmt 0 view .LVU364
  8832. 992 005a 9B69 ldr r3, [r3, #24]
  8833. 993 005c F7E7 b .L119
  8834. 994 .LVL75:
  8835. 995 .L120:
  8836. 7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8837. 996 .loc 1 7162 9 is_stmt 1 view .LVU365
  8838. 7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8839. 997 .loc 1 7162 25 is_stmt 0 view .LVU366
  8840. 998 005e 6264 str r2, [r4, #68]
  8841. 999 .L118:
  8842. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8843. 1000 .loc 1 7167 5 is_stmt 1 view .LVU367
  8844. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8845. 1001 .loc 1 7167 12 is_stmt 0 view .LVU368
  8846. 1002 0060 FFF7FEFF bl HAL_GetTick
  8847. 1003 .LVL76:
  8848. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8849. 1004 .loc 1 7167 26 view .LVU369
  8850. 1005 0064 801B subs r0, r0, r6
  8851. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8852. 1006 .loc 1 7167 8 view .LVU370
  8853. 1007 0066 8542 cmp r5, r0
  8854. 1008 0068 06D3 bcc .L125
  8855. 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8856. 1009 .loc 1 7167 50 view .LVU371
  8857. 1010 006a 2DB1 cbz r5, .L125
  8858. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8859. 1011 .loc 1 7120 9 is_stmt 1 view .LVU372
  8860. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8861. 1012 .loc 1 7120 11 is_stmt 0 view .LVU373
  8862. 1013 006c 2368 ldr r3, [r4]
  8863. 1014 006e 9B69 ldr r3, [r3, #24]
  8864. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8865. 1015 .loc 1 7120 9 view .LVU374
  8866. 1016 0070 5B07 lsls r3, r3, #29
  8867. 1017 0072 CDD5 bpl .L123
  8868. 1018 .L124:
  8869. 7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8870. 1019 .loc 1 7118 21 view .LVU375
  8871. 1020 0074 0020 movs r0, #0
  8872. 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8873. 1021 .loc 1 7182 1 view .LVU376
  8874. 1022 0076 70BD pop {r4, r5, r6, pc}
  8875. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 154
  8876. 1023 .LVL77:
  8877. 1024 .L125:
  8878. 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8879. 1025 .loc 1 7169 7 is_stmt 1 view .LVU377
  8880. 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8881. 1026 .loc 1 7169 12 is_stmt 0 view .LVU378
  8882. 1027 0078 2268 ldr r2, [r4]
  8883. 1028 007a 9369 ldr r3, [r2, #24]
  8884. 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8885. 1029 .loc 1 7169 10 view .LVU379
  8886. 1030 007c 13F00403 ands r3, r3, #4
  8887. 1031 0080 03D0 beq .L122
  8888. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8889. 1032 .loc 1 7120 9 is_stmt 1 view .LVU380
  8890. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8891. 1033 .loc 1 7120 11 is_stmt 0 view .LVU381
  8892. 1034 0082 9369 ldr r3, [r2, #24]
  8893. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8894. 1035 .loc 1 7120 9 view .LVU382
  8895. 1036 0084 5A07 lsls r2, r3, #29
  8896. 1037 0086 C3D5 bpl .L123
  8897. 1038 0088 F4E7 b .L124
  8898. 1039 .L122:
  8899. 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8900. 1040 .loc 1 7171 9 is_stmt 1 view .LVU383
  8901. 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8902. 1041 .loc 1 7171 25 is_stmt 0 view .LVU384
  8903. 1042 008a 616C ldr r1, [r4, #68]
  8904. 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8905. 1043 .loc 1 7175 9 view .LVU385
  8906. 1044 008c 84F84030 strb r3, [r4, #64]
  8907. 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8908. 1045 .loc 1 7172 21 view .LVU386
  8909. 1046 0090 2020 movs r0, #32
  8910. 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  8911. 1047 .loc 1 7171 25 view .LVU387
  8912. 1048 0092 0143 orrs r1, r1, r0
  8913. 1049 0094 6164 str r1, [r4, #68]
  8914. 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8915. 1050 .loc 1 7172 9 is_stmt 1 view .LVU388
  8916. 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8917. 1051 .loc 1 7172 21 is_stmt 0 view .LVU389
  8918. 1052 0096 84F84100 strb r0, [r4, #65]
  8919. 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8920. 1053 .loc 1 7175 9 is_stmt 1 view .LVU390
  8921. 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8922. 1054 .loc 1 7175 9 view .LVU391
  8923. 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8924. 1055 .loc 1 7175 9 view .LVU392
  8925. 7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8926. 1056 .loc 1 7177 9 view .LVU393
  8927. 1057 .LVL78:
  8928. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8929. 1058 .loc 1 7120 9 view .LVU394
  8930. 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8931. 1059 .loc 1 7120 11 is_stmt 0 view .LVU395
  8932. 1060 009a 9369 ldr r3, [r2, #24]
  8933. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 155
  8934. 7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  8935. 1061 .loc 1 7177 16 view .LVU396
  8936. 1062 009c 0120 movs r0, #1
  8937. 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8938. 1063 .loc 1 7182 1 view .LVU397
  8939. 1064 009e 70BD pop {r4, r5, r6, pc}
  8940. 1065 .LVL79:
  8941. 1066 .L137:
  8942. 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8943. 1067 .loc 1 7182 1 view .LVU398
  8944. 1068 .align 2
  8945. 1069 .L136:
  8946. 1070 00a0 00E800FE .word -33495040
  8947. 1071 .cfi_endproc
  8948. 1072 .LFE205:
  8949. 1074 .section .text.HAL_I2C_MspInit,"ax",%progbits
  8950. 1075 .align 1
  8951. 1076 .p2align 2,,3
  8952. 1077 .weak HAL_I2C_MspInit
  8953. 1078 .syntax unified
  8954. 1079 .thumb
  8955. 1080 .thumb_func
  8956. 1082 HAL_I2C_MspInit:
  8957. 1083 .LVL80:
  8958. 1084 .LFB132:
  8959. 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  8960. 1085 .loc 1 697 1 is_stmt 1 view -0
  8961. 1086 .cfi_startproc
  8962. 1087 @ args = 0, pretend = 0, frame = 0
  8963. 1088 @ frame_needed = 0, uses_anonymous_args = 0
  8964. 1089 @ link register save eliminated.
  8965. 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8966. 1090 .loc 1 699 3 view .LVU400
  8967. 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  8968. 1091 .loc 1 704 1 is_stmt 0 view .LVU401
  8969. 1092 0000 7047 bx lr
  8970. 1093 .cfi_endproc
  8971. 1094 .LFE132:
  8972. 1096 0002 00BF .section .text.HAL_I2C_Init,"ax",%progbits
  8973. 1097 .align 1
  8974. 1098 .p2align 2,,3
  8975. 1099 .global HAL_I2C_Init
  8976. 1100 .syntax unified
  8977. 1101 .thumb
  8978. 1102 .thumb_func
  8979. 1104 HAL_I2C_Init:
  8980. 1105 .LVL81:
  8981. 1106 .LFB130:
  8982. 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
  8983. 1107 .loc 1 536 1 is_stmt 1 view -0
  8984. 1108 .cfi_startproc
  8985. 1109 @ args = 0, pretend = 0, frame = 0
  8986. 1110 @ frame_needed = 0, uses_anonymous_args = 0
  8987. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8988. 1111 .loc 1 538 3 view .LVU403
  8989. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  8990. 1112 .loc 1 538 6 is_stmt 0 view .LVU404
  8991. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 156
  8992. 1113 0000 0028 cmp r0, #0
  8993. 1114 0002 00F0B680 beq .L153
  8994. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
  8995. 1115 .loc 1 544 3 view .LVU405
  8996. 1116 0006 0368 ldr r3, [r0]
  8997. 1117 0008 5B4A ldr r2, .L175
  8998. 1118 000a 9342 cmp r3, r2
  8999. 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
  9000. 1119 .loc 1 536 1 view .LVU406
  9001. 1120 000c 10B5 push {r4, lr}
  9002. 1121 .LCFI7:
  9003. 1122 .cfi_def_cfa_offset 8
  9004. 1123 .cfi_offset 4, -8
  9005. 1124 .cfi_offset 14, -4
  9006. 1125 000e 0446 mov r4, r0
  9007. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
  9008. 1126 .loc 1 544 3 is_stmt 1 view .LVU407
  9009. 1127 0010 08D0 beq .L141
  9010. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
  9011. 1128 .loc 1 544 3 is_stmt 0 discriminator 1 view .LVU408
  9012. 1129 0012 02F58062 add r2, r2, #1024
  9013. 1130 0016 9342 cmp r3, r2
  9014. 1131 0018 04D0 beq .L141
  9015. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
  9016. 1132 .loc 1 544 3 discriminator 2 view .LVU409
  9017. 1133 001a 5848 ldr r0, .L175+4
  9018. 1134 .LVL82:
  9019. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
  9020. 1135 .loc 1 544 3 discriminator 2 view .LVU410
  9021. 1136 001c 4FF40871 mov r1, #544
  9022. 1137 0020 FFF7FEFF bl assert_failed
  9023. 1138 .LVL83:
  9024. 1139 .L141:
  9025. 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
  9026. 1140 .loc 1 545 3 is_stmt 1 view .LVU411
  9027. 1141 0024 A368 ldr r3, [r4, #8]
  9028. 1142 0026 B3F5806F cmp r3, #1024
  9029. 1143 002a 80F09C80 bcs .L167
  9030. 1144 .L142:
  9031. 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
  9032. 1145 .loc 1 546 3 view .LVU412
  9033. 1146 002e E368 ldr r3, [r4, #12]
  9034. 1147 0030 013B subs r3, r3, #1
  9035. 1148 0032 012B cmp r3, #1
  9036. 1149 0034 00F28C80 bhi .L168
  9037. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
  9038. 1150 .loc 1 547 3 view .LVU413
  9039. 1151 0038 2369 ldr r3, [r4, #16]
  9040. 1152 003a 33F40043 bics r3, r3, #32768
  9041. 1153 003e 71D1 bne .L169
  9042. 1154 .L144:
  9043. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
  9044. 1155 .loc 1 548 3 view .LVU414
  9045. 1156 0040 6369 ldr r3, [r4, #20]
  9046. 1157 0042 FF2B cmp r3, #255
  9047. 1158 0044 76D8 bhi .L170
  9048. 1159 .L145:
  9049. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 157
  9050. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
  9051. 1160 .loc 1 549 3 view .LVU415
  9052. 1161 0046 A369 ldr r3, [r4, #24]
  9053. 1162 0048 072B cmp r3, #7
  9054. 1163 004a 7BD8 bhi .L171
  9055. 1164 .L146:
  9056. 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
  9057. 1165 .loc 1 550 3 view .LVU416
  9058. 1166 004c E369 ldr r3, [r4, #28]
  9059. 1167 004e 33F40023 bics r3, r3, #524288
  9060. 1168 0052 04D0 beq .L147
  9061. 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
  9062. 1169 .loc 1 550 3 is_stmt 0 discriminator 2 view .LVU417
  9063. 1170 0054 4948 ldr r0, .L175+4
  9064. 1171 0056 40F22621 movw r1, #550
  9065. 1172 005a FFF7FEFF bl assert_failed
  9066. 1173 .LVL84:
  9067. 1174 .L147:
  9068. 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9069. 1175 .loc 1 551 3 is_stmt 1 view .LVU418
  9070. 1176 005e 236A ldr r3, [r4, #32]
  9071. 1177 0060 33F40033 bics r3, r3, #131072
  9072. 1178 0064 4DD1 bne .L172
  9073. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9074. 1179 .loc 1 553 3 view .LVU419
  9075. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9076. 1180 .loc 1 553 11 is_stmt 0 view .LVU420
  9077. 1181 0066 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  9078. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9079. 1182 .loc 1 553 6 view .LVU421
  9080. 1183 006a 03F0FF02 and r2, r3, #255
  9081. 1184 006e 002B cmp r3, #0
  9082. 1185 0070 52D0 beq .L173
  9083. 1186 .L149:
  9084. 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9085. 1187 .loc 1 584 3 is_stmt 1 view .LVU422
  9086. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9087. 1188 .loc 1 587 3 is_stmt 0 view .LVU423
  9088. 1189 0072 2368 ldr r3, [r4]
  9089. 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9090. 1190 .loc 1 584 15 view .LVU424
  9091. 1191 0074 2422 movs r2, #36
  9092. 1192 0076 84F84120 strb r2, [r4, #65]
  9093. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9094. 1193 .loc 1 587 3 is_stmt 1 view .LVU425
  9095. 1194 007a 1968 ldr r1, [r3]
  9096. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9097. 1195 .loc 1 591 47 is_stmt 0 view .LVU426
  9098. 1196 007c 6268 ldr r2, [r4, #4]
  9099. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9100. 1197 .loc 1 587 3 view .LVU427
  9101. 1198 007e 21F00101 bic r1, r1, #1
  9102. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9103. 1199 .loc 1 591 47 view .LVU428
  9104. 1200 0082 22F07062 bic r2, r2, #251658240
  9105. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9106. 1201 .loc 1 587 3 view .LVU429
  9107. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 158
  9108. 1202 0086 1960 str r1, [r3]
  9109. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9110. 1203 .loc 1 591 3 is_stmt 1 view .LVU430
  9111. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9112. 1204 .loc 1 591 27 is_stmt 0 view .LVU431
  9113. 1205 0088 1A61 str r2, [r3, #16]
  9114. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9115. 1206 .loc 1 595 3 is_stmt 1 view .LVU432
  9116. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9117. 1207 .loc 1 595 24 is_stmt 0 view .LVU433
  9118. 1208 008a 9A68 ldr r2, [r3, #8]
  9119. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9120. 1209 .loc 1 598 17 view .LVU434
  9121. 1210 008c E168 ldr r1, [r4, #12]
  9122. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9123. 1211 .loc 1 595 24 view .LVU435
  9124. 1212 008e 22F40042 bic r2, r2, #32768
  9125. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9126. 1213 .loc 1 598 6 view .LVU436
  9127. 1214 0092 0129 cmp r1, #1
  9128. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9129. 1215 .loc 1 595 24 view .LVU437
  9130. 1216 0094 9A60 str r2, [r3, #8]
  9131. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9132. 1217 .loc 1 598 3 is_stmt 1 view .LVU438
  9133. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9134. 1218 .loc 1 600 44 is_stmt 0 view .LVU439
  9135. 1219 0096 A268 ldr r2, [r4, #8]
  9136. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9137. 1220 .loc 1 598 6 view .LVU440
  9138. 1221 0098 09D0 beq .L174
  9139. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9140. 1222 .loc 1 604 5 is_stmt 1 view .LVU441
  9141. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9142. 1223 .loc 1 604 63 is_stmt 0 view .LVU442
  9143. 1224 009a 42F40442 orr r2, r2, #33792
  9144. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9145. 1225 .loc 1 609 6 view .LVU443
  9146. 1226 009e 0229 cmp r1, #2
  9147. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9148. 1227 .loc 1 604 26 view .LVU444
  9149. 1228 00a0 9A60 str r2, [r3, #8]
  9150. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9151. 1229 .loc 1 609 3 is_stmt 1 view .LVU445
  9152. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9153. 1230 .loc 1 609 6 is_stmt 0 view .LVU446
  9154. 1231 00a2 07D1 bne .L151
  9155. 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9156. 1232 .loc 1 611 5 is_stmt 1 view .LVU447
  9157. 1233 00a4 5A68 ldr r2, [r3, #4]
  9158. 1234 00a6 42F40062 orr r2, r2, #2048
  9159. 1235 00aa 5A60 str r2, [r3, #4]
  9160. 1236 00ac 06E0 b .L152
  9161. 1237 .L174:
  9162. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9163. 1238 .loc 1 600 5 view .LVU448
  9164. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9165. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 159
  9166. 1239 .loc 1 600 44 is_stmt 0 view .LVU449
  9167. 1240 00ae 42F40042 orr r2, r2, #32768
  9168. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9169. 1241 .loc 1 600 26 view .LVU450
  9170. 1242 00b2 9A60 str r2, [r3, #8]
  9171. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9172. 1243 .loc 1 609 3 is_stmt 1 view .LVU451
  9173. 1244 .L151:
  9174. 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9175. 1245 .loc 1 616 5 view .LVU452
  9176. 1246 00b4 5A68 ldr r2, [r3, #4]
  9177. 1247 00b6 22F40062 bic r2, r2, #2048
  9178. 1248 00ba 5A60 str r2, [r3, #4]
  9179. 1249 .L152:
  9180. 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9181. 1250 .loc 1 619 3 view .LVU453
  9182. 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9183. 1251 .loc 1 619 23 is_stmt 0 view .LVU454
  9184. 1252 00bc 5968 ldr r1, [r3, #4]
  9185. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
  9186. 1253 .loc 1 626 54 view .LVU455
  9187. 1254 00be 2269 ldr r2, [r4, #16]
  9188. 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9189. 1255 .loc 1 619 23 view .LVU456
  9190. 1256 00c0 41F00071 orr r1, r1, #33554432
  9191. 1257 00c4 41F40041 orr r1, r1, #32768
  9192. 1258 00c8 5960 str r1, [r3, #4]
  9193. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9194. 1259 .loc 1 623 3 is_stmt 1 view .LVU457
  9195. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
  9196. 1260 .loc 1 626 54 is_stmt 0 view .LVU458
  9197. 1261 00ca 6169 ldr r1, [r4, #20]
  9198. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9199. 1262 .loc 1 623 24 view .LVU459
  9200. 1263 00cc D868 ldr r0, [r3, #12]
  9201. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
  9202. 1264 .loc 1 626 54 view .LVU460
  9203. 1265 00ce 0A43 orrs r2, r2, r1
  9204. 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9205. 1266 .loc 1 627 56 view .LVU461
  9206. 1267 00d0 A169 ldr r1, [r4, #24]
  9207. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9208. 1268 .loc 1 623 24 view .LVU462
  9209. 1269 00d2 20F40040 bic r0, r0, #32768
  9210. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
  9211. 1270 .loc 1 626 79 view .LVU463
  9212. 1271 00d6 42EA0122 orr r2, r2, r1, lsl #8
  9213. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9214. 1272 .loc 1 631 53 view .LVU464
  9215. 1273 00da E169 ldr r1, [r4, #28]
  9216. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9217. 1274 .loc 1 623 24 view .LVU465
  9218. 1275 00dc D860 str r0, [r3, #12]
  9219. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
  9220. 1276 .loc 1 626 3 is_stmt 1 view .LVU466
  9221. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9222. 1277 .loc 1 631 53 is_stmt 0 view .LVU467
  9223. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 160
  9224. 1278 00de 206A ldr r0, [r4, #32]
  9225. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8));
  9226. 1279 .loc 1 626 24 view .LVU468
  9227. 1280 00e0 DA60 str r2, [r3, #12]
  9228. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9229. 1281 .loc 1 631 3 is_stmt 1 view .LVU469
  9230. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9231. 1282 .loc 1 631 53 is_stmt 0 view .LVU470
  9232. 1283 00e2 0143 orrs r1, r1, r0
  9233. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9234. 1284 .loc 1 631 23 view .LVU471
  9235. 1285 00e4 1960 str r1, [r3]
  9236. 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9237. 1286 .loc 1 634 3 is_stmt 1 view .LVU472
  9238. 1287 00e6 1968 ldr r1, [r3]
  9239. 1288 00e8 41F00101 orr r1, r1, #1
  9240. 1289 00ec 1960 str r1, [r3]
  9241. 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  9242. 1290 .loc 1 636 3 view .LVU473
  9243. 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  9244. 1291 .loc 1 636 19 is_stmt 0 view .LVU474
  9245. 1292 00ee 0022 movs r2, #0
  9246. 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  9247. 1293 .loc 1 637 15 view .LVU475
  9248. 1294 00f0 2023 movs r3, #32
  9249. 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  9250. 1295 .loc 1 636 19 view .LVU476
  9251. 1296 00f2 6264 str r2, [r4, #68]
  9252. 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  9253. 1297 .loc 1 637 3 is_stmt 1 view .LVU477
  9254. 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  9255. 1298 .loc 1 637 15 is_stmt 0 view .LVU478
  9256. 1299 00f4 84F84130 strb r3, [r4, #65]
  9257. 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  9258. 1300 .loc 1 638 3 is_stmt 1 view .LVU479
  9259. 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  9260. 1301 .loc 1 638 23 is_stmt 0 view .LVU480
  9261. 1302 00f8 2263 str r2, [r4, #48]
  9262. 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9263. 1303 .loc 1 639 3 is_stmt 1 view .LVU481
  9264. 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9265. 1304 .loc 1 639 14 is_stmt 0 view .LVU482
  9266. 1305 00fa 84F84220 strb r2, [r4, #66]
  9267. 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9268. 1306 .loc 1 641 3 is_stmt 1 view .LVU483
  9269. 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9270. 1307 .loc 1 641 10 is_stmt 0 view .LVU484
  9271. 1308 00fe 1046 mov r0, r2
  9272. 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9273. 1309 .loc 1 642 1 view .LVU485
  9274. 1310 0100 10BD pop {r4, pc}
  9275. 1311 .LVL85:
  9276. 1312 .L172:
  9277. 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9278. 1313 .loc 1 551 3 discriminator 2 view .LVU486
  9279. 1314 0102 1E48 ldr r0, .L175+4
  9280. 1315 0104 40F22721 movw r1, #551
  9281. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 161
  9282. 1316 0108 FFF7FEFF bl assert_failed
  9283. 1317 .LVL86:
  9284. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9285. 1318 .loc 1 553 3 is_stmt 1 discriminator 2 view .LVU487
  9286. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9287. 1319 .loc 1 553 11 is_stmt 0 discriminator 2 view .LVU488
  9288. 1320 010c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  9289. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9290. 1321 .loc 1 553 6 discriminator 2 view .LVU489
  9291. 1322 0110 03F0FF02 and r2, r3, #255
  9292. 1323 0114 002B cmp r3, #0
  9293. 1324 0116 ACD1 bne .L149
  9294. 1325 .L173:
  9295. 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9296. 1326 .loc 1 556 5 is_stmt 1 view .LVU490
  9297. 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9298. 1327 .loc 1 556 16 is_stmt 0 view .LVU491
  9299. 1328 0118 84F84020 strb r2, [r4, #64]
  9300. 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  9301. 1329 .loc 1 580 5 is_stmt 1 view .LVU492
  9302. 1330 011c 2046 mov r0, r4
  9303. 1331 011e FFF7FEFF bl HAL_I2C_MspInit
  9304. 1332 .LVL87:
  9305. 1333 0122 A6E7 b .L149
  9306. 1334 .L169:
  9307. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
  9308. 1335 .loc 1 547 3 is_stmt 0 discriminator 2 view .LVU493
  9309. 1336 0124 1548 ldr r0, .L175+4
  9310. 1337 0126 40F22321 movw r1, #547
  9311. 1338 012a FFF7FEFF bl assert_failed
  9312. 1339 .LVL88:
  9313. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
  9314. 1340 .loc 1 548 3 is_stmt 1 discriminator 2 view .LVU494
  9315. 1341 012e 6369 ldr r3, [r4, #20]
  9316. 1342 0130 FF2B cmp r3, #255
  9317. 1343 0132 88D9 bls .L145
  9318. 1344 .L170:
  9319. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
  9320. 1345 .loc 1 548 3 is_stmt 0 discriminator 1 view .LVU495
  9321. 1346 0134 1148 ldr r0, .L175+4
  9322. 1347 0136 4FF40971 mov r1, #548
  9323. 1348 013a FFF7FEFF bl assert_failed
  9324. 1349 .LVL89:
  9325. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
  9326. 1350 .loc 1 549 3 is_stmt 1 discriminator 1 view .LVU496
  9327. 1351 013e A369 ldr r3, [r4, #24]
  9328. 1352 0140 072B cmp r3, #7
  9329. 1353 0142 83D9 bls .L146
  9330. 1354 .L171:
  9331. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
  9332. 1355 .loc 1 549 3 is_stmt 0 discriminator 1 view .LVU497
  9333. 1356 0144 0D48 ldr r0, .L175+4
  9334. 1357 0146 40F22521 movw r1, #549
  9335. 1358 014a FFF7FEFF bl assert_failed
  9336. 1359 .LVL90:
  9337. 1360 014e 7DE7 b .L146
  9338. 1361 .L168:
  9339. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 162
  9340. 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
  9341. 1362 .loc 1 546 3 discriminator 1 view .LVU498
  9342. 1363 0150 0A48 ldr r0, .L175+4
  9343. 1364 0152 40F22221 movw r1, #546
  9344. 1365 0156 FFF7FEFF bl assert_failed
  9345. 1366 .LVL91:
  9346. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
  9347. 1367 .loc 1 547 3 is_stmt 1 discriminator 1 view .LVU499
  9348. 1368 015a 2369 ldr r3, [r4, #16]
  9349. 1369 015c 33F40043 bics r3, r3, #32768
  9350. 1370 0160 3FF46EAF beq .L144
  9351. 1371 0164 DEE7 b .L169
  9352. 1372 .L167:
  9353. 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
  9354. 1373 .loc 1 545 3 is_stmt 0 discriminator 1 view .LVU500
  9355. 1374 0166 0548 ldr r0, .L175+4
  9356. 1375 0168 40F22121 movw r1, #545
  9357. 1376 016c FFF7FEFF bl assert_failed
  9358. 1377 .LVL92:
  9359. 1378 0170 5DE7 b .L142
  9360. 1379 .LVL93:
  9361. 1380 .L153:
  9362. 1381 .LCFI8:
  9363. 1382 .cfi_def_cfa_offset 0
  9364. 1383 .cfi_restore 4
  9365. 1384 .cfi_restore 14
  9366. 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9367. 1385 .loc 1 540 12 view .LVU501
  9368. 1386 0172 0120 movs r0, #1
  9369. 1387 .LVL94:
  9370. 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9371. 1388 .loc 1 642 1 view .LVU502
  9372. 1389 0174 7047 bx lr
  9373. 1390 .L176:
  9374. 1391 0176 00BF .align 2
  9375. 1392 .L175:
  9376. 1393 0178 00540040 .word 1073763328
  9377. 1394 017c 00000000 .word .LC0
  9378. 1395 .cfi_endproc
  9379. 1396 .LFE130:
  9380. 1398 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
  9381. 1399 .align 1
  9382. 1400 .p2align 2,,3
  9383. 1401 .weak HAL_I2C_MspDeInit
  9384. 1402 .syntax unified
  9385. 1403 .thumb
  9386. 1404 .thumb_func
  9387. 1406 HAL_I2C_MspDeInit:
  9388. 1407 .LFB216:
  9389. 1408 .cfi_startproc
  9390. 1409 @ args = 0, pretend = 0, frame = 0
  9391. 1410 @ frame_needed = 0, uses_anonymous_args = 0
  9392. 1411 @ link register save eliminated.
  9393. 1412 0000 7047 bx lr
  9394. 1413 .cfi_endproc
  9395. 1414 .LFE216:
  9396. 1416 0002 00BF .section .text.HAL_I2C_DeInit,"ax",%progbits
  9397. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 163
  9398. 1417 .align 1
  9399. 1418 .p2align 2,,3
  9400. 1419 .global HAL_I2C_DeInit
  9401. 1420 .syntax unified
  9402. 1421 .thumb
  9403. 1422 .thumb_func
  9404. 1424 HAL_I2C_DeInit:
  9405. 1425 .LVL95:
  9406. 1426 .LFB131:
  9407. 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
  9408. 1427 .loc 1 651 1 is_stmt 1 view -0
  9409. 1428 .cfi_startproc
  9410. 1429 @ args = 0, pretend = 0, frame = 0
  9411. 1430 @ frame_needed = 0, uses_anonymous_args = 0
  9412. 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9413. 1431 .loc 1 653 3 view .LVU504
  9414. 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9415. 1432 .loc 1 653 6 is_stmt 0 view .LVU505
  9416. 1433 0000 20B3 cbz r0, .L181
  9417. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9418. 1434 .loc 1 659 3 view .LVU506
  9419. 1435 0002 0368 ldr r3, [r0]
  9420. 1436 0004 124A ldr r2, .L186
  9421. 1437 0006 9342 cmp r3, r2
  9422. 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */
  9423. 1438 .loc 1 651 1 view .LVU507
  9424. 1439 0008 10B5 push {r4, lr}
  9425. 1440 .LCFI9:
  9426. 1441 .cfi_def_cfa_offset 8
  9427. 1442 .cfi_offset 4, -8
  9428. 1443 .cfi_offset 14, -4
  9429. 1444 000a 0446 mov r4, r0
  9430. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9431. 1445 .loc 1 659 3 is_stmt 1 view .LVU508
  9432. 1446 000c 09D0 beq .L180
  9433. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9434. 1447 .loc 1 659 3 is_stmt 0 discriminator 1 view .LVU509
  9435. 1448 000e 02F58062 add r2, r2, #1024
  9436. 1449 0012 9342 cmp r3, r2
  9437. 1450 0014 05D0 beq .L180
  9438. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9439. 1451 .loc 1 659 3 discriminator 2 view .LVU510
  9440. 1452 0016 0F48 ldr r0, .L186+4
  9441. 1453 .LVL96:
  9442. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9443. 1454 .loc 1 659 3 discriminator 2 view .LVU511
  9444. 1455 0018 40F29321 movw r1, #659
  9445. 1456 001c FFF7FEFF bl assert_failed
  9446. 1457 .LVL97:
  9447. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9448. 1458 .loc 1 664 3 discriminator 2 view .LVU512
  9449. 1459 0020 2368 ldr r3, [r4]
  9450. 1460 .L180:
  9451. 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9452. 1461 .loc 1 661 3 is_stmt 1 view .LVU513
  9453. 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9454. 1462 .loc 1 661 15 is_stmt 0 view .LVU514
  9455. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 164
  9456. 1463 0022 2422 movs r2, #36
  9457. 1464 0024 84F84120 strb r2, [r4, #65]
  9458. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9459. 1465 .loc 1 664 3 is_stmt 1 view .LVU515
  9460. 1466 0028 1A68 ldr r2, [r3]
  9461. 1467 002a 22F00102 bic r2, r2, #1
  9462. 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  9463. 1468 .loc 1 676 3 is_stmt 0 view .LVU516
  9464. 1469 002e 2046 mov r0, r4
  9465. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9466. 1470 .loc 1 664 3 view .LVU517
  9467. 1471 0030 1A60 str r2, [r3]
  9468. 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  9469. 1472 .loc 1 676 3 is_stmt 1 view .LVU518
  9470. 1473 0032 FFF7FEFF bl HAL_I2C_MspDeInit
  9471. 1474 .LVL98:
  9472. 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
  9473. 1475 .loc 1 679 3 view .LVU519
  9474. 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
  9475. 1476 .loc 1 679 19 is_stmt 0 view .LVU520
  9476. 1477 0036 0023 movs r3, #0
  9477. 1478 0038 6364 str r3, [r4, #68]
  9478. 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  9479. 1479 .loc 1 680 3 is_stmt 1 view .LVU521
  9480. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9481. 1480 .loc 1 685 3 is_stmt 0 view .LVU522
  9482. 1481 003a 84F84030 strb r3, [r4, #64]
  9483. 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  9484. 1482 .loc 1 680 15 view .LVU523
  9485. 1483 003e 84F84130 strb r3, [r4, #65]
  9486. 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  9487. 1484 .loc 1 681 3 is_stmt 1 view .LVU524
  9488. 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  9489. 1485 .loc 1 681 23 is_stmt 0 view .LVU525
  9490. 1486 0042 2363 str r3, [r4, #48]
  9491. 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9492. 1487 .loc 1 682 3 is_stmt 1 view .LVU526
  9493. 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9494. 1488 .loc 1 682 14 is_stmt 0 view .LVU527
  9495. 1489 0044 84F84230 strb r3, [r4, #66]
  9496. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9497. 1490 .loc 1 685 3 is_stmt 1 view .LVU528
  9498. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9499. 1491 .loc 1 685 3 view .LVU529
  9500. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9501. 1492 .loc 1 685 3 view .LVU530
  9502. 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9503. 1493 .loc 1 687 3 view .LVU531
  9504. 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9505. 1494 .loc 1 687 10 is_stmt 0 view .LVU532
  9506. 1495 0048 1846 mov r0, r3
  9507. 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9508. 1496 .loc 1 688 1 view .LVU533
  9509. 1497 004a 10BD pop {r4, pc}
  9510. 1498 .LVL99:
  9511. 1499 .L181:
  9512. 1500 .LCFI10:
  9513. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 165
  9514. 1501 .cfi_def_cfa_offset 0
  9515. 1502 .cfi_restore 4
  9516. 1503 .cfi_restore 14
  9517. 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9518. 1504 .loc 1 655 12 view .LVU534
  9519. 1505 004c 0120 movs r0, #1
  9520. 1506 .LVL100:
  9521. 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9522. 1507 .loc 1 688 1 view .LVU535
  9523. 1508 004e 7047 bx lr
  9524. 1509 .L187:
  9525. 1510 .align 2
  9526. 1511 .L186:
  9527. 1512 0050 00540040 .word 1073763328
  9528. 1513 0054 00000000 .word .LC0
  9529. 1514 .cfi_endproc
  9530. 1515 .LFE131:
  9531. 1517 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
  9532. 1518 .align 1
  9533. 1519 .p2align 2,,3
  9534. 1520 .global HAL_I2C_Master_Transmit
  9535. 1521 .syntax unified
  9536. 1522 .thumb
  9537. 1523 .thumb_func
  9538. 1525 HAL_I2C_Master_Transmit:
  9539. 1526 .LVL101:
  9540. 1527 .LFB134:
  9541. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  9542. 1528 .loc 1 1121 1 is_stmt 1 view -0
  9543. 1529 .cfi_startproc
  9544. 1530 @ args = 4, pretend = 0, frame = 0
  9545. 1531 @ frame_needed = 0, uses_anonymous_args = 0
  9546. 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  9547. 1532 .loc 1 1122 3 view .LVU537
  9548. 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9549. 1533 .loc 1 1123 3 view .LVU538
  9550. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9551. 1534 .loc 1 1125 3 view .LVU539
  9552. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  9553. 1535 .loc 1 1121 1 is_stmt 0 view .LVU540
  9554. 1536 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
  9555. 1537 .LCFI11:
  9556. 1538 .cfi_def_cfa_offset 32
  9557. 1539 .cfi_offset 4, -32
  9558. 1540 .cfi_offset 5, -28
  9559. 1541 .cfi_offset 6, -24
  9560. 1542 .cfi_offset 7, -20
  9561. 1543 .cfi_offset 8, -16
  9562. 1544 .cfi_offset 9, -12
  9563. 1545 .cfi_offset 10, -8
  9564. 1546 .cfi_offset 14, -4
  9565. 1547 0004 9846 mov r8, r3
  9566. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9567. 1548 .loc 1 1125 11 view .LVU541
  9568. 1549 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  9569. 1550 .LVL102:
  9570. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  9571. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 166
  9572. 1551 .loc 1 1121 1 view .LVU542
  9573. 1552 000a 82B0 sub sp, sp, #8
  9574. 1553 .LCFI12:
  9575. 1554 .cfi_def_cfa_offset 40
  9576. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9577. 1555 .loc 1 1125 6 view .LVU543
  9578. 1556 000c 202B cmp r3, #32
  9579. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  9580. 1557 .loc 1 1121 1 view .LVU544
  9581. 1558 000e 0A9E ldr r6, [sp, #40]
  9582. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9583. 1559 .loc 1 1125 6 view .LVU545
  9584. 1560 0010 40F09D80 bne .L204
  9585. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9586. 1561 .loc 1 1128 5 view .LVU546
  9587. 1562 0014 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  9588. 1563 0018 012B cmp r3, #1
  9589. 1564 001a 0446 mov r4, r0
  9590. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9591. 1565 .loc 1 1128 5 is_stmt 1 view .LVU547
  9592. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9593. 1566 .loc 1 1128 5 view .LVU548
  9594. 1567 001c 00F09780 beq .L204
  9595. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9596. 1568 .loc 1 1128 5 discriminator 2 view .LVU549
  9597. 1569 0020 4FF0010A mov r10, #1
  9598. 1570 0024 80F840A0 strb r10, [r0, #64]
  9599. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9600. 1571 .loc 1 1128 5 discriminator 2 view .LVU550
  9601. 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9602. 1572 .loc 1 1131 5 discriminator 2 view .LVU551
  9603. 1573 0028 8946 mov r9, r1
  9604. 1574 002a 1746 mov r7, r2
  9605. 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9606. 1575 .loc 1 1131 17 is_stmt 0 discriminator 2 view .LVU552
  9607. 1576 002c FFF7FEFF bl HAL_GetTick
  9608. 1577 .LVL103:
  9609. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9610. 1578 .loc 1 1133 9 discriminator 2 view .LVU553
  9611. 1579 0030 5246 mov r2, r10
  9612. 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9613. 1580 .loc 1 1131 17 discriminator 2 view .LVU554
  9614. 1581 0032 0546 mov r5, r0
  9615. 1582 .LVL104:
  9616. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9617. 1583 .loc 1 1133 5 is_stmt 1 discriminator 2 view .LVU555
  9618. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9619. 1584 .loc 1 1133 9 is_stmt 0 discriminator 2 view .LVU556
  9620. 1585 0034 0090 str r0, [sp]
  9621. 1586 0036 1923 movs r3, #25
  9622. 1587 0038 4FF40041 mov r1, #32768
  9623. 1588 003c 2046 mov r0, r4
  9624. 1589 .LVL105:
  9625. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9626. 1590 .loc 1 1133 9 discriminator 2 view .LVU557
  9627. 1591 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  9628. 1592 .LVL106:
  9629. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 167
  9630. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9631. 1593 .loc 1 1133 8 discriminator 2 view .LVU558
  9632. 1594 0042 0028 cmp r0, #0
  9633. 1595 0044 7FD1 bne .L195
  9634. 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  9635. 1596 .loc 1 1138 5 is_stmt 1 view .LVU559
  9636. 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  9637. 1597 .loc 1 1138 21 is_stmt 0 view .LVU560
  9638. 1598 0046 2123 movs r3, #33
  9639. 1599 0048 84F84130 strb r3, [r4, #65]
  9640. 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  9641. 1600 .loc 1 1139 5 is_stmt 1 view .LVU561
  9642. 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  9643. 1601 .loc 1 1139 21 is_stmt 0 view .LVU562
  9644. 1602 004c 1023 movs r3, #16
  9645. 1603 004e 84F84230 strb r3, [r4, #66]
  9646. 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9647. 1604 .loc 1 1140 5 is_stmt 1 view .LVU563
  9648. 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9649. 1605 .loc 1 1140 21 is_stmt 0 view .LVU564
  9650. 1606 0052 6064 str r0, [r4, #68]
  9651. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  9652. 1607 .loc 1 1143 5 is_stmt 1 view .LVU565
  9653. 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  9654. 1608 .loc 1 1144 5 view .LVU566
  9655. 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  9656. 1609 .loc 1 1144 21 is_stmt 0 view .LVU567
  9657. 1610 0054 A4F82A80 strh r8, [r4, #42] @ movhi
  9658. 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9659. 1611 .loc 1 1145 5 is_stmt 1 view .LVU568
  9660. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9661. 1612 .loc 1 1147 5 view .LVU569
  9662. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9663. 1613 .loc 1 1147 13 is_stmt 0 view .LVU570
  9664. 1614 0058 638D ldrh r3, [r4, #42]
  9665. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  9666. 1615 .loc 1 1143 21 view .LVU571
  9667. 1616 005a 6762 str r7, [r4, #36]
  9668. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9669. 1617 .loc 1 1147 13 view .LVU572
  9670. 1618 005c 9BB2 uxth r3, r3
  9671. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9672. 1619 .loc 1 1147 8 view .LVU573
  9673. 1620 005e FF2B cmp r3, #255
  9674. 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9675. 1621 .loc 1 1145 21 view .LVU574
  9676. 1622 0060 6063 str r0, [r4, #52]
  9677. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9678. 1623 .loc 1 1147 8 view .LVU575
  9679. 1624 0062 78D8 bhi .L191
  9680. 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  9681. 1625 .loc 1 1154 7 is_stmt 1 view .LVU576
  9682. 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  9683. 1626 .loc 1 1154 28 is_stmt 0 view .LVU577
  9684. 1627 0064 628D ldrh r2, [r4, #42]
  9685. 1628 0066 92B2 uxth r2, r2
  9686. 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9687. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 168
  9688. 1629 .loc 1 1155 7 is_stmt 1 view .LVU578
  9689. 1630 0068 2285 strh r2, [r4, #40] @ movhi
  9690. 1631 .LVL107:
  9691. 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9692. 1632 .loc 1 1158 5 view .LVU579
  9693. 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9694. 1633 .loc 1 1158 8 is_stmt 0 view .LVU580
  9695. 1634 006a 002A cmp r2, #0
  9696. 1635 006c 40F0A680 bne .L213
  9697. 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  9698. 1636 .loc 1 1179 7 is_stmt 1 view .LVU581
  9699. 1637 0070 574B ldr r3, .L214
  9700. 1638 0072 0093 str r3, [sp]
  9701. 1639 0074 4946 mov r1, r9
  9702. 1640 0076 4FF00073 mov r3, #33554432
  9703. 1641 007a 2046 mov r0, r4
  9704. 1642 007c FFF7FEFF bl I2C_TransferConfig
  9705. 1643 .LVL108:
  9706. 1644 .L193:
  9707. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9708. 1645 .loc 1 1183 11 view .LVU582
  9709. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9710. 1646 .loc 1 1183 16 is_stmt 0 view .LVU583
  9711. 1647 0080 638D ldrh r3, [r4, #42]
  9712. 1648 0082 9BB2 uxth r3, r3
  9713. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9714. 1649 .loc 1 1183 11 view .LVU584
  9715. 1650 0084 002B cmp r3, #0
  9716. 1651 0086 4AD0 beq .L201
  9717. 1652 .LBB54:
  9718. 1653 .LBB55:
  9719. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  9720. 1654 .loc 1 7337 3 view .LVU585
  9721. 1655 0088 DFF85881 ldr r8, .L214+20
  9722. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  9723. 1656 .loc 1 7342 52 view .LVU586
  9724. 1657 008c C9F30907 ubfx r7, r9, #0, #10
  9725. 1658 0090 03E0 b .L194
  9726. 1659 .LVL109:
  9727. 1660 .L197:
  9728. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  9729. 1661 .loc 1 7342 52 view .LVU587
  9730. 1662 .LBE55:
  9731. 1663 .LBE54:
  9732. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9733. 1664 .loc 1 1183 11 is_stmt 1 view .LVU588
  9734. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9735. 1665 .loc 1 1183 16 is_stmt 0 view .LVU589
  9736. 1666 0092 638D ldrh r3, [r4, #42]
  9737. 1667 0094 9BB2 uxth r3, r3
  9738. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9739. 1668 .loc 1 1183 11 view .LVU590
  9740. 1669 0096 002B cmp r3, #0
  9741. 1670 0098 41D0 beq .L201
  9742. 1671 .L194:
  9743. 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9744. 1672 .loc 1 1186 7 is_stmt 1 view .LVU591
  9745. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 169
  9746. 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9747. 1673 .loc 1 1186 11 is_stmt 0 view .LVU592
  9748. 1674 009a 2A46 mov r2, r5
  9749. 1675 009c 3146 mov r1, r6
  9750. 1676 009e 2046 mov r0, r4
  9751. 1677 00a0 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
  9752. 1678 .LVL110:
  9753. 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9754. 1679 .loc 1 1186 10 view .LVU593
  9755. 1680 00a4 0028 cmp r0, #0
  9756. 1681 00a6 4ED1 bne .L195
  9757. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9758. 1682 .loc 1 1191 7 is_stmt 1 view .LVU594
  9759. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9760. 1683 .loc 1 1191 30 is_stmt 0 view .LVU595
  9761. 1684 00a8 616A ldr r1, [r4, #36]
  9762. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9763. 1685 .loc 1 1191 11 view .LVU596
  9764. 1686 00aa 2368 ldr r3, [r4]
  9765. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9766. 1687 .loc 1 1191 30 view .LVU597
  9767. 1688 00ac 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2
  9768. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9769. 1689 .loc 1 1191 28 view .LVU598
  9770. 1690 00b0 9A62 str r2, [r3, #40]
  9771. 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9772. 1691 .loc 1 1194 7 is_stmt 1 view .LVU599
  9773. 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  9774. 1692 .loc 1 1196 11 is_stmt 0 view .LVU600
  9775. 1693 00b2 638D ldrh r3, [r4, #42]
  9776. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9777. 1694 .loc 1 1197 21 view .LVU601
  9778. 1695 00b4 228D ldrh r2, [r4, #40]
  9779. 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9780. 1696 .loc 1 1194 21 view .LVU602
  9781. 1697 00b6 6162 str r1, [r4, #36]
  9782. 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  9783. 1698 .loc 1 1196 7 is_stmt 1 view .LVU603
  9784. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9785. 1699 .loc 1 1197 7 view .LVU604
  9786. 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  9787. 1700 .loc 1 1196 22 is_stmt 0 view .LVU605
  9788. 1701 00b8 013B subs r3, r3, #1
  9789. 1702 00ba 9BB2 uxth r3, r3
  9790. 1703 00bc 6385 strh r3, [r4, #42] @ movhi
  9791. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9792. 1704 .loc 1 1199 16 view .LVU606
  9793. 1705 00be 638D ldrh r3, [r4, #42]
  9794. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9795. 1706 .loc 1 1197 21 view .LVU607
  9796. 1707 00c0 013A subs r2, r2, #1
  9797. 1708 00c2 92B2 uxth r2, r2
  9798. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9799. 1709 .loc 1 1199 16 view .LVU608
  9800. 1710 00c4 9BB2 uxth r3, r3
  9801. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9802. 1711 .loc 1 1197 21 view .LVU609
  9803. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 170
  9804. 1712 00c6 2285 strh r2, [r4, #40] @ movhi
  9805. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9806. 1713 .loc 1 1199 7 is_stmt 1 view .LVU610
  9807. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9808. 1714 .loc 1 1199 10 is_stmt 0 view .LVU611
  9809. 1715 00c8 002B cmp r3, #0
  9810. 1716 00ca E2D0 beq .L197
  9811. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9812. 1717 .loc 1 1199 35 discriminator 1 view .LVU612
  9813. 1718 00cc 002A cmp r2, #0
  9814. 1719 00ce E0D1 bne .L197
  9815. 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9816. 1720 .loc 1 1202 9 is_stmt 1 view .LVU613
  9817. 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9818. 1721 .loc 1 1202 13 is_stmt 0 view .LVU614
  9819. 1722 00d0 0095 str r5, [sp]
  9820. 1723 00d2 3346 mov r3, r6
  9821. 1724 00d4 8021 movs r1, #128
  9822. 1725 00d6 2046 mov r0, r4
  9823. 1726 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  9824. 1727 .LVL111:
  9825. 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9826. 1728 .loc 1 1202 12 view .LVU615
  9827. 1729 00dc 0028 cmp r0, #0
  9828. 1730 00de 32D1 bne .L195
  9829. 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9830. 1731 .loc 1 1207 9 is_stmt 1 view .LVU616
  9831. 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9832. 1732 .loc 1 1207 17 is_stmt 0 view .LVU617
  9833. 1733 00e0 638D ldrh r3, [r4, #42]
  9834. 1734 00e2 9BB2 uxth r3, r3
  9835. 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9836. 1735 .loc 1 1207 12 view .LVU618
  9837. 1736 00e4 FF2B cmp r3, #255
  9838. 1737 00e6 4ED9 bls .L198
  9839. 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  9840. 1738 .loc 1 1209 11 is_stmt 1 view .LVU619
  9841. 1739 .LBB59:
  9842. 1740 .LBB60:
  9843. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  9844. 1741 .loc 1 7337 3 is_stmt 0 view .LVU620
  9845. 1742 00e8 2268 ldr r2, [r4]
  9846. 1743 .LBE60:
  9847. 1744 .LBE59:
  9848. 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  9849. 1745 .loc 1 1209 26 view .LVU621
  9850. 1746 00ea FF23 movs r3, #255
  9851. 1747 .LBB63:
  9852. 1748 .LBB61:
  9853. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  9854. 1749 .loc 1 7337 3 view .LVU622
  9855. 1750 00ec 4245 cmp r2, r8
  9856. 1751 .LBE61:
  9857. 1752 .LBE63:
  9858. 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  9859. 1753 .loc 1 1209 26 view .LVU623
  9860. 1754 00ee 2385 strh r3, [r4, #40] @ movhi
  9861. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 171
  9862. 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  9863. 1755 .loc 1 1210 11 is_stmt 1 view .LVU624
  9864. 1756 .LVL112:
  9865. 1757 .LBB64:
  9866. 1758 .LBI59:
  9867. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  9868. 1759 .loc 1 7333 13 view .LVU625
  9869. 1760 .LBB62:
  9870. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  9871. 1761 .loc 1 7337 3 view .LVU626
  9872. 1762 00f0 08D0 beq .L199
  9873. 1763 00f2 384B ldr r3, .L214+4
  9874. 1764 00f4 9A42 cmp r2, r3
  9875. 1765 00f6 05D0 beq .L199
  9876. 1766 00f8 3748 ldr r0, .L214+8
  9877. 1767 00fa 41F6A941 movw r1, #7337
  9878. 1768 00fe FFF7FEFF bl assert_failed
  9879. 1769 .LVL113:
  9880. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  9881. 1770 .loc 1 7347 3 is_stmt 0 view .LVU627
  9882. 1771 0102 2268 ldr r2, [r4]
  9883. 1772 .L199:
  9884. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  9885. 1773 .loc 1 7338 3 is_stmt 1 view .LVU628
  9886. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9887. 1774 .loc 1 7339 3 view .LVU629
  9888. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  9889. 1775 .loc 1 7342 3 view .LVU630
  9890. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  9891. 1776 .loc 1 7347 3 view .LVU631
  9892. 1777 0104 5368 ldr r3, [r2, #4]
  9893. 1778 0106 3549 ldr r1, .L214+12
  9894. 1779 0108 0B40 ands r3, r3, r1
  9895. 1780 010a 3B43 orrs r3, r3, r7
  9896. 1781 010c 43F0FF73 orr r3, r3, #33423360
  9897. 1782 0110 43F48033 orr r3, r3, #65536
  9898. 1783 0114 5360 str r3, [r2, #4]
  9899. 1784 .LVL114:
  9900. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  9901. 1785 .loc 1 7347 3 is_stmt 0 view .LVU632
  9902. 1786 .LBE62:
  9903. 1787 .LBE64:
  9904. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9905. 1788 .loc 1 1183 11 is_stmt 1 view .LVU633
  9906. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9907. 1789 .loc 1 1183 16 is_stmt 0 view .LVU634
  9908. 1790 0116 638D ldrh r3, [r4, #42]
  9909. 1791 0118 9BB2 uxth r3, r3
  9910. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9911. 1792 .loc 1 1183 11 view .LVU635
  9912. 1793 011a 002B cmp r3, #0
  9913. 1794 011c BDD1 bne .L194
  9914. 1795 .L201:
  9915. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9916. 1796 .loc 1 1224 5 is_stmt 1 view .LVU636
  9917. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9918. 1797 .loc 1 1224 9 is_stmt 0 view .LVU637
  9919. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 172
  9920. 1798 011e 2A46 mov r2, r5
  9921. 1799 0120 3146 mov r1, r6
  9922. 1800 0122 2046 mov r0, r4
  9923. 1801 0124 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
  9924. 1802 .LVL115:
  9925. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  9926. 1803 .loc 1 1224 8 view .LVU638
  9927. 1804 0128 68B9 cbnz r0, .L195
  9928. 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9929. 1805 .loc 1 1230 5 is_stmt 1 view .LVU639
  9930. 1806 012a 2368 ldr r3, [r4]
  9931. 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9932. 1807 .loc 1 1233 5 is_stmt 0 view .LVU640
  9933. 1808 012c 2C4D ldr r5, .L214+16
  9934. 1809 .LVL116:
  9935. 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9936. 1810 .loc 1 1230 5 view .LVU641
  9937. 1811 012e 2021 movs r1, #32
  9938. 1812 0130 D961 str r1, [r3, #28]
  9939. 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9940. 1813 .loc 1 1233 5 is_stmt 1 view .LVU642
  9941. 1814 0132 5A68 ldr r2, [r3, #4]
  9942. 1815 0134 2A40 ands r2, r2, r5
  9943. 1816 0136 5A60 str r2, [r3, #4]
  9944. 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  9945. 1817 .loc 1 1235 5 view .LVU643
  9946. 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  9947. 1818 .loc 1 1235 17 is_stmt 0 view .LVU644
  9948. 1819 0138 84F84110 strb r1, [r4, #65]
  9949. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9950. 1820 .loc 1 1236 5 is_stmt 1 view .LVU645
  9951. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9952. 1821 .loc 1 1239 5 is_stmt 0 view .LVU646
  9953. 1822 013c 84F84000 strb r0, [r4, #64]
  9954. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9955. 1823 .loc 1 1236 17 view .LVU647
  9956. 1824 0140 84F84200 strb r0, [r4, #66]
  9957. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9958. 1825 .loc 1 1239 5 is_stmt 1 view .LVU648
  9959. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9960. 1826 .loc 1 1239 5 view .LVU649
  9961. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9962. 1827 .loc 1 1239 5 view .LVU650
  9963. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9964. 1828 .loc 1 1241 5 view .LVU651
  9965. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9966. 1829 .loc 1 1241 12 is_stmt 0 view .LVU652
  9967. 1830 0144 00E0 b .L210
  9968. 1831 .LVL117:
  9969. 1832 .L195:
  9970. 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9971. 1833 .loc 1 1135 14 view .LVU653
  9972. 1834 0146 0120 movs r0, #1
  9973. 1835 .LVL118:
  9974. 1836 .L210:
  9975. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9976. 1837 .loc 1 1247 1 view .LVU654
  9977. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 173
  9978. 1838 0148 02B0 add sp, sp, #8
  9979. 1839 .LCFI13:
  9980. 1840 .cfi_remember_state
  9981. 1841 .cfi_def_cfa_offset 32
  9982. 1842 @ sp needed
  9983. 1843 014a BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
  9984. 1844 .LVL119:
  9985. 1845 .L204:
  9986. 1846 .LCFI14:
  9987. 1847 .cfi_restore_state
  9988. 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  9989. 1848 .loc 1 1245 12 view .LVU655
  9990. 1849 014e 0220 movs r0, #2
  9991. 1850 .LVL120:
  9992. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  9993. 1851 .loc 1 1247 1 view .LVU656
  9994. 1852 0150 02B0 add sp, sp, #8
  9995. 1853 .LCFI15:
  9996. 1854 .cfi_remember_state
  9997. 1855 .cfi_def_cfa_offset 32
  9998. 1856 @ sp needed
  9999. 1857 0152 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
  10000. 1858 .LVL121:
  10001. 1859 .L191:
  10002. 1860 .LCFI16:
  10003. 1861 .cfi_restore_state
  10004. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10005. 1862 .loc 1 1247 1 view .LVU657
  10006. 1863 0156 FF22 movs r2, #255
  10007. 1864 0158 2285 strh r2, [r4, #40] @ movhi
  10008. 1865 .LVL122:
  10009. 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10010. 1866 .loc 1 1158 5 is_stmt 1 view .LVU658
  10011. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10012. 1867 .loc 1 1147 8 is_stmt 0 view .LVU659
  10013. 1868 015a 4FF0FE0C mov ip, #254
  10014. 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  10015. 1869 .loc 1 1150 16 view .LVU660
  10016. 1870 015e 4FF08073 mov r3, #16777216
  10017. 1871 .LVL123:
  10018. 1872 .L202:
  10019. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10020. 1873 .loc 1 1162 7 is_stmt 1 view .LVU661
  10021. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10022. 1874 .loc 1 1162 28 is_stmt 0 view .LVU662
  10023. 1875 0162 2168 ldr r1, [r4]
  10024. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10025. 1876 .loc 1 1162 30 view .LVU663
  10026. 1877 0164 17F8010B ldrb r0, [r7], #1 @ zero_extendqisi2
  10027. 1878 .LVL124:
  10028. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10029. 1879 .loc 1 1162 28 view .LVU664
  10030. 1880 0168 8862 str r0, [r1, #40]
  10031. 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10032. 1881 .loc 1 1165 7 is_stmt 1 view .LVU665
  10033. 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  10034. 1882 .loc 1 1167 11 is_stmt 0 view .LVU666
  10035. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 174
  10036. 1883 016a 618D ldrh r1, [r4, #42]
  10037. 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10038. 1884 .loc 1 1165 21 view .LVU667
  10039. 1885 016c 6762 str r7, [r4, #36]
  10040. 1886 .LVL125:
  10041. 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  10042. 1887 .loc 1 1167 7 is_stmt 1 view .LVU668
  10043. 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  10044. 1888 .loc 1 1167 22 is_stmt 0 view .LVU669
  10045. 1889 016e 0139 subs r1, r1, #1
  10046. 1890 0170 89B2 uxth r1, r1
  10047. 1891 0172 6185 strh r1, [r4, #42] @ movhi
  10048. 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10049. 1892 .loc 1 1168 7 is_stmt 1 view .LVU670
  10050. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  10051. 1893 .loc 1 1172 7 view .LVU671
  10052. 1894 0174 1649 ldr r1, .L214
  10053. 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10054. 1895 .loc 1 1168 21 is_stmt 0 view .LVU672
  10055. 1896 0176 A4F828C0 strh ip, [r4, #40] @ movhi
  10056. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  10057. 1897 .loc 1 1172 7 view .LVU673
  10058. 1898 017a 2046 mov r0, r4
  10059. 1899 017c 0091 str r1, [sp]
  10060. 1900 017e 4946 mov r1, r9
  10061. 1901 0180 FFF7FEFF bl I2C_TransferConfig
  10062. 1902 .LVL126:
  10063. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  10064. 1903 .loc 1 1172 7 view .LVU674
  10065. 1904 0184 7CE7 b .L193
  10066. 1905 .LVL127:
  10067. 1906 .L198:
  10068. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10069. 1907 .loc 1 1215 11 is_stmt 1 view .LVU675
  10070. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10071. 1908 .loc 1 1215 32 is_stmt 0 view .LVU676
  10072. 1909 0186 638D ldrh r3, [r4, #42]
  10073. 1910 .LBB65:
  10074. 1911 .LBB56:
  10075. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10076. 1912 .loc 1 7337 3 view .LVU677
  10077. 1913 0188 2268 ldr r2, [r4]
  10078. 1914 .LBE56:
  10079. 1915 .LBE65:
  10080. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10081. 1916 .loc 1 1215 32 view .LVU678
  10082. 1917 018a 9BB2 uxth r3, r3
  10083. 1918 .LBB66:
  10084. 1919 .LBB57:
  10085. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10086. 1920 .loc 1 7337 3 view .LVU679
  10087. 1921 018c 4245 cmp r2, r8
  10088. 1922 .LBE57:
  10089. 1923 .LBE66:
  10090. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10091. 1924 .loc 1 1215 26 view .LVU680
  10092. 1925 018e 2385 strh r3, [r4, #40] @ movhi
  10093. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 175
  10094. 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  10095. 1926 .loc 1 1216 11 is_stmt 1 view .LVU681
  10096. 1927 0190 5FFA83F9 uxtb r9, r3
  10097. 1928 .LVL128:
  10098. 1929 .LBB67:
  10099. 1930 .LBI54:
  10100. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  10101. 1931 .loc 1 7333 13 view .LVU682
  10102. 1932 .LBB58:
  10103. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10104. 1933 .loc 1 7337 3 view .LVU683
  10105. 1934 0194 08D0 beq .L200
  10106. 1935 0196 0F4B ldr r3, .L214+4
  10107. 1936 0198 9A42 cmp r2, r3
  10108. 1937 019a 05D0 beq .L200
  10109. 1938 019c 0E48 ldr r0, .L214+8
  10110. 1939 019e 41F6A941 movw r1, #7337
  10111. 1940 01a2 FFF7FEFF bl assert_failed
  10112. 1941 .LVL129:
  10113. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10114. 1942 .loc 1 7347 3 is_stmt 0 view .LVU684
  10115. 1943 01a6 2268 ldr r2, [r4]
  10116. 1944 .L200:
  10117. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  10118. 1945 .loc 1 7338 3 is_stmt 1 view .LVU685
  10119. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10120. 1946 .loc 1 7339 3 view .LVU686
  10121. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10122. 1947 .loc 1 7342 3 view .LVU687
  10123. 1948 .LVL130:
  10124. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10125. 1949 .loc 1 7347 3 view .LVU688
  10126. 1950 01a8 5368 ldr r3, [r2, #4]
  10127. 1951 01aa 0C49 ldr r1, .L214+12
  10128. 1952 01ac 0B40 ands r3, r3, r1
  10129. 1953 01ae 3B43 orrs r3, r3, r7
  10130. 1954 01b0 43EA0943 orr r3, r3, r9, lsl #16
  10131. 1955 01b4 43F00073 orr r3, r3, #33554432
  10132. 1956 01b8 5360 str r3, [r2, #4]
  10133. 1957 .loc 1 7351 1 is_stmt 0 view .LVU689
  10134. 1958 01ba 6AE7 b .L197
  10135. 1959 .LVL131:
  10136. 1960 .L213:
  10137. 1961 .loc 1 7351 1 view .LVU690
  10138. 1962 .LBE58:
  10139. 1963 .LBE67:
  10140. 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10141. 1964 .loc 1 1168 21 view .LVU691
  10142. 1965 01bc 013A subs r2, r2, #1
  10143. 1966 01be 1FFA82FC uxth ip, r2
  10144. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  10145. 1967 .loc 1 1172 7 view .LVU692
  10146. 1968 01c2 0CF10102 add r2, ip, #1
  10147. 1969 01c6 D2B2 uxtb r2, r2
  10148. 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  10149. 1970 .loc 1 1155 16 view .LVU693
  10150. 1971 01c8 4FF00073 mov r3, #33554432
  10151. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 176
  10152. 1972 01cc C9E7 b .L202
  10153. 1973 .L215:
  10154. 1974 01ce 00BF .align 2
  10155. 1975 .L214:
  10156. 1976 01d0 00200080 .word -2147475456
  10157. 1977 01d4 00580040 .word 1073764352
  10158. 1978 01d8 00000000 .word .LC0
  10159. 1979 01dc 009C00FC .word -67068928
  10160. 1980 01e0 00E800FE .word -33495040
  10161. 1981 01e4 00540040 .word 1073763328
  10162. 1982 .cfi_endproc
  10163. 1983 .LFE134:
  10164. 1985 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
  10165. 1986 .align 1
  10166. 1987 .p2align 2,,3
  10167. 1988 .global HAL_I2C_Master_Receive
  10168. 1989 .syntax unified
  10169. 1990 .thumb
  10170. 1991 .thumb_func
  10171. 1993 HAL_I2C_Master_Receive:
  10172. 1994 .LVL132:
  10173. 1995 .LFB135:
  10174. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  10175. 1996 .loc 1 1262 1 is_stmt 1 view -0
  10176. 1997 .cfi_startproc
  10177. 1998 @ args = 4, pretend = 0, frame = 0
  10178. 1999 @ frame_needed = 0, uses_anonymous_args = 0
  10179. 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10180. 2000 .loc 1 1263 3 view .LVU695
  10181. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10182. 2001 .loc 1 1265 3 view .LVU696
  10183. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  10184. 2002 .loc 1 1262 1 is_stmt 0 view .LVU697
  10185. 2003 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
  10186. 2004 .LCFI17:
  10187. 2005 .cfi_def_cfa_offset 36
  10188. 2006 .cfi_offset 4, -36
  10189. 2007 .cfi_offset 5, -32
  10190. 2008 .cfi_offset 6, -28
  10191. 2009 .cfi_offset 7, -24
  10192. 2010 .cfi_offset 8, -20
  10193. 2011 .cfi_offset 9, -16
  10194. 2012 .cfi_offset 10, -12
  10195. 2013 .cfi_offset 11, -8
  10196. 2014 .cfi_offset 14, -4
  10197. 2015 0004 9846 mov r8, r3
  10198. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10199. 2016 .loc 1 1265 11 view .LVU698
  10200. 2017 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  10201. 2018 .LVL133:
  10202. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  10203. 2019 .loc 1 1262 1 view .LVU699
  10204. 2020 000a 83B0 sub sp, sp, #12
  10205. 2021 .LCFI18:
  10206. 2022 .cfi_def_cfa_offset 48
  10207. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10208. 2023 .loc 1 1265 6 view .LVU700
  10209. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 177
  10210. 2024 000c 202B cmp r3, #32
  10211. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  10212. 2025 .loc 1 1262 1 view .LVU701
  10213. 2026 000e 0C9E ldr r6, [sp, #48]
  10214. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10215. 2027 .loc 1 1265 6 view .LVU702
  10216. 2028 0010 40F0B680 bne .L232
  10217. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10218. 2029 .loc 1 1268 5 view .LVU703
  10219. 2030 0014 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  10220. 2031 0018 012B cmp r3, #1
  10221. 2032 001a 0446 mov r4, r0
  10222. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10223. 2033 .loc 1 1268 5 is_stmt 1 view .LVU704
  10224. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10225. 2034 .loc 1 1268 5 view .LVU705
  10226. 2035 001c 00F0B080 beq .L232
  10227. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10228. 2036 .loc 1 1268 5 discriminator 2 view .LVU706
  10229. 2037 0020 4FF0010A mov r10, #1
  10230. 2038 0024 80F840A0 strb r10, [r0, #64]
  10231. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10232. 2039 .loc 1 1268 5 discriminator 2 view .LVU707
  10233. 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10234. 2040 .loc 1 1271 5 discriminator 2 view .LVU708
  10235. 2041 0028 0F46 mov r7, r1
  10236. 2042 002a 9146 mov r9, r2
  10237. 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10238. 2043 .loc 1 1271 17 is_stmt 0 discriminator 2 view .LVU709
  10239. 2044 002c FFF7FEFF bl HAL_GetTick
  10240. 2045 .LVL134:
  10241. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10242. 2046 .loc 1 1273 9 discriminator 2 view .LVU710
  10243. 2047 0030 1923 movs r3, #25
  10244. 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10245. 2048 .loc 1 1271 17 discriminator 2 view .LVU711
  10246. 2049 0032 0546 mov r5, r0
  10247. 2050 .LVL135:
  10248. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10249. 2051 .loc 1 1273 5 is_stmt 1 discriminator 2 view .LVU712
  10250. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10251. 2052 .loc 1 1273 9 is_stmt 0 discriminator 2 view .LVU713
  10252. 2053 0034 0090 str r0, [sp]
  10253. 2054 0036 5246 mov r2, r10
  10254. 2055 0038 4FF40041 mov r1, #32768
  10255. 2056 003c 2046 mov r0, r4
  10256. 2057 .LVL136:
  10257. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10258. 2058 .loc 1 1273 9 discriminator 2 view .LVU714
  10259. 2059 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  10260. 2060 .LVL137:
  10261. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10262. 2061 .loc 1 1273 8 discriminator 2 view .LVU715
  10263. 2062 0042 0028 cmp r0, #0
  10264. 2063 0044 40F09880 bne .L224
  10265. 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  10266. 2064 .loc 1 1278 5 is_stmt 1 view .LVU716
  10267. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 178
  10268. 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  10269. 2065 .loc 1 1278 21 is_stmt 0 view .LVU717
  10270. 2066 0048 2223 movs r3, #34
  10271. 2067 004a 84F84130 strb r3, [r4, #65]
  10272. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  10273. 2068 .loc 1 1279 5 is_stmt 1 view .LVU718
  10274. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  10275. 2069 .loc 1 1279 21 is_stmt 0 view .LVU719
  10276. 2070 004e 1023 movs r3, #16
  10277. 2071 0050 84F84230 strb r3, [r4, #66]
  10278. 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10279. 2072 .loc 1 1280 5 is_stmt 1 view .LVU720
  10280. 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10281. 2073 .loc 1 1280 21 is_stmt 0 view .LVU721
  10282. 2074 0054 6064 str r0, [r4, #68]
  10283. 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  10284. 2075 .loc 1 1283 5 is_stmt 1 view .LVU722
  10285. 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  10286. 2076 .loc 1 1284 5 view .LVU723
  10287. 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  10288. 2077 .loc 1 1284 21 is_stmt 0 view .LVU724
  10289. 2078 0056 A4F82A80 strh r8, [r4, #42] @ movhi
  10290. 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10291. 2079 .loc 1 1285 5 is_stmt 1 view .LVU725
  10292. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10293. 2080 .loc 1 1289 5 view .LVU726
  10294. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10295. 2081 .loc 1 1289 13 is_stmt 0 view .LVU727
  10296. 2082 005a 638D ldrh r3, [r4, #42]
  10297. 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  10298. 2083 .loc 1 1283 21 view .LVU728
  10299. 2084 005c C4F82490 str r9, [r4, #36]
  10300. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10301. 2085 .loc 1 1289 13 view .LVU729
  10302. 2086 0060 9BB2 uxth r3, r3
  10303. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10304. 2087 .loc 1 1289 8 view .LVU730
  10305. 2088 0062 FF2B cmp r3, #255
  10306. 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10307. 2089 .loc 1 1285 21 view .LVU731
  10308. 2090 0064 6063 str r0, [r4, #52]
  10309. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10310. 2091 .loc 1 1289 8 view .LVU732
  10311. 2092 0066 00F28F80 bhi .L240
  10312. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10313. 2093 .loc 1 1297 7 is_stmt 1 view .LVU733
  10314. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10315. 2094 .loc 1 1297 28 is_stmt 0 view .LVU734
  10316. 2095 006a 638D ldrh r3, [r4, #42]
  10317. 2096 .LBB76:
  10318. 2097 .LBB77:
  10319. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10320. 2098 .loc 1 7337 3 view .LVU735
  10321. 2099 006c 2268 ldr r2, [r4]
  10322. 2100 .LBE77:
  10323. 2101 .LBE76:
  10324. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10325. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 179
  10326. 2102 .loc 1 1297 28 view .LVU736
  10327. 2103 006e 9BB2 uxth r3, r3
  10328. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10329. 2104 .loc 1 1297 22 view .LVU737
  10330. 2105 0070 2385 strh r3, [r4, #40] @ movhi
  10331. 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  10332. 2106 .loc 1 1298 7 is_stmt 1 view .LVU738
  10333. 2107 0072 5FFA83F8 uxtb r8, r3
  10334. 2108 .LVL138:
  10335. 2109 .LBB79:
  10336. 2110 .LBI76:
  10337. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  10338. 2111 .loc 1 7333 13 view .LVU739
  10339. 2112 .LBB78:
  10340. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10341. 2113 .loc 1 7337 3 view .LVU740
  10342. 2114 0076 604B ldr r3, .L241
  10343. 2115 0078 9A42 cmp r2, r3
  10344. 2116 007a 09D0 beq .L222
  10345. 2117 007c 03F58063 add r3, r3, #1024
  10346. 2118 0080 9A42 cmp r2, r3
  10347. 2119 0082 05D0 beq .L222
  10348. 2120 0084 5D48 ldr r0, .L241+4
  10349. 2121 0086 41F6A941 movw r1, #7337
  10350. 2122 008a FFF7FEFF bl assert_failed
  10351. 2123 .LVL139:
  10352. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10353. 2124 .loc 1 7347 3 is_stmt 0 view .LVU741
  10354. 2125 008e 2268 ldr r2, [r4]
  10355. 2126 .L222:
  10356. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  10357. 2127 .loc 1 7338 3 is_stmt 1 view .LVU742
  10358. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10359. 2128 .loc 1 7339 3 view .LVU743
  10360. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10361. 2129 .loc 1 7342 3 view .LVU744
  10362. 2130 .LVL140:
  10363. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10364. 2131 .loc 1 7347 3 view .LVU745
  10365. 2132 0090 5368 ldr r3, [r2, #4]
  10366. 2133 0092 5B49 ldr r1, .L241+8
  10367. 2134 0094 1940 ands r1, r1, r3
  10368. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10369. 2135 .loc 1 7342 52 is_stmt 0 view .LVU746
  10370. 2136 0096 C7F30903 ubfx r3, r7, #0, #10
  10371. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10372. 2137 .loc 1 7347 3 view .LVU747
  10373. 2138 009a 0B43 orrs r3, r3, r1
  10374. 2139 009c 43EA0843 orr r3, r3, r8, lsl #16
  10375. 2140 00a0 43F00073 orr r3, r3, #33554432
  10376. 2141 00a4 43F41053 orr r3, r3, #9216
  10377. 2142 00a8 5360 str r3, [r2, #4]
  10378. 2143 .LVL141:
  10379. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10380. 2144 .loc 1 7342 52 view .LVU748
  10381. 2145 00aa C7F30907 ubfx r7, r7, #0, #10
  10382. 2146 .LVL142:
  10383. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 180
  10384. 2147 .L221:
  10385. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10386. 2148 .loc 1 7342 52 view .LVU749
  10387. 2149 .LBE78:
  10388. 2150 .LBE79:
  10389. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10390. 2151 .loc 1 1302 11 is_stmt 1 view .LVU750
  10391. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10392. 2152 .loc 1 1302 16 is_stmt 0 view .LVU751
  10393. 2153 00ae 638D ldrh r3, [r4, #42]
  10394. 2154 00b0 9BB2 uxth r3, r3
  10395. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10396. 2155 .loc 1 1302 11 view .LVU752
  10397. 2156 00b2 002B cmp r3, #0
  10398. 2157 00b4 4CD0 beq .L230
  10399. 2158 .LBB80:
  10400. 2159 .LBB81:
  10401. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10402. 2160 .loc 1 7337 3 view .LVU753
  10403. 2161 00b6 DFF84091 ldr r9, .L241
  10404. 2162 .LVL143:
  10405. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10406. 2163 .loc 1 7347 3 view .LVU754
  10407. 2164 00ba DFF84C81 ldr r8, .L241+16
  10408. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10409. 2165 .loc 1 7337 3 view .LVU755
  10410. 2166 00be DFF84CA1 ldr r10, .L241+20
  10411. 2167 00c2 03E0 b .L223
  10412. 2168 .L226:
  10413. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10414. 2169 .loc 1 7337 3 view .LVU756
  10415. 2170 .LBE81:
  10416. 2171 .LBE80:
  10417. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10418. 2172 .loc 1 1302 11 is_stmt 1 view .LVU757
  10419. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10420. 2173 .loc 1 1302 16 is_stmt 0 view .LVU758
  10421. 2174 00c4 638D ldrh r3, [r4, #42]
  10422. 2175 00c6 9BB2 uxth r3, r3
  10423. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10424. 2176 .loc 1 1302 11 view .LVU759
  10425. 2177 00c8 002B cmp r3, #0
  10426. 2178 00ca 41D0 beq .L230
  10427. 2179 .L223:
  10428. 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10429. 2180 .loc 1 1305 7 is_stmt 1 view .LVU760
  10430. 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10431. 2181 .loc 1 1305 11 is_stmt 0 view .LVU761
  10432. 2182 00cc 2A46 mov r2, r5
  10433. 2183 00ce 3146 mov r1, r6
  10434. 2184 00d0 2046 mov r0, r4
  10435. 2185 00d2 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
  10436. 2186 .LVL144:
  10437. 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10438. 2187 .loc 1 1305 10 view .LVU762
  10439. 2188 00d6 0028 cmp r0, #0
  10440. 2189 00d8 4ED1 bne .L224
  10441. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 181
  10442. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10443. 2190 .loc 1 1311 7 is_stmt 1 view .LVU763
  10444. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10445. 2191 .loc 1 1311 38 is_stmt 0 view .LVU764
  10446. 2192 00da 2268 ldr r2, [r4]
  10447. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10448. 2193 .loc 1 1311 12 view .LVU765
  10449. 2194 00dc 636A ldr r3, [r4, #36]
  10450. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10451. 2195 .loc 1 1311 48 view .LVU766
  10452. 2196 00de 526A ldr r2, [r2, #36]
  10453. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10454. 2197 .loc 1 1311 25 view .LVU767
  10455. 2198 00e0 1A70 strb r2, [r3]
  10456. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10457. 2199 .loc 1 1314 7 is_stmt 1 view .LVU768
  10458. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10459. 2200 .loc 1 1317 11 is_stmt 0 view .LVU769
  10460. 2201 00e2 638D ldrh r3, [r4, #42]
  10461. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  10462. 2202 .loc 1 1316 21 view .LVU770
  10463. 2203 00e4 228D ldrh r2, [r4, #40]
  10464. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10465. 2204 .loc 1 1314 21 view .LVU771
  10466. 2205 00e6 616A ldr r1, [r4, #36]
  10467. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10468. 2206 .loc 1 1317 22 view .LVU772
  10469. 2207 00e8 013B subs r3, r3, #1
  10470. 2208 00ea 9BB2 uxth r3, r3
  10471. 2209 00ec 6385 strh r3, [r4, #42] @ movhi
  10472. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10473. 2210 .loc 1 1319 16 view .LVU773
  10474. 2211 00ee 638D ldrh r3, [r4, #42]
  10475. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  10476. 2212 .loc 1 1316 21 view .LVU774
  10477. 2213 00f0 013A subs r2, r2, #1
  10478. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10479. 2214 .loc 1 1314 21 view .LVU775
  10480. 2215 00f2 0131 adds r1, r1, #1
  10481. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  10482. 2216 .loc 1 1316 21 view .LVU776
  10483. 2217 00f4 92B2 uxth r2, r2
  10484. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10485. 2218 .loc 1 1319 16 view .LVU777
  10486. 2219 00f6 9BB2 uxth r3, r3
  10487. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10488. 2220 .loc 1 1314 21 view .LVU778
  10489. 2221 00f8 6162 str r1, [r4, #36]
  10490. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  10491. 2222 .loc 1 1316 7 is_stmt 1 view .LVU779
  10492. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  10493. 2223 .loc 1 1316 21 is_stmt 0 view .LVU780
  10494. 2224 00fa 2285 strh r2, [r4, #40] @ movhi
  10495. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10496. 2225 .loc 1 1317 7 is_stmt 1 view .LVU781
  10497. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10498. 2226 .loc 1 1319 7 view .LVU782
  10499. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 182
  10500. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10501. 2227 .loc 1 1319 10 is_stmt 0 view .LVU783
  10502. 2228 00fc 002B cmp r3, #0
  10503. 2229 00fe E1D0 beq .L226
  10504. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10505. 2230 .loc 1 1319 35 discriminator 1 view .LVU784
  10506. 2231 0100 002A cmp r2, #0
  10507. 2232 0102 DFD1 bne .L226
  10508. 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10509. 2233 .loc 1 1322 9 is_stmt 1 view .LVU785
  10510. 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10511. 2234 .loc 1 1322 13 is_stmt 0 view .LVU786
  10512. 2235 0104 0095 str r5, [sp]
  10513. 2236 0106 3346 mov r3, r6
  10514. 2237 0108 8021 movs r1, #128
  10515. 2238 010a 2046 mov r0, r4
  10516. 2239 010c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  10517. 2240 .LVL145:
  10518. 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10519. 2241 .loc 1 1322 12 view .LVU787
  10520. 2242 0110 0028 cmp r0, #0
  10521. 2243 0112 31D1 bne .L224
  10522. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10523. 2244 .loc 1 1327 9 is_stmt 1 view .LVU788
  10524. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10525. 2245 .loc 1 1327 17 is_stmt 0 view .LVU789
  10526. 2246 0114 638D ldrh r3, [r4, #42]
  10527. 2247 0116 9BB2 uxth r3, r3
  10528. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10529. 2248 .loc 1 1327 12 view .LVU790
  10530. 2249 0118 FF2B cmp r3, #255
  10531. 2250 011a 53D9 bls .L227
  10532. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  10533. 2251 .loc 1 1329 11 is_stmt 1 view .LVU791
  10534. 2252 .LBB85:
  10535. 2253 .LBB86:
  10536. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10537. 2254 .loc 1 7337 3 is_stmt 0 view .LVU792
  10538. 2255 011c 2268 ldr r2, [r4]
  10539. 2256 .LBE86:
  10540. 2257 .LBE85:
  10541. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  10542. 2258 .loc 1 1329 26 view .LVU793
  10543. 2259 011e FF23 movs r3, #255
  10544. 2260 .LBB89:
  10545. 2261 .LBB87:
  10546. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10547. 2262 .loc 1 7337 3 view .LVU794
  10548. 2263 0120 4A45 cmp r2, r9
  10549. 2264 .LBE87:
  10550. 2265 .LBE89:
  10551. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  10552. 2266 .loc 1 1329 26 view .LVU795
  10553. 2267 0122 2385 strh r3, [r4, #40] @ movhi
  10554. 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  10555. 2268 .loc 1 1330 11 is_stmt 1 view .LVU796
  10556. 2269 .LVL146:
  10557. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 183
  10558. 2270 .LBB90:
  10559. 2271 .LBI85:
  10560. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  10561. 2272 .loc 1 7333 13 view .LVU797
  10562. 2273 .LBB88:
  10563. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10564. 2274 .loc 1 7337 3 view .LVU798
  10565. 2275 0124 07D0 beq .L228
  10566. 2276 0126 5245 cmp r2, r10
  10567. 2277 0128 05D0 beq .L228
  10568. 2278 012a 3448 ldr r0, .L241+4
  10569. 2279 012c 41F6A941 movw r1, #7337
  10570. 2280 0130 FFF7FEFF bl assert_failed
  10571. 2281 .LVL147:
  10572. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10573. 2282 .loc 1 7347 3 is_stmt 0 view .LVU799
  10574. 2283 0134 2268 ldr r2, [r4]
  10575. 2284 .L228:
  10576. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  10577. 2285 .loc 1 7338 3 is_stmt 1 view .LVU800
  10578. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10579. 2286 .loc 1 7339 3 view .LVU801
  10580. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10581. 2287 .loc 1 7342 3 view .LVU802
  10582. 2288 .LVL148:
  10583. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10584. 2289 .loc 1 7347 3 view .LVU803
  10585. 2290 0136 5368 ldr r3, [r2, #4]
  10586. 2291 0138 03EA0803 and r3, r3, r8
  10587. 2292 013c 3B43 orrs r3, r3, r7
  10588. 2293 013e 43F0FF73 orr r3, r3, #33423360
  10589. 2294 0142 43F48033 orr r3, r3, #65536
  10590. 2295 0146 5360 str r3, [r2, #4]
  10591. 2296 .LVL149:
  10592. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10593. 2297 .loc 1 7347 3 is_stmt 0 view .LVU804
  10594. 2298 .LBE88:
  10595. 2299 .LBE90:
  10596. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10597. 2300 .loc 1 1302 11 is_stmt 1 view .LVU805
  10598. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10599. 2301 .loc 1 1302 16 is_stmt 0 view .LVU806
  10600. 2302 0148 638D ldrh r3, [r4, #42]
  10601. 2303 014a 9BB2 uxth r3, r3
  10602. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10603. 2304 .loc 1 1302 11 view .LVU807
  10604. 2305 014c 002B cmp r3, #0
  10605. 2306 014e BDD1 bne .L223
  10606. 2307 .L230:
  10607. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10608. 2308 .loc 1 1344 5 is_stmt 1 view .LVU808
  10609. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10610. 2309 .loc 1 1344 9 is_stmt 0 view .LVU809
  10611. 2310 0150 2A46 mov r2, r5
  10612. 2311 0152 3146 mov r1, r6
  10613. 2312 0154 2046 mov r0, r4
  10614. 2313 0156 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
  10615. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 184
  10616. 2314 .LVL150:
  10617. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10618. 2315 .loc 1 1344 8 view .LVU810
  10619. 2316 015a 68B9 cbnz r0, .L224
  10620. 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10621. 2317 .loc 1 1350 5 is_stmt 1 view .LVU811
  10622. 2318 015c 2368 ldr r3, [r4]
  10623. 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10624. 2319 .loc 1 1353 5 is_stmt 0 view .LVU812
  10625. 2320 015e 294D ldr r5, .L241+12
  10626. 2321 .LVL151:
  10627. 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10628. 2322 .loc 1 1350 5 view .LVU813
  10629. 2323 0160 2021 movs r1, #32
  10630. 2324 0162 D961 str r1, [r3, #28]
  10631. 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10632. 2325 .loc 1 1353 5 is_stmt 1 view .LVU814
  10633. 2326 0164 5A68 ldr r2, [r3, #4]
  10634. 2327 0166 2A40 ands r2, r2, r5
  10635. 2328 0168 5A60 str r2, [r3, #4]
  10636. 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  10637. 2329 .loc 1 1355 5 view .LVU815
  10638. 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  10639. 2330 .loc 1 1355 17 is_stmt 0 view .LVU816
  10640. 2331 016a 84F84110 strb r1, [r4, #65]
  10641. 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10642. 2332 .loc 1 1356 5 is_stmt 1 view .LVU817
  10643. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10644. 2333 .loc 1 1359 5 is_stmt 0 view .LVU818
  10645. 2334 016e 84F84000 strb r0, [r4, #64]
  10646. 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10647. 2335 .loc 1 1356 17 view .LVU819
  10648. 2336 0172 84F84200 strb r0, [r4, #66]
  10649. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10650. 2337 .loc 1 1359 5 is_stmt 1 view .LVU820
  10651. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10652. 2338 .loc 1 1359 5 view .LVU821
  10653. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10654. 2339 .loc 1 1359 5 view .LVU822
  10655. 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  10656. 2340 .loc 1 1361 5 view .LVU823
  10657. 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  10658. 2341 .loc 1 1361 12 is_stmt 0 view .LVU824
  10659. 2342 0176 00E0 b .L217
  10660. 2343 .LVL152:
  10661. 2344 .L224:
  10662. 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  10663. 2345 .loc 1 1275 14 view .LVU825
  10664. 2346 0178 0120 movs r0, #1
  10665. 2347 .LVL153:
  10666. 2348 .L217:
  10667. 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10668. 2349 .loc 1 1367 1 view .LVU826
  10669. 2350 017a 03B0 add sp, sp, #12
  10670. 2351 .LCFI19:
  10671. 2352 .cfi_remember_state
  10672. 2353 .cfi_def_cfa_offset 36
  10673. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 185
  10674. 2354 @ sp needed
  10675. 2355 017c BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  10676. 2356 .LVL154:
  10677. 2357 .L232:
  10678. 2358 .LCFI20:
  10679. 2359 .cfi_restore_state
  10680. 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  10681. 2360 .loc 1 1365 12 view .LVU827
  10682. 2361 0180 0220 movs r0, #2
  10683. 2362 .LVL155:
  10684. 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10685. 2363 .loc 1 1367 1 view .LVU828
  10686. 2364 0182 03B0 add sp, sp, #12
  10687. 2365 .LCFI21:
  10688. 2366 .cfi_remember_state
  10689. 2367 .cfi_def_cfa_offset 36
  10690. 2368 @ sp needed
  10691. 2369 0184 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  10692. 2370 .LVL156:
  10693. 2371 .L240:
  10694. 2372 .LCFI22:
  10695. 2373 .cfi_restore_state
  10696. 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  10697. 2374 .loc 1 1291 7 is_stmt 1 view .LVU829
  10698. 2375 .LBB91:
  10699. 2376 .LBB92:
  10700. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10701. 2377 .loc 1 7337 3 is_stmt 0 view .LVU830
  10702. 2378 0188 2268 ldr r2, [r4]
  10703. 2379 018a 1B4B ldr r3, .L241
  10704. 2380 .LBE92:
  10705. 2381 .LBE91:
  10706. 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  10707. 2382 .loc 1 1291 22 view .LVU831
  10708. 2383 018c A4F828A0 strh r10, [r4, #40] @ movhi
  10709. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  10710. 2384 .loc 1 1292 7 is_stmt 1 view .LVU832
  10711. 2385 .LVL157:
  10712. 2386 .LBB94:
  10713. 2387 .LBI91:
  10714. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  10715. 2388 .loc 1 7333 13 view .LVU833
  10716. 2389 .LBB93:
  10717. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10718. 2390 .loc 1 7337 3 view .LVU834
  10719. 2391 0190 9A42 cmp r2, r3
  10720. 2392 0192 09D0 beq .L220
  10721. 2393 0194 03F58063 add r3, r3, #1024
  10722. 2394 0198 9A42 cmp r2, r3
  10723. 2395 019a 05D0 beq .L220
  10724. 2396 019c 1748 ldr r0, .L241+4
  10725. 2397 019e 41F6A941 movw r1, #7337
  10726. 2398 01a2 FFF7FEFF bl assert_failed
  10727. 2399 .LVL158:
  10728. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10729. 2400 .loc 1 7347 3 is_stmt 0 view .LVU835
  10730. 2401 01a6 2268 ldr r2, [r4]
  10731. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 186
  10732. 2402 .L220:
  10733. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  10734. 2403 .loc 1 7338 3 is_stmt 1 view .LVU836
  10735. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10736. 2404 .loc 1 7339 3 view .LVU837
  10737. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10738. 2405 .loc 1 7342 3 view .LVU838
  10739. 2406 .LVL159:
  10740. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10741. 2407 .loc 1 7347 3 view .LVU839
  10742. 2408 01a8 5368 ldr r3, [r2, #4]
  10743. 2409 01aa 1549 ldr r1, .L241+8
  10744. 2410 01ac 1940 ands r1, r1, r3
  10745. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10746. 2411 .loc 1 7342 52 is_stmt 0 view .LVU840
  10747. 2412 01ae C7F30903 ubfx r3, r7, #0, #10
  10748. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10749. 2413 .loc 1 7347 3 view .LVU841
  10750. 2414 01b2 0B43 orrs r3, r3, r1
  10751. 2415 01b4 43F08073 orr r3, r3, #16777216
  10752. 2416 01b8 43F49233 orr r3, r3, #74752
  10753. 2417 01bc 5360 str r3, [r2, #4]
  10754. 2418 .LVL160:
  10755. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10756. 2419 .loc 1 7342 52 view .LVU842
  10757. 2420 01be C7F30907 ubfx r7, r7, #0, #10
  10758. 2421 .LVL161:
  10759. 2422 .loc 1 7351 1 view .LVU843
  10760. 2423 01c2 74E7 b .L221
  10761. 2424 .LVL162:
  10762. 2425 .L227:
  10763. 2426 .loc 1 7351 1 view .LVU844
  10764. 2427 .LBE93:
  10765. 2428 .LBE94:
  10766. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10767. 2429 .loc 1 1335 11 is_stmt 1 view .LVU845
  10768. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10769. 2430 .loc 1 1335 32 is_stmt 0 view .LVU846
  10770. 2431 01c4 638D ldrh r3, [r4, #42]
  10771. 2432 .LBB95:
  10772. 2433 .LBB82:
  10773. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10774. 2434 .loc 1 7337 3 view .LVU847
  10775. 2435 01c6 2268 ldr r2, [r4]
  10776. 2436 .LBE82:
  10777. 2437 .LBE95:
  10778. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10779. 2438 .loc 1 1335 32 view .LVU848
  10780. 2439 01c8 9BB2 uxth r3, r3
  10781. 2440 .LBB96:
  10782. 2441 .LBB83:
  10783. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10784. 2442 .loc 1 7337 3 view .LVU849
  10785. 2443 01ca 4A45 cmp r2, r9
  10786. 2444 .LBE83:
  10787. 2445 .LBE96:
  10788. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  10789. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 187
  10790. 2446 .loc 1 1335 26 view .LVU850
  10791. 2447 01cc 2385 strh r3, [r4, #40] @ movhi
  10792. 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  10793. 2448 .loc 1 1336 11 is_stmt 1 view .LVU851
  10794. 2449 01ce 5FFA83FB uxtb fp, r3
  10795. 2450 .LVL163:
  10796. 2451 .LBB97:
  10797. 2452 .LBI80:
  10798. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  10799. 2453 .loc 1 7333 13 view .LVU852
  10800. 2454 .LBB84:
  10801. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  10802. 2455 .loc 1 7337 3 view .LVU853
  10803. 2456 01d2 07D0 beq .L229
  10804. 2457 01d4 5245 cmp r2, r10
  10805. 2458 01d6 05D0 beq .L229
  10806. 2459 01d8 0848 ldr r0, .L241+4
  10807. 2460 01da 41F6A941 movw r1, #7337
  10808. 2461 01de FFF7FEFF bl assert_failed
  10809. 2462 .LVL164:
  10810. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10811. 2463 .loc 1 7347 3 is_stmt 0 view .LVU854
  10812. 2464 01e2 2268 ldr r2, [r4]
  10813. 2465 .L229:
  10814. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  10815. 2466 .loc 1 7338 3 is_stmt 1 view .LVU855
  10816. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10817. 2467 .loc 1 7339 3 view .LVU856
  10818. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  10819. 2468 .loc 1 7342 3 view .LVU857
  10820. 2469 .LVL165:
  10821. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  10822. 2470 .loc 1 7347 3 view .LVU858
  10823. 2471 01e4 5368 ldr r3, [r2, #4]
  10824. 2472 01e6 03EA0803 and r3, r3, r8
  10825. 2473 01ea 3B43 orrs r3, r3, r7
  10826. 2474 01ec 43EA0B43 orr r3, r3, fp, lsl #16
  10827. 2475 01f0 43F00073 orr r3, r3, #33554432
  10828. 2476 01f4 5360 str r3, [r2, #4]
  10829. 2477 .loc 1 7351 1 is_stmt 0 view .LVU859
  10830. 2478 01f6 65E7 b .L226
  10831. 2479 .L242:
  10832. 2480 .align 2
  10833. 2481 .L241:
  10834. 2482 01f8 00540040 .word 1073763328
  10835. 2483 01fc 00000000 .word .LC0
  10836. 2484 0200 009800FC .word -67069952
  10837. 2485 0204 00E800FE .word -33495040
  10838. 2486 0208 009C00FC .word -67068928
  10839. 2487 020c 00580040 .word 1073764352
  10840. 2488 .LBE84:
  10841. 2489 .LBE97:
  10842. 2490 .cfi_endproc
  10843. 2491 .LFE135:
  10844. 2493 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
  10845. 2494 .align 1
  10846. 2495 .p2align 2,,3
  10847. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 188
  10848. 2496 .global HAL_I2C_Slave_Transmit
  10849. 2497 .syntax unified
  10850. 2498 .thumb
  10851. 2499 .thumb_func
  10852. 2501 HAL_I2C_Slave_Transmit:
  10853. 2502 .LVL166:
  10854. 2503 .LFB136:
  10855. 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  10856. 2504 .loc 1 1380 1 is_stmt 1 view -0
  10857. 2505 .cfi_startproc
  10858. 2506 @ args = 0, pretend = 0, frame = 0
  10859. 2507 @ frame_needed = 0, uses_anonymous_args = 0
  10860. 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t tmpXferCount;
  10861. 2508 .loc 1 1381 3 view .LVU861
  10862. 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef error;
  10863. 2509 .loc 1 1382 3 view .LVU862
  10864. 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10865. 2510 .loc 1 1383 3 view .LVU863
  10866. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10867. 2511 .loc 1 1385 3 view .LVU864
  10868. 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  10869. 2512 .loc 1 1380 1 is_stmt 0 view .LVU865
  10870. 2513 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
  10871. 2514 .LCFI23:
  10872. 2515 .cfi_def_cfa_offset 28
  10873. 2516 .cfi_offset 4, -28
  10874. 2517 .cfi_offset 5, -24
  10875. 2518 .cfi_offset 6, -20
  10876. 2519 .cfi_offset 7, -16
  10877. 2520 .cfi_offset 8, -12
  10878. 2521 .cfi_offset 9, -8
  10879. 2522 .cfi_offset 14, -4
  10880. 2523 0004 0446 mov r4, r0
  10881. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10882. 2524 .loc 1 1385 11 view .LVU866
  10883. 2525 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
  10884. 2526 .LVL167:
  10885. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10886. 2527 .loc 1 1385 6 view .LVU867
  10887. 2528 000a 2028 cmp r0, #32
  10888. 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  10889. 2529 .loc 1 1380 1 view .LVU868
  10890. 2530 000c 83B0 sub sp, sp, #12
  10891. 2531 .LCFI24:
  10892. 2532 .cfi_def_cfa_offset 40
  10893. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10894. 2533 .loc 1 1385 6 view .LVU869
  10895. 2534 000e 6FD1 bne .L268
  10896. 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10897. 2535 .loc 1 1387 5 is_stmt 1 view .LVU870
  10898. 2536 0010 0D46 mov r5, r1
  10899. 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10900. 2537 .loc 1 1387 8 is_stmt 0 view .LVU871
  10901. 2538 0012 0029 cmp r1, #0
  10902. 2539 0014 65D0 beq .L245
  10903. 2540 0016 9046 mov r8, r2
  10904. 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10905. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 189
  10906. 2541 .loc 1 1387 25 discriminator 1 view .LVU872
  10907. 2542 0018 002A cmp r2, #0
  10908. 2543 001a 62D0 beq .L245
  10909. 2544 001c 1F46 mov r7, r3
  10910. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10911. 2545 .loc 1 1393 5 is_stmt 1 view .LVU873
  10912. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10913. 2546 .loc 1 1393 5 view .LVU874
  10914. 2547 001e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
  10915. 2548 .LVL168:
  10916. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10917. 2549 .loc 1 1393 5 is_stmt 0 view .LVU875
  10918. 2550 0022 012B cmp r3, #1
  10919. 2551 0024 64D0 beq .L268
  10920. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10921. 2552 .loc 1 1393 5 discriminator 2 view .LVU876
  10922. 2553 0026 0123 movs r3, #1
  10923. 2554 0028 84F84030 strb r3, [r4, #64]
  10924. 2555 002c 5FFA80F9 uxtb r9, r0
  10925. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10926. 2556 .loc 1 1393 5 is_stmt 1 discriminator 2 view .LVU877
  10927. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10928. 2557 .loc 1 1393 5 discriminator 2 view .LVU878
  10929. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10930. 2558 .loc 1 1396 5 discriminator 2 view .LVU879
  10931. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10932. 2559 .loc 1 1396 17 is_stmt 0 discriminator 2 view .LVU880
  10933. 2560 0030 FFF7FEFF bl HAL_GetTick
  10934. 2561 .LVL169:
  10935. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10936. 2562 .loc 1 1400 21 discriminator 2 view .LVU881
  10937. 2563 0034 0023 movs r3, #0
  10938. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10939. 2564 .loc 1 1408 9 discriminator 2 view .LVU882
  10940. 2565 0036 2268 ldr r2, [r4]
  10941. 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10942. 2566 .loc 1 1405 21 discriminator 2 view .LVU883
  10943. 2567 0038 6363 str r3, [r4, #52]
  10944. 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  10945. 2568 .loc 1 1398 21 discriminator 2 view .LVU884
  10946. 2569 003a 2121 movs r1, #33
  10947. 2570 003c 84F84110 strb r1, [r4, #65]
  10948. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  10949. 2571 .loc 1 1399 21 discriminator 2 view .LVU885
  10950. 2572 0040 84F84290 strb r9, [r4, #66]
  10951. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10952. 2573 .loc 1 1400 21 discriminator 2 view .LVU886
  10953. 2574 0044 6364 str r3, [r4, #68]
  10954. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  10955. 2575 .loc 1 1404 21 discriminator 2 view .LVU887
  10956. 2576 0046 A4F82A80 strh r8, [r4, #42] @ movhi
  10957. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10958. 2577 .loc 1 1408 25 discriminator 2 view .LVU888
  10959. 2578 004a 5368 ldr r3, [r2, #4]
  10960. 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  10961. 2579 .loc 1 1403 21 discriminator 2 view .LVU889
  10962. 2580 004c 6562 str r5, [r4, #36]
  10963. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 190
  10964. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10965. 2581 .loc 1 1408 25 discriminator 2 view .LVU890
  10966. 2582 004e 23F40043 bic r3, r3, #32768
  10967. 2583 0052 5360 str r3, [r2, #4]
  10968. 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10969. 2584 .loc 1 1411 8 discriminator 2 view .LVU891
  10970. 2585 0054 236A ldr r3, [r4, #32]
  10971. 2586 0056 B3F5003F cmp r3, #131072
  10972. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10973. 2587 .loc 1 1396 17 discriminator 2 view .LVU892
  10974. 2588 005a 0646 mov r6, r0
  10975. 2589 .LVL170:
  10976. 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  10977. 2590 .loc 1 1398 5 is_stmt 1 discriminator 2 view .LVU893
  10978. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  10979. 2591 .loc 1 1399 5 discriminator 2 view .LVU894
  10980. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10981. 2592 .loc 1 1400 5 discriminator 2 view .LVU895
  10982. 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  10983. 2593 .loc 1 1403 5 discriminator 2 view .LVU896
  10984. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  10985. 2594 .loc 1 1404 5 discriminator 2 view .LVU897
  10986. 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10987. 2595 .loc 1 1405 5 discriminator 2 view .LVU898
  10988. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  10989. 2596 .loc 1 1408 5 discriminator 2 view .LVU899
  10990. 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10991. 2597 .loc 1 1411 5 discriminator 2 view .LVU900
  10992. 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10993. 2598 .loc 1 1411 8 is_stmt 0 discriminator 2 view .LVU901
  10994. 2599 005c 4CD0 beq .L293
  10995. 2600 .LVL171:
  10996. 2601 .L247:
  10997. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  10998. 2602 .loc 1 1424 5 is_stmt 1 view .LVU902
  10999. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11000. 2603 .loc 1 1424 9 is_stmt 0 view .LVU903
  11001. 2604 005e 0096 str r6, [sp]
  11002. 2605 0060 3B46 mov r3, r7
  11003. 2606 0062 0022 movs r2, #0
  11004. 2607 0064 0821 movs r1, #8
  11005. 2608 0066 2046 mov r0, r4
  11006. 2609 .LVL172:
  11007. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11008. 2610 .loc 1 1424 9 view .LVU904
  11009. 2611 0068 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  11010. 2612 .LVL173:
  11011. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11012. 2613 .loc 1 1424 8 view .LVU905
  11013. 2614 006c 0546 mov r5, r0
  11014. 2615 006e 0028 cmp r0, #0
  11015. 2616 0070 58D1 bne .L292
  11016. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11017. 2617 .loc 1 1436 5 is_stmt 1 view .LVU906
  11018. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11019. 2618 .loc 1 1439 8 is_stmt 0 view .LVU907
  11020. 2619 0072 E368 ldr r3, [r4, #12]
  11021. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 191
  11022. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11023. 2620 .loc 1 1436 5 view .LVU908
  11024. 2621 0074 2268 ldr r2, [r4]
  11025. 2622 0076 4FF00808 mov r8, #8
  11026. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11027. 2623 .loc 1 1439 8 view .LVU909
  11028. 2624 007a 022B cmp r3, #2
  11029. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11030. 2625 .loc 1 1436 5 view .LVU910
  11031. 2626 007c C2F81C80 str r8, [r2, #28]
  11032. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11033. 2627 .loc 1 1439 5 is_stmt 1 view .LVU911
  11034. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11035. 2628 .loc 1 1439 8 is_stmt 0 view .LVU912
  11036. 2629 0080 43D0 beq .L294
  11037. 2630 .L251:
  11038. 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11039. 2631 .loc 1 1458 5 is_stmt 1 view .LVU913
  11040. 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11041. 2632 .loc 1 1458 9 is_stmt 0 view .LVU914
  11042. 2633 0082 0096 str r6, [sp]
  11043. 2634 0084 3B46 mov r3, r7
  11044. 2635 0086 0022 movs r2, #0
  11045. 2636 0088 4FF48031 mov r1, #65536
  11046. 2637 008c 2046 mov r0, r4
  11047. 2638 008e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  11048. 2639 .LVL174:
  11049. 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11050. 2640 .loc 1 1458 8 view .LVU915
  11051. 2641 0092 0028 cmp r0, #0
  11052. 2642 0094 46D1 bne .L292
  11053. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11054. 2643 .loc 1 1469 11 is_stmt 1 view .LVU916
  11055. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11056. 2644 .loc 1 1469 16 is_stmt 0 view .LVU917
  11057. 2645 0096 638D ldrh r3, [r4, #42]
  11058. 2646 0098 9BB2 uxth r3, r3
  11059. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11060. 2647 .loc 1 1469 11 view .LVU918
  11061. 2648 009a 93B9 cbnz r3, .L256
  11062. 2649 009c 51E0 b .L257
  11063. 2650 .L259:
  11064. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11065. 2651 .loc 1 1480 30 view .LVU919
  11066. 2652 009e 656A ldr r5, [r4, #36]
  11067. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11068. 2653 .loc 1 1480 11 view .LVU920
  11069. 2654 00a0 2368 ldr r3, [r4]
  11070. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11071. 2655 .loc 1 1480 30 view .LVU921
  11072. 2656 00a2 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2
  11073. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11074. 2657 .loc 1 1480 28 view .LVU922
  11075. 2658 00a6 9A62 str r2, [r3, #40]
  11076. 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11077. 2659 .loc 1 1483 7 is_stmt 1 view .LVU923
  11078. 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11079. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 192
  11080. 2660 .loc 1 1485 11 is_stmt 0 view .LVU924
  11081. 2661 00a8 B4F82AC0 ldrh ip, [r4, #42]
  11082. 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11083. 2662 .loc 1 1483 21 view .LVU925
  11084. 2663 00ac 6562 str r5, [r4, #36]
  11085. 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11086. 2664 .loc 1 1485 7 is_stmt 1 view .LVU926
  11087. 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11088. 2665 .loc 1 1485 22 is_stmt 0 view .LVU927
  11089. 2666 00ae 0CF1FF3C add ip, ip, #-1
  11090. 2667 00b2 1FFA8CFC uxth ip, ip
  11091. 2668 00b6 A4F82AC0 strh ip, [r4, #42] @ movhi
  11092. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11093. 2669 .loc 1 1469 11 is_stmt 1 view .LVU928
  11094. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11095. 2670 .loc 1 1469 16 is_stmt 0 view .LVU929
  11096. 2671 00ba 658D ldrh r5, [r4, #42]
  11097. 2672 00bc ADB2 uxth r5, r5
  11098. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11099. 2673 .loc 1 1469 11 view .LVU930
  11100. 2674 00be 002D cmp r5, #0
  11101. 2675 00c0 3FD0 beq .L257
  11102. 2676 .L256:
  11103. 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11104. 2677 .loc 1 1472 7 is_stmt 1 view .LVU931
  11105. 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11106. 2678 .loc 1 1472 11 is_stmt 0 view .LVU932
  11107. 2679 00c2 3246 mov r2, r6
  11108. 2680 00c4 3946 mov r1, r7
  11109. 2681 00c6 2046 mov r0, r4
  11110. 2682 00c8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
  11111. 2683 .LVL175:
  11112. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11113. 2684 .loc 1 1480 7 is_stmt 1 view .LVU933
  11114. 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11115. 2685 .loc 1 1472 10 is_stmt 0 view .LVU934
  11116. 2686 00cc 0028 cmp r0, #0
  11117. 2687 00ce E6D0 beq .L259
  11118. 2688 .L289:
  11119. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11120. 2689 .loc 1 1522 9 is_stmt 1 view .LVU935
  11121. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11122. 2690 .loc 1 1522 13 is_stmt 0 view .LVU936
  11123. 2691 00d0 2268 ldr r2, [r4]
  11124. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11125. 2692 .loc 1 1522 29 view .LVU937
  11126. 2693 00d2 5368 ldr r3, [r2, #4]
  11127. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11128. 2694 .loc 1 1524 16 view .LVU938
  11129. 2695 00d4 0120 movs r0, #1
  11130. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11131. 2696 .loc 1 1522 29 view .LVU939
  11132. 2697 00d6 43F40043 orr r3, r3, #32768
  11133. 2698 00da 5360 str r3, [r2, #4]
  11134. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11135. 2699 .loc 1 1524 9 is_stmt 1 view .LVU940
  11136. 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11137. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 193
  11138. 2700 .loc 1 1554 1 is_stmt 0 view .LVU941
  11139. 2701 00dc 03B0 add sp, sp, #12
  11140. 2702 .LCFI25:
  11141. 2703 .cfi_remember_state
  11142. 2704 .cfi_def_cfa_offset 28
  11143. 2705 @ sp needed
  11144. 2706 00de BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  11145. 2707 .LVL176:
  11146. 2708 .L245:
  11147. 2709 .LCFI26:
  11148. 2710 .cfi_restore_state
  11149. 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11150. 2711 .loc 1 1389 7 is_stmt 1 view .LVU942
  11151. 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11152. 2712 .loc 1 1389 23 is_stmt 0 view .LVU943
  11153. 2713 00e2 4FF40073 mov r3, #512
  11154. 2714 .LVL177:
  11155. 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11156. 2715 .loc 1 1389 23 view .LVU944
  11157. 2716 00e6 6364 str r3, [r4, #68]
  11158. 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11159. 2717 .loc 1 1390 7 is_stmt 1 view .LVU945
  11160. 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11161. 2718 .loc 1 1390 15 is_stmt 0 view .LVU946
  11162. 2719 00e8 0120 movs r0, #1
  11163. 2720 .LVL178:
  11164. 2721 .L244:
  11165. 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11166. 2722 .loc 1 1554 1 view .LVU947
  11167. 2723 00ea 03B0 add sp, sp, #12
  11168. 2724 .LCFI27:
  11169. 2725 .cfi_remember_state
  11170. 2726 .cfi_def_cfa_offset 28
  11171. 2727 @ sp needed
  11172. 2728 00ec BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  11173. 2729 .LVL179:
  11174. 2730 .L268:
  11175. 2731 .LCFI28:
  11176. 2732 .cfi_restore_state
  11177. 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11178. 2733 .loc 1 1552 12 view .LVU948
  11179. 2734 00f0 0220 movs r0, #2
  11180. 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11181. 2735 .loc 1 1554 1 view .LVU949
  11182. 2736 00f2 03B0 add sp, sp, #12
  11183. 2737 .LCFI29:
  11184. 2738 .cfi_remember_state
  11185. 2739 .cfi_def_cfa_offset 28
  11186. 2740 @ sp needed
  11187. 2741 00f4 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  11188. 2742 .LVL180:
  11189. 2743 .L293:
  11190. 2744 .LCFI30:
  11191. 2745 .cfi_restore_state
  11192. 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11193. 2746 .loc 1 1415 7 is_stmt 1 view .LVU950
  11194. 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11195. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 194
  11196. 2747 .loc 1 1415 30 is_stmt 0 view .LVU951
  11197. 2748 00f8 15F8013B ldrb r3, [r5], #1 @ zero_extendqisi2
  11198. 2749 .LVL181:
  11199. 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11200. 2750 .loc 1 1415 28 view .LVU952
  11201. 2751 00fc 9362 str r3, [r2, #40]
  11202. 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11203. 2752 .loc 1 1418 7 is_stmt 1 view .LVU953
  11204. 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11205. 2753 .loc 1 1420 11 is_stmt 0 view .LVU954
  11206. 2754 00fe 638D ldrh r3, [r4, #42]
  11207. 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11208. 2755 .loc 1 1418 21 view .LVU955
  11209. 2756 0100 6562 str r5, [r4, #36]
  11210. 2757 .LVL182:
  11211. 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11212. 2758 .loc 1 1420 7 is_stmt 1 view .LVU956
  11213. 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11214. 2759 .loc 1 1420 22 is_stmt 0 view .LVU957
  11215. 2760 0102 013B subs r3, r3, #1
  11216. 2761 0104 9BB2 uxth r3, r3
  11217. 2762 0106 6385 strh r3, [r4, #42] @ movhi
  11218. 2763 0108 A9E7 b .L247
  11219. 2764 .LVL183:
  11220. 2765 .L294:
  11221. 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11222. 2766 .loc 1 1442 7 is_stmt 1 view .LVU958
  11223. 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11224. 2767 .loc 1 1442 11 is_stmt 0 view .LVU959
  11225. 2768 010a 3B46 mov r3, r7
  11226. 2769 010c 0246 mov r2, r0
  11227. 2770 010e 0096 str r6, [sp]
  11228. 2771 0110 4146 mov r1, r8
  11229. 2772 0112 2046 mov r0, r4
  11230. 2773 0114 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  11231. 2774 .LVL184:
  11232. 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11233. 2775 .loc 1 1445 13 view .LVU960
  11234. 2776 0118 2368 ldr r3, [r4]
  11235. 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11236. 2777 .loc 1 1442 10 view .LVU961
  11237. 2778 011a 0028 cmp r0, #0
  11238. 2779 011c 5BD1 bne .L295
  11239. 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11240. 2780 .loc 1 1454 7 is_stmt 1 view .LVU962
  11241. 2781 011e C3F81C80 str r8, [r3, #28]
  11242. 2782 0122 AEE7 b .L251
  11243. 2783 .L292:
  11244. 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11245. 2784 .loc 1 1427 7 view .LVU963
  11246. 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11247. 2785 .loc 1 1427 11 is_stmt 0 view .LVU964
  11248. 2786 0124 2368 ldr r3, [r4]
  11249. 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11250. 2787 .loc 1 1427 27 view .LVU965
  11251. 2788 0126 5A68 ldr r2, [r3, #4]
  11252. 2789 0128 42F40042 orr r2, r2, #32768
  11253. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 195
  11254. 2790 012c 5A60 str r2, [r3, #4]
  11255. 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11256. 2791 .loc 1 1430 7 is_stmt 1 view .LVU966
  11257. 2792 .LVL185:
  11258. 2793 .LBB106:
  11259. 2794 .LBI106:
  11260. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11261. 2795 .loc 1 6758 13 view .LVU967
  11262. 2796 .LBB107:
  11263. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11264. 2797 .loc 1 6762 3 view .LVU968
  11265. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11266. 2798 .loc 1 6762 7 is_stmt 0 view .LVU969
  11267. 2799 012e 9A69 ldr r2, [r3, #24]
  11268. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11269. 2800 .loc 1 6762 6 view .LVU970
  11270. 2801 0130 9507 lsls r5, r2, #30
  11271. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11272. 2802 .loc 1 6764 5 is_stmt 1 view .LVU971
  11273. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11274. 2803 .loc 1 6764 26 is_stmt 0 view .LVU972
  11275. 2804 0132 44BF itt mi
  11276. 2805 0134 0022 movmi r2, #0
  11277. 2806 0136 9A62 strmi r2, [r3, #40]
  11278. 2807 .LVL186:
  11279. 2808 .L249:
  11280. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11281. 2809 .loc 1 6768 3 is_stmt 1 view .LVU973
  11282. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11283. 2810 .loc 1 6768 7 is_stmt 0 view .LVU974
  11284. 2811 0138 9A69 ldr r2, [r3, #24]
  11285. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11286. 2812 .loc 1 6768 6 view .LVU975
  11287. 2813 013a D407 lsls r4, r2, #31
  11288. 2814 .LVL187:
  11289. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11290. 2815 .loc 1 6768 6 view .LVU976
  11291. 2816 013c 21D5 bpl .L288
  11292. 2817 .LBE107:
  11293. 2818 .LBE106:
  11294. 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11295. 2819 .loc 1 1432 14 view .LVU977
  11296. 2820 013e 0120 movs r0, #1
  11297. 2821 0140 D3E7 b .L244
  11298. 2822 .LVL188:
  11299. 2823 .L257:
  11300. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11301. 2824 .loc 1 1489 5 is_stmt 1 view .LVU978
  11302. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11303. 2825 .loc 1 1489 13 is_stmt 0 view .LVU979
  11304. 2826 0142 0096 str r6, [sp]
  11305. 2827 0144 3B46 mov r3, r7
  11306. 2828 0146 0022 movs r2, #0
  11307. 2829 0148 1021 movs r1, #16
  11308. 2830 014a 2046 mov r0, r4
  11309. 2831 014c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  11310. 2832 .LVL189:
  11311. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 196
  11312. 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11313. 2833 .loc 1 1491 5 is_stmt 1 view .LVU980
  11314. 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11315. 2834 .loc 1 1491 8 is_stmt 0 view .LVU981
  11316. 2835 0150 E0B1 cbz r0, .L260
  11317. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U))
  11318. 2836 .loc 1 1497 7 is_stmt 1 view .LVU982
  11319. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U))
  11320. 2837 .loc 1 1497 20 is_stmt 0 view .LVU983
  11321. 2838 0152 638D ldrh r3, [r4, #42]
  11322. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11323. 2839 .loc 1 1498 16 view .LVU984
  11324. 2840 0154 626C ldr r2, [r4, #68]
  11325. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11326. 2841 .loc 1 1498 10 view .LVU985
  11327. 2842 0156 042A cmp r2, #4
  11328. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U))
  11329. 2843 .loc 1 1497 20 view .LVU986
  11330. 2844 0158 9BB2 uxth r3, r3
  11331. 2845 .LVL190:
  11332. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11333. 2846 .loc 1 1498 7 is_stmt 1 view .LVU987
  11334. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11335. 2847 .loc 1 1498 10 is_stmt 0 view .LVU988
  11336. 2848 015a B9D1 bne .L289
  11337. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11338. 2849 .loc 1 1498 49 discriminator 1 view .LVU989
  11339. 2850 015c 002B cmp r3, #0
  11340. 2851 015e B7D1 bne .L289
  11341. 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11342. 2852 .loc 1 1501 9 is_stmt 1 view .LVU990
  11343. 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11344. 2853 .loc 1 1501 25 is_stmt 0 view .LVU991
  11345. 2854 0160 6364 str r3, [r4, #68]
  11346. 2855 .LVL191:
  11347. 2856 .L262:
  11348. 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11349. 2857 .loc 1 1532 5 is_stmt 1 view .LVU992
  11350. 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11351. 2858 .loc 1 1532 9 is_stmt 0 view .LVU993
  11352. 2859 0162 0122 movs r2, #1
  11353. 2860 0164 0096 str r6, [sp]
  11354. 2861 0166 3B46 mov r3, r7
  11355. 2862 0168 4FF40041 mov r1, #32768
  11356. 2863 016c 2046 mov r0, r4
  11357. 2864 016e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  11358. 2865 .LVL192:
  11359. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11360. 2866 .loc 1 1535 11 view .LVU994
  11361. 2867 0172 2268 ldr r2, [r4]
  11362. 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11363. 2868 .loc 1 1532 8 view .LVU995
  11364. 2869 0174 18B3 cbz r0, .L266
  11365. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11366. 2870 .loc 1 1535 7 is_stmt 1 view .LVU996
  11367. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11368. 2871 .loc 1 1535 27 is_stmt 0 view .LVU997
  11369. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 197
  11370. 2872 0176 5368 ldr r3, [r2, #4]
  11371. 2873 0178 43F40043 orr r3, r3, #32768
  11372. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11373. 2874 .loc 1 1536 14 view .LVU998
  11374. 2875 017c 0120 movs r0, #1
  11375. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11376. 2876 .loc 1 1535 27 view .LVU999
  11377. 2877 017e 5360 str r3, [r2, #4]
  11378. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11379. 2878 .loc 1 1536 7 is_stmt 1 view .LVU1000
  11380. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11381. 2879 .loc 1 1536 14 is_stmt 0 view .LVU1001
  11382. 2880 0180 B3E7 b .L244
  11383. 2881 .LVL193:
  11384. 2882 .L288:
  11385. 2883 .LBB108:
  11386. 2884 .LBB109:
  11387. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11388. 2885 .loc 1 6770 5 is_stmt 1 view .LVU1002
  11389. 2886 0182 9A69 ldr r2, [r3, #24]
  11390. 2887 .LBE109:
  11391. 2888 .LBE108:
  11392. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11393. 2889 .loc 1 1466 14 is_stmt 0 view .LVU1003
  11394. 2890 0184 0120 movs r0, #1
  11395. 2891 .LBB111:
  11396. 2892 .LBB110:
  11397. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11398. 2893 .loc 1 6770 5 view .LVU1004
  11399. 2894 0186 0243 orrs r2, r2, r0
  11400. 2895 0188 9A61 str r2, [r3, #24]
  11401. 2896 018a AEE7 b .L244
  11402. 2897 .LVL194:
  11403. 2898 .L260:
  11404. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11405. 2899 .loc 1 6770 5 view .LVU1005
  11406. 2900 .LBE110:
  11407. 2901 .LBE111:
  11408. 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11409. 2902 .loc 1 1513 7 is_stmt 1 view .LVU1006
  11410. 2903 .LBB112:
  11411. 2904 .LBI112:
  11412. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11413. 2905 .loc 1 6758 13 view .LVU1007
  11414. 2906 .LBB113:
  11415. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11416. 2907 .loc 1 6762 3 view .LVU1008
  11417. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11418. 2908 .loc 1 6762 7 is_stmt 0 view .LVU1009
  11419. 2909 018c 2368 ldr r3, [r4]
  11420. 2910 018e 9A69 ldr r2, [r3, #24]
  11421. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11422. 2911 .loc 1 6762 6 view .LVU1010
  11423. 2912 0190 9107 lsls r1, r2, #30
  11424. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11425. 2913 .loc 1 6764 5 is_stmt 1 view .LVU1011
  11426. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11427. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 198
  11428. 2914 .loc 1 6768 3 view .LVU1012
  11429. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11430. 2915 .loc 1 6764 26 is_stmt 0 view .LVU1013
  11431. 2916 0192 48BF it mi
  11432. 2917 0194 9862 strmi r0, [r3, #40]
  11433. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11434. 2918 .loc 1 6768 7 view .LVU1014
  11435. 2919 0196 9A69 ldr r2, [r3, #24]
  11436. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11437. 2920 .loc 1 6768 6 view .LVU1015
  11438. 2921 0198 D207 lsls r2, r2, #31
  11439. 2922 019a 03D4 bmi .L264
  11440. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11441. 2923 .loc 1 6770 5 is_stmt 1 view .LVU1016
  11442. 2924 019c 9A69 ldr r2, [r3, #24]
  11443. 2925 019e 42F00102 orr r2, r2, #1
  11444. 2926 01a2 9A61 str r2, [r3, #24]
  11445. 2927 .L264:
  11446. 2928 .LVL195:
  11447. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11448. 2929 .loc 1 6770 5 is_stmt 0 view .LVU1017
  11449. 2930 .LBE113:
  11450. 2931 .LBE112:
  11451. 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11452. 2932 .loc 1 1516 7 is_stmt 1 view .LVU1018
  11453. 2933 01a4 1022 movs r2, #16
  11454. 2934 01a6 DA61 str r2, [r3, #28]
  11455. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11456. 2935 .loc 1 1519 7 view .LVU1019
  11457. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11458. 2936 .loc 1 1519 11 is_stmt 0 view .LVU1020
  11459. 2937 01a8 3946 mov r1, r7
  11460. 2938 01aa 3246 mov r2, r6
  11461. 2939 01ac 2046 mov r0, r4
  11462. 2940 .LVL196:
  11463. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11464. 2941 .loc 1 1519 11 view .LVU1021
  11465. 2942 01ae FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
  11466. 2943 .LVL197:
  11467. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11468. 2944 .loc 1 1519 10 view .LVU1022
  11469. 2945 01b2 0028 cmp r0, #0
  11470. 2946 01b4 8CD1 bne .L289
  11471. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11472. 2947 .loc 1 1528 7 is_stmt 1 view .LVU1023
  11473. 2948 01b6 2368 ldr r3, [r4]
  11474. 2949 01b8 2022 movs r2, #32
  11475. 2950 01ba DA61 str r2, [r3, #28]
  11476. 2951 01bc D1E7 b .L262
  11477. 2952 .L266:
  11478. 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11479. 2953 .loc 1 1540 5 view .LVU1024
  11480. 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11481. 2954 .loc 1 1540 25 is_stmt 0 view .LVU1025
  11482. 2955 01be 5368 ldr r3, [r2, #4]
  11483. 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  11484. 2956 .loc 1 1542 17 view .LVU1026
  11485. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 199
  11486. 2957 01c0 2021 movs r1, #32
  11487. 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11488. 2958 .loc 1 1540 25 view .LVU1027
  11489. 2959 01c2 43F40043 orr r3, r3, #32768
  11490. 2960 01c6 5360 str r3, [r2, #4]
  11491. 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  11492. 2961 .loc 1 1542 5 is_stmt 1 view .LVU1028
  11493. 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  11494. 2962 .loc 1 1542 17 is_stmt 0 view .LVU1029
  11495. 2963 01c8 84F84110 strb r1, [r4, #65]
  11496. 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11497. 2964 .loc 1 1543 5 is_stmt 1 view .LVU1030
  11498. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11499. 2965 .loc 1 1546 5 is_stmt 0 view .LVU1031
  11500. 2966 01cc 84F84000 strb r0, [r4, #64]
  11501. 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11502. 2967 .loc 1 1543 17 view .LVU1032
  11503. 2968 01d0 84F84200 strb r0, [r4, #66]
  11504. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11505. 2969 .loc 1 1546 5 is_stmt 1 view .LVU1033
  11506. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11507. 2970 .loc 1 1546 5 view .LVU1034
  11508. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11509. 2971 .loc 1 1546 5 view .LVU1035
  11510. 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11511. 2972 .loc 1 1548 5 view .LVU1036
  11512. 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11513. 2973 .loc 1 1548 12 is_stmt 0 view .LVU1037
  11514. 2974 01d4 89E7 b .L244
  11515. 2975 .L295:
  11516. 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11517. 2976 .loc 1 1445 9 is_stmt 1 view .LVU1038
  11518. 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11519. 2977 .loc 1 1445 29 is_stmt 0 view .LVU1039
  11520. 2978 01d6 5A68 ldr r2, [r3, #4]
  11521. 2979 01d8 42F40042 orr r2, r2, #32768
  11522. 2980 01dc 5A60 str r2, [r3, #4]
  11523. 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11524. 2981 .loc 1 1448 9 is_stmt 1 view .LVU1040
  11525. 2982 .LVL198:
  11526. 2983 .LBB114:
  11527. 2984 .LBI114:
  11528. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11529. 2985 .loc 1 6758 13 view .LVU1041
  11530. 2986 .LBB115:
  11531. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11532. 2987 .loc 1 6762 3 view .LVU1042
  11533. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11534. 2988 .loc 1 6762 7 is_stmt 0 view .LVU1043
  11535. 2989 01de 9A69 ldr r2, [r3, #24]
  11536. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11537. 2990 .loc 1 6762 6 view .LVU1044
  11538. 2991 01e0 9007 lsls r0, r2, #30
  11539. 2992 01e2 A9D5 bpl .L249
  11540. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11541. 2993 .loc 1 6764 5 is_stmt 1 view .LVU1045
  11542. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11543. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 200
  11544. 2994 .loc 1 6764 26 is_stmt 0 view .LVU1046
  11545. 2995 01e4 9D62 str r5, [r3, #40]
  11546. 2996 01e6 A7E7 b .L249
  11547. 2997 .LBE115:
  11548. 2998 .LBE114:
  11549. 2999 .cfi_endproc
  11550. 3000 .LFE136:
  11551. 3002 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
  11552. 3003 .align 1
  11553. 3004 .p2align 2,,3
  11554. 3005 .global HAL_I2C_Slave_Receive
  11555. 3006 .syntax unified
  11556. 3007 .thumb
  11557. 3008 .thumb_func
  11558. 3010 HAL_I2C_Slave_Receive:
  11559. 3011 .LVL199:
  11560. 3012 .LFB137:
  11561. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  11562. 3013 .loc 1 1567 1 is_stmt 1 view -0
  11563. 3014 .cfi_startproc
  11564. 3015 @ args = 0, pretend = 0, frame = 0
  11565. 3016 @ frame_needed = 0, uses_anonymous_args = 0
  11566. 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11567. 3017 .loc 1 1568 3 view .LVU1048
  11568. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11569. 3018 .loc 1 1570 3 view .LVU1049
  11570. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  11571. 3019 .loc 1 1567 1 is_stmt 0 view .LVU1050
  11572. 3020 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
  11573. 3021 .LCFI31:
  11574. 3022 .cfi_def_cfa_offset 28
  11575. 3023 .cfi_offset 4, -28
  11576. 3024 .cfi_offset 5, -24
  11577. 3025 .cfi_offset 6, -20
  11578. 3026 .cfi_offset 7, -16
  11579. 3027 .cfi_offset 8, -12
  11580. 3028 .cfi_offset 9, -8
  11581. 3029 .cfi_offset 14, -4
  11582. 3030 0004 0446 mov r4, r0
  11583. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11584. 3031 .loc 1 1570 11 view .LVU1051
  11585. 3032 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
  11586. 3033 .LVL200:
  11587. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11588. 3034 .loc 1 1570 6 view .LVU1052
  11589. 3035 000a 2028 cmp r0, #32
  11590. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  11591. 3036 .loc 1 1567 1 view .LVU1053
  11592. 3037 000c 83B0 sub sp, sp, #12
  11593. 3038 .LCFI32:
  11594. 3039 .cfi_def_cfa_offset 40
  11595. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11596. 3040 .loc 1 1570 6 view .LVU1054
  11597. 3041 000e 39D1 bne .L308
  11598. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11599. 3042 .loc 1 1572 5 is_stmt 1 view .LVU1055
  11600. 3043 0010 0E46 mov r6, r1
  11601. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 201
  11602. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11603. 3044 .loc 1 1572 8 is_stmt 0 view .LVU1056
  11604. 3045 0012 81B3 cbz r1, .L298
  11605. 3046 0014 1746 mov r7, r2
  11606. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11607. 3047 .loc 1 1572 25 discriminator 1 view .LVU1057
  11608. 3048 0016 72B3 cbz r2, .L298
  11609. 3049 0018 1D46 mov r5, r3
  11610. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11611. 3050 .loc 1 1578 5 is_stmt 1 view .LVU1058
  11612. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11613. 3051 .loc 1 1578 5 view .LVU1059
  11614. 3052 001a 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
  11615. 3053 .LVL201:
  11616. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11617. 3054 .loc 1 1578 5 is_stmt 0 view .LVU1060
  11618. 3055 001e 012B cmp r3, #1
  11619. 3056 0020 30D0 beq .L308
  11620. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11621. 3057 .loc 1 1578 5 is_stmt 1 discriminator 2 view .LVU1061
  11622. 3058 0022 4FF00108 mov r8, #1
  11623. 3059 0026 84F84080 strb r8, [r4, #64]
  11624. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11625. 3060 .loc 1 1578 5 discriminator 2 view .LVU1062
  11626. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11627. 3061 .loc 1 1581 5 discriminator 2 view .LVU1063
  11628. 3062 002a 5FFA80F9 uxtb r9, r0
  11629. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11630. 3063 .loc 1 1581 17 is_stmt 0 discriminator 2 view .LVU1064
  11631. 3064 002e FFF7FEFF bl HAL_GetTick
  11632. 3065 .LVL202:
  11633. 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11634. 3066 .loc 1 1585 21 discriminator 2 view .LVU1065
  11635. 3067 0032 0022 movs r2, #0
  11636. 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  11637. 3068 .loc 1 1583 21 discriminator 2 view .LVU1066
  11638. 3069 0034 2223 movs r3, #34
  11639. 3070 0036 84F84130 strb r3, [r4, #65]
  11640. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11641. 3071 .loc 1 1594 9 discriminator 2 view .LVU1067
  11642. 3072 003a 2168 ldr r1, [r4]
  11643. 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  11644. 3073 .loc 1 1584 21 discriminator 2 view .LVU1068
  11645. 3074 003c 84F84290 strb r9, [r4, #66]
  11646. 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11647. 3075 .loc 1 1585 21 discriminator 2 view .LVU1069
  11648. 3076 0040 6264 str r2, [r4, #68]
  11649. 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  11650. 3077 .loc 1 1589 21 discriminator 2 view .LVU1070
  11651. 3078 0042 6785 strh r7, [r4, #42] @ movhi
  11652. 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  11653. 3079 .loc 1 1590 26 discriminator 2 view .LVU1071
  11654. 3080 0044 638D ldrh r3, [r4, #42]
  11655. 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  11656. 3081 .loc 1 1590 20 discriminator 2 view .LVU1072
  11657. 3082 0046 2385 strh r3, [r4, #40] @ movhi
  11658. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11659. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 202
  11660. 3083 .loc 1 1594 25 discriminator 2 view .LVU1073
  11661. 3084 0048 4B68 ldr r3, [r1, #4]
  11662. 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  11663. 3085 .loc 1 1588 21 discriminator 2 view .LVU1074
  11664. 3086 004a 6662 str r6, [r4, #36]
  11665. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11666. 3087 .loc 1 1594 25 discriminator 2 view .LVU1075
  11667. 3088 004c 23F40043 bic r3, r3, #32768
  11668. 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11669. 3089 .loc 1 1591 21 discriminator 2 view .LVU1076
  11670. 3090 0050 6263 str r2, [r4, #52]
  11671. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11672. 3091 .loc 1 1581 17 discriminator 2 view .LVU1077
  11673. 3092 0052 0646 mov r6, r0
  11674. 3093 .LVL203:
  11675. 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  11676. 3094 .loc 1 1583 5 is_stmt 1 discriminator 2 view .LVU1078
  11677. 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  11678. 3095 .loc 1 1584 5 discriminator 2 view .LVU1079
  11679. 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11680. 3096 .loc 1 1585 5 discriminator 2 view .LVU1080
  11681. 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  11682. 3097 .loc 1 1588 5 discriminator 2 view .LVU1081
  11683. 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  11684. 3098 .loc 1 1589 5 discriminator 2 view .LVU1082
  11685. 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  11686. 3099 .loc 1 1590 5 discriminator 2 view .LVU1083
  11687. 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11688. 3100 .loc 1 1591 5 discriminator 2 view .LVU1084
  11689. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11690. 3101 .loc 1 1594 5 discriminator 2 view .LVU1085
  11691. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11692. 3102 .loc 1 1594 25 is_stmt 0 discriminator 2 view .LVU1086
  11693. 3103 0054 4B60 str r3, [r1, #4]
  11694. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11695. 3104 .loc 1 1597 5 is_stmt 1 discriminator 2 view .LVU1087
  11696. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11697. 3105 .loc 1 1597 9 is_stmt 0 discriminator 2 view .LVU1088
  11698. 3106 0056 0090 str r0, [sp]
  11699. 3107 .LVL204:
  11700. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11701. 3108 .loc 1 1597 9 discriminator 2 view .LVU1089
  11702. 3109 0058 2B46 mov r3, r5
  11703. 3110 005a 0821 movs r1, #8
  11704. 3111 005c 2046 mov r0, r4
  11705. 3112 .LVL205:
  11706. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11707. 3113 .loc 1 1597 9 discriminator 2 view .LVU1090
  11708. 3114 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  11709. 3115 .LVL206:
  11710. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11711. 3116 .loc 1 1597 8 discriminator 2 view .LVU1091
  11712. 3117 0062 98B1 cbz r0, .L300
  11713. 3118 .L301:
  11714. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11715. 3119 .loc 1 1611 7 is_stmt 1 view .LVU1092
  11716. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11717. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 203
  11718. 3120 .loc 1 1611 11 is_stmt 0 view .LVU1093
  11719. 3121 0064 2268 ldr r2, [r4]
  11720. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11721. 3122 .loc 1 1611 27 view .LVU1094
  11722. 3123 0066 5368 ldr r3, [r2, #4]
  11723. 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11724. 3124 .loc 1 1612 14 view .LVU1095
  11725. 3125 0068 4046 mov r0, r8
  11726. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11727. 3126 .loc 1 1611 27 view .LVU1096
  11728. 3127 006a 43F40043 orr r3, r3, #32768
  11729. 3128 006e 5360 str r3, [r2, #4]
  11730. 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11731. 3129 .loc 1 1612 7 is_stmt 1 view .LVU1097
  11732. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11733. 3130 .loc 1 1683 1 is_stmt 0 view .LVU1098
  11734. 3131 0070 03B0 add sp, sp, #12
  11735. 3132 .LCFI33:
  11736. 3133 .cfi_remember_state
  11737. 3134 .cfi_def_cfa_offset 28
  11738. 3135 @ sp needed
  11739. 3136 0072 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  11740. 3137 .LVL207:
  11741. 3138 .L298:
  11742. 3139 .LCFI34:
  11743. 3140 .cfi_restore_state
  11744. 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11745. 3141 .loc 1 1574 7 is_stmt 1 view .LVU1099
  11746. 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11747. 3142 .loc 1 1574 23 is_stmt 0 view .LVU1100
  11748. 3143 0076 4FF40073 mov r3, #512
  11749. 3144 .LVL208:
  11750. 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11751. 3145 .loc 1 1574 23 view .LVU1101
  11752. 3146 007a 6364 str r3, [r4, #68]
  11753. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11754. 3147 .loc 1 1575 7 is_stmt 1 view .LVU1102
  11755. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11756. 3148 .loc 1 1575 15 is_stmt 0 view .LVU1103
  11757. 3149 007c 0120 movs r0, #1
  11758. 3150 .LVL209:
  11759. 3151 .L297:
  11760. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11761. 3152 .loc 1 1683 1 view .LVU1104
  11762. 3153 007e 03B0 add sp, sp, #12
  11763. 3154 .LCFI35:
  11764. 3155 .cfi_remember_state
  11765. 3156 .cfi_def_cfa_offset 28
  11766. 3157 @ sp needed
  11767. 3158 0080 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  11768. 3159 .LVL210:
  11769. 3160 .L308:
  11770. 3161 .LCFI36:
  11771. 3162 .cfi_restore_state
  11772. 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11773. 3163 .loc 1 1681 12 view .LVU1105
  11774. 3164 0084 0220 movs r0, #2
  11775. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 204
  11776. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11777. 3165 .loc 1 1683 1 view .LVU1106
  11778. 3166 0086 03B0 add sp, sp, #12
  11779. 3167 .LCFI37:
  11780. 3168 .cfi_remember_state
  11781. 3169 .cfi_def_cfa_offset 28
  11782. 3170 @ sp needed
  11783. 3171 0088 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  11784. 3172 .LVL211:
  11785. 3173 .L300:
  11786. 3174 .LCFI38:
  11787. 3175 .cfi_restore_state
  11788. 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11789. 3176 .loc 1 1605 5 is_stmt 1 view .LVU1107
  11790. 3177 008c 2368 ldr r3, [r4]
  11791. 3178 008e 0822 movs r2, #8
  11792. 3179 0090 DA61 str r2, [r3, #28]
  11793. 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11794. 3180 .loc 1 1608 5 view .LVU1108
  11795. 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11796. 3181 .loc 1 1608 9 is_stmt 0 view .LVU1109
  11797. 3182 0092 4FF48031 mov r1, #65536
  11798. 3183 0096 2B46 mov r3, r5
  11799. 3184 0098 0096 str r6, [sp]
  11800. 3185 009a 4246 mov r2, r8
  11801. 3186 009c 2046 mov r0, r4
  11802. 3187 009e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  11803. 3188 .LVL212:
  11804. 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11805. 3189 .loc 1 1608 8 view .LVU1110
  11806. 3190 00a2 0028 cmp r0, #0
  11807. 3191 00a4 DED1 bne .L301
  11808. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11809. 3192 .loc 1 1615 11 is_stmt 1 view .LVU1111
  11810. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11811. 3193 .loc 1 1615 16 is_stmt 0 view .LVU1112
  11812. 3194 00a6 638D ldrh r3, [r4, #42]
  11813. 3195 00a8 9BB2 uxth r3, r3
  11814. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11815. 3196 .loc 1 1615 11 view .LVU1113
  11816. 3197 00aa ABB9 cbnz r3, .L302
  11817. 3198 00ac 32E0 b .L303
  11818. 3199 .L304:
  11819. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11820. 3200 .loc 1 1640 38 view .LVU1114
  11821. 3201 00ae 2268 ldr r2, [r4]
  11822. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11823. 3202 .loc 1 1640 12 view .LVU1115
  11824. 3203 00b0 636A ldr r3, [r4, #36]
  11825. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11826. 3204 .loc 1 1640 48 view .LVU1116
  11827. 3205 00b2 526A ldr r2, [r2, #36]
  11828. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11829. 3206 .loc 1 1640 25 view .LVU1117
  11830. 3207 00b4 1A70 strb r2, [r3]
  11831. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11832. 3208 .loc 1 1643 7 is_stmt 1 view .LVU1118
  11833. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 205
  11834. 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11835. 3209 .loc 1 1645 11 is_stmt 0 view .LVU1119
  11836. 3210 00b6 B4F82AC0 ldrh ip, [r4, #42]
  11837. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11838. 3211 .loc 1 1643 21 view .LVU1120
  11839. 3212 00ba 616A ldr r1, [r4, #36]
  11840. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11841. 3213 .loc 1 1646 21 view .LVU1121
  11842. 3214 00bc 228D ldrh r2, [r4, #40]
  11843. 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11844. 3215 .loc 1 1645 22 view .LVU1122
  11845. 3216 00be 0CF1FF3C add ip, ip, #-1
  11846. 3217 00c2 1FFA8CFC uxth ip, ip
  11847. 3218 00c6 A4F82AC0 strh ip, [r4, #42] @ movhi
  11848. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11849. 3219 .loc 1 1615 16 view .LVU1123
  11850. 3220 00ca 638D ldrh r3, [r4, #42]
  11851. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11852. 3221 .loc 1 1643 21 view .LVU1124
  11853. 3222 00cc 0131 adds r1, r1, #1
  11854. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11855. 3223 .loc 1 1646 21 view .LVU1125
  11856. 3224 00ce 013A subs r2, r2, #1
  11857. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11858. 3225 .loc 1 1615 16 view .LVU1126
  11859. 3226 00d0 9BB2 uxth r3, r3
  11860. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11861. 3227 .loc 1 1643 21 view .LVU1127
  11862. 3228 00d2 6162 str r1, [r4, #36]
  11863. 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11864. 3229 .loc 1 1645 7 is_stmt 1 view .LVU1128
  11865. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11866. 3230 .loc 1 1646 7 view .LVU1129
  11867. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11868. 3231 .loc 1 1646 21 is_stmt 0 view .LVU1130
  11869. 3232 00d4 2285 strh r2, [r4, #40] @ movhi
  11870. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11871. 3233 .loc 1 1615 11 is_stmt 1 view .LVU1131
  11872. 3234 00d6 EBB1 cbz r3, .L303
  11873. 3235 .L302:
  11874. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11875. 3236 .loc 1 1618 7 view .LVU1132
  11876. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11877. 3237 .loc 1 1618 11 is_stmt 0 view .LVU1133
  11878. 3238 00d8 3246 mov r2, r6
  11879. 3239 00da 2946 mov r1, r5
  11880. 3240 00dc 2046 mov r0, r4
  11881. 3241 00de FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
  11882. 3242 .LVL213:
  11883. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11884. 3243 .loc 1 1640 7 is_stmt 1 view .LVU1134
  11885. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11886. 3244 .loc 1 1618 10 is_stmt 0 view .LVU1135
  11887. 3245 00e2 0028 cmp r0, #0
  11888. 3246 00e4 E3D0 beq .L304
  11889. 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11890. 3247 .loc 1 1621 9 is_stmt 1 view .LVU1136
  11891. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 206
  11892. 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11893. 3248 .loc 1 1621 13 is_stmt 0 view .LVU1137
  11894. 3249 00e6 2368 ldr r3, [r4]
  11895. 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11896. 3250 .loc 1 1621 29 view .LVU1138
  11897. 3251 00e8 5A68 ldr r2, [r3, #4]
  11898. 3252 00ea 42F40042 orr r2, r2, #32768
  11899. 3253 00ee 5A60 str r2, [r3, #4]
  11900. 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11901. 3254 .loc 1 1624 9 is_stmt 1 view .LVU1139
  11902. 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11903. 3255 .loc 1 1624 13 is_stmt 0 view .LVU1140
  11904. 3256 00f0 9A69 ldr r2, [r3, #24]
  11905. 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11906. 3257 .loc 1 1624 12 view .LVU1141
  11907. 3258 00f2 5207 lsls r2, r2, #29
  11908. 3259 00f4 2ED5 bpl .L309
  11909. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11910. 3260 .loc 1 1627 11 is_stmt 1 view .LVU1142
  11911. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11912. 3261 .loc 1 1627 16 is_stmt 0 view .LVU1143
  11913. 3262 00f6 626A ldr r2, [r4, #36]
  11914. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11915. 3263 .loc 1 1627 52 view .LVU1144
  11916. 3264 00f8 5B6A ldr r3, [r3, #36]
  11917. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11918. 3265 .loc 1 1627 29 view .LVU1145
  11919. 3266 00fa 1370 strb r3, [r2]
  11920. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11921. 3267 .loc 1 1630 11 is_stmt 1 view .LVU1146
  11922. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11923. 3268 .loc 1 1632 15 is_stmt 0 view .LVU1147
  11924. 3269 00fc 638D ldrh r3, [r4, #42]
  11925. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11926. 3270 .loc 1 1630 25 view .LVU1148
  11927. 3271 00fe 616A ldr r1, [r4, #36]
  11928. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11929. 3272 .loc 1 1633 25 view .LVU1149
  11930. 3273 0100 228D ldrh r2, [r4, #40]
  11931. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11932. 3274 .loc 1 1632 26 view .LVU1150
  11933. 3275 0102 013B subs r3, r3, #1
  11934. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11935. 3276 .loc 1 1630 25 view .LVU1151
  11936. 3277 0104 0131 adds r1, r1, #1
  11937. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11938. 3278 .loc 1 1632 26 view .LVU1152
  11939. 3279 0106 9BB2 uxth r3, r3
  11940. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11941. 3280 .loc 1 1633 25 view .LVU1153
  11942. 3281 0108 013A subs r2, r2, #1
  11943. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11944. 3282 .loc 1 1630 25 view .LVU1154
  11945. 3283 010a 6162 str r1, [r4, #36]
  11946. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11947. 3284 .loc 1 1632 11 is_stmt 1 view .LVU1155
  11948. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  11949. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 207
  11950. 3285 .loc 1 1632 26 is_stmt 0 view .LVU1156
  11951. 3286 010c 6385 strh r3, [r4, #42] @ movhi
  11952. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11953. 3287 .loc 1 1633 11 is_stmt 1 view .LVU1157
  11954. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11955. 3288 .loc 1 1633 25 is_stmt 0 view .LVU1158
  11956. 3289 010e 2285 strh r2, [r4, #40] @ movhi
  11957. 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11958. 3290 .loc 1 1636 16 view .LVU1159
  11959. 3291 0110 0120 movs r0, #1
  11960. 3292 0112 B4E7 b .L297
  11961. 3293 .L303:
  11962. 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11963. 3294 .loc 1 1650 5 is_stmt 1 view .LVU1160
  11964. 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11965. 3295 .loc 1 1650 9 is_stmt 0 view .LVU1161
  11966. 3296 0114 3246 mov r2, r6
  11967. 3297 0116 2946 mov r1, r5
  11968. 3298 0118 2046 mov r0, r4
  11969. 3299 011a FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
  11970. 3300 .LVL214:
  11971. 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  11972. 3301 .loc 1 1650 8 view .LVU1162
  11973. 3302 011e 30B1 cbz r0, .L305
  11974. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11975. 3303 .loc 1 1653 7 is_stmt 1 view .LVU1163
  11976. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11977. 3304 .loc 1 1653 11 is_stmt 0 view .LVU1164
  11978. 3305 0120 2268 ldr r2, [r4]
  11979. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11980. 3306 .loc 1 1653 27 view .LVU1165
  11981. 3307 0122 5368 ldr r3, [r2, #4]
  11982. 3308 0124 43F40043 orr r3, r3, #32768
  11983. 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11984. 3309 .loc 1 1654 14 view .LVU1166
  11985. 3310 0128 0120 movs r0, #1
  11986. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  11987. 3311 .loc 1 1653 27 view .LVU1167
  11988. 3312 012a 5360 str r3, [r2, #4]
  11989. 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11990. 3313 .loc 1 1654 7 is_stmt 1 view .LVU1168
  11991. 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  11992. 3314 .loc 1 1654 14 is_stmt 0 view .LVU1169
  11993. 3315 012c A7E7 b .L297
  11994. 3316 .L305:
  11995. 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  11996. 3317 .loc 1 1658 5 is_stmt 1 view .LVU1170
  11997. 3318 012e 2368 ldr r3, [r4]
  11998. 3319 0130 2027 movs r7, #32
  11999. 3320 0132 DF61 str r7, [r3, #28]
  12000. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12001. 3321 .loc 1 1661 5 view .LVU1171
  12002. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12003. 3322 .loc 1 1661 9 is_stmt 0 view .LVU1172
  12004. 3323 0134 0122 movs r2, #1
  12005. 3324 0136 2B46 mov r3, r5
  12006. 3325 0138 0096 str r6, [sp]
  12007. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 208
  12008. 3326 013a 4FF40041 mov r1, #32768
  12009. 3327 013e 2046 mov r0, r4
  12010. 3328 0140 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  12011. 3329 .LVL215:
  12012. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  12013. 3330 .loc 1 1664 11 view .LVU1173
  12014. 3331 0144 2268 ldr r2, [r4]
  12015. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12016. 3332 .loc 1 1661 8 view .LVU1174
  12017. 3333 0146 38B1 cbz r0, .L306
  12018. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  12019. 3334 .loc 1 1664 7 is_stmt 1 view .LVU1175
  12020. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  12021. 3335 .loc 1 1664 27 is_stmt 0 view .LVU1176
  12022. 3336 0148 5368 ldr r3, [r2, #4]
  12023. 3337 014a 43F40043 orr r3, r3, #32768
  12024. 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12025. 3338 .loc 1 1665 14 view .LVU1177
  12026. 3339 014e 0120 movs r0, #1
  12027. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  12028. 3340 .loc 1 1664 27 view .LVU1178
  12029. 3341 0150 5360 str r3, [r2, #4]
  12030. 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12031. 3342 .loc 1 1665 7 is_stmt 1 view .LVU1179
  12032. 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12033. 3343 .loc 1 1665 14 is_stmt 0 view .LVU1180
  12034. 3344 0152 94E7 b .L297
  12035. 3345 .L309:
  12036. 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12037. 3346 .loc 1 1636 16 view .LVU1181
  12038. 3347 0154 0120 movs r0, #1
  12039. 3348 0156 92E7 b .L297
  12040. 3349 .L306:
  12041. 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12042. 3350 .loc 1 1669 5 is_stmt 1 view .LVU1182
  12043. 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12044. 3351 .loc 1 1669 25 is_stmt 0 view .LVU1183
  12045. 3352 0158 5368 ldr r3, [r2, #4]
  12046. 3353 015a 43F40043 orr r3, r3, #32768
  12047. 3354 015e 5360 str r3, [r2, #4]
  12048. 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  12049. 3355 .loc 1 1671 5 is_stmt 1 view .LVU1184
  12050. 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  12051. 3356 .loc 1 1671 17 is_stmt 0 view .LVU1185
  12052. 3357 0160 84F84170 strb r7, [r4, #65]
  12053. 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12054. 3358 .loc 1 1672 5 is_stmt 1 view .LVU1186
  12055. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12056. 3359 .loc 1 1675 5 is_stmt 0 view .LVU1187
  12057. 3360 0164 84F84000 strb r0, [r4, #64]
  12058. 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12059. 3361 .loc 1 1672 17 view .LVU1188
  12060. 3362 0168 84F84200 strb r0, [r4, #66]
  12061. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12062. 3363 .loc 1 1675 5 is_stmt 1 view .LVU1189
  12063. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12064. 3364 .loc 1 1675 5 view .LVU1190
  12065. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 209
  12066. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12067. 3365 .loc 1 1675 5 view .LVU1191
  12068. 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12069. 3366 .loc 1 1677 5 view .LVU1192
  12070. 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12071. 3367 .loc 1 1677 12 is_stmt 0 view .LVU1193
  12072. 3368 016c 87E7 b .L297
  12073. 3369 .cfi_endproc
  12074. 3370 .LFE137:
  12075. 3372 016e 00BF .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
  12076. 3373 .align 1
  12077. 3374 .p2align 2,,3
  12078. 3375 .global HAL_I2C_Master_Transmit_IT
  12079. 3376 .syntax unified
  12080. 3377 .thumb
  12081. 3378 .thumb_func
  12082. 3380 HAL_I2C_Master_Transmit_IT:
  12083. 3381 .LVL216:
  12084. 3382 .LFB138:
  12085. 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  12086. 3383 .loc 1 1697 1 is_stmt 1 view -0
  12087. 3384 .cfi_startproc
  12088. 3385 @ args = 0, pretend = 0, frame = 0
  12089. 3386 @ frame_needed = 0, uses_anonymous_args = 0
  12090. 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12091. 3387 .loc 1 1698 3 view .LVU1195
  12092. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12093. 3388 .loc 1 1700 3 view .LVU1196
  12094. 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  12095. 3389 .loc 1 1697 1 is_stmt 0 view .LVU1197
  12096. 3390 0000 F0B5 push {r4, r5, r6, r7, lr}
  12097. 3391 .LCFI39:
  12098. 3392 .cfi_def_cfa_offset 20
  12099. 3393 .cfi_offset 4, -20
  12100. 3394 .cfi_offset 5, -16
  12101. 3395 .cfi_offset 6, -12
  12102. 3396 .cfi_offset 7, -8
  12103. 3397 .cfi_offset 14, -4
  12104. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12105. 3398 .loc 1 1700 11 view .LVU1198
  12106. 3399 0002 90F84150 ldrb r5, [r0, #65] @ zero_extendqisi2
  12107. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12108. 3400 .loc 1 1700 6 view .LVU1199
  12109. 3401 0006 202D cmp r5, #32
  12110. 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  12111. 3402 .loc 1 1697 1 view .LVU1200
  12112. 3403 0008 83B0 sub sp, sp, #12
  12113. 3404 .LCFI40:
  12114. 3405 .cfi_def_cfa_offset 32
  12115. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12116. 3406 .loc 1 1700 6 view .LVU1201
  12117. 3407 000a 36D1 bne .L324
  12118. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12119. 3408 .loc 1 1702 5 is_stmt 1 view .LVU1202
  12120. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12121. 3409 .loc 1 1702 9 is_stmt 0 view .LVU1203
  12122. 3410 000c 0668 ldr r6, [r0]
  12123. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 210
  12124. 3411 000e B569 ldr r5, [r6, #24]
  12125. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12126. 3412 .loc 1 1702 8 view .LVU1204
  12127. 3413 0010 15F40045 ands r5, r5, #32768
  12128. 3414 0014 0446 mov r4, r0
  12129. 3415 0016 30D1 bne .L324
  12130. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12131. 3416 .loc 1 1708 5 is_stmt 1 view .LVU1205
  12132. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12133. 3417 .loc 1 1708 5 view .LVU1206
  12134. 3418 0018 90F840E0 ldrb lr, [r0, #64] @ zero_extendqisi2
  12135. 3419 001c BEF1010F cmp lr, #1
  12136. 3420 0020 2BD0 beq .L324
  12137. 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  12138. 3421 .loc 1 1710 23 is_stmt 0 discriminator 2 view .LVU1207
  12139. 3422 0022 4FF0210E mov lr, #33
  12140. 3423 0026 80F841E0 strb lr, [r0, #65]
  12141. 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  12142. 3424 .loc 1 1717 23 discriminator 2 view .LVU1208
  12143. 3425 002a 254F ldr r7, .L328
  12144. 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  12145. 3426 .loc 1 1715 23 discriminator 2 view .LVU1209
  12146. 3427 002c 4262 str r2, [r0, #36]
  12147. 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  12148. 3428 .loc 1 1711 23 discriminator 2 view .LVU1210
  12149. 3429 002e 4FF0100E mov lr, #16
  12150. 3430 0032 80F842E0 strb lr, [r0, #66]
  12151. 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12152. 3431 .loc 1 1712 23 discriminator 2 view .LVU1211
  12153. 3432 0036 4564 str r5, [r0, #68]
  12154. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12155. 3433 .loc 1 1716 23 discriminator 2 view .LVU1212
  12156. 3434 0038 4385 strh r3, [r0, #42] @ movhi
  12157. 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  12158. 3435 .loc 1 1717 23 discriminator 2 view .LVU1213
  12159. 3436 003a C762 str r7, [r0, #44]
  12160. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12161. 3437 .loc 1 1720 13 discriminator 2 view .LVU1214
  12162. 3438 003c 438D ldrh r3, [r0, #42]
  12163. 3439 .LVL217:
  12164. 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12165. 3440 .loc 1 1718 23 discriminator 2 view .LVU1215
  12166. 3441 003e 214D ldr r5, .L328+4
  12167. 3442 0040 4563 str r5, [r0, #52]
  12168. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12169. 3443 .loc 1 1720 13 discriminator 2 view .LVU1216
  12170. 3444 0042 9BB2 uxth r3, r3
  12171. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12172. 3445 .loc 1 1708 5 discriminator 2 view .LVU1217
  12173. 3446 0044 0125 movs r5, #1
  12174. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12175. 3447 .loc 1 1720 8 discriminator 2 view .LVU1218
  12176. 3448 0046 FF2B cmp r3, #255
  12177. 3449 0048 8C46 mov ip, r1
  12178. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12179. 3450 .loc 1 1708 5 is_stmt 1 discriminator 2 view .LVU1219
  12180. 3451 004a 80F84050 strb r5, [r0, #64]
  12181. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 211
  12182. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12183. 3452 .loc 1 1708 5 discriminator 2 view .LVU1220
  12184. 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  12185. 3453 .loc 1 1710 5 discriminator 2 view .LVU1221
  12186. 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  12187. 3454 .loc 1 1711 5 discriminator 2 view .LVU1222
  12188. 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12189. 3455 .loc 1 1712 5 discriminator 2 view .LVU1223
  12190. 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  12191. 3456 .loc 1 1715 5 discriminator 2 view .LVU1224
  12192. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12193. 3457 .loc 1 1716 5 discriminator 2 view .LVU1225
  12194. 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  12195. 3458 .loc 1 1717 5 discriminator 2 view .LVU1226
  12196. 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12197. 3459 .loc 1 1718 5 discriminator 2 view .LVU1227
  12198. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12199. 3460 .loc 1 1720 5 discriminator 2 view .LVU1228
  12200. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12201. 3461 .loc 1 1720 8 is_stmt 0 discriminator 2 view .LVU1229
  12202. 3462 004e 17D8 bhi .L318
  12203. 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  12204. 3463 .loc 1 1727 7 is_stmt 1 view .LVU1230
  12205. 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  12206. 3464 .loc 1 1727 28 is_stmt 0 view .LVU1231
  12207. 3465 0050 458D ldrh r5, [r0, #42]
  12208. 3466 0052 ADB2 uxth r5, r5
  12209. 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12210. 3467 .loc 1 1728 7 is_stmt 1 view .LVU1232
  12211. 3468 0054 0585 strh r5, [r0, #40] @ movhi
  12212. 3469 .LVL218:
  12213. 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12214. 3470 .loc 1 1733 5 view .LVU1233
  12215. 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12216. 3471 .loc 1 1733 8 is_stmt 0 view .LVU1234
  12217. 3472 0056 5DBB cbnz r5, .L327
  12218. 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12219. 3473 .loc 1 1750 7 is_stmt 1 view .LVU1235
  12220. 3474 0058 1B4B ldr r3, .L328+8
  12221. 3475 005a 0093 str r3, [sp]
  12222. 3476 005c 2A46 mov r2, r5
  12223. 3477 .LVL219:
  12224. 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12225. 3478 .loc 1 1750 7 is_stmt 0 view .LVU1236
  12226. 3479 005e 4FF00073 mov r3, #33554432
  12227. 3480 0062 FFF7FEFF bl I2C_TransferConfig
  12228. 3481 .LVL220:
  12229. 3482 .L320:
  12230. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12231. 3483 .loc 1 1755 5 is_stmt 1 view .LVU1237
  12232. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12233. 3484 .loc 1 1755 5 view .LVU1238
  12234. 3485 .LBB118:
  12235. 3486 .LBB119:
  12236. 7352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12237. 7353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  12238. 7354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
  12239. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 212
  12240. 7355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  12241. 7356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  12242. 7357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
  12243. 7358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  12244. 7359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  12245. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
  12246. 7361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12247. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U;
  12248. 7363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12249. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \
  12250. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  12251. 7366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  12252. 7367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12253. 7368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
  12254. 7369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12255. 7370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
  12256. 7371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
  12257. 7372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12258. 7373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12259. 7374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
  12260. 7375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12261. 7376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
  12262. 7377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
  12263. 7378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12264. 7379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12265. 7380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
  12266. 7381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12267. 7382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
  12268. 7383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
  12269. 7384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12270. 7385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12271. 7386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
  12272. 7387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12273. 7388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
  12274. 7389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
  12275. 7390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12276. 7391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12277. 7392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
  12278. 7393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12279. 7394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */
  12280. 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
  12281. 7396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12282. 7397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12283. 7398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12284. 7399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  12285. 7400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12286. 7401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
  12287. 7402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12288. 7403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
  12289. 7404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
  12290. 7405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12291. 7406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12292. 7407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
  12293. 7408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12294. 7409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
  12295. 7410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
  12296. 7411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12297. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 213
  12298. 7412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12299. 7413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
  12300. 7414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12301. 7415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
  12302. 7416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
  12303. 7417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12304. 7418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12305. 7419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
  12306. 7420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12307. 7421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
  12308. 7422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
  12309. 7423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12310. 7424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12311. 7425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
  12312. 7426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12313. 7427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */
  12314. 7428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI);
  12315. 7429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12316. 7430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12317. 7431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
  12318. 7432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12319. 7433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
  12320. 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
  12321. 7435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12322. 7436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12323. 7437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12324. 7438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable interrupts only at the end */
  12325. 7439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
  12326. 7440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all interrupts requested done */
  12327. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
  12328. 3487 .loc 1 7441 3 is_stmt 0 view .LVU1239
  12329. 3488 0066 2268 ldr r2, [r4]
  12330. 3489 .LBE119:
  12331. 3490 .LBE118:
  12332. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12333. 3491 .loc 1 1755 5 view .LVU1240
  12334. 3492 0068 0020 movs r0, #0
  12335. 3493 006a 84F84000 strb r0, [r4, #64]
  12336. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12337. 3494 .loc 1 1755 5 is_stmt 1 view .LVU1241
  12338. 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12339. 3495 .loc 1 1765 5 view .LVU1242
  12340. 3496 .LVL221:
  12341. 3497 .LBB121:
  12342. 3498 .LBI118:
  12343. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12344. 3499 .loc 1 7360 13 view .LVU1243
  12345. 3500 .LBB120:
  12346. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12347. 3501 .loc 1 7362 3 view .LVU1244
  12348. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  12349. 3502 .loc 1 7364 3 view .LVU1245
  12350. 3503 .loc 1 7441 3 view .LVU1246
  12351. 3504 006e 1368 ldr r3, [r2]
  12352. 3505 0070 43F0F203 orr r3, r3, #242
  12353. 3506 0074 1360 str r3, [r2]
  12354. 3507 .LBE120:
  12355. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 214
  12356. 3508 .LBE121:
  12357. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12358. 3509 .loc 1 1773 1 is_stmt 0 view .LVU1247
  12359. 3510 0076 03B0 add sp, sp, #12
  12360. 3511 .LCFI41:
  12361. 3512 .cfi_remember_state
  12362. 3513 .cfi_def_cfa_offset 20
  12363. 3514 @ sp needed
  12364. 3515 0078 F0BD pop {r4, r5, r6, r7, pc}
  12365. 3516 .LVL222:
  12366. 3517 .L324:
  12367. 3518 .LCFI42:
  12368. 3519 .cfi_restore_state
  12369. 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12370. 3520 .loc 1 1771 12 view .LVU1248
  12371. 3521 007a 0220 movs r0, #2
  12372. 3522 .LVL223:
  12373. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12374. 3523 .loc 1 1773 1 view .LVU1249
  12375. 3524 007c 03B0 add sp, sp, #12
  12376. 3525 .LCFI43:
  12377. 3526 .cfi_remember_state
  12378. 3527 .cfi_def_cfa_offset 20
  12379. 3528 @ sp needed
  12380. 3529 007e F0BD pop {r4, r5, r6, r7, pc}
  12381. 3530 .LVL224:
  12382. 3531 .L318:
  12383. 3532 .LCFI44:
  12384. 3533 .cfi_restore_state
  12385. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12386. 3534 .loc 1 1773 1 view .LVU1250
  12387. 3535 0080 FF23 movs r3, #255
  12388. 3536 0082 0385 strh r3, [r0, #40] @ movhi
  12389. 3537 .LVL225:
  12390. 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12391. 3538 .loc 1 1733 5 is_stmt 1 view .LVU1251
  12392. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12393. 3539 .loc 1 1720 8 is_stmt 0 view .LVU1252
  12394. 3540 0084 1946 mov r1, r3
  12395. 3541 .LVL226:
  12396. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12397. 3542 .loc 1 1720 8 view .LVU1253
  12398. 3543 0086 FE20 movs r0, #254
  12399. 3544 .LVL227:
  12400. 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12401. 3545 .loc 1 1723 16 view .LVU1254
  12402. 3546 0088 4FF08073 mov r3, #16777216
  12403. 3547 .LVL228:
  12404. 3548 .L321:
  12405. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12406. 3549 .loc 1 1737 7 is_stmt 1 view .LVU1255
  12407. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12408. 3550 .loc 1 1737 30 is_stmt 0 view .LVU1256
  12409. 3551 008c 1546 mov r5, r2
  12410. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12411. 3552 .loc 1 1745 7 view .LVU1257
  12412. 3553 008e 0A46 mov r2, r1
  12413. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 215
  12414. 3554 .LVL229:
  12415. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12416. 3555 .loc 1 1737 30 view .LVU1258
  12417. 3556 0090 15F8017B ldrb r7, [r5], #1 @ zero_extendqisi2
  12418. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12419. 3557 .loc 1 1737 28 view .LVU1259
  12420. 3558 0094 B762 str r7, [r6, #40]
  12421. 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12422. 3559 .loc 1 1740 7 is_stmt 1 view .LVU1260
  12423. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12424. 3560 .loc 1 1743 21 is_stmt 0 view .LVU1261
  12425. 3561 0096 2085 strh r0, [r4, #40] @ movhi
  12426. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12427. 3562 .loc 1 1745 7 view .LVU1262
  12428. 3563 0098 0B48 ldr r0, .L328+8
  12429. 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12430. 3564 .loc 1 1740 21 view .LVU1263
  12431. 3565 009a 6562 str r5, [r4, #36]
  12432. 3566 .LVL230:
  12433. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12434. 3567 .loc 1 1742 7 is_stmt 1 view .LVU1264
  12435. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12436. 3568 .loc 1 1745 7 is_stmt 0 view .LVU1265
  12437. 3569 009c 0090 str r0, [sp]
  12438. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12439. 3570 .loc 1 1742 11 view .LVU1266
  12440. 3571 009e 658D ldrh r5, [r4, #42]
  12441. 3572 .LVL231:
  12442. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12443. 3573 .loc 1 1742 22 view .LVU1267
  12444. 3574 00a0 013D subs r5, r5, #1
  12445. 3575 00a2 ADB2 uxth r5, r5
  12446. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12447. 3576 .loc 1 1745 7 view .LVU1268
  12448. 3577 00a4 6146 mov r1, ip
  12449. 3578 00a6 2046 mov r0, r4
  12450. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12451. 3579 .loc 1 1742 22 view .LVU1269
  12452. 3580 00a8 6585 strh r5, [r4, #42] @ movhi
  12453. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12454. 3581 .loc 1 1743 7 is_stmt 1 view .LVU1270
  12455. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12456. 3582 .loc 1 1745 7 view .LVU1271
  12457. 3583 00aa FFF7FEFF bl I2C_TransferConfig
  12458. 3584 .LVL232:
  12459. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12460. 3585 .loc 1 1745 7 is_stmt 0 view .LVU1272
  12461. 3586 00ae DAE7 b .L320
  12462. 3587 .LVL233:
  12463. 3588 .L327:
  12464. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12465. 3589 .loc 1 1743 21 view .LVU1273
  12466. 3590 00b0 681E subs r0, r5, #1
  12467. 3591 .LVL234:
  12468. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12469. 3592 .loc 1 1743 21 view .LVU1274
  12470. 3593 00b2 80B2 uxth r0, r0
  12471. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 216
  12472. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  12473. 3594 .loc 1 1745 7 view .LVU1275
  12474. 3595 00b4 431C adds r3, r0, #1
  12475. 3596 00b6 D9B2 uxtb r1, r3
  12476. 3597 .LVL235:
  12477. 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12478. 3598 .loc 1 1728 16 view .LVU1276
  12479. 3599 00b8 4FF00073 mov r3, #33554432
  12480. 3600 00bc E6E7 b .L321
  12481. 3601 .L329:
  12482. 3602 00be 00BF .align 2
  12483. 3603 .L328:
  12484. 3604 00c0 0000FFFF .word -65536
  12485. 3605 00c4 00000000 .word I2C_Master_ISR_IT
  12486. 3606 00c8 00200080 .word -2147475456
  12487. 3607 .cfi_endproc
  12488. 3608 .LFE138:
  12489. 3610 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
  12490. 3611 .align 1
  12491. 3612 .p2align 2,,3
  12492. 3613 .global HAL_I2C_Master_Receive_IT
  12493. 3614 .syntax unified
  12494. 3615 .thumb
  12495. 3616 .thumb_func
  12496. 3618 HAL_I2C_Master_Receive_IT:
  12497. 3619 .LVL236:
  12498. 3620 .LFB139:
  12499. 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  12500. 3621 .loc 1 1787 1 is_stmt 1 view -0
  12501. 3622 .cfi_startproc
  12502. 3623 @ args = 0, pretend = 0, frame = 0
  12503. 3624 @ frame_needed = 0, uses_anonymous_args = 0
  12504. 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12505. 3625 .loc 1 1788 3 view .LVU1278
  12506. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12507. 3626 .loc 1 1790 3 view .LVU1279
  12508. 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  12509. 3627 .loc 1 1787 1 is_stmt 0 view .LVU1280
  12510. 3628 0000 10B5 push {r4, lr}
  12511. 3629 .LCFI45:
  12512. 3630 .cfi_def_cfa_offset 8
  12513. 3631 .cfi_offset 4, -8
  12514. 3632 .cfi_offset 14, -4
  12515. 3633 0002 0446 mov r4, r0
  12516. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12517. 3634 .loc 1 1790 11 view .LVU1281
  12518. 3635 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
  12519. 3636 .LVL237:
  12520. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12521. 3637 .loc 1 1790 6 view .LVU1282
  12522. 3638 0008 2028 cmp r0, #32
  12523. 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  12524. 3639 .loc 1 1787 1 view .LVU1283
  12525. 3640 000a 82B0 sub sp, sp, #8
  12526. 3641 .LCFI46:
  12527. 3642 .cfi_def_cfa_offset 16
  12528. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12529. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 217
  12530. 3643 .loc 1 1790 6 view .LVU1284
  12531. 3644 000c 34D1 bne .L335
  12532. 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12533. 3645 .loc 1 1792 5 is_stmt 1 view .LVU1285
  12534. 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12535. 3646 .loc 1 1792 9 is_stmt 0 view .LVU1286
  12536. 3647 000e 2068 ldr r0, [r4]
  12537. 3648 0010 8069 ldr r0, [r0, #24]
  12538. 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12539. 3649 .loc 1 1792 8 view .LVU1287
  12540. 3650 0012 10F40040 ands r0, r0, #32768
  12541. 3651 0016 2FD1 bne .L335
  12542. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12543. 3652 .loc 1 1798 5 is_stmt 1 view .LVU1288
  12544. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12545. 3653 .loc 1 1798 5 view .LVU1289
  12546. 3654 0018 94F840C0 ldrb ip, [r4, #64] @ zero_extendqisi2
  12547. 3655 001c BCF1010F cmp ip, #1
  12548. 3656 0020 2AD0 beq .L335
  12549. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12550. 3657 .loc 1 1798 5 discriminator 2 view .LVU1290
  12551. 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  12552. 3658 .loc 1 1800 23 is_stmt 0 discriminator 2 view .LVU1291
  12553. 3659 0022 4FF0220C mov ip, #34
  12554. 3660 0026 84F841C0 strb ip, [r4, #65]
  12555. 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  12556. 3661 .loc 1 1805 23 discriminator 2 view .LVU1292
  12557. 3662 002a 6262 str r2, [r4, #36]
  12558. 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  12559. 3663 .loc 1 1801 23 discriminator 2 view .LVU1293
  12560. 3664 002c 4FF0100C mov ip, #16
  12561. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  12562. 3665 .loc 1 1807 23 discriminator 2 view .LVU1294
  12563. 3666 0030 154A ldr r2, .L338
  12564. 3667 .LVL238:
  12565. 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  12566. 3668 .loc 1 1801 23 discriminator 2 view .LVU1295
  12567. 3669 0032 84F842C0 strb ip, [r4, #66]
  12568. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12569. 3670 .loc 1 1802 23 discriminator 2 view .LVU1296
  12570. 3671 0036 6064 str r0, [r4, #68]
  12571. 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12572. 3672 .loc 1 1806 23 discriminator 2 view .LVU1297
  12573. 3673 0038 6385 strh r3, [r4, #42] @ movhi
  12574. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  12575. 3674 .loc 1 1807 23 discriminator 2 view .LVU1298
  12576. 3675 003a E262 str r2, [r4, #44]
  12577. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12578. 3676 .loc 1 1810 13 discriminator 2 view .LVU1299
  12579. 3677 003c 638D ldrh r3, [r4, #42]
  12580. 3678 .LVL239:
  12581. 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12582. 3679 .loc 1 1808 23 discriminator 2 view .LVU1300
  12583. 3680 003e 134A ldr r2, .L338+4
  12584. 3681 0040 6263 str r2, [r4, #52]
  12585. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12586. 3682 .loc 1 1810 13 discriminator 2 view .LVU1301
  12587. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 218
  12588. 3683 0042 9BB2 uxth r3, r3
  12589. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12590. 3684 .loc 1 1798 5 discriminator 2 view .LVU1302
  12591. 3685 0044 0122 movs r2, #1
  12592. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12593. 3686 .loc 1 1810 8 discriminator 2 view .LVU1303
  12594. 3687 0046 FF2B cmp r3, #255
  12595. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12596. 3688 .loc 1 1798 5 discriminator 2 view .LVU1304
  12597. 3689 0048 84F84020 strb r2, [r4, #64]
  12598. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12599. 3690 .loc 1 1798 5 is_stmt 1 discriminator 2 view .LVU1305
  12600. 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  12601. 3691 .loc 1 1800 5 discriminator 2 view .LVU1306
  12602. 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  12603. 3692 .loc 1 1801 5 discriminator 2 view .LVU1307
  12604. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12605. 3693 .loc 1 1802 5 discriminator 2 view .LVU1308
  12606. 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  12607. 3694 .loc 1 1805 5 discriminator 2 view .LVU1309
  12608. 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12609. 3695 .loc 1 1806 5 discriminator 2 view .LVU1310
  12610. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  12611. 3696 .loc 1 1807 5 discriminator 2 view .LVU1311
  12612. 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12613. 3697 .loc 1 1808 5 discriminator 2 view .LVU1312
  12614. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12615. 3698 .loc 1 1810 5 discriminator 2 view .LVU1313
  12616. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12617. 3699 .loc 1 1810 8 is_stmt 0 discriminator 2 view .LVU1314
  12618. 3700 004c 17D8 bhi .L336
  12619. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  12620. 3701 .loc 1 1817 7 is_stmt 1 view .LVU1315
  12621. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  12622. 3702 .loc 1 1817 28 is_stmt 0 view .LVU1316
  12623. 3703 004e 628D ldrh r2, [r4, #42]
  12624. 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12625. 3704 .loc 1 1818 16 view .LVU1317
  12626. 3705 0050 4FF00073 mov r3, #33554432
  12627. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  12628. 3706 .loc 1 1817 28 view .LVU1318
  12629. 3707 0054 90B2 uxth r0, r2
  12630. 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12631. 3708 .loc 1 1818 7 is_stmt 1 view .LVU1319
  12632. 3709 .LVL240:
  12633. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12634. 3710 .loc 1 1823 5 is_stmt 0 view .LVU1320
  12635. 3711 0056 D2B2 uxtb r2, r2
  12636. 3712 .LVL241:
  12637. 3713 .L332:
  12638. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12639. 3714 .loc 1 1823 5 view .LVU1321
  12640. 3715 0058 2085 strh r0, [r4, #40] @ movhi
  12641. 3716 .LVL242:
  12642. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12643. 3717 .loc 1 1823 5 is_stmt 1 view .LVU1322
  12644. 3718 005a 0D48 ldr r0, .L338+8
  12645. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 219
  12646. 3719 005c 0090 str r0, [sp]
  12647. 3720 .LVL243:
  12648. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12649. 3721 .loc 1 1823 5 is_stmt 0 view .LVU1323
  12650. 3722 005e 2046 mov r0, r4
  12651. 3723 0060 FFF7FEFF bl I2C_TransferConfig
  12652. 3724 .LVL244:
  12653. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12654. 3725 .loc 1 1826 5 is_stmt 1 view .LVU1324
  12655. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12656. 3726 .loc 1 1826 5 view .LVU1325
  12657. 3727 .LBB124:
  12658. 3728 .LBB125:
  12659. 3729 .loc 1 7441 3 is_stmt 0 view .LVU1326
  12660. 3730 0064 2268 ldr r2, [r4]
  12661. 3731 .LBE125:
  12662. 3732 .LBE124:
  12663. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12664. 3733 .loc 1 1826 5 view .LVU1327
  12665. 3734 0066 0020 movs r0, #0
  12666. 3735 0068 84F84000 strb r0, [r4, #64]
  12667. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12668. 3736 .loc 1 1826 5 is_stmt 1 view .LVU1328
  12669. 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12670. 3737 .loc 1 1836 5 view .LVU1329
  12671. 3738 .LVL245:
  12672. 3739 .LBB127:
  12673. 3740 .LBI124:
  12674. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12675. 3741 .loc 1 7360 13 view .LVU1330
  12676. 3742 .LBB126:
  12677. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12678. 3743 .loc 1 7362 3 view .LVU1331
  12679. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  12680. 3744 .loc 1 7364 3 view .LVU1332
  12681. 3745 .loc 1 7441 3 view .LVU1333
  12682. 3746 006c 1368 ldr r3, [r2]
  12683. 3747 006e 43F0F403 orr r3, r3, #244
  12684. 3748 0072 1360 str r3, [r2]
  12685. 3749 .LVL246:
  12686. 3750 .loc 1 7441 3 is_stmt 0 view .LVU1334
  12687. 3751 .LBE126:
  12688. 3752 .LBE127:
  12689. 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12690. 3753 .loc 1 1844 1 view .LVU1335
  12691. 3754 0074 02B0 add sp, sp, #8
  12692. 3755 .LCFI47:
  12693. 3756 .cfi_remember_state
  12694. 3757 .cfi_def_cfa_offset 8
  12695. 3758 @ sp needed
  12696. 3759 0076 10BD pop {r4, pc}
  12697. 3760 .LVL247:
  12698. 3761 .L335:
  12699. 3762 .LCFI48:
  12700. 3763 .cfi_restore_state
  12701. 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12702. 3764 .loc 1 1842 12 view .LVU1336
  12703. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 220
  12704. 3765 0078 0220 movs r0, #2
  12705. 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12706. 3766 .loc 1 1844 1 view .LVU1337
  12707. 3767 007a 02B0 add sp, sp, #8
  12708. 3768 .LCFI49:
  12709. 3769 .cfi_remember_state
  12710. 3770 .cfi_def_cfa_offset 8
  12711. 3771 @ sp needed
  12712. 3772 007c 10BD pop {r4, pc}
  12713. 3773 .LVL248:
  12714. 3774 .L336:
  12715. 3775 .LCFI50:
  12716. 3776 .cfi_restore_state
  12717. 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  12718. 3777 .loc 1 1812 22 view .LVU1338
  12719. 3778 007e 1046 mov r0, r2
  12720. 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12721. 3779 .loc 1 1813 16 view .LVU1339
  12722. 3780 0080 4FF08073 mov r3, #16777216
  12723. 3781 0084 E8E7 b .L332
  12724. 3782 .L339:
  12725. 3783 0086 00BF .align 2
  12726. 3784 .L338:
  12727. 3785 0088 0000FFFF .word -65536
  12728. 3786 008c 00000000 .word I2C_Master_ISR_IT
  12729. 3787 0090 00240080 .word -2147474432
  12730. 3788 .cfi_endproc
  12731. 3789 .LFE139:
  12732. 3791 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
  12733. 3792 .align 1
  12734. 3793 .p2align 2,,3
  12735. 3794 .global HAL_I2C_Slave_Transmit_IT
  12736. 3795 .syntax unified
  12737. 3796 .thumb
  12738. 3797 .thumb_func
  12739. 3799 HAL_I2C_Slave_Transmit_IT:
  12740. 3800 .LVL249:
  12741. 3801 .LFB140:
  12742. 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  12743. 3802 .loc 1 1855 1 is_stmt 1 view -0
  12744. 3803 .cfi_startproc
  12745. 3804 @ args = 0, pretend = 0, frame = 0
  12746. 3805 @ frame_needed = 0, uses_anonymous_args = 0
  12747. 3806 @ link register save eliminated.
  12748. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12749. 3807 .loc 1 1856 3 view .LVU1341
  12750. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12751. 3808 .loc 1 1856 11 is_stmt 0 view .LVU1342
  12752. 3809 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  12753. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12754. 3810 .loc 1 1856 6 view .LVU1343
  12755. 3811 0004 202B cmp r3, #32
  12756. 3812 0006 2DD1 bne .L344
  12757. 3813 0008 5FFA83FC uxtb ip, r3
  12758. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12759. 3814 .loc 1 1859 5 is_stmt 1 view .LVU1344
  12760. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12761. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 221
  12762. 3815 .loc 1 1859 5 view .LVU1345
  12763. 3816 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  12764. 3817 0010 012B cmp r3, #1
  12765. 3818 0012 27D0 beq .L344
  12766. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12767. 3819 .loc 1 1859 5 discriminator 2 view .LVU1346
  12768. 3820 0014 0123 movs r3, #1
  12769. 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  12770. 3821 .loc 1 1855 1 is_stmt 0 discriminator 2 view .LVU1347
  12771. 3822 0016 10B4 push {r4}
  12772. 3823 .LCFI51:
  12773. 3824 .cfi_def_cfa_offset 4
  12774. 3825 .cfi_offset 4, -4
  12775. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12776. 3826 .loc 1 1859 5 discriminator 2 view .LVU1348
  12777. 3827 0018 80F84030 strb r3, [r0, #64]
  12778. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12779. 3828 .loc 1 1859 5 is_stmt 1 discriminator 2 view .LVU1349
  12780. 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  12781. 3829 .loc 1 1861 5 discriminator 2 view .LVU1350
  12782. 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  12783. 3830 .loc 1 1861 23 is_stmt 0 discriminator 2 view .LVU1351
  12784. 3831 001c 2123 movs r3, #33
  12785. 3832 001e 80F84130 strb r3, [r0, #65]
  12786. 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  12787. 3833 .loc 1 1862 5 is_stmt 1 discriminator 2 view .LVU1352
  12788. 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12789. 3834 .loc 1 1866 9 is_stmt 0 discriminator 2 view .LVU1353
  12790. 3835 0022 0468 ldr r4, [r0]
  12791. 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  12792. 3836 .loc 1 1862 23 discriminator 2 view .LVU1354
  12793. 3837 0024 80F842C0 strb ip, [r0, #66]
  12794. 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12795. 3838 .loc 1 1863 5 is_stmt 1 discriminator 2 view .LVU1355
  12796. 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12797. 3839 .loc 1 1863 23 is_stmt 0 discriminator 2 view .LVU1356
  12798. 3840 0028 0023 movs r3, #0
  12799. 3841 002a 4364 str r3, [r0, #68]
  12800. 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12801. 3842 .loc 1 1866 5 is_stmt 1 discriminator 2 view .LVU1357
  12802. 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12803. 3843 .loc 1 1866 25 is_stmt 0 discriminator 2 view .LVU1358
  12804. 3844 002c 6368 ldr r3, [r4, #4]
  12805. 3845 002e 23F40043 bic r3, r3, #32768
  12806. 3846 0032 6360 str r3, [r4, #4]
  12807. 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  12808. 3847 .loc 1 1869 5 is_stmt 1 discriminator 2 view .LVU1359
  12809. 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  12810. 3848 .loc 1 1870 23 is_stmt 0 discriminator 2 view .LVU1360
  12811. 3849 0034 4285 strh r2, [r0, #42] @ movhi
  12812. 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  12813. 3850 .loc 1 1872 23 discriminator 2 view .LVU1361
  12814. 3851 0036 124A ldr r2, .L350
  12815. 3852 .LVL250:
  12816. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12817. 3853 .loc 1 1871 29 discriminator 2 view .LVU1362
  12818. 3854 0038 438D ldrh r3, [r0, #42]
  12819. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 222
  12820. 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  12821. 3855 .loc 1 1872 23 discriminator 2 view .LVU1363
  12822. 3856 003a C262 str r2, [r0, #44]
  12823. 3857 .LVL251:
  12824. 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12825. 3858 .loc 1 1873 23 discriminator 2 view .LVU1364
  12826. 3859 003c 114A ldr r2, .L350+4
  12827. 3860 003e 4263 str r2, [r0, #52]
  12828. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12829. 3861 .loc 1 1876 8 discriminator 2 view .LVU1365
  12830. 3862 0040 026A ldr r2, [r0, #32]
  12831. 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  12832. 3863 .loc 1 1869 23 discriminator 2 view .LVU1366
  12833. 3864 0042 4162 str r1, [r0, #36]
  12834. 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  12835. 3865 .loc 1 1870 5 is_stmt 1 discriminator 2 view .LVU1367
  12836. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12837. 3866 .loc 1 1871 5 discriminator 2 view .LVU1368
  12838. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12839. 3867 .loc 1 1871 29 is_stmt 0 discriminator 2 view .LVU1369
  12840. 3868 0044 9BB2 uxth r3, r3
  12841. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12842. 3869 .loc 1 1876 8 discriminator 2 view .LVU1370
  12843. 3870 0046 B2F5003F cmp r2, #131072
  12844. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  12845. 3871 .loc 1 1871 23 discriminator 2 view .LVU1371
  12846. 3872 004a 0385 strh r3, [r0, #40] @ movhi
  12847. 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  12848. 3873 .loc 1 1872 5 is_stmt 1 discriminator 2 view .LVU1372
  12849. 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12850. 3874 .loc 1 1873 5 discriminator 2 view .LVU1373
  12851. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12852. 3875 .loc 1 1876 5 discriminator 2 view .LVU1374
  12853. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12854. 3876 .loc 1 1876 8 is_stmt 0 discriminator 2 view .LVU1375
  12855. 3877 004c 0CD0 beq .L349
  12856. 3878 .LVL252:
  12857. 3879 .L342:
  12858. 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12859. 3880 .loc 1 1890 5 is_stmt 1 view .LVU1376
  12860. 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12861. 3881 .loc 1 1890 5 view .LVU1377
  12862. 3882 004e 0023 movs r3, #0
  12863. 3883 0050 80F84030 strb r3, [r0, #64]
  12864. 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12865. 3884 .loc 1 1890 5 view .LVU1378
  12866. 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12867. 3885 .loc 1 1900 5 view .LVU1379
  12868. 3886 .LVL253:
  12869. 3887 .LBB130:
  12870. 3888 .LBI130:
  12871. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12872. 3889 .loc 1 7360 13 view .LVU1380
  12873. 3890 .LBB131:
  12874. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12875. 3891 .loc 1 7362 3 view .LVU1381
  12876. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  12877. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 223
  12878. 3892 .loc 1 7364 3 view .LVU1382
  12879. 3893 .loc 1 7441 3 view .LVU1383
  12880. 3894 0054 2268 ldr r2, [r4]
  12881. 3895 0056 42F0FA02 orr r2, r2, #250
  12882. 3896 .LBE131:
  12883. 3897 .LBE130:
  12884. 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12885. 3898 .loc 1 1902 12 is_stmt 0 view .LVU1384
  12886. 3899 005a 1846 mov r0, r3
  12887. 3900 .LVL254:
  12888. 3901 .LBB133:
  12889. 3902 .LBB132:
  12890. 3903 .loc 1 7441 3 view .LVU1385
  12891. 3904 005c 2260 str r2, [r4]
  12892. 3905 .LVL255:
  12893. 3906 .loc 1 7441 3 view .LVU1386
  12894. 3907 .LBE132:
  12895. 3908 .LBE133:
  12896. 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12897. 3909 .loc 1 1908 1 view .LVU1387
  12898. 3910 005e 5DF8044B ldr r4, [sp], #4
  12899. 3911 .LCFI52:
  12900. 3912 .cfi_restore 4
  12901. 3913 .cfi_def_cfa_offset 0
  12902. 3914 0062 7047 bx lr
  12903. 3915 .LVL256:
  12904. 3916 .L344:
  12905. 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12906. 3917 .loc 1 1906 12 view .LVU1388
  12907. 3918 0064 0220 movs r0, #2
  12908. 3919 .LVL257:
  12909. 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12910. 3920 .loc 1 1908 1 view .LVU1389
  12911. 3921 0066 7047 bx lr
  12912. 3922 .LVL258:
  12913. 3923 .L349:
  12914. 3924 .LCFI53:
  12915. 3925 .cfi_def_cfa_offset 4
  12916. 3926 .cfi_offset 4, -4
  12917. 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12918. 3927 .loc 1 1880 7 is_stmt 1 view .LVU1390
  12919. 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12920. 3928 .loc 1 1880 30 is_stmt 0 view .LVU1391
  12921. 3929 0068 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2
  12922. 3930 .LVL259:
  12923. 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12924. 3931 .loc 1 1880 28 view .LVU1392
  12925. 3932 006c A262 str r2, [r4, #40]
  12926. 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12927. 3933 .loc 1 1883 7 is_stmt 1 view .LVU1393
  12928. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12929. 3934 .loc 1 1885 11 is_stmt 0 view .LVU1394
  12930. 3935 006e 428D ldrh r2, [r0, #42]
  12931. 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12932. 3936 .loc 1 1883 21 view .LVU1395
  12933. 3937 0070 4162 str r1, [r0, #36]
  12934. 3938 .LVL260:
  12935. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 224
  12936. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12937. 3939 .loc 1 1885 7 is_stmt 1 view .LVU1396
  12938. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12939. 3940 .loc 1 1885 22 is_stmt 0 view .LVU1397
  12940. 3941 0072 013A subs r2, r2, #1
  12941. 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12942. 3942 .loc 1 1886 21 view .LVU1398
  12943. 3943 0074 013B subs r3, r3, #1
  12944. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  12945. 3944 .loc 1 1885 22 view .LVU1399
  12946. 3945 0076 92B2 uxth r2, r2
  12947. 3946 0078 4285 strh r2, [r0, #42] @ movhi
  12948. 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12949. 3947 .loc 1 1886 7 is_stmt 1 view .LVU1400
  12950. 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  12951. 3948 .loc 1 1886 21 is_stmt 0 view .LVU1401
  12952. 3949 007a 0385 strh r3, [r0, #40] @ movhi
  12953. 3950 007c E7E7 b .L342
  12954. 3951 .L351:
  12955. 3952 007e 00BF .align 2
  12956. 3953 .L350:
  12957. 3954 0080 0000FFFF .word -65536
  12958. 3955 0084 00000000 .word I2C_Slave_ISR_IT
  12959. 3956 .cfi_endproc
  12960. 3957 .LFE140:
  12961. 3959 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
  12962. 3960 .align 1
  12963. 3961 .p2align 2,,3
  12964. 3962 .global HAL_I2C_Slave_Receive_IT
  12965. 3963 .syntax unified
  12966. 3964 .thumb
  12967. 3965 .thumb_func
  12968. 3967 HAL_I2C_Slave_Receive_IT:
  12969. 3968 .LVL261:
  12970. 3969 .LFB141:
  12971. 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  12972. 3970 .loc 1 1919 1 is_stmt 1 view -0
  12973. 3971 .cfi_startproc
  12974. 3972 @ args = 0, pretend = 0, frame = 0
  12975. 3973 @ frame_needed = 0, uses_anonymous_args = 0
  12976. 3974 @ link register save eliminated.
  12977. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12978. 3975 .loc 1 1920 3 view .LVU1403
  12979. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12980. 3976 .loc 1 1920 11 is_stmt 0 view .LVU1404
  12981. 3977 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  12982. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  12983. 3978 .loc 1 1920 6 view .LVU1405
  12984. 3979 0004 202B cmp r3, #32
  12985. 3980 0006 25D1 bne .L354
  12986. 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  12987. 3981 .loc 1 1919 1 view .LVU1406
  12988. 3982 0008 30B4 push {r4, r5}
  12989. 3983 .LCFI54:
  12990. 3984 .cfi_def_cfa_offset 8
  12991. 3985 .cfi_offset 4, -8
  12992. 3986 .cfi_offset 5, -4
  12993. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 225
  12994. 3987 000a DDB2 uxtb r5, r3
  12995. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12996. 3988 .loc 1 1923 5 is_stmt 1 view .LVU1407
  12997. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  12998. 3989 .loc 1 1923 5 view .LVU1408
  12999. 3990 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  13000. 3991 0010 012B cmp r3, #1
  13001. 3992 0012 1CD0 beq .L355
  13002. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13003. 3993 .loc 1 1923 5 discriminator 2 view .LVU1409
  13004. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13005. 3994 .loc 1 1923 5 discriminator 2 view .LVU1410
  13006. 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  13007. 3995 .loc 1 1925 5 discriminator 2 view .LVU1411
  13008. 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  13009. 3996 .loc 1 1925 23 is_stmt 0 discriminator 2 view .LVU1412
  13010. 3997 0014 2223 movs r3, #34
  13011. 3998 0016 80F84130 strb r3, [r0, #65]
  13012. 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  13013. 3999 .loc 1 1926 5 is_stmt 1 discriminator 2 view .LVU1413
  13014. 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13015. 4000 .loc 1 1930 9 is_stmt 0 discriminator 2 view .LVU1414
  13016. 4001 001a 0468 ldr r4, [r0]
  13017. 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  13018. 4002 .loc 1 1926 23 discriminator 2 view .LVU1415
  13019. 4003 001c 80F84250 strb r5, [r0, #66]
  13020. 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13021. 4004 .loc 1 1927 5 is_stmt 1 discriminator 2 view .LVU1416
  13022. 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13023. 4005 .loc 1 1927 23 is_stmt 0 discriminator 2 view .LVU1417
  13024. 4006 0020 0023 movs r3, #0
  13025. 4007 0022 4364 str r3, [r0, #68]
  13026. 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13027. 4008 .loc 1 1930 5 is_stmt 1 discriminator 2 view .LVU1418
  13028. 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13029. 4009 .loc 1 1930 25 is_stmt 0 discriminator 2 view .LVU1419
  13030. 4010 0024 6568 ldr r5, [r4, #4]
  13031. 4011 0026 25F40045 bic r5, r5, #32768
  13032. 4012 002a 6560 str r5, [r4, #4]
  13033. 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  13034. 4013 .loc 1 1933 5 is_stmt 1 discriminator 2 view .LVU1420
  13035. 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  13036. 4014 .loc 1 1934 23 is_stmt 0 discriminator 2 view .LVU1421
  13037. 4015 002c 4285 strh r2, [r0, #42] @ movhi
  13038. 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  13039. 4016 .loc 1 1935 29 discriminator 2 view .LVU1422
  13040. 4017 002e 428D ldrh r2, [r0, #42]
  13041. 4018 .LVL262:
  13042. 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  13043. 4019 .loc 1 1935 23 discriminator 2 view .LVU1423
  13044. 4020 0030 0285 strh r2, [r0, #40] @ movhi
  13045. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  13046. 4021 .loc 1 1936 23 discriminator 2 view .LVU1424
  13047. 4022 0032 094A ldr r2, .L360
  13048. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13049. 4023 .loc 1 1940 5 discriminator 2 view .LVU1425
  13050. 4024 0034 80F84030 strb r3, [r0, #64]
  13051. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 226
  13052. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  13053. 4025 .loc 1 1936 23 discriminator 2 view .LVU1426
  13054. 4026 0038 C262 str r2, [r0, #44]
  13055. 4027 .LVL263:
  13056. 4028 .LBB136:
  13057. 4029 .LBB137:
  13058. 4030 .loc 1 7441 3 discriminator 2 view .LVU1427
  13059. 4031 003a 2268 ldr r2, [r4]
  13060. 4032 .LBE137:
  13061. 4033 .LBE136:
  13062. 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  13063. 4034 .loc 1 1933 23 discriminator 2 view .LVU1428
  13064. 4035 003c 4162 str r1, [r0, #36]
  13065. 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  13066. 4036 .loc 1 1934 5 is_stmt 1 discriminator 2 view .LVU1429
  13067. 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  13068. 4037 .loc 1 1935 5 discriminator 2 view .LVU1430
  13069. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  13070. 4038 .loc 1 1936 5 discriminator 2 view .LVU1431
  13071. 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13072. 4039 .loc 1 1937 5 discriminator 2 view .LVU1432
  13073. 4040 .LBB141:
  13074. 4041 .LBB138:
  13075. 4042 .loc 1 7441 3 is_stmt 0 discriminator 2 view .LVU1433
  13076. 4043 003e 42F0FC02 orr r2, r2, #252
  13077. 4044 .LBE138:
  13078. 4045 .LBE141:
  13079. 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13080. 4046 .loc 1 1937 23 discriminator 2 view .LVU1434
  13081. 4047 0042 0649 ldr r1, .L360+4
  13082. 4048 .LVL264:
  13083. 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13084. 4049 .loc 1 1937 23 discriminator 2 view .LVU1435
  13085. 4050 0044 4163 str r1, [r0, #52]
  13086. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13087. 4051 .loc 1 1940 5 is_stmt 1 discriminator 2 view .LVU1436
  13088. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13089. 4052 .loc 1 1940 5 discriminator 2 view .LVU1437
  13090. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13091. 4053 .loc 1 1940 5 discriminator 2 view .LVU1438
  13092. 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13093. 4054 .loc 1 1950 5 discriminator 2 view .LVU1439
  13094. 4055 .LVL265:
  13095. 4056 .LBB142:
  13096. 4057 .LBI136:
  13097. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13098. 4058 .loc 1 7360 13 discriminator 2 view .LVU1440
  13099. 4059 .LBB139:
  13100. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13101. 4060 .loc 1 7362 3 discriminator 2 view .LVU1441
  13102. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  13103. 4061 .loc 1 7364 3 discriminator 2 view .LVU1442
  13104. 4062 .loc 1 7441 3 discriminator 2 view .LVU1443
  13105. 4063 .LBE139:
  13106. 4064 .LBE142:
  13107. 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13108. 4065 .loc 1 1952 12 is_stmt 0 discriminator 2 view .LVU1444
  13109. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 227
  13110. 4066 0046 1846 mov r0, r3
  13111. 4067 .LVL266:
  13112. 4068 .LBB143:
  13113. 4069 .LBB140:
  13114. 4070 .loc 1 7441 3 discriminator 2 view .LVU1445
  13115. 4071 0048 2260 str r2, [r4]
  13116. 4072 .LVL267:
  13117. 4073 .loc 1 7441 3 discriminator 2 view .LVU1446
  13118. 4074 .LBE140:
  13119. 4075 .LBE143:
  13120. 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13121. 4076 .loc 1 1958 1 discriminator 2 view .LVU1447
  13122. 4077 004a 30BC pop {r4, r5}
  13123. 4078 .LCFI55:
  13124. 4079 .cfi_remember_state
  13125. 4080 .cfi_restore 5
  13126. 4081 .cfi_restore 4
  13127. 4082 .cfi_def_cfa_offset 0
  13128. 4083 004c 7047 bx lr
  13129. 4084 .LVL268:
  13130. 4085 .L355:
  13131. 4086 .LCFI56:
  13132. 4087 .cfi_restore_state
  13133. 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13134. 4088 .loc 1 1956 12 view .LVU1448
  13135. 4089 004e 0220 movs r0, #2
  13136. 4090 .LVL269:
  13137. 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13138. 4091 .loc 1 1958 1 view .LVU1449
  13139. 4092 0050 30BC pop {r4, r5}
  13140. 4093 .LCFI57:
  13141. 4094 .cfi_restore 5
  13142. 4095 .cfi_restore 4
  13143. 4096 .cfi_def_cfa_offset 0
  13144. 4097 0052 7047 bx lr
  13145. 4098 .LVL270:
  13146. 4099 .L354:
  13147. 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13148. 4100 .loc 1 1956 12 view .LVU1450
  13149. 4101 0054 0220 movs r0, #2
  13150. 4102 .LVL271:
  13151. 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13152. 4103 .loc 1 1958 1 view .LVU1451
  13153. 4104 0056 7047 bx lr
  13154. 4105 .L361:
  13155. 4106 .align 2
  13156. 4107 .L360:
  13157. 4108 0058 0000FFFF .word -65536
  13158. 4109 005c 00000000 .word I2C_Slave_ISR_IT
  13159. 4110 .cfi_endproc
  13160. 4111 .LFE141:
  13161. 4113 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
  13162. 4114 .align 1
  13163. 4115 .p2align 2,,3
  13164. 4116 .global HAL_I2C_Master_Transmit_DMA
  13165. 4117 .syntax unified
  13166. 4118 .thumb
  13167. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 228
  13168. 4119 .thumb_func
  13169. 4121 HAL_I2C_Master_Transmit_DMA:
  13170. 4122 .LVL272:
  13171. 4123 .LFB142:
  13172. 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  13173. 4124 .loc 1 1972 1 is_stmt 1 view -0
  13174. 4125 .cfi_startproc
  13175. 4126 @ args = 0, pretend = 0, frame = 0
  13176. 4127 @ frame_needed = 0, uses_anonymous_args = 0
  13177. 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  13178. 4128 .loc 1 1973 3 view .LVU1453
  13179. 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  13180. 4129 .loc 1 1974 3 view .LVU1454
  13181. 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13182. 4130 .loc 1 1975 3 view .LVU1455
  13183. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13184. 4131 .loc 1 1977 3 view .LVU1456
  13185. 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  13186. 4132 .loc 1 1972 1 is_stmt 0 view .LVU1457
  13187. 4133 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  13188. 4134 .LCFI58:
  13189. 4135 .cfi_def_cfa_offset 24
  13190. 4136 .cfi_offset 4, -24
  13191. 4137 .cfi_offset 5, -20
  13192. 4138 .cfi_offset 6, -16
  13193. 4139 .cfi_offset 7, -12
  13194. 4140 .cfi_offset 8, -8
  13195. 4141 .cfi_offset 14, -4
  13196. 4142 0004 0446 mov r4, r0
  13197. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13198. 4143 .loc 1 1977 11 view .LVU1458
  13199. 4144 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
  13200. 4145 .LVL273:
  13201. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13202. 4146 .loc 1 1977 6 view .LVU1459
  13203. 4147 000a 2028 cmp r0, #32
  13204. 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  13205. 4148 .loc 1 1972 1 view .LVU1460
  13206. 4149 000c 82B0 sub sp, sp, #8
  13207. 4150 .LCFI59:
  13208. 4151 .cfi_def_cfa_offset 32
  13209. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13210. 4152 .loc 1 1977 6 view .LVU1461
  13211. 4153 000e 45D1 bne .L373
  13212. 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13213. 4154 .loc 1 1979 5 is_stmt 1 view .LVU1462
  13214. 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13215. 4155 .loc 1 1979 9 is_stmt 0 view .LVU1463
  13216. 4156 0010 2768 ldr r7, [r4]
  13217. 4157 0012 BD69 ldr r5, [r7, #24]
  13218. 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13219. 4158 .loc 1 1979 8 view .LVU1464
  13220. 4159 0014 15F40045 ands r5, r5, #32768
  13221. 4160 0018 40D1 bne .L373
  13222. 4161 001a 0E46 mov r6, r1
  13223. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13224. 4162 .loc 1 1985 5 is_stmt 1 view .LVU1465
  13225. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 229
  13226. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13227. 4163 .loc 1 1985 5 view .LVU1466
  13228. 4164 001c 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
  13229. 4165 .LVL274:
  13230. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13231. 4166 .loc 1 1985 5 is_stmt 0 view .LVU1467
  13232. 4167 0020 0129 cmp r1, #1
  13233. 4168 0022 3BD0 beq .L373
  13234. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13235. 4169 .loc 1 1985 5 is_stmt 1 discriminator 2 view .LVU1468
  13236. 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  13237. 4170 .loc 1 1987 23 is_stmt 0 discriminator 2 view .LVU1469
  13238. 4171 0024 2120 movs r0, #33
  13239. 4172 0026 84F84100 strb r0, [r4, #65]
  13240. 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  13241. 4173 .loc 1 1994 23 discriminator 2 view .LVU1470
  13242. 4174 002a 5649 ldr r1, .L383
  13243. 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  13244. 4175 .loc 1 1992 23 discriminator 2 view .LVU1471
  13245. 4176 002c 6262 str r2, [r4, #36]
  13246. 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  13247. 4177 .loc 1 1988 23 discriminator 2 view .LVU1472
  13248. 4178 002e 1020 movs r0, #16
  13249. 4179 0030 84F84200 strb r0, [r4, #66]
  13250. 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13251. 4180 .loc 1 1989 23 discriminator 2 view .LVU1473
  13252. 4181 0034 6564 str r5, [r4, #68]
  13253. 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  13254. 4182 .loc 1 1993 23 discriminator 2 view .LVU1474
  13255. 4183 0036 6385 strh r3, [r4, #42] @ movhi
  13256. 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  13257. 4184 .loc 1 1994 23 discriminator 2 view .LVU1475
  13258. 4185 0038 E162 str r1, [r4, #44]
  13259. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13260. 4186 .loc 1 1997 13 discriminator 2 view .LVU1476
  13261. 4187 003a 638D ldrh r3, [r4, #42]
  13262. 4188 .LVL275:
  13263. 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13264. 4189 .loc 1 1995 23 discriminator 2 view .LVU1477
  13265. 4190 003c 5249 ldr r1, .L383+4
  13266. 4191 003e 6163 str r1, [r4, #52]
  13267. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13268. 4192 .loc 1 1997 13 discriminator 2 view .LVU1478
  13269. 4193 0040 9BB2 uxth r3, r3
  13270. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13271. 4194 .loc 1 1985 5 discriminator 2 view .LVU1479
  13272. 4195 0042 0121 movs r1, #1
  13273. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13274. 4196 .loc 1 1997 8 discriminator 2 view .LVU1480
  13275. 4197 0044 FF2B cmp r3, #255
  13276. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13277. 4198 .loc 1 1985 5 discriminator 2 view .LVU1481
  13278. 4199 0046 84F84010 strb r1, [r4, #64]
  13279. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13280. 4200 .loc 1 1985 5 is_stmt 1 discriminator 2 view .LVU1482
  13281. 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  13282. 4201 .loc 1 1987 5 discriminator 2 view .LVU1483
  13283. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 230
  13284. 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  13285. 4202 .loc 1 1988 5 discriminator 2 view .LVU1484
  13286. 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13287. 4203 .loc 1 1989 5 discriminator 2 view .LVU1485
  13288. 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  13289. 4204 .loc 1 1992 5 discriminator 2 view .LVU1486
  13290. 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  13291. 4205 .loc 1 1993 5 discriminator 2 view .LVU1487
  13292. 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  13293. 4206 .loc 1 1994 5 discriminator 2 view .LVU1488
  13294. 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13295. 4207 .loc 1 1995 5 discriminator 2 view .LVU1489
  13296. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13297. 4208 .loc 1 1997 5 discriminator 2 view .LVU1490
  13298. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13299. 4209 .loc 1 1997 8 is_stmt 0 discriminator 2 view .LVU1491
  13300. 4210 004a 2CD8 bhi .L364
  13301. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  13302. 4211 .loc 1 2004 7 is_stmt 1 view .LVU1492
  13303. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  13304. 4212 .loc 1 2004 28 is_stmt 0 view .LVU1493
  13305. 4213 004c 608D ldrh r0, [r4, #42]
  13306. 4214 004e 80B2 uxth r0, r0
  13307. 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13308. 4215 .loc 1 2005 7 is_stmt 1 view .LVU1494
  13309. 4216 0050 2085 strh r0, [r4, #40] @ movhi
  13310. 4217 .LVL276:
  13311. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13312. 4218 .loc 1 2008 5 view .LVU1495
  13313. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13314. 4219 .loc 1 2008 8 is_stmt 0 view .LVU1496
  13315. 4220 0052 0028 cmp r0, #0
  13316. 4221 0054 71D1 bne .L381
  13317. 4222 .LVL277:
  13318. 4223 .L365:
  13319. 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13320. 4224 .loc 1 2095 7 is_stmt 1 view .LVU1497
  13321. 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13322. 4225 .loc 1 2095 21 is_stmt 0 view .LVU1498
  13323. 4226 0056 4D4B ldr r3, .L383+8
  13324. 4227 0058 6363 str r3, [r4, #52]
  13325. 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE);
  13326. 4228 .loc 1 2099 7 is_stmt 1 view .LVU1499
  13327. 4229 .LVL278:
  13328. 4230 .LBB150:
  13329. 4231 .LBI150:
  13330. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  13331. 4232 .loc 1 7333 13 view .LVU1500
  13332. 4233 .LBB151:
  13333. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  13334. 4234 .loc 1 7337 3 view .LVU1501
  13335. 4235 005a 4D4B ldr r3, .L383+12
  13336. 4236 005c 9F42 cmp r7, r3
  13337. 4237 005e 09D0 beq .L370
  13338. 4238 0060 03F58063 add r3, r3, #1024
  13339. 4239 0064 9F42 cmp r7, r3
  13340. 4240 0066 05D0 beq .L370
  13341. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 231
  13342. 4241 0068 4A48 ldr r0, .L383+16
  13343. 4242 006a 41F6A941 movw r1, #7337
  13344. 4243 006e FFF7FEFF bl assert_failed
  13345. 4244 .LVL279:
  13346. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  13347. 4245 .loc 1 7347 3 is_stmt 0 view .LVU1502
  13348. 4246 0072 2768 ldr r7, [r4]
  13349. 4247 .L370:
  13350. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  13351. 4248 .loc 1 7338 3 is_stmt 1 view .LVU1503
  13352. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13353. 4249 .loc 1 7339 3 view .LVU1504
  13354. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  13355. 4250 .loc 1 7342 3 view .LVU1505
  13356. 4251 .LVL280:
  13357. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  13358. 4252 .loc 1 7347 3 view .LVU1506
  13359. 4253 0074 7B68 ldr r3, [r7, #4]
  13360. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  13361. 4254 .loc 1 7342 52 is_stmt 0 view .LVU1507
  13362. 4255 0076 C6F30901 ubfx r1, r6, #0, #10
  13363. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  13364. 4256 .loc 1 7347 3 view .LVU1508
  13365. 4257 007a 474E ldr r6, .L383+20
  13366. 4258 .LVL281:
  13367. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  13368. 4259 .loc 1 7347 3 view .LVU1509
  13369. 4260 007c 1E40 ands r6, r6, r3
  13370. 4261 007e 3143 orrs r1, r1, r6
  13371. 4262 0080 2943 orrs r1, r1, r5
  13372. 4263 0082 41F00071 orr r1, r1, #33554432
  13373. 4264 .LBE151:
  13374. 4265 .LBE150:
  13375. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13376. 4266 .loc 1 2103 7 view .LVU1510
  13377. 4267 0086 0025 movs r5, #0
  13378. 4268 .LBB154:
  13379. 4269 .LBB152:
  13380. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  13381. 4270 .loc 1 7347 3 view .LVU1511
  13382. 4271 0088 41F40051 orr r1, r1, #8192
  13383. 4272 008c 7960 str r1, [r7, #4]
  13384. 4273 .LVL282:
  13385. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  13386. 4274 .loc 1 7347 3 view .LVU1512
  13387. 4275 .LBE152:
  13388. 4276 .LBE154:
  13389. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13390. 4277 .loc 1 2103 7 is_stmt 1 view .LVU1513
  13391. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13392. 4278 .loc 1 2103 7 view .LVU1514
  13393. 4279 008e 84F84050 strb r5, [r4, #64]
  13394. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13395. 4280 .loc 1 2103 7 view .LVU1515
  13396. 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13397. 4281 .loc 1 2112 7 view .LVU1516
  13398. 4282 .LVL283:
  13399. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 232
  13400. 4283 .LBB155:
  13401. 4284 .LBI155:
  13402. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13403. 4285 .loc 1 7360 13 view .LVU1517
  13404. 4286 .LBB156:
  13405. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13406. 4287 .loc 1 7362 3 view .LVU1518
  13407. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  13408. 4288 .loc 1 7364 3 view .LVU1519
  13409. 4289 .loc 1 7441 3 view .LVU1520
  13410. 4290 0092 3B68 ldr r3, [r7]
  13411. 4291 0094 43F0F203 orr r3, r3, #242
  13412. 4292 0098 3B60 str r3, [r7]
  13413. 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13414. 4293 .loc 1 7442 1 is_stmt 0 view .LVU1521
  13415. 4294 009a 00E0 b .L379
  13416. 4295 .LVL284:
  13417. 4296 .L373:
  13418. 4297 .loc 1 7442 1 view .LVU1522
  13419. 4298 .LBE156:
  13420. 4299 .LBE155:
  13421. 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13422. 4300 .loc 1 2119 12 view .LVU1523
  13423. 4301 009c 0225 movs r5, #2
  13424. 4302 .LVL285:
  13425. 4303 .L379:
  13426. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13427. 4304 .loc 1 2121 1 view .LVU1524
  13428. 4305 009e 2846 mov r0, r5
  13429. 4306 00a0 02B0 add sp, sp, #8
  13430. 4307 .LCFI60:
  13431. 4308 .cfi_remember_state
  13432. 4309 .cfi_def_cfa_offset 24
  13433. 4310 @ sp needed
  13434. 4311 00a2 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  13435. 4312 .LVL286:
  13436. 4313 .L364:
  13437. 4314 .LCFI61:
  13438. 4315 .cfi_restore_state
  13439. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13440. 4316 .loc 1 2012 30 view .LVU1525
  13441. 4317 00a6 1146 mov r1, r2
  13442. 4318 00a8 FF23 movs r3, #255
  13443. 4319 00aa 2385 strh r3, [r4, #40] @ movhi
  13444. 4320 .LVL287:
  13445. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13446. 4321 .loc 1 2008 5 is_stmt 1 view .LVU1526
  13447. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13448. 4322 .loc 1 2012 7 view .LVU1527
  13449. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13450. 4323 .loc 1 2012 30 is_stmt 0 view .LVU1528
  13451. 4324 00ac 11F8013B ldrb r3, [r1], #1 @ zero_extendqisi2
  13452. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13453. 4325 .loc 1 2012 28 view .LVU1529
  13454. 4326 00b0 BB62 str r3, [r7, #40]
  13455. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13456. 4327 .loc 1 2015 7 is_stmt 1 view .LVU1530
  13457. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 233
  13458. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13459. 4328 .loc 1 2018 11 is_stmt 0 view .LVU1531
  13460. 4329 00b2 638D ldrh r3, [r4, #42]
  13461. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13462. 4330 .loc 1 2015 21 view .LVU1532
  13463. 4331 00b4 6162 str r1, [r4, #36]
  13464. 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  13465. 4332 .loc 1 2017 7 is_stmt 1 view .LVU1533
  13466. 4333 .LVL288:
  13467. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13468. 4334 .loc 1 2018 7 view .LVU1534
  13469. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13470. 4335 .loc 1 2018 22 is_stmt 0 view .LVU1535
  13471. 4336 00b6 013B subs r3, r3, #1
  13472. 4337 00b8 9BB2 uxth r3, r3
  13473. 4338 00ba 6385 strh r3, [r4, #42] @ movhi
  13474. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13475. 4339 .loc 1 2019 7 is_stmt 1 view .LVU1536
  13476. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13477. 4340 .loc 1 2019 21 is_stmt 0 view .LVU1537
  13478. 4341 00bc FE23 movs r3, #254
  13479. 4342 00be 2385 strh r3, [r4, #40] @ movhi
  13480. 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13481. 4343 .loc 1 2022 5 is_stmt 1 view .LVU1538
  13482. 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13483. 4344 .loc 1 2000 16 is_stmt 0 view .LVU1539
  13484. 4345 00c0 4FF08078 mov r8, #16777216
  13485. 4346 .LVL289:
  13486. 4347 .L366:
  13487. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13488. 4348 .loc 1 2024 7 is_stmt 1 view .LVU1540
  13489. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13490. 4349 .loc 1 2024 15 is_stmt 0 view .LVU1541
  13491. 4350 00c4 A06B ldr r0, [r4, #56]
  13492. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13493. 4351 .loc 1 2024 10 view .LVU1542
  13494. 4352 00c6 0028 cmp r0, #0
  13495. 4353 00c8 4BD0 beq .L367
  13496. 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13497. 4354 .loc 1 2027 9 is_stmt 1 view .LVU1543
  13498. 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13499. 4355 .loc 1 2027 40 is_stmt 0 view .LVU1544
  13500. 4356 00ca 344D ldr r5, .L383+24
  13501. 4357 00cc 8562 str r5, [r0, #40]
  13502. 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13503. 4358 .loc 1 2030 9 is_stmt 1 view .LVU1545
  13504. 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  13505. 4359 .loc 1 2037 25 is_stmt 0 view .LVU1546
  13506. 4360 00ce 07F12802 add r2, r7, #40
  13507. 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13508. 4361 .loc 1 2030 41 view .LVU1547
  13509. 4362 00d2 334D ldr r5, .L383+28
  13510. 4363 00d4 0563 str r5, [r0, #48]
  13511. 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  13512. 4364 .loc 1 2033 9 is_stmt 1 view .LVU1548
  13513. 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13514. 4365 .loc 1 2034 9 view .LVU1549
  13515. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 234
  13516. 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  13517. 4366 .loc 1 2037 9 view .LVU1550
  13518. 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  13519. 4367 .loc 1 2033 44 is_stmt 0 view .LVU1551
  13520. 4368 00d6 0027 movs r7, #0
  13521. 4369 00d8 C762 str r7, [r0, #44]
  13522. 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13523. 4370 .loc 1 2034 41 view .LVU1552
  13524. 4371 00da 4763 str r7, [r0, #52]
  13525. 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  13526. 4372 .loc 1 2037 25 view .LVU1553
  13527. 4373 00dc FFF7FEFF bl HAL_DMA_Start_IT
  13528. 4374 .LVL290:
  13529. 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13530. 4375 .loc 1 2055 7 is_stmt 1 view .LVU1554
  13531. 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13532. 4376 .loc 1 2055 10 is_stmt 0 view .LVU1555
  13533. 4377 00e0 0546 mov r5, r0
  13534. 4378 00e2 78B1 cbz r0, .L382
  13535. 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  13536. 4379 .loc 1 2080 9 is_stmt 1 view .LVU1556
  13537. 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  13538. 4380 .loc 1 2080 25 is_stmt 0 view .LVU1557
  13539. 4381 00e4 2023 movs r3, #32
  13540. 4382 00e6 84F84130 strb r3, [r4, #65]
  13541. 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13542. 4383 .loc 1 2081 9 is_stmt 1 view .LVU1558
  13543. 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13544. 4384 .loc 1 2081 25 is_stmt 0 view .LVU1559
  13545. 4385 00ea 84F84270 strb r7, [r4, #66]
  13546. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13547. 4386 .loc 1 2084 9 is_stmt 1 view .LVU1560
  13548. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13549. 4387 .loc 1 2084 25 is_stmt 0 view .LVU1561
  13550. 4388 00ee 636C ldr r3, [r4, #68]
  13551. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13552. 4389 .loc 1 2087 9 view .LVU1562
  13553. 4390 00f0 84F84070 strb r7, [r4, #64]
  13554. 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13555. 4391 .loc 1 2089 16 view .LVU1563
  13556. 4392 00f4 0125 movs r5, #1
  13557. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13558. 4393 .loc 1 2084 25 view .LVU1564
  13559. 4394 00f6 43F01003 orr r3, r3, #16
  13560. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13561. 4395 .loc 1 2121 1 view .LVU1565
  13562. 4396 00fa 2846 mov r0, r5
  13563. 4397 .LVL291:
  13564. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13565. 4398 .loc 1 2084 25 view .LVU1566
  13566. 4399 00fc 6364 str r3, [r4, #68]
  13567. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13568. 4400 .loc 1 2087 9 is_stmt 1 view .LVU1567
  13569. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13570. 4401 .loc 1 2087 9 view .LVU1568
  13571. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13572. 4402 .loc 1 2087 9 view .LVU1569
  13573. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 235
  13574. 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13575. 4403 .loc 1 2089 9 view .LVU1570
  13576. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13577. 4404 .loc 1 2121 1 is_stmt 0 view .LVU1571
  13578. 4405 00fe 02B0 add sp, sp, #8
  13579. 4406 .LCFI62:
  13580. 4407 .cfi_remember_state
  13581. 4408 .cfi_def_cfa_offset 24
  13582. 4409 @ sp needed
  13583. 4410 0100 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  13584. 4411 .LVL292:
  13585. 4412 .L382:
  13586. 4413 .LCFI63:
  13587. 4414 .cfi_restore_state
  13588. 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode, I2C_GENERATE_START_WRITE);
  13589. 4415 .loc 1 2059 9 is_stmt 1 view .LVU1572
  13590. 4416 0104 228D ldrh r2, [r4, #40]
  13591. 4417 0106 2748 ldr r0, .L383+32
  13592. 4418 .LVL293:
  13593. 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode, I2C_GENERATE_START_WRITE);
  13594. 4419 .loc 1 2059 9 is_stmt 0 view .LVU1573
  13595. 4420 0108 0090 str r0, [sp]
  13596. 4421 010a 0132 adds r2, r2, #1
  13597. 4422 010c 4346 mov r3, r8
  13598. 4423 010e D2B2 uxtb r2, r2
  13599. 4424 0110 3146 mov r1, r6
  13600. 4425 0112 2046 mov r0, r4
  13601. 4426 0114 FFF7FEFF bl I2C_TransferConfig
  13602. 4427 .LVL294:
  13603. 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13604. 4428 .loc 1 2063 9 is_stmt 1 view .LVU1574
  13605. 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13606. 4429 .loc 1 2063 25 is_stmt 0 view .LVU1575
  13607. 4430 0118 638D ldrh r3, [r4, #42]
  13608. 4431 011a 218D ldrh r1, [r4, #40]
  13609. 4432 .LBB157:
  13610. 4433 .LBB158:
  13611. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13612. 4434 .loc 1 7441 3 view .LVU1576
  13613. 4435 011c 2268 ldr r2, [r4]
  13614. 4436 .LBE158:
  13615. 4437 .LBE157:
  13616. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13617. 4438 .loc 1 2066 9 view .LVU1577
  13618. 4439 011e 84F84050 strb r5, [r4, #64]
  13619. 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13620. 4440 .loc 1 2063 25 view .LVU1578
  13621. 4441 0122 5B1A subs r3, r3, r1
  13622. 4442 0124 9BB2 uxth r3, r3
  13623. 4443 0126 6385 strh r3, [r4, #42] @ movhi
  13624. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13625. 4444 .loc 1 2066 9 is_stmt 1 view .LVU1579
  13626. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13627. 4445 .loc 1 2066 9 view .LVU1580
  13628. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13629. 4446 .loc 1 2066 9 view .LVU1581
  13630. 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13631. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 236
  13632. 4447 .loc 1 2072 9 view .LVU1582
  13633. 4448 .LVL295:
  13634. 4449 .LBB160:
  13635. 4450 .LBI157:
  13636. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13637. 4451 .loc 1 7360 13 view .LVU1583
  13638. 4452 .LBB159:
  13639. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13640. 4453 .loc 1 7362 3 view .LVU1584
  13641. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  13642. 4454 .loc 1 7364 3 view .LVU1585
  13643. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13644. 4455 .loc 1 7441 3 view .LVU1586
  13645. 4456 0128 1368 ldr r3, [r2]
  13646. 4457 012a 43F09003 orr r3, r3, #144
  13647. 4458 012e 1360 str r3, [r2]
  13648. 4459 .LVL296:
  13649. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13650. 4460 .loc 1 7441 3 is_stmt 0 view .LVU1587
  13651. 4461 .LBE159:
  13652. 4462 .LBE160:
  13653. 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13654. 4463 .loc 1 2075 9 is_stmt 1 view .LVU1588
  13655. 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13656. 4464 .loc 1 2075 29 is_stmt 0 view .LVU1589
  13657. 4465 0130 1368 ldr r3, [r2]
  13658. 4466 0132 43F48043 orr r3, r3, #16384
  13659. 4467 0136 1360 str r3, [r2]
  13660. 4468 0138 B1E7 b .L379
  13661. 4469 .LVL297:
  13662. 4470 .L381:
  13663. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13664. 4471 .loc 1 2012 30 view .LVU1590
  13665. 4472 013a 1146 mov r1, r2
  13666. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13667. 4473 .loc 1 2019 21 view .LVU1591
  13668. 4474 013c 431E subs r3, r0, #1
  13669. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13670. 4475 .loc 1 2012 30 view .LVU1592
  13671. 4476 013e 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2
  13672. 4477 .LVL298:
  13673. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13674. 4478 .loc 1 2012 28 view .LVU1593
  13675. 4479 0142 BA62 str r2, [r7, #40]
  13676. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13677. 4480 .loc 1 2018 11 view .LVU1594
  13678. 4481 0144 628D ldrh r2, [r4, #42]
  13679. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13680. 4482 .loc 1 2015 21 view .LVU1595
  13681. 4483 0146 6162 str r1, [r4, #36]
  13682. 4484 .LVL299:
  13683. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13684. 4485 .loc 1 2018 22 view .LVU1596
  13685. 4486 0148 013A subs r2, r2, #1
  13686. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13687. 4487 .loc 1 2019 21 view .LVU1597
  13688. 4488 014a 9BB2 uxth r3, r3
  13689. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 237
  13690. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13691. 4489 .loc 1 2012 7 is_stmt 1 view .LVU1598
  13692. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13693. 4490 .loc 1 2015 7 view .LVU1599
  13694. 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  13695. 4491 .loc 1 2017 7 view .LVU1600
  13696. 4492 .LVL300:
  13697. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13698. 4493 .loc 1 2018 7 view .LVU1601
  13699. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13700. 4494 .loc 1 2018 22 is_stmt 0 view .LVU1602
  13701. 4495 014c 92B2 uxth r2, r2
  13702. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13703. 4496 .loc 1 2019 21 view .LVU1603
  13704. 4497 014e 2385 strh r3, [r4, #40] @ movhi
  13705. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  13706. 4498 .loc 1 2018 22 view .LVU1604
  13707. 4499 0150 6285 strh r2, [r4, #42] @ movhi
  13708. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13709. 4500 .loc 1 2019 7 is_stmt 1 view .LVU1605
  13710. 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13711. 4501 .loc 1 2022 5 view .LVU1606
  13712. 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13713. 4502 .loc 1 2005 16 is_stmt 0 view .LVU1607
  13714. 4503 0152 4FF00078 mov r8, #33554432
  13715. 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13716. 4504 .loc 1 2022 8 view .LVU1608
  13717. 4505 0156 002B cmp r3, #0
  13718. 4506 0158 B4D1 bne .L366
  13719. 4507 .LBB161:
  13720. 4508 .LBB153:
  13721. 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
  13722. 4509 .loc 1 7343 47 view .LVU1609
  13723. 4510 015a 0104 lsls r1, r0, #16
  13724. 4511 .LVL301:
  13725. 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
  13726. 4512 .loc 1 7343 47 view .LVU1610
  13727. 4513 015c 01F47F05 and r5, r1, #16711680
  13728. 4514 0160 79E7 b .L365
  13729. 4515 .LVL302:
  13730. 4516 .L367:
  13731. 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U));
  13732. 4517 .loc 1 7343 47 view .LVU1611
  13733. 4518 .LBE153:
  13734. 4519 .LBE161:
  13735. 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  13736. 4520 .loc 1 2043 9 is_stmt 1 view .LVU1612
  13737. 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  13738. 4521 .loc 1 2043 25 is_stmt 0 view .LVU1613
  13739. 4522 0162 2023 movs r3, #32
  13740. 4523 0164 84F84130 strb r3, [r4, #65]
  13741. 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13742. 4524 .loc 1 2044 9 is_stmt 1 view .LVU1614
  13743. 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13744. 4525 .loc 1 2044 25 is_stmt 0 view .LVU1615
  13745. 4526 0168 84F84200 strb r0, [r4, #66]
  13746. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13747. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 238
  13748. 4527 .loc 1 2047 9 is_stmt 1 view .LVU1616
  13749. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13750. 4528 .loc 1 2047 25 is_stmt 0 view .LVU1617
  13751. 4529 016c 636C ldr r3, [r4, #68]
  13752. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13753. 4530 .loc 1 2050 9 view .LVU1618
  13754. 4531 016e 84F84000 strb r0, [r4, #64]
  13755. 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13756. 4532 .loc 1 2052 16 view .LVU1619
  13757. 4533 0172 0125 movs r5, #1
  13758. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13759. 4534 .loc 1 2047 25 view .LVU1620
  13760. 4535 0174 43F08003 orr r3, r3, #128
  13761. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13762. 4536 .loc 1 2121 1 view .LVU1621
  13763. 4537 0178 2846 mov r0, r5
  13764. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13765. 4538 .loc 1 2047 25 view .LVU1622
  13766. 4539 017a 6364 str r3, [r4, #68]
  13767. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13768. 4540 .loc 1 2050 9 is_stmt 1 view .LVU1623
  13769. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13770. 4541 .loc 1 2050 9 view .LVU1624
  13771. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13772. 4542 .loc 1 2050 9 view .LVU1625
  13773. 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13774. 4543 .loc 1 2052 9 view .LVU1626
  13775. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13776. 4544 .loc 1 2121 1 is_stmt 0 view .LVU1627
  13777. 4545 017c 02B0 add sp, sp, #8
  13778. 4546 .LCFI64:
  13779. 4547 .cfi_def_cfa_offset 24
  13780. 4548 @ sp needed
  13781. 4549 017e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  13782. 4550 .LVL303:
  13783. 4551 .L384:
  13784. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13785. 4552 .loc 1 2121 1 view .LVU1628
  13786. 4553 0182 00BF .align 2
  13787. 4554 .L383:
  13788. 4555 0184 0000FFFF .word -65536
  13789. 4556 0188 00000000 .word I2C_Master_ISR_DMA
  13790. 4557 018c 00000000 .word I2C_Master_ISR_IT
  13791. 4558 0190 00540040 .word 1073763328
  13792. 4559 0194 00000000 .word .LC0
  13793. 4560 0198 009800FC .word -67069952
  13794. 4561 019c 00000000 .word I2C_DMAMasterTransmitCplt
  13795. 4562 01a0 00000000 .word I2C_DMAError
  13796. 4563 01a4 00200080 .word -2147475456
  13797. 4564 .cfi_endproc
  13798. 4565 .LFE142:
  13799. 4567 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
  13800. 4568 .align 1
  13801. 4569 .p2align 2,,3
  13802. 4570 .global HAL_I2C_Master_Receive_DMA
  13803. 4571 .syntax unified
  13804. 4572 .thumb
  13805. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 239
  13806. 4573 .thumb_func
  13807. 4575 HAL_I2C_Master_Receive_DMA:
  13808. 4576 .LVL304:
  13809. 4577 .LFB143:
  13810. 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  13811. 4578 .loc 1 2135 1 is_stmt 1 view -0
  13812. 4579 .cfi_startproc
  13813. 4580 @ args = 0, pretend = 0, frame = 0
  13814. 4581 @ frame_needed = 0, uses_anonymous_args = 0
  13815. 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  13816. 4582 .loc 1 2136 3 view .LVU1630
  13817. 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13818. 4583 .loc 1 2137 3 view .LVU1631
  13819. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13820. 4584 .loc 1 2139 3 view .LVU1632
  13821. 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  13822. 4585 .loc 1 2135 1 is_stmt 0 view .LVU1633
  13823. 4586 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  13824. 4587 .LCFI65:
  13825. 4588 .cfi_def_cfa_offset 24
  13826. 4589 .cfi_offset 4, -24
  13827. 4590 .cfi_offset 5, -20
  13828. 4591 .cfi_offset 6, -16
  13829. 4592 .cfi_offset 7, -12
  13830. 4593 .cfi_offset 8, -8
  13831. 4594 .cfi_offset 14, -4
  13832. 4595 0004 0446 mov r4, r0
  13833. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13834. 4596 .loc 1 2139 11 view .LVU1634
  13835. 4597 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
  13836. 4598 .LVL305:
  13837. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13838. 4599 .loc 1 2139 6 view .LVU1635
  13839. 4600 000a 2028 cmp r0, #32
  13840. 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  13841. 4601 .loc 1 2135 1 view .LVU1636
  13842. 4602 000c 82B0 sub sp, sp, #8
  13843. 4603 .LCFI66:
  13844. 4604 .cfi_def_cfa_offset 32
  13845. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13846. 4605 .loc 1 2139 6 view .LVU1637
  13847. 4606 000e 38D1 bne .L396
  13848. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13849. 4607 .loc 1 2141 5 is_stmt 1 view .LVU1638
  13850. 4608 0010 0D46 mov r5, r1
  13851. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13852. 4609 .loc 1 2141 9 is_stmt 0 view .LVU1639
  13853. 4610 0012 2168 ldr r1, [r4]
  13854. 4611 .LVL306:
  13855. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13856. 4612 .loc 1 2141 9 view .LVU1640
  13857. 4613 0014 8869 ldr r0, [r1, #24]
  13858. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13859. 4614 .loc 1 2141 8 view .LVU1641
  13860. 4615 0016 10F40040 ands r0, r0, #32768
  13861. 4616 001a 32D1 bne .L396
  13862. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13863. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 240
  13864. 4617 .loc 1 2147 5 is_stmt 1 view .LVU1642
  13865. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13866. 4618 .loc 1 2147 5 view .LVU1643
  13867. 4619 001c 94F84060 ldrb r6, [r4, #64] @ zero_extendqisi2
  13868. 4620 0020 012E cmp r6, #1
  13869. 4621 0022 2ED0 beq .L396
  13870. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13871. 4622 .loc 1 2147 5 discriminator 2 view .LVU1644
  13872. 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  13873. 4623 .loc 1 2149 23 is_stmt 0 discriminator 2 view .LVU1645
  13874. 4624 0024 4FF0220C mov ip, #34
  13875. 4625 0028 84F841C0 strb ip, [r4, #65]
  13876. 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  13877. 4626 .loc 1 2156 23 discriminator 2 view .LVU1646
  13878. 4627 002c 484E ldr r6, .L402
  13879. 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  13880. 4628 .loc 1 2154 23 discriminator 2 view .LVU1647
  13881. 4629 002e 6262 str r2, [r4, #36]
  13882. 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  13883. 4630 .loc 1 2150 23 discriminator 2 view .LVU1648
  13884. 4631 0030 4FF0100C mov ip, #16
  13885. 4632 0034 84F842C0 strb ip, [r4, #66]
  13886. 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13887. 4633 .loc 1 2151 23 discriminator 2 view .LVU1649
  13888. 4634 0038 6064 str r0, [r4, #68]
  13889. 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  13890. 4635 .loc 1 2155 23 discriminator 2 view .LVU1650
  13891. 4636 003a 6385 strh r3, [r4, #42] @ movhi
  13892. 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  13893. 4637 .loc 1 2156 23 discriminator 2 view .LVU1651
  13894. 4638 003c E662 str r6, [r4, #44]
  13895. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13896. 4639 .loc 1 2159 13 discriminator 2 view .LVU1652
  13897. 4640 003e 608D ldrh r0, [r4, #42]
  13898. 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13899. 4641 .loc 1 2157 23 discriminator 2 view .LVU1653
  13900. 4642 0040 444B ldr r3, .L402+4
  13901. 4643 .LVL307:
  13902. 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13903. 4644 .loc 1 2157 23 discriminator 2 view .LVU1654
  13904. 4645 0042 6363 str r3, [r4, #52]
  13905. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13906. 4646 .loc 1 2159 13 discriminator 2 view .LVU1655
  13907. 4647 0044 80B2 uxth r0, r0
  13908. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13909. 4648 .loc 1 2147 5 discriminator 2 view .LVU1656
  13910. 4649 0046 0123 movs r3, #1
  13911. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13912. 4650 .loc 1 2159 8 discriminator 2 view .LVU1657
  13913. 4651 0048 FF28 cmp r0, #255
  13914. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13915. 4652 .loc 1 2147 5 discriminator 2 view .LVU1658
  13916. 4653 004a 84F84030 strb r3, [r4, #64]
  13917. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13918. 4654 .loc 1 2147 5 is_stmt 1 discriminator 2 view .LVU1659
  13919. 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  13920. 4655 .loc 1 2149 5 discriminator 2 view .LVU1660
  13921. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 241
  13922. 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  13923. 4656 .loc 1 2150 5 discriminator 2 view .LVU1661
  13924. 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13925. 4657 .loc 1 2151 5 discriminator 2 view .LVU1662
  13926. 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  13927. 4658 .loc 1 2154 5 discriminator 2 view .LVU1663
  13928. 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  13929. 4659 .loc 1 2155 5 discriminator 2 view .LVU1664
  13930. 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  13931. 4660 .loc 1 2156 5 discriminator 2 view .LVU1665
  13932. 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13933. 4661 .loc 1 2157 5 discriminator 2 view .LVU1666
  13934. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13935. 4662 .loc 1 2159 5 discriminator 2 view .LVU1667
  13936. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13937. 4663 .loc 1 2159 8 is_stmt 0 discriminator 2 view .LVU1668
  13938. 4664 004e 1DD8 bhi .L387
  13939. 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  13940. 4665 .loc 1 2166 7 is_stmt 1 view .LVU1669
  13941. 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
  13942. 4666 .loc 1 2166 28 is_stmt 0 view .LVU1670
  13943. 4667 0050 638D ldrh r3, [r4, #42]
  13944. 4668 0052 9BB2 uxth r3, r3
  13945. 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13946. 4669 .loc 1 2167 7 is_stmt 1 view .LVU1671
  13947. 4670 0054 2385 strh r3, [r4, #40] @ movhi
  13948. 4671 .LVL308:
  13949. 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13950. 4672 .loc 1 2170 5 view .LVU1672
  13951. 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13952. 4673 .loc 1 2170 8 is_stmt 0 view .LVU1673
  13953. 4674 0056 002B cmp r3, #0
  13954. 4675 0058 3DD0 beq .L388
  13955. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13956. 4676 .loc 1 2172 15 view .LVU1674
  13957. 4677 005a E06B ldr r0, [r4, #60]
  13958. 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13959. 4678 .loc 1 2167 16 view .LVU1675
  13960. 4679 005c 4FF00077 mov r7, #33554432
  13961. 4680 .LVL309:
  13962. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13963. 4681 .loc 1 2172 7 is_stmt 1 view .LVU1676
  13964. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  13965. 4682 .loc 1 2172 10 is_stmt 0 view .LVU1677
  13966. 4683 0060 D0B9 cbnz r0, .L400
  13967. 4684 .L389:
  13968. 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  13969. 4685 .loc 1 2191 9 is_stmt 1 view .LVU1678
  13970. 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  13971. 4686 .loc 1 2191 25 is_stmt 0 view .LVU1679
  13972. 4687 0062 2023 movs r3, #32
  13973. 4688 0064 84F84130 strb r3, [r4, #65]
  13974. 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13975. 4689 .loc 1 2192 9 is_stmt 1 view .LVU1680
  13976. 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13977. 4690 .loc 1 2192 25 is_stmt 0 view .LVU1681
  13978. 4691 0068 84F84200 strb r0, [r4, #66]
  13979. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 242
  13980. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13981. 4692 .loc 1 2195 9 is_stmt 1 view .LVU1682
  13982. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13983. 4693 .loc 1 2195 25 is_stmt 0 view .LVU1683
  13984. 4694 006c 636C ldr r3, [r4, #68]
  13985. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13986. 4695 .loc 1 2198 9 view .LVU1684
  13987. 4696 006e 84F84000 strb r0, [r4, #64]
  13988. 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  13989. 4697 .loc 1 2200 16 view .LVU1685
  13990. 4698 0072 0126 movs r6, #1
  13991. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13992. 4699 .loc 1 2195 25 view .LVU1686
  13993. 4700 0074 43F08003 orr r3, r3, #128
  13994. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13995. 4701 .loc 1 2268 1 view .LVU1687
  13996. 4702 0078 3046 mov r0, r6
  13997. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  13998. 4703 .loc 1 2195 25 view .LVU1688
  13999. 4704 007a 6364 str r3, [r4, #68]
  14000. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14001. 4705 .loc 1 2198 9 is_stmt 1 view .LVU1689
  14002. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14003. 4706 .loc 1 2198 9 view .LVU1690
  14004. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14005. 4707 .loc 1 2198 9 view .LVU1691
  14006. 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14007. 4708 .loc 1 2200 9 view .LVU1692
  14008. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14009. 4709 .loc 1 2268 1 is_stmt 0 view .LVU1693
  14010. 4710 007c 02B0 add sp, sp, #8
  14011. 4711 .LCFI67:
  14012. 4712 .cfi_remember_state
  14013. 4713 .cfi_def_cfa_offset 24
  14014. 4714 @ sp needed
  14015. 4715 007e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  14016. 4716 .LVL310:
  14017. 4717 .L396:
  14018. 4718 .LCFI68:
  14019. 4719 .cfi_restore_state
  14020. 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14021. 4720 .loc 1 2266 12 view .LVU1694
  14022. 4721 0082 0226 movs r6, #2
  14023. 4722 .LVL311:
  14024. 4723 .L398:
  14025. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14026. 4724 .loc 1 2268 1 view .LVU1695
  14027. 4725 0084 3046 mov r0, r6
  14028. 4726 0086 02B0 add sp, sp, #8
  14029. 4727 .LCFI69:
  14030. 4728 .cfi_remember_state
  14031. 4729 .cfi_def_cfa_offset 24
  14032. 4730 @ sp needed
  14033. 4731 0088 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  14034. 4732 .LVL312:
  14035. 4733 .L387:
  14036. 4734 .LCFI70:
  14037. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 243
  14038. 4735 .cfi_restore_state
  14039. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14040. 4736 .loc 1 2172 15 view .LVU1696
  14041. 4737 008c E06B ldr r0, [r4, #60]
  14042. 4738 008e 2385 strh r3, [r4, #40] @ movhi
  14043. 4739 .LVL313:
  14044. 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14045. 4740 .loc 1 2170 5 is_stmt 1 view .LVU1697
  14046. 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14047. 4741 .loc 1 2162 16 is_stmt 0 view .LVU1698
  14048. 4742 0090 4FF08077 mov r7, #16777216
  14049. 4743 .LVL314:
  14050. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14051. 4744 .loc 1 2172 7 is_stmt 1 view .LVU1699
  14052. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14053. 4745 .loc 1 2172 10 is_stmt 0 view .LVU1700
  14054. 4746 0094 0028 cmp r0, #0
  14055. 4747 0096 E4D0 beq .L389
  14056. 4748 .L400:
  14057. 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14058. 4749 .loc 1 2175 9 is_stmt 1 view .LVU1701
  14059. 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14060. 4750 .loc 1 2175 40 is_stmt 0 view .LVU1702
  14061. 4751 0098 2F4E ldr r6, .L402+8
  14062. 4752 009a 8662 str r6, [r0, #40]
  14063. 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14064. 4753 .loc 1 2178 9 is_stmt 1 view .LVU1703
  14065. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  14066. 4754 .loc 1 2181 44 is_stmt 0 view .LVU1704
  14067. 4755 009c 4FF00008 mov r8, #0
  14068. 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14069. 4756 .loc 1 2178 41 view .LVU1705
  14070. 4757 00a0 2E4E ldr r6, .L402+12
  14071. 4758 00a2 0663 str r6, [r0, #48]
  14072. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  14073. 4759 .loc 1 2181 9 is_stmt 1 view .LVU1706
  14074. 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14075. 4760 .loc 1 2182 9 view .LVU1707
  14076. 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14077. 4761 .loc 1 2185 9 view .LVU1708
  14078. 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14079. 4762 .loc 1 2185 25 is_stmt 0 view .LVU1709
  14080. 4763 00a4 2431 adds r1, r1, #36
  14081. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  14082. 4764 .loc 1 2181 44 view .LVU1710
  14083. 4765 00a6 C0F82C80 str r8, [r0, #44]
  14084. 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14085. 4766 .loc 1 2182 41 view .LVU1711
  14086. 4767 00aa C0F83480 str r8, [r0, #52]
  14087. 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14088. 4768 .loc 1 2185 25 view .LVU1712
  14089. 4769 00ae FFF7FEFF bl HAL_DMA_Start_IT
  14090. 4770 .LVL315:
  14091. 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14092. 4771 .loc 1 2203 7 is_stmt 1 view .LVU1713
  14093. 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14094. 4772 .loc 1 2203 10 is_stmt 0 view .LVU1714
  14095. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 244
  14096. 4773 00b2 0646 mov r6, r0
  14097. 4774 00b4 88B3 cbz r0, .L401
  14098. 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14099. 4775 .loc 1 2227 9 is_stmt 1 view .LVU1715
  14100. 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14101. 4776 .loc 1 2227 25 is_stmt 0 view .LVU1716
  14102. 4777 00b6 2023 movs r3, #32
  14103. 4778 00b8 84F84130 strb r3, [r4, #65]
  14104. 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14105. 4779 .loc 1 2228 9 is_stmt 1 view .LVU1717
  14106. 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14107. 4780 .loc 1 2228 25 is_stmt 0 view .LVU1718
  14108. 4781 00bc 84F84280 strb r8, [r4, #66]
  14109. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14110. 4782 .loc 1 2231 9 is_stmt 1 view .LVU1719
  14111. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14112. 4783 .loc 1 2231 25 is_stmt 0 view .LVU1720
  14113. 4784 00c0 636C ldr r3, [r4, #68]
  14114. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14115. 4785 .loc 1 2234 9 view .LVU1721
  14116. 4786 00c2 84F84080 strb r8, [r4, #64]
  14117. 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14118. 4787 .loc 1 2236 16 view .LVU1722
  14119. 4788 00c6 0126 movs r6, #1
  14120. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14121. 4789 .loc 1 2231 25 view .LVU1723
  14122. 4790 00c8 43F01003 orr r3, r3, #16
  14123. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14124. 4791 .loc 1 2268 1 view .LVU1724
  14125. 4792 00cc 3046 mov r0, r6
  14126. 4793 .LVL316:
  14127. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14128. 4794 .loc 1 2231 25 view .LVU1725
  14129. 4795 00ce 6364 str r3, [r4, #68]
  14130. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14131. 4796 .loc 1 2234 9 is_stmt 1 view .LVU1726
  14132. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14133. 4797 .loc 1 2234 9 view .LVU1727
  14134. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14135. 4798 .loc 1 2234 9 view .LVU1728
  14136. 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14137. 4799 .loc 1 2236 9 view .LVU1729
  14138. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14139. 4800 .loc 1 2268 1 is_stmt 0 view .LVU1730
  14140. 4801 00d0 02B0 add sp, sp, #8
  14141. 4802 .LCFI71:
  14142. 4803 .cfi_remember_state
  14143. 4804 .cfi_def_cfa_offset 24
  14144. 4805 @ sp needed
  14145. 4806 00d2 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  14146. 4807 .LVL317:
  14147. 4808 .L388:
  14148. 4809 .LCFI72:
  14149. 4810 .cfi_restore_state
  14150. 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14151. 4811 .loc 1 2242 7 is_stmt 1 view .LVU1731
  14152. 4812 .LBB168:
  14153. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 245
  14154. 4813 .LBB169:
  14155. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  14156. 4814 .loc 1 7337 3 is_stmt 0 view .LVU1732
  14157. 4815 00d6 224B ldr r3, .L402+16
  14158. 4816 .LBE169:
  14159. 4817 .LBE168:
  14160. 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14161. 4818 .loc 1 2242 21 view .LVU1733
  14162. 4819 00d8 224A ldr r2, .L402+20
  14163. 4820 .LVL318:
  14164. 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14165. 4821 .loc 1 2242 21 view .LVU1734
  14166. 4822 00da 6263 str r2, [r4, #52]
  14167. 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  14168. 4823 .loc 1 2246 7 is_stmt 1 view .LVU1735
  14169. 4824 .LVL319:
  14170. 4825 .LBB172:
  14171. 4826 .LBI168:
  14172. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  14173. 4827 .loc 1 7333 13 view .LVU1736
  14174. 4828 .LBB170:
  14175. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  14176. 4829 .loc 1 7337 3 view .LVU1737
  14177. 4830 00dc 9942 cmp r1, r3
  14178. 4831 00de 09D0 beq .L392
  14179. 4832 00e0 03F58063 add r3, r3, #1024
  14180. 4833 00e4 9942 cmp r1, r3
  14181. 4834 00e6 05D0 beq .L392
  14182. 4835 00e8 41F6A941 movw r1, #7337
  14183. 4836 00ec 1E48 ldr r0, .L402+24
  14184. 4837 00ee FFF7FEFF bl assert_failed
  14185. 4838 .LVL320:
  14186. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  14187. 4839 .loc 1 7347 3 is_stmt 0 view .LVU1738
  14188. 4840 00f2 2168 ldr r1, [r4]
  14189. 4841 .L392:
  14190. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  14191. 4842 .loc 1 7338 3 is_stmt 1 view .LVU1739
  14192. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14193. 4843 .loc 1 7339 3 view .LVU1740
  14194. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  14195. 4844 .loc 1 7342 3 view .LVU1741
  14196. 4845 .LVL321:
  14197. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  14198. 4846 .loc 1 7347 3 view .LVU1742
  14199. 4847 00f4 4B68 ldr r3, [r1, #4]
  14200. 4848 00f6 1D4A ldr r2, .L402+28
  14201. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  14202. 4849 .loc 1 7342 52 is_stmt 0 view .LVU1743
  14203. 4850 00f8 C5F30905 ubfx r5, r5, #0, #10
  14204. 4851 .LVL322:
  14205. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  14206. 4852 .loc 1 7347 3 view .LVU1744
  14207. 4853 00fc 1340 ands r3, r3, r2
  14208. 4854 00fe 1D43 orrs r5, r5, r3
  14209. 4855 0100 45F00075 orr r5, r5, #33554432
  14210. 4856 .LBE170:
  14211. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 246
  14212. 4857 .LBE172:
  14213. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14214. 4858 .loc 1 2250 7 view .LVU1745
  14215. 4859 0104 0026 movs r6, #0
  14216. 4860 .LBB173:
  14217. 4861 .LBB171:
  14218. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  14219. 4862 .loc 1 7347 3 view .LVU1746
  14220. 4863 0106 45F41055 orr r5, r5, #9216
  14221. 4864 010a 4D60 str r5, [r1, #4]
  14222. 4865 .LVL323:
  14223. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  14224. 4866 .loc 1 7347 3 view .LVU1747
  14225. 4867 .LBE171:
  14226. 4868 .LBE173:
  14227. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14228. 4869 .loc 1 2250 7 is_stmt 1 view .LVU1748
  14229. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14230. 4870 .loc 1 2250 7 view .LVU1749
  14231. 4871 010c 84F84060 strb r6, [r4, #64]
  14232. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14233. 4872 .loc 1 2250 7 view .LVU1750
  14234. 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14235. 4873 .loc 1 2259 7 view .LVU1751
  14236. 4874 .LVL324:
  14237. 4875 .LBB174:
  14238. 4876 .LBI174:
  14239. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14240. 4877 .loc 1 7360 13 view .LVU1752
  14241. 4878 .LBB175:
  14242. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14243. 4879 .loc 1 7362 3 view .LVU1753
  14244. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  14245. 4880 .loc 1 7364 3 view .LVU1754
  14246. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14247. 4881 .loc 1 7441 3 view .LVU1755
  14248. 4882 0110 0B68 ldr r3, [r1]
  14249. 4883 0112 43F0F403 orr r3, r3, #244
  14250. 4884 0116 0B60 str r3, [r1]
  14251. 4885 .loc 1 7442 1 is_stmt 0 view .LVU1756
  14252. 4886 0118 B4E7 b .L398
  14253. 4887 .LVL325:
  14254. 4888 .L401:
  14255. 4889 .loc 1 7442 1 view .LVU1757
  14256. 4890 .LBE175:
  14257. 4891 .LBE174:
  14258. 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14259. 4892 .loc 1 2207 9 is_stmt 1 view .LVU1758
  14260. 4893 011a 154B ldr r3, .L402+32
  14261. 4894 011c 0093 str r3, [sp]
  14262. 4895 011e 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
  14263. 4896 0122 3B46 mov r3, r7
  14264. 4897 0124 2946 mov r1, r5
  14265. 4898 0126 2046 mov r0, r4
  14266. 4899 .LVL326:
  14267. 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14268. 4900 .loc 1 2207 9 is_stmt 0 view .LVU1759
  14269. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 247
  14270. 4901 0128 FFF7FEFF bl I2C_TransferConfig
  14271. 4902 .LVL327:
  14272. 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14273. 4903 .loc 1 2210 9 is_stmt 1 view .LVU1760
  14274. 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14275. 4904 .loc 1 2210 25 is_stmt 0 view .LVU1761
  14276. 4905 012c 638D ldrh r3, [r4, #42]
  14277. 4906 012e 218D ldrh r1, [r4, #40]
  14278. 4907 .LBB176:
  14279. 4908 .LBB177:
  14280. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14281. 4909 .loc 1 7441 3 view .LVU1762
  14282. 4910 0130 2268 ldr r2, [r4]
  14283. 4911 .LBE177:
  14284. 4912 .LBE176:
  14285. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14286. 4913 .loc 1 2213 9 view .LVU1763
  14287. 4914 0132 84F84060 strb r6, [r4, #64]
  14288. 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14289. 4915 .loc 1 2210 25 view .LVU1764
  14290. 4916 0136 5B1A subs r3, r3, r1
  14291. 4917 0138 9BB2 uxth r3, r3
  14292. 4918 013a 6385 strh r3, [r4, #42] @ movhi
  14293. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14294. 4919 .loc 1 2213 9 is_stmt 1 view .LVU1765
  14295. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14296. 4920 .loc 1 2213 9 view .LVU1766
  14297. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14298. 4921 .loc 1 2213 9 view .LVU1767
  14299. 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14300. 4922 .loc 1 2219 9 view .LVU1768
  14301. 4923 .LVL328:
  14302. 4924 .LBB179:
  14303. 4925 .LBI176:
  14304. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14305. 4926 .loc 1 7360 13 view .LVU1769
  14306. 4927 .LBB178:
  14307. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14308. 4928 .loc 1 7362 3 view .LVU1770
  14309. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  14310. 4929 .loc 1 7364 3 view .LVU1771
  14311. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14312. 4930 .loc 1 7441 3 view .LVU1772
  14313. 4931 013c 1368 ldr r3, [r2]
  14314. 4932 013e 43F09003 orr r3, r3, #144
  14315. 4933 0142 1360 str r3, [r2]
  14316. 4934 .LVL329:
  14317. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14318. 4935 .loc 1 7441 3 is_stmt 0 view .LVU1773
  14319. 4936 .LBE178:
  14320. 4937 .LBE179:
  14321. 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14322. 4938 .loc 1 2222 9 is_stmt 1 view .LVU1774
  14323. 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14324. 4939 .loc 1 2222 29 is_stmt 0 view .LVU1775
  14325. 4940 0144 1368 ldr r3, [r2]
  14326. 4941 0146 43F40043 orr r3, r3, #32768
  14327. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 248
  14328. 4942 014a 1360 str r3, [r2]
  14329. 4943 014c 9AE7 b .L398
  14330. 4944 .L403:
  14331. 4945 014e 00BF .align 2
  14332. 4946 .L402:
  14333. 4947 0150 0000FFFF .word -65536
  14334. 4948 0154 00000000 .word I2C_Master_ISR_DMA
  14335. 4949 0158 00000000 .word I2C_DMAMasterReceiveCplt
  14336. 4950 015c 00000000 .word I2C_DMAError
  14337. 4951 0160 00540040 .word 1073763328
  14338. 4952 0164 00000000 .word I2C_Master_ISR_IT
  14339. 4953 0168 00000000 .word .LC0
  14340. 4954 016c 009800FC .word -67069952
  14341. 4955 0170 00240080 .word -2147474432
  14342. 4956 .cfi_endproc
  14343. 4957 .LFE143:
  14344. 4959 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
  14345. 4960 .align 1
  14346. 4961 .p2align 2,,3
  14347. 4962 .global HAL_I2C_Slave_Transmit_DMA
  14348. 4963 .syntax unified
  14349. 4964 .thumb
  14350. 4965 .thumb_func
  14351. 4967 HAL_I2C_Slave_Transmit_DMA:
  14352. 4968 .LVL330:
  14353. 4969 .LFB144:
  14354. 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  14355. 4970 .loc 1 2279 1 is_stmt 1 view -0
  14356. 4971 .cfi_startproc
  14357. 4972 @ args = 0, pretend = 0, frame = 0
  14358. 4973 @ frame_needed = 0, uses_anonymous_args = 0
  14359. 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14360. 4974 .loc 1 2280 3 view .LVU1777
  14361. 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14362. 4975 .loc 1 2282 3 view .LVU1778
  14363. 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  14364. 4976 .loc 1 2279 1 is_stmt 0 view .LVU1779
  14365. 4977 0000 38B5 push {r3, r4, r5, lr}
  14366. 4978 .LCFI73:
  14367. 4979 .cfi_def_cfa_offset 16
  14368. 4980 .cfi_offset 3, -16
  14369. 4981 .cfi_offset 4, -12
  14370. 4982 .cfi_offset 5, -8
  14371. 4983 .cfi_offset 14, -4
  14372. 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14373. 4984 .loc 1 2282 11 view .LVU1780
  14374. 4985 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  14375. 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14376. 4986 .loc 1 2282 6 view .LVU1781
  14377. 4987 0006 202B cmp r3, #32
  14378. 4988 0008 50D1 bne .L414
  14379. 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14380. 4989 .loc 1 2284 5 is_stmt 1 view .LVU1782
  14381. 4990 000a 0446 mov r4, r0
  14382. 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14383. 4991 .loc 1 2284 8 is_stmt 0 view .LVU1783
  14384. 4992 000c 0029 cmp r1, #0
  14385. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 249
  14386. 4993 000e 48D0 beq .L406
  14387. 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14388. 4994 .loc 1 2284 25 discriminator 1 view .LVU1784
  14389. 4995 0010 002A cmp r2, #0
  14390. 4996 0012 46D0 beq .L406
  14391. 4997 0014 D8B2 uxtb r0, r3
  14392. 4998 .LVL331:
  14393. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14394. 4999 .loc 1 2290 5 is_stmt 1 view .LVU1785
  14395. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14396. 5000 .loc 1 2290 5 view .LVU1786
  14397. 5001 0016 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
  14398. 5002 001a 012B cmp r3, #1
  14399. 5003 001c 46D0 beq .L414
  14400. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14401. 5004 .loc 1 2290 5 discriminator 2 view .LVU1787
  14402. 5005 001e 0123 movs r3, #1
  14403. 5006 0020 84F84030 strb r3, [r4, #64]
  14404. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14405. 5007 .loc 1 2290 5 discriminator 2 view .LVU1788
  14406. 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  14407. 5008 .loc 1 2292 5 discriminator 2 view .LVU1789
  14408. 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  14409. 5009 .loc 1 2292 23 is_stmt 0 discriminator 2 view .LVU1790
  14410. 5010 0024 2123 movs r3, #33
  14411. 5011 0026 84F84130 strb r3, [r4, #65]
  14412. 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  14413. 5012 .loc 1 2293 5 is_stmt 1 discriminator 2 view .LVU1791
  14414. 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14415. 5013 .loc 1 2294 23 is_stmt 0 discriminator 2 view .LVU1792
  14416. 5014 002a 0023 movs r3, #0
  14417. 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  14418. 5015 .loc 1 2293 23 discriminator 2 view .LVU1793
  14419. 5016 002c 84F84200 strb r0, [r4, #66]
  14420. 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14421. 5017 .loc 1 2294 5 is_stmt 1 discriminator 2 view .LVU1794
  14422. 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14423. 5018 .loc 1 2294 23 is_stmt 0 discriminator 2 view .LVU1795
  14424. 5019 0030 6364 str r3, [r4, #68]
  14425. 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  14426. 5020 .loc 1 2297 5 is_stmt 1 discriminator 2 view .LVU1796
  14427. 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  14428. 5021 .loc 1 2298 23 is_stmt 0 discriminator 2 view .LVU1797
  14429. 5022 0032 6285 strh r2, [r4, #42] @ movhi
  14430. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14431. 5023 .loc 1 2299 29 discriminator 2 view .LVU1798
  14432. 5024 0034 638D ldrh r3, [r4, #42]
  14433. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14434. 5025 .loc 1 2304 8 discriminator 2 view .LVU1799
  14435. 5026 0036 226A ldr r2, [r4, #32]
  14436. 5027 .LVL332:
  14437. 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  14438. 5028 .loc 1 2300 23 discriminator 2 view .LVU1800
  14439. 5029 0038 3248 ldr r0, .L421
  14440. 5030 003a E062 str r0, [r4, #44]
  14441. 5031 .LVL333:
  14442. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14443. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 250
  14444. 5032 .loc 1 2299 29 discriminator 2 view .LVU1801
  14445. 5033 003c 9BB2 uxth r3, r3
  14446. 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14447. 5034 .loc 1 2301 23 discriminator 2 view .LVU1802
  14448. 5035 003e 3248 ldr r0, .L421+4
  14449. 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  14450. 5036 .loc 1 2297 23 discriminator 2 view .LVU1803
  14451. 5037 0040 6162 str r1, [r4, #36]
  14452. 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  14453. 5038 .loc 1 2298 5 is_stmt 1 discriminator 2 view .LVU1804
  14454. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14455. 5039 .loc 1 2299 5 discriminator 2 view .LVU1805
  14456. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14457. 5040 .loc 1 2304 8 is_stmt 0 discriminator 2 view .LVU1806
  14458. 5041 0042 B2F5003F cmp r2, #131072
  14459. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14460. 5042 .loc 1 2299 23 discriminator 2 view .LVU1807
  14461. 5043 0046 2385 strh r3, [r4, #40] @ movhi
  14462. 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  14463. 5044 .loc 1 2300 5 is_stmt 1 discriminator 2 view .LVU1808
  14464. 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14465. 5045 .loc 1 2301 5 discriminator 2 view .LVU1809
  14466. 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14467. 5046 .loc 1 2301 23 is_stmt 0 discriminator 2 view .LVU1810
  14468. 5047 0048 6063 str r0, [r4, #52]
  14469. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14470. 5048 .loc 1 2304 5 is_stmt 1 discriminator 2 view .LVU1811
  14471. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14472. 5049 .loc 1 2304 8 is_stmt 0 discriminator 2 view .LVU1812
  14473. 5050 004a 0AD1 bne .L408
  14474. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14475. 5051 .loc 1 2308 7 is_stmt 1 view .LVU1813
  14476. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14477. 5052 .loc 1 2308 11 is_stmt 0 view .LVU1814
  14478. 5053 004c 2268 ldr r2, [r4]
  14479. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14480. 5054 .loc 1 2308 30 view .LVU1815
  14481. 5055 004e 11F8010B ldrb r0, [r1], #1 @ zero_extendqisi2
  14482. 5056 .LVL334:
  14483. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14484. 5057 .loc 1 2308 28 view .LVU1816
  14485. 5058 0052 9062 str r0, [r2, #40]
  14486. 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14487. 5059 .loc 1 2311 7 is_stmt 1 view .LVU1817
  14488. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  14489. 5060 .loc 1 2313 11 is_stmt 0 view .LVU1818
  14490. 5061 0054 628D ldrh r2, [r4, #42]
  14491. 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14492. 5062 .loc 1 2311 21 view .LVU1819
  14493. 5063 0056 6162 str r1, [r4, #36]
  14494. 5064 .LVL335:
  14495. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  14496. 5065 .loc 1 2313 7 is_stmt 1 view .LVU1820
  14497. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  14498. 5066 .loc 1 2313 22 is_stmt 0 view .LVU1821
  14499. 5067 0058 013A subs r2, r2, #1
  14500. 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14501. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 251
  14502. 5068 .loc 1 2314 21 view .LVU1822
  14503. 5069 005a 013B subs r3, r3, #1
  14504. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  14505. 5070 .loc 1 2313 22 view .LVU1823
  14506. 5071 005c 92B2 uxth r2, r2
  14507. 5072 005e 6285 strh r2, [r4, #42] @ movhi
  14508. 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14509. 5073 .loc 1 2314 7 is_stmt 1 view .LVU1824
  14510. 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14511. 5074 .loc 1 2314 21 is_stmt 0 view .LVU1825
  14512. 5075 0060 2385 strh r3, [r4, #40] @ movhi
  14513. 5076 .LVL336:
  14514. 5077 .L408:
  14515. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14516. 5078 .loc 1 2317 5 is_stmt 1 view .LVU1826
  14517. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14518. 5079 .loc 1 2317 13 is_stmt 0 view .LVU1827
  14519. 5080 0062 638D ldrh r3, [r4, #42]
  14520. 5081 0064 9BB2 uxth r3, r3
  14521. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14522. 5082 .loc 1 2317 8 view .LVU1828
  14523. 5083 0066 83B3 cbz r3, .L409
  14524. 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14525. 5084 .loc 1 2319 7 is_stmt 1 view .LVU1829
  14526. 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14527. 5085 .loc 1 2319 15 is_stmt 0 view .LVU1830
  14528. 5086 0068 A06B ldr r0, [r4, #56]
  14529. 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14530. 5087 .loc 1 2319 10 view .LVU1831
  14531. 5088 006a 08B3 cbz r0, .L410
  14532. 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14533. 5089 .loc 1 2322 9 is_stmt 1 view .LVU1832
  14534. 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14535. 5090 .loc 1 2333 78 is_stmt 0 view .LVU1833
  14536. 5091 006c 2268 ldr r2, [r4]
  14537. 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14538. 5092 .loc 1 2322 40 view .LVU1834
  14539. 5093 006e 274B ldr r3, .L421+8
  14540. 5094 0070 8362 str r3, [r0, #40]
  14541. 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14542. 5095 .loc 1 2325 9 is_stmt 1 view .LVU1835
  14543. 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  14544. 5096 .loc 1 2328 44 is_stmt 0 view .LVU1836
  14545. 5097 0072 0025 movs r5, #0
  14546. 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14547. 5098 .loc 1 2325 41 view .LVU1837
  14548. 5099 0074 264B ldr r3, .L421+12
  14549. 5100 0076 0363 str r3, [r0, #48]
  14550. 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  14551. 5101 .loc 1 2328 9 is_stmt 1 view .LVU1838
  14552. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
  14553. 5102 .loc 1 2332 25 is_stmt 0 view .LVU1839
  14554. 5103 0078 616A ldr r1, [r4, #36]
  14555. 5104 007a 238D ldrh r3, [r4, #40]
  14556. 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  14557. 5105 .loc 1 2328 44 view .LVU1840
  14558. 5106 007c C562 str r5, [r0, #44]
  14559. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 252
  14560. 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14561. 5107 .loc 1 2329 9 is_stmt 1 view .LVU1841
  14562. 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14563. 5108 .loc 1 2329 41 is_stmt 0 view .LVU1842
  14564. 5109 007e 4563 str r5, [r0, #52]
  14565. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
  14566. 5110 .loc 1 2332 9 is_stmt 1 view .LVU1843
  14567. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR,
  14568. 5111 .loc 1 2332 25 is_stmt 0 view .LVU1844
  14569. 5112 0080 2832 adds r2, r2, #40
  14570. 5113 0082 FFF7FEFF bl HAL_DMA_Start_IT
  14571. 5114 .LVL337:
  14572. 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14573. 5115 .loc 1 2351 7 is_stmt 1 view .LVU1845
  14574. 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14575. 5116 .loc 1 2351 10 is_stmt 0 view .LVU1846
  14576. 5117 0086 68B3 cbz r0, .L420
  14577. 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14578. 5118 .loc 1 2371 9 is_stmt 1 view .LVU1847
  14579. 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14580. 5119 .loc 1 2371 25 is_stmt 0 view .LVU1848
  14581. 5120 0088 2823 movs r3, #40
  14582. 5121 008a 84F84130 strb r3, [r4, #65]
  14583. 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14584. 5122 .loc 1 2372 9 is_stmt 1 view .LVU1849
  14585. 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14586. 5123 .loc 1 2372 25 is_stmt 0 view .LVU1850
  14587. 5124 008e 84F84250 strb r5, [r4, #66]
  14588. 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14589. 5125 .loc 1 2375 9 is_stmt 1 view .LVU1851
  14590. 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14591. 5126 .loc 1 2375 25 is_stmt 0 view .LVU1852
  14592. 5127 0092 636C ldr r3, [r4, #68]
  14593. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14594. 5128 .loc 1 2378 9 view .LVU1853
  14595. 5129 0094 84F84050 strb r5, [r4, #64]
  14596. 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14597. 5130 .loc 1 2375 25 view .LVU1854
  14598. 5131 0098 43F01003 orr r3, r3, #16
  14599. 5132 009c 6364 str r3, [r4, #68]
  14600. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14601. 5133 .loc 1 2378 9 is_stmt 1 view .LVU1855
  14602. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14603. 5134 .loc 1 2378 9 view .LVU1856
  14604. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14605. 5135 .loc 1 2378 9 view .LVU1857
  14606. 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14607. 5136 .loc 1 2380 9 view .LVU1858
  14608. 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14609. 5137 .loc 1 2380 16 is_stmt 0 view .LVU1859
  14610. 5138 009e 0120 movs r0, #1
  14611. 5139 .LVL338:
  14612. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14613. 5140 .loc 1 2404 1 view .LVU1860
  14614. 5141 00a0 38BD pop {r3, r4, r5, pc}
  14615. 5142 .LVL339:
  14616. 5143 .L406:
  14617. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 253
  14618. 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  14619. 5144 .loc 1 2286 7 is_stmt 1 view .LVU1861
  14620. 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  14621. 5145 .loc 1 2286 23 is_stmt 0 view .LVU1862
  14622. 5146 00a2 4FF40073 mov r3, #512
  14623. 5147 00a6 6364 str r3, [r4, #68]
  14624. 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14625. 5148 .loc 1 2287 7 is_stmt 1 view .LVU1863
  14626. 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14627. 5149 .loc 1 2287 15 is_stmt 0 view .LVU1864
  14628. 5150 00a8 0120 movs r0, #1
  14629. 5151 .LVL340:
  14630. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14631. 5152 .loc 1 2404 1 view .LVU1865
  14632. 5153 00aa 38BD pop {r3, r4, r5, pc}
  14633. 5154 .LVL341:
  14634. 5155 .L414:
  14635. 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14636. 5156 .loc 1 2402 12 view .LVU1866
  14637. 5157 00ac 0220 movs r0, #2
  14638. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14639. 5158 .loc 1 2404 1 view .LVU1867
  14640. 5159 00ae 38BD pop {r3, r4, r5, pc}
  14641. 5160 .LVL342:
  14642. 5161 .L410:
  14643. 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14644. 5162 .loc 1 2339 9 is_stmt 1 view .LVU1868
  14645. 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14646. 5163 .loc 1 2339 25 is_stmt 0 view .LVU1869
  14647. 5164 00b0 2823 movs r3, #40
  14648. 5165 00b2 84F84130 strb r3, [r4, #65]
  14649. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14650. 5166 .loc 1 2340 9 is_stmt 1 view .LVU1870
  14651. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14652. 5167 .loc 1 2340 25 is_stmt 0 view .LVU1871
  14653. 5168 00b6 84F84200 strb r0, [r4, #66]
  14654. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14655. 5169 .loc 1 2343 9 is_stmt 1 view .LVU1872
  14656. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14657. 5170 .loc 1 2343 25 is_stmt 0 view .LVU1873
  14658. 5171 00ba 636C ldr r3, [r4, #68]
  14659. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14660. 5172 .loc 1 2346 9 view .LVU1874
  14661. 5173 00bc 84F84000 strb r0, [r4, #64]
  14662. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14663. 5174 .loc 1 2343 25 view .LVU1875
  14664. 5175 00c0 43F08003 orr r3, r3, #128
  14665. 5176 00c4 6364 str r3, [r4, #68]
  14666. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14667. 5177 .loc 1 2346 9 is_stmt 1 view .LVU1876
  14668. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14669. 5178 .loc 1 2346 9 view .LVU1877
  14670. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14671. 5179 .loc 1 2346 9 view .LVU1878
  14672. 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14673. 5180 .loc 1 2348 9 view .LVU1879
  14674. 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14675. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 254
  14676. 5181 .loc 1 2348 16 is_stmt 0 view .LVU1880
  14677. 5182 00c6 0120 movs r0, #1
  14678. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14679. 5183 .loc 1 2404 1 view .LVU1881
  14680. 5184 00c8 38BD pop {r3, r4, r5, pc}
  14681. 5185 .LVL343:
  14682. 5186 .L409:
  14683. 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14684. 5187 .loc 1 2386 7 is_stmt 1 view .LVU1882
  14685. 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14686. 5188 .loc 1 2386 11 is_stmt 0 view .LVU1883
  14687. 5189 00ca 2268 ldr r2, [r4]
  14688. 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14689. 5190 .loc 1 2386 27 view .LVU1884
  14690. 5191 00cc 5168 ldr r1, [r2, #4]
  14691. 5192 00ce 21F40041 bic r1, r1, #32768
  14692. 5193 00d2 5160 str r1, [r2, #4]
  14693. 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14694. 5194 .loc 1 2389 7 is_stmt 1 view .LVU1885
  14695. 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14696. 5195 .loc 1 2389 7 view .LVU1886
  14697. 5196 00d4 84F84030 strb r3, [r4, #64]
  14698. 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14699. 5197 .loc 1 2389 7 view .LVU1887
  14700. 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14701. 5198 .loc 1 2395 7 view .LVU1888
  14702. 5199 .LVL344:
  14703. 5200 .LBB184:
  14704. 5201 .LBI184:
  14705. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14706. 5202 .loc 1 7360 13 view .LVU1889
  14707. 5203 .LBB185:
  14708. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14709. 5204 .loc 1 7362 3 view .LVU1890
  14710. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  14711. 5205 .loc 1 7364 3 view .LVU1891
  14712. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14713. 5206 .loc 1 7441 3 view .LVU1892
  14714. 5207 .LBE185:
  14715. 5208 .LBE184:
  14716. 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14717. 5209 .loc 1 2398 12 is_stmt 0 view .LVU1893
  14718. 5210 00d8 1846 mov r0, r3
  14719. 5211 .LBB187:
  14720. 5212 .LBB186:
  14721. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14722. 5213 .loc 1 7441 3 view .LVU1894
  14723. 5214 00da 1368 ldr r3, [r2]
  14724. 5215 00dc 43F0B803 orr r3, r3, #184
  14725. 5216 00e0 1360 str r3, [r2]
  14726. 5217 .LVL345:
  14727. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14728. 5218 .loc 1 7441 3 view .LVU1895
  14729. 5219 .LBE186:
  14730. 5220 .LBE187:
  14731. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14732. 5221 .loc 1 2404 1 view .LVU1896
  14733. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 255
  14734. 5222 00e2 38BD pop {r3, r4, r5, pc}
  14735. 5223 .LVL346:
  14736. 5224 .L420:
  14737. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14738. 5225 .loc 1 2354 9 is_stmt 1 view .LVU1897
  14739. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14740. 5226 .loc 1 2354 13 is_stmt 0 view .LVU1898
  14741. 5227 00e4 2368 ldr r3, [r4]
  14742. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14743. 5228 .loc 1 2354 29 view .LVU1899
  14744. 5229 00e6 5A68 ldr r2, [r3, #4]
  14745. 5230 00e8 22F40042 bic r2, r2, #32768
  14746. 5231 00ec 5A60 str r2, [r3, #4]
  14747. 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14748. 5232 .loc 1 2357 9 is_stmt 1 view .LVU1900
  14749. 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14750. 5233 .loc 1 2357 9 view .LVU1901
  14751. 5234 00ee 84F84000 strb r0, [r4, #64]
  14752. 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14753. 5235 .loc 1 2357 9 view .LVU1902
  14754. 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14755. 5236 .loc 1 2363 9 view .LVU1903
  14756. 5237 .LVL347:
  14757. 5238 .LBB188:
  14758. 5239 .LBI188:
  14759. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14760. 5240 .loc 1 7360 13 view .LVU1904
  14761. 5241 .LBB189:
  14762. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14763. 5242 .loc 1 7362 3 view .LVU1905
  14764. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  14765. 5243 .loc 1 7364 3 view .LVU1906
  14766. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14767. 5244 .loc 1 7441 3 view .LVU1907
  14768. 5245 00f2 1A68 ldr r2, [r3]
  14769. 5246 00f4 42F0B802 orr r2, r2, #184
  14770. 5247 00f8 1A60 str r2, [r3]
  14771. 5248 .LVL348:
  14772. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14773. 5249 .loc 1 7441 3 is_stmt 0 view .LVU1908
  14774. 5250 .LBE189:
  14775. 5251 .LBE188:
  14776. 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14777. 5252 .loc 1 2366 9 is_stmt 1 view .LVU1909
  14778. 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  14779. 5253 .loc 1 2366 29 is_stmt 0 view .LVU1910
  14780. 5254 00fa 1A68 ldr r2, [r3]
  14781. 5255 00fc 42F48042 orr r2, r2, #16384
  14782. 5256 0100 1A60 str r2, [r3]
  14783. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14784. 5257 .loc 1 2404 1 view .LVU1911
  14785. 5258 0102 38BD pop {r3, r4, r5, pc}
  14786. 5259 .LVL349:
  14787. 5260 .L422:
  14788. 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14789. 5261 .loc 1 2404 1 view .LVU1912
  14790. 5262 .align 2
  14791. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 256
  14792. 5263 .L421:
  14793. 5264 0104 0000FFFF .word -65536
  14794. 5265 0108 00000000 .word I2C_Slave_ISR_DMA
  14795. 5266 010c 00000000 .word I2C_DMASlaveTransmitCplt
  14796. 5267 0110 00000000 .word I2C_DMAError
  14797. 5268 .cfi_endproc
  14798. 5269 .LFE144:
  14799. 5271 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
  14800. 5272 .align 1
  14801. 5273 .p2align 2,,3
  14802. 5274 .global HAL_I2C_Slave_Receive_DMA
  14803. 5275 .syntax unified
  14804. 5276 .thumb
  14805. 5277 .thumb_func
  14806. 5279 HAL_I2C_Slave_Receive_DMA:
  14807. 5280 .LVL350:
  14808. 5281 .LFB145:
  14809. 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  14810. 5282 .loc 1 2415 1 is_stmt 1 view -0
  14811. 5283 .cfi_startproc
  14812. 5284 @ args = 0, pretend = 0, frame = 0
  14813. 5285 @ frame_needed = 0, uses_anonymous_args = 0
  14814. 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14815. 5286 .loc 1 2416 3 view .LVU1914
  14816. 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14817. 5287 .loc 1 2418 3 view .LVU1915
  14818. 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  14819. 5288 .loc 1 2415 1 is_stmt 0 view .LVU1916
  14820. 5289 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
  14821. 5290 .LCFI74:
  14822. 5291 .cfi_def_cfa_offset 24
  14823. 5292 .cfi_offset 3, -24
  14824. 5293 .cfi_offset 4, -20
  14825. 5294 .cfi_offset 5, -16
  14826. 5295 .cfi_offset 6, -12
  14827. 5296 .cfi_offset 7, -8
  14828. 5297 .cfi_offset 14, -4
  14829. 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14830. 5298 .loc 1 2418 11 view .LVU1917
  14831. 5299 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  14832. 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14833. 5300 .loc 1 2418 6 view .LVU1918
  14834. 5301 0006 202B cmp r3, #32
  14835. 5302 0008 3DD1 bne .L431
  14836. 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14837. 5303 .loc 1 2420 5 is_stmt 1 view .LVU1919
  14838. 5304 000a 0446 mov r4, r0
  14839. 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14840. 5305 .loc 1 2420 8 is_stmt 0 view .LVU1920
  14841. 5306 000c 0029 cmp r1, #0
  14842. 5307 000e 35D0 beq .L425
  14843. 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14844. 5308 .loc 1 2420 25 discriminator 1 view .LVU1921
  14845. 5309 0010 002A cmp r2, #0
  14846. 5310 0012 33D0 beq .L425
  14847. 5311 0014 D8B2 uxtb r0, r3
  14848. 5312 .LVL351:
  14849. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 257
  14850. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14851. 5313 .loc 1 2426 5 is_stmt 1 view .LVU1922
  14852. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14853. 5314 .loc 1 2426 5 view .LVU1923
  14854. 5315 0016 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
  14855. 5316 001a 012B cmp r3, #1
  14856. 5317 001c 33D0 beq .L431
  14857. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14858. 5318 .loc 1 2426 5 discriminator 2 view .LVU1924
  14859. 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  14860. 5319 .loc 1 2428 23 is_stmt 0 discriminator 2 view .LVU1925
  14861. 5320 001e 2223 movs r3, #34
  14862. 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14863. 5321 .loc 1 2430 23 discriminator 2 view .LVU1926
  14864. 5322 0020 0025 movs r5, #0
  14865. 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  14866. 5323 .loc 1 2428 23 discriminator 2 view .LVU1927
  14867. 5324 0022 84F84130 strb r3, [r4, #65]
  14868. 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  14869. 5325 .loc 1 2429 23 discriminator 2 view .LVU1928
  14870. 5326 0026 84F84200 strb r0, [r4, #66]
  14871. 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14872. 5327 .loc 1 2430 23 discriminator 2 view .LVU1929
  14873. 5328 002a 6564 str r5, [r4, #68]
  14874. 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  14875. 5329 .loc 1 2434 23 discriminator 2 view .LVU1930
  14876. 5330 002c 6285 strh r2, [r4, #42] @ movhi
  14877. 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14878. 5331 .loc 1 2435 29 discriminator 2 view .LVU1931
  14879. 5332 002e 638D ldrh r3, [r4, #42]
  14880. 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  14881. 5333 .loc 1 2436 23 discriminator 2 view .LVU1932
  14882. 5334 0030 244A ldr r2, .L438
  14883. 5335 .LVL352:
  14884. 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14885. 5336 .loc 1 2439 13 discriminator 2 view .LVU1933
  14886. 5337 0032 E06B ldr r0, [r4, #60]
  14887. 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  14888. 5338 .loc 1 2436 23 discriminator 2 view .LVU1934
  14889. 5339 0034 E262 str r2, [r4, #44]
  14890. 5340 .LVL353:
  14891. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14892. 5341 .loc 1 2426 5 discriminator 2 view .LVU1935
  14893. 5342 0036 0126 movs r6, #1
  14894. 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14895. 5343 .loc 1 2437 23 discriminator 2 view .LVU1936
  14896. 5344 0038 234A ldr r2, .L438+4
  14897. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14898. 5345 .loc 1 2426 5 discriminator 2 view .LVU1937
  14899. 5346 003a 84F84060 strb r6, [r4, #64]
  14900. 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14901. 5347 .loc 1 2426 5 is_stmt 1 discriminator 2 view .LVU1938
  14902. 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  14903. 5348 .loc 1 2428 5 discriminator 2 view .LVU1939
  14904. 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  14905. 5349 .loc 1 2429 5 discriminator 2 view .LVU1940
  14906. 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14907. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 258
  14908. 5350 .loc 1 2430 5 discriminator 2 view .LVU1941
  14909. 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  14910. 5351 .loc 1 2433 5 discriminator 2 view .LVU1942
  14911. 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  14912. 5352 .loc 1 2434 5 discriminator 2 view .LVU1943
  14913. 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14914. 5353 .loc 1 2435 5 discriminator 2 view .LVU1944
  14915. 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14916. 5354 .loc 1 2435 29 is_stmt 0 discriminator 2 view .LVU1945
  14917. 5355 003e 9BB2 uxth r3, r3
  14918. 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  14919. 5356 .loc 1 2433 23 discriminator 2 view .LVU1946
  14920. 5357 0040 6162 str r1, [r4, #36]
  14921. 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  14922. 5358 .loc 1 2435 23 discriminator 2 view .LVU1947
  14923. 5359 0042 2385 strh r3, [r4, #40] @ movhi
  14924. 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  14925. 5360 .loc 1 2436 5 is_stmt 1 discriminator 2 view .LVU1948
  14926. 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14927. 5361 .loc 1 2437 5 discriminator 2 view .LVU1949
  14928. 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14929. 5362 .loc 1 2437 23 is_stmt 0 discriminator 2 view .LVU1950
  14930. 5363 0044 6263 str r2, [r4, #52]
  14931. 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14932. 5364 .loc 1 2439 5 is_stmt 1 discriminator 2 view .LVU1951
  14933. 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14934. 5365 .loc 1 2439 8 is_stmt 0 discriminator 2 view .LVU1952
  14935. 5366 0046 0028 cmp r0, #0
  14936. 5367 0048 2FD0 beq .L427
  14937. 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14938. 5368 .loc 1 2442 7 is_stmt 1 view .LVU1953
  14939. 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14940. 5369 .loc 1 2442 38 is_stmt 0 view .LVU1954
  14941. 5370 004a 204F ldr r7, .L438+8
  14942. 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  14943. 5371 .loc 1 2448 42 view .LVU1955
  14944. 5372 004c C562 str r5, [r0, #44]
  14945. 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14946. 5373 .loc 1 2452 23 view .LVU1956
  14947. 5374 004e 0A46 mov r2, r1
  14948. 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14949. 5375 .loc 1 2452 64 view .LVU1957
  14950. 5376 0050 2168 ldr r1, [r4]
  14951. 5377 .LVL354:
  14952. 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14953. 5378 .loc 1 2442 38 view .LVU1958
  14954. 5379 0052 8762 str r7, [r0, #40]
  14955. 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14956. 5380 .loc 1 2445 7 is_stmt 1 view .LVU1959
  14957. 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14958. 5381 .loc 1 2445 39 is_stmt 0 view .LVU1960
  14959. 5382 0054 1E4F ldr r7, .L438+12
  14960. 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14961. 5383 .loc 1 2449 39 view .LVU1961
  14962. 5384 0056 4563 str r5, [r0, #52]
  14963. 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14964. 5385 .loc 1 2452 23 view .LVU1962
  14965. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 259
  14966. 5386 0058 2431 adds r1, r1, #36
  14967. 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14968. 5387 .loc 1 2445 39 view .LVU1963
  14969. 5388 005a 0763 str r7, [r0, #48]
  14970. 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  14971. 5389 .loc 1 2448 7 is_stmt 1 view .LVU1964
  14972. 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14973. 5390 .loc 1 2449 7 view .LVU1965
  14974. 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14975. 5391 .loc 1 2452 7 view .LVU1966
  14976. 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  14977. 5392 .loc 1 2452 23 is_stmt 0 view .LVU1967
  14978. 5393 005c FFF7FEFF bl HAL_DMA_Start_IT
  14979. 5394 .LVL355:
  14980. 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14981. 5395 .loc 1 2470 5 is_stmt 1 view .LVU1968
  14982. 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  14983. 5396 .loc 1 2470 8 is_stmt 0 view .LVU1969
  14984. 5397 0060 98B1 cbz r0, .L437
  14985. 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14986. 5398 .loc 1 2490 7 is_stmt 1 view .LVU1970
  14987. 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  14988. 5399 .loc 1 2490 23 is_stmt 0 view .LVU1971
  14989. 5400 0062 2823 movs r3, #40
  14990. 5401 0064 84F84130 strb r3, [r4, #65]
  14991. 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14992. 5402 .loc 1 2491 7 is_stmt 1 view .LVU1972
  14993. 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14994. 5403 .loc 1 2491 23 is_stmt 0 view .LVU1973
  14995. 5404 0068 84F84250 strb r5, [r4, #66]
  14996. 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14997. 5405 .loc 1 2494 7 is_stmt 1 view .LVU1974
  14998. 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  14999. 5406 .loc 1 2494 23 is_stmt 0 view .LVU1975
  15000. 5407 006c 636C ldr r3, [r4, #68]
  15001. 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15002. 5408 .loc 1 2497 7 view .LVU1976
  15003. 5409 006e 84F84050 strb r5, [r4, #64]
  15004. 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15005. 5410 .loc 1 2494 23 view .LVU1977
  15006. 5411 0072 43F01003 orr r3, r3, #16
  15007. 5412 0076 6364 str r3, [r4, #68]
  15008. 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15009. 5413 .loc 1 2497 7 is_stmt 1 view .LVU1978
  15010. 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15011. 5414 .loc 1 2497 7 view .LVU1979
  15012. 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15013. 5415 .loc 1 2497 7 view .LVU1980
  15014. 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15015. 5416 .loc 1 2499 7 view .LVU1981
  15016. 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15017. 5417 .loc 1 2499 14 is_stmt 0 view .LVU1982
  15018. 5418 0078 3046 mov r0, r6
  15019. 5419 .LVL356:
  15020. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15021. 5420 .loc 1 2508 1 view .LVU1983
  15022. 5421 007a F8BD pop {r3, r4, r5, r6, r7, pc}
  15023. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 260
  15024. 5422 .LVL357:
  15025. 5423 .L425:
  15026. 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  15027. 5424 .loc 1 2422 7 is_stmt 1 view .LVU1984
  15028. 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  15029. 5425 .loc 1 2422 23 is_stmt 0 view .LVU1985
  15030. 5426 007c 4FF40073 mov r3, #512
  15031. 5427 0080 6364 str r3, [r4, #68]
  15032. 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15033. 5428 .loc 1 2423 7 is_stmt 1 view .LVU1986
  15034. 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15035. 5429 .loc 1 2423 15 is_stmt 0 view .LVU1987
  15036. 5430 0082 0120 movs r0, #1
  15037. 5431 .LVL358:
  15038. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15039. 5432 .loc 1 2508 1 view .LVU1988
  15040. 5433 0084 F8BD pop {r3, r4, r5, r6, r7, pc}
  15041. 5434 .LVL359:
  15042. 5435 .L431:
  15043. 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15044. 5436 .loc 1 2506 12 view .LVU1989
  15045. 5437 0086 0220 movs r0, #2
  15046. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15047. 5438 .loc 1 2508 1 view .LVU1990
  15048. 5439 0088 F8BD pop {r3, r4, r5, r6, r7, pc}
  15049. 5440 .LVL360:
  15050. 5441 .L437:
  15051. 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15052. 5442 .loc 1 2473 7 is_stmt 1 view .LVU1991
  15053. 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15054. 5443 .loc 1 2473 11 is_stmt 0 view .LVU1992
  15055. 5444 008a 2368 ldr r3, [r4]
  15056. 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15057. 5445 .loc 1 2473 27 view .LVU1993
  15058. 5446 008c 5A68 ldr r2, [r3, #4]
  15059. 5447 008e 22F40042 bic r2, r2, #32768
  15060. 5448 0092 5A60 str r2, [r3, #4]
  15061. 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15062. 5449 .loc 1 2476 7 is_stmt 1 view .LVU1994
  15063. 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15064. 5450 .loc 1 2476 7 view .LVU1995
  15065. 5451 0094 84F84000 strb r0, [r4, #64]
  15066. 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15067. 5452 .loc 1 2476 7 view .LVU1996
  15068. 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15069. 5453 .loc 1 2482 7 view .LVU1997
  15070. 5454 .LVL361:
  15071. 5455 .LBB192:
  15072. 5456 .LBI192:
  15073. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15074. 5457 .loc 1 7360 13 view .LVU1998
  15075. 5458 .LBB193:
  15076. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15077. 5459 .loc 1 7362 3 view .LVU1999
  15078. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  15079. 5460 .loc 1 7364 3 view .LVU2000
  15080. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15081. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 261
  15082. 5461 .loc 1 7441 3 view .LVU2001
  15083. 5462 0098 1A68 ldr r2, [r3]
  15084. 5463 009a 42F0B802 orr r2, r2, #184
  15085. 5464 009e 1A60 str r2, [r3]
  15086. 5465 .LVL362:
  15087. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15088. 5466 .loc 1 7441 3 is_stmt 0 view .LVU2002
  15089. 5467 .LBE193:
  15090. 5468 .LBE192:
  15091. 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15092. 5469 .loc 1 2485 7 is_stmt 1 view .LVU2003
  15093. 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15094. 5470 .loc 1 2485 27 is_stmt 0 view .LVU2004
  15095. 5471 00a0 1A68 ldr r2, [r3]
  15096. 5472 00a2 42F40042 orr r2, r2, #32768
  15097. 5473 00a6 1A60 str r2, [r3]
  15098. 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15099. 5474 .loc 1 2502 5 is_stmt 1 view .LVU2005
  15100. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15101. 5475 .loc 1 2508 1 is_stmt 0 view .LVU2006
  15102. 5476 00a8 F8BD pop {r3, r4, r5, r6, r7, pc}
  15103. 5477 .LVL363:
  15104. 5478 .L427:
  15105. 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  15106. 5479 .loc 1 2458 7 is_stmt 1 view .LVU2007
  15107. 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  15108. 5480 .loc 1 2458 23 is_stmt 0 view .LVU2008
  15109. 5481 00aa 2823 movs r3, #40
  15110. 5482 00ac 84F84130 strb r3, [r4, #65]
  15111. 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15112. 5483 .loc 1 2459 7 is_stmt 1 view .LVU2009
  15113. 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15114. 5484 .loc 1 2459 23 is_stmt 0 view .LVU2010
  15115. 5485 00b0 84F84200 strb r0, [r4, #66]
  15116. 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15117. 5486 .loc 1 2462 7 is_stmt 1 view .LVU2011
  15118. 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15119. 5487 .loc 1 2462 23 is_stmt 0 view .LVU2012
  15120. 5488 00b4 636C ldr r3, [r4, #68]
  15121. 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15122. 5489 .loc 1 2465 7 view .LVU2013
  15123. 5490 00b6 84F84000 strb r0, [r4, #64]
  15124. 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15125. 5491 .loc 1 2462 23 view .LVU2014
  15126. 5492 00ba 43F08003 orr r3, r3, #128
  15127. 5493 00be 6364 str r3, [r4, #68]
  15128. 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15129. 5494 .loc 1 2465 7 is_stmt 1 view .LVU2015
  15130. 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15131. 5495 .loc 1 2465 7 view .LVU2016
  15132. 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15133. 5496 .loc 1 2465 7 view .LVU2017
  15134. 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15135. 5497 .loc 1 2467 7 view .LVU2018
  15136. 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15137. 5498 .loc 1 2467 14 is_stmt 0 view .LVU2019
  15138. 5499 00c0 3046 mov r0, r6
  15139. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 262
  15140. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15141. 5500 .loc 1 2508 1 view .LVU2020
  15142. 5501 00c2 F8BD pop {r3, r4, r5, r6, r7, pc}
  15143. 5502 .LVL364:
  15144. 5503 .L439:
  15145. 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15146. 5504 .loc 1 2508 1 view .LVU2021
  15147. 5505 .align 2
  15148. 5506 .L438:
  15149. 5507 00c4 0000FFFF .word -65536
  15150. 5508 00c8 00000000 .word I2C_Slave_ISR_DMA
  15151. 5509 00cc 00000000 .word I2C_DMASlaveReceiveCplt
  15152. 5510 00d0 00000000 .word I2C_DMAError
  15153. 5511 .cfi_endproc
  15154. 5512 .LFE145:
  15155. 5514 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
  15156. 5515 .align 1
  15157. 5516 .p2align 2,,3
  15158. 5517 .global HAL_I2C_Mem_Write
  15159. 5518 .syntax unified
  15160. 5519 .thumb
  15161. 5520 .thumb_func
  15162. 5522 HAL_I2C_Mem_Write:
  15163. 5523 .LVL365:
  15164. 5524 .LFB146:
  15165. 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  15166. 5525 .loc 1 2525 1 is_stmt 1 view -0
  15167. 5526 .cfi_startproc
  15168. 5527 @ args = 12, pretend = 0, frame = 0
  15169. 5528 @ frame_needed = 0, uses_anonymous_args = 0
  15170. 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  15171. 5529 .loc 1 2525 1 is_stmt 0 view .LVU2023
  15172. 5530 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
  15173. 5531 .LCFI75:
  15174. 5532 .cfi_def_cfa_offset 36
  15175. 5533 .cfi_offset 4, -36
  15176. 5534 .cfi_offset 5, -32
  15177. 5535 .cfi_offset 6, -28
  15178. 5536 .cfi_offset 7, -24
  15179. 5537 .cfi_offset 8, -20
  15180. 5538 .cfi_offset 9, -16
  15181. 5539 .cfi_offset 10, -12
  15182. 5540 .cfi_offset 11, -8
  15183. 5541 .cfi_offset 14, -4
  15184. 5542 0004 9846 mov r8, r3
  15185. 5543 0006 83B0 sub sp, sp, #12
  15186. 5544 .LCFI76:
  15187. 5545 .cfi_def_cfa_offset 48
  15188. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15189. 5546 .loc 1 2529 3 view .LVU2024
  15190. 5547 0008 013B subs r3, r3, #1
  15191. 5548 .LVL366:
  15192. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15193. 5549 .loc 1 2529 3 view .LVU2025
  15194. 5550 000a 012B cmp r3, #1
  15195. 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  15196. 5551 .loc 1 2525 1 view .LVU2026
  15197. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 263
  15198. 5552 000c BDF834A0 ldrh r10, [sp, #52]
  15199. 5553 0010 0E9F ldr r7, [sp, #56]
  15200. 5554 0012 0446 mov r4, r0
  15201. 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15202. 5555 .loc 1 2526 3 is_stmt 1 view .LVU2027
  15203. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15204. 5556 .loc 1 2529 3 view .LVU2028
  15205. 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  15206. 5557 .loc 1 2525 1 is_stmt 0 view .LVU2029
  15207. 5558 0014 0D46 mov r5, r1
  15208. 5559 0016 9146 mov r9, r2
  15209. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15210. 5560 .loc 1 2529 3 view .LVU2030
  15211. 5561 0018 04D9 bls .L441
  15212. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15213. 5562 .loc 1 2529 3 discriminator 1 view .LVU2031
  15214. 5563 001a 9C48 ldr r0, .L475
  15215. 5564 .LVL367:
  15216. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15217. 5565 .loc 1 2529 3 discriminator 1 view .LVU2032
  15218. 5566 001c 40F6E111 movw r1, #2529
  15219. 5567 .LVL368:
  15220. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15221. 5568 .loc 1 2529 3 discriminator 1 view .LVU2033
  15222. 5569 0020 FFF7FEFF bl assert_failed
  15223. 5570 .LVL369:
  15224. 5571 .L441:
  15225. 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15226. 5572 .loc 1 2531 3 is_stmt 1 view .LVU2034
  15227. 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15228. 5573 .loc 1 2531 11 is_stmt 0 view .LVU2035
  15229. 5574 0024 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  15230. 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15231. 5575 .loc 1 2531 6 view .LVU2036
  15232. 5576 0028 202B cmp r3, #32
  15233. 5577 002a 23D1 bne .L462
  15234. 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15235. 5578 .loc 1 2533 5 is_stmt 1 view .LVU2037
  15236. 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15237. 5579 .loc 1 2533 8 is_stmt 0 view .LVU2038
  15238. 5580 002c 0C9B ldr r3, [sp, #48]
  15239. 5581 002e D3B1 cbz r3, .L443
  15240. 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15241. 5582 .loc 1 2533 25 discriminator 1 view .LVU2039
  15242. 5583 0030 BAF1000F cmp r10, #0
  15243. 5584 0034 17D0 beq .L443
  15244. 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15245. 5585 .loc 1 2540 5 is_stmt 1 view .LVU2040
  15246. 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15247. 5586 .loc 1 2540 5 view .LVU2041
  15248. 5587 0036 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
  15249. 5588 003a 012B cmp r3, #1
  15250. 5589 003c 1AD0 beq .L462
  15251. 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15252. 5590 .loc 1 2540 5 discriminator 2 view .LVU2042
  15253. 5591 003e 4FF0010B mov fp, #1
  15254. 5592 0042 84F840B0 strb fp, [r4, #64]
  15255. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 264
  15256. 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15257. 5593 .loc 1 2540 5 discriminator 2 view .LVU2043
  15258. 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15259. 5594 .loc 1 2543 5 discriminator 2 view .LVU2044
  15260. 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15261. 5595 .loc 1 2543 17 is_stmt 0 discriminator 2 view .LVU2045
  15262. 5596 0046 FFF7FEFF bl HAL_GetTick
  15263. 5597 .LVL370:
  15264. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15265. 5598 .loc 1 2545 9 discriminator 2 view .LVU2046
  15266. 5599 004a 5A46 mov r2, fp
  15267. 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15268. 5600 .loc 1 2543 17 discriminator 2 view .LVU2047
  15269. 5601 004c 0646 mov r6, r0
  15270. 5602 .LVL371:
  15271. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15272. 5603 .loc 1 2545 5 is_stmt 1 discriminator 2 view .LVU2048
  15273. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15274. 5604 .loc 1 2545 9 is_stmt 0 discriminator 2 view .LVU2049
  15275. 5605 004e 0090 str r0, [sp]
  15276. 5606 0050 1923 movs r3, #25
  15277. 5607 0052 4FF40041 mov r1, #32768
  15278. 5608 0056 2046 mov r0, r4
  15279. 5609 .LVL372:
  15280. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15281. 5610 .loc 1 2545 9 discriminator 2 view .LVU2050
  15282. 5611 0058 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  15283. 5612 .LVL373:
  15284. 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15285. 5613 .loc 1 2545 8 discriminator 2 view .LVU2051
  15286. 5614 005c 70B1 cbz r0, .L445
  15287. 5615 .LVL374:
  15288. 5616 .L473:
  15289. 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  15290. 5617 .loc 1 2563 7 is_stmt 1 view .LVU2052
  15291. 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15292. 5618 .loc 1 2564 7 view .LVU2053
  15293. 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15294. 5619 .loc 1 2564 14 is_stmt 0 view .LVU2054
  15295. 5620 005e 0120 movs r0, #1
  15296. 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15297. 5621 .loc 1 2645 1 view .LVU2055
  15298. 5622 0060 03B0 add sp, sp, #12
  15299. 5623 .LCFI77:
  15300. 5624 .cfi_remember_state
  15301. 5625 .cfi_def_cfa_offset 36
  15302. 5626 @ sp needed
  15303. 5627 0062 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  15304. 5628 .LVL375:
  15305. 5629 .L443:
  15306. 5630 .LCFI78:
  15307. 5631 .cfi_restore_state
  15308. 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  15309. 5632 .loc 1 2535 7 is_stmt 1 view .LVU2056
  15310. 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  15311. 5633 .loc 1 2535 23 is_stmt 0 view .LVU2057
  15312. 5634 0066 4FF40073 mov r3, #512
  15313. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 265
  15314. 5635 006a 6364 str r3, [r4, #68]
  15315. 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15316. 5636 .loc 1 2536 7 is_stmt 1 view .LVU2058
  15317. 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15318. 5637 .loc 1 2536 15 is_stmt 0 view .LVU2059
  15319. 5638 006c 0120 movs r0, #1
  15320. 5639 .LVL376:
  15321. 5640 .L442:
  15322. 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15323. 5641 .loc 1 2645 1 view .LVU2060
  15324. 5642 006e 03B0 add sp, sp, #12
  15325. 5643 .LCFI79:
  15326. 5644 .cfi_remember_state
  15327. 5645 .cfi_def_cfa_offset 36
  15328. 5646 @ sp needed
  15329. 5647 0070 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  15330. 5648 .LVL377:
  15331. 5649 .L462:
  15332. 5650 .LCFI80:
  15333. 5651 .cfi_restore_state
  15334. 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15335. 5652 .loc 1 2643 12 view .LVU2061
  15336. 5653 0074 0220 movs r0, #2
  15337. 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15338. 5654 .loc 1 2645 1 view .LVU2062
  15339. 5655 0076 03B0 add sp, sp, #12
  15340. 5656 .LCFI81:
  15341. 5657 .cfi_remember_state
  15342. 5658 .cfi_def_cfa_offset 36
  15343. 5659 @ sp needed
  15344. 5660 0078 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  15345. 5661 .LVL378:
  15346. 5662 .L445:
  15347. 5663 .LCFI82:
  15348. 5664 .cfi_restore_state
  15349. 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  15350. 5665 .loc 1 2550 5 is_stmt 1 view .LVU2063
  15351. 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  15352. 5666 .loc 1 2555 21 is_stmt 0 view .LVU2064
  15353. 5667 007c 0C9B ldr r3, [sp, #48]
  15354. 5668 .LBB206:
  15355. 5669 .LBB207:
  15356. 5670 .LBB208:
  15357. 5671 .LBB209:
  15358. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15359. 5672 .loc 1 7337 3 view .LVU2065
  15360. 5673 007e 2268 ldr r2, [r4]
  15361. 5674 .LBE209:
  15362. 5675 .LBE208:
  15363. 5676 .LBE207:
  15364. 5677 .LBE206:
  15365. 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  15366. 5678 .loc 1 2555 21 view .LVU2066
  15367. 5679 0080 6362 str r3, [r4, #36]
  15368. 5680 .LBB220:
  15369. 5681 .LBB216:
  15370. 5682 .LBB213:
  15371. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 266
  15372. 5683 .LBB210:
  15373. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15374. 5684 .loc 1 7337 3 view .LVU2067
  15375. 5685 0082 834B ldr r3, .L475+4
  15376. 5686 .LBE210:
  15377. 5687 .LBE213:
  15378. 5688 .LBE216:
  15379. 5689 .LBE220:
  15380. 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15381. 5690 .loc 1 2557 21 view .LVU2068
  15382. 5691 0084 6063 str r0, [r4, #52]
  15383. 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  15384. 5692 .loc 1 2550 21 view .LVU2069
  15385. 5693 0086 2121 movs r1, #33
  15386. 5694 0088 84F84110 strb r1, [r4, #65]
  15387. 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  15388. 5695 .loc 1 2551 5 is_stmt 1 view .LVU2070
  15389. 5696 .LBB221:
  15390. 5697 .LBB217:
  15391. 5698 .LBB214:
  15392. 5699 .LBB211:
  15393. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15394. 5700 .loc 1 7337 3 is_stmt 0 view .LVU2071
  15395. 5701 008c 9A42 cmp r2, r3
  15396. 5702 .LBE211:
  15397. 5703 .LBE214:
  15398. 5704 .LBE217:
  15399. 5705 .LBE221:
  15400. 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  15401. 5706 .loc 1 2551 21 view .LVU2072
  15402. 5707 008e 4FF04001 mov r1, #64
  15403. 5708 0092 84F84210 strb r1, [r4, #66]
  15404. 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15405. 5709 .loc 1 2552 5 is_stmt 1 view .LVU2073
  15406. 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15407. 5710 .loc 1 2552 21 is_stmt 0 view .LVU2074
  15408. 5711 0096 6064 str r0, [r4, #68]
  15409. 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  15410. 5712 .loc 1 2555 5 is_stmt 1 view .LVU2075
  15411. 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  15412. 5713 .loc 1 2556 5 view .LVU2076
  15413. 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  15414. 5714 .loc 1 2556 21 is_stmt 0 view .LVU2077
  15415. 5715 0098 A4F82AA0 strh r10, [r4, #42] @ movhi
  15416. 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15417. 5716 .loc 1 2557 5 is_stmt 1 view .LVU2078
  15418. 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15419. 5717 .loc 1 2560 5 view .LVU2079
  15420. 5718 .LVL379:
  15421. 5719 .LBB222:
  15422. 5720 .LBI206:
  15423. 5853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t
  15424. 5721 .loc 1 5853 26 view .LVU2080
  15425. 5722 .LBB218:
  15426. 5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15427. 5723 .loc 1 5857 3 view .LVU2081
  15428. 5724 009c 5FFA88FA uxtb r10, r8
  15429. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 267
  15430. 5725 .LVL380:
  15431. 5726 .LBB215:
  15432. 5727 .LBI208:
  15433. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  15434. 5728 .loc 1 7333 13 view .LVU2082
  15435. 5729 .LBB212:
  15436. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15437. 5730 .loc 1 7337 3 view .LVU2083
  15438. 5731 00a0 09D0 beq .L446
  15439. 5732 00a2 03F58063 add r3, r3, #1024
  15440. 5733 00a6 9A42 cmp r2, r3
  15441. 5734 00a8 05D0 beq .L446
  15442. 5735 00aa 7848 ldr r0, .L475
  15443. 5736 00ac 41F6A941 movw r1, #7337
  15444. 5737 00b0 FFF7FEFF bl assert_failed
  15445. 5738 .LVL381:
  15446. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15447. 5739 .loc 1 7347 3 is_stmt 0 view .LVU2084
  15448. 5740 00b4 2268 ldr r2, [r4]
  15449. 5741 .L446:
  15450. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  15451. 5742 .loc 1 7338 3 is_stmt 1 view .LVU2085
  15452. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15453. 5743 .loc 1 7339 3 view .LVU2086
  15454. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  15455. 5744 .loc 1 7342 3 view .LVU2087
  15456. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15457. 5745 .loc 1 7347 3 is_stmt 0 view .LVU2088
  15458. 5746 00b6 5368 ldr r3, [r2, #4]
  15459. 5747 00b8 7649 ldr r1, .L475+8
  15460. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  15461. 5748 .loc 1 7342 52 view .LVU2089
  15462. 5749 00ba C5F30905 ubfx r5, r5, #0, #10
  15463. 5750 .LVL382:
  15464. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15465. 5751 .loc 1 7347 3 is_stmt 1 view .LVU2090
  15466. 5752 00be 0B40 ands r3, r3, r1
  15467. 5753 00c0 2B43 orrs r3, r3, r5
  15468. 5754 00c2 43EA0A43 orr r3, r3, r10, lsl #16
  15469. 5755 00c6 43F08073 orr r3, r3, #16777216
  15470. 5756 00ca 43F40053 orr r3, r3, #8192
  15471. 5757 00ce 5360 str r3, [r2, #4]
  15472. 5758 .LVL383:
  15473. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15474. 5759 .loc 1 7347 3 is_stmt 0 view .LVU2091
  15475. 5760 .LBE212:
  15476. 5761 .LBE215:
  15477. 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15478. 5762 .loc 1 5860 3 is_stmt 1 view .LVU2092
  15479. 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15480. 5763 .loc 1 5860 7 is_stmt 0 view .LVU2093
  15481. 5764 00d0 3946 mov r1, r7
  15482. 5765 00d2 3246 mov r2, r6
  15483. 5766 00d4 2046 mov r0, r4
  15484. 5767 00d6 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
  15485. 5768 .LVL384:
  15486. 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15487. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 268
  15488. 5769 .loc 1 5860 6 view .LVU2094
  15489. 5770 00da 0028 cmp r0, #0
  15490. 5771 00dc 40F08880 bne .L447
  15491. 5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15492. 5772 .loc 1 5866 3 is_stmt 1 view .LVU2095
  15493. 5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15494. 5773 .loc 1 5866 6 is_stmt 0 view .LVU2096
  15495. 5774 00e0 B8F1010F cmp r8, #1
  15496. 5775 00e4 78D1 bne .L448
  15497. 5776 .L472:
  15498. 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15499. 5777 .loc 1 5884 5 is_stmt 1 view .LVU2097
  15500. 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15501. 5778 .loc 1 5888 3 view .LVU2098
  15502. 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15503. 5779 .loc 1 5884 9 is_stmt 0 view .LVU2099
  15504. 5780 00e6 2368 ldr r3, [r4]
  15505. 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15506. 5781 .loc 1 5884 28 view .LVU2100
  15507. 5782 00e8 5FFA89F2 uxtb r2, r9
  15508. 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15509. 5783 .loc 1 5884 26 view .LVU2101
  15510. 5784 00ec 9A62 str r2, [r3, #40]
  15511. 5785 .LVL385:
  15512. 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15513. 5786 .loc 1 5888 7 view .LVU2102
  15514. 5787 00ee 8021 movs r1, #128
  15515. 5788 00f0 0096 str r6, [sp]
  15516. 5789 00f2 3B46 mov r3, r7
  15517. 5790 00f4 0022 movs r2, #0
  15518. 5791 00f6 2046 mov r0, r4
  15519. 5792 00f8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  15520. 5793 .LVL386:
  15521. 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15522. 5794 .loc 1 5888 6 view .LVU2103
  15523. 5795 00fc 0028 cmp r0, #0
  15524. 5796 00fe 77D1 bne .L447
  15525. 5797 .LVL387:
  15526. 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15527. 5798 .loc 1 5888 6 view .LVU2104
  15528. 5799 .LBE218:
  15529. 5800 .LBE222:
  15530. 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15531. 5801 .loc 1 2568 5 is_stmt 1 view .LVU2105
  15532. 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15533. 5802 .loc 1 2568 13 is_stmt 0 view .LVU2106
  15534. 5803 0100 638D ldrh r3, [r4, #42]
  15535. 5804 0102 9BB2 uxth r3, r3
  15536. 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15537. 5805 .loc 1 2568 8 view .LVU2107
  15538. 5806 0104 FF2B cmp r3, #255
  15539. 5807 0106 77D8 bhi .L450
  15540. 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
  15541. 5808 .loc 1 2575 7 is_stmt 1 view .LVU2108
  15542. 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
  15543. 5809 .loc 1 2575 28 is_stmt 0 view .LVU2109
  15544. 5810 0108 638D ldrh r3, [r4, #42]
  15545. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 269
  15546. 5811 .LBB223:
  15547. 5812 .LBB224:
  15548. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15549. 5813 .loc 1 7337 3 view .LVU2110
  15550. 5814 010a 2268 ldr r2, [r4]
  15551. 5815 .LBE224:
  15552. 5816 .LBE223:
  15553. 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
  15554. 5817 .loc 1 2575 28 view .LVU2111
  15555. 5818 010c 9BB2 uxth r3, r3
  15556. 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
  15557. 5819 .loc 1 2575 22 view .LVU2112
  15558. 5820 010e 2385 strh r3, [r4, #40] @ movhi
  15559. 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15560. 5821 .loc 1 2576 7 is_stmt 1 view .LVU2113
  15561. 5822 0110 5FFA83F8 uxtb r8, r3
  15562. 5823 .LVL388:
  15563. 5824 .LBB226:
  15564. 5825 .LBI223:
  15565. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  15566. 5826 .loc 1 7333 13 view .LVU2114
  15567. 5827 .LBB225:
  15568. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15569. 5828 .loc 1 7337 3 view .LVU2115
  15570. 5829 0114 5E4B ldr r3, .L475+4
  15571. 5830 0116 9A42 cmp r2, r3
  15572. 5831 0118 09D0 beq .L454
  15573. 5832 011a 03F58063 add r3, r3, #1024
  15574. 5833 011e 9A42 cmp r2, r3
  15575. 5834 0120 05D0 beq .L454
  15576. 5835 0122 5A48 ldr r0, .L475
  15577. 5836 0124 41F6A941 movw r1, #7337
  15578. 5837 0128 FFF7FEFF bl assert_failed
  15579. 5838 .LVL389:
  15580. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15581. 5839 .loc 1 7347 3 is_stmt 0 view .LVU2116
  15582. 5840 012c 2268 ldr r2, [r4]
  15583. 5841 .L454:
  15584. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  15585. 5842 .loc 1 7338 3 is_stmt 1 view .LVU2117
  15586. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15587. 5843 .loc 1 7339 3 view .LVU2118
  15588. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  15589. 5844 .loc 1 7342 3 view .LVU2119
  15590. 5845 .LVL390:
  15591. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15592. 5846 .loc 1 7347 3 view .LVU2120
  15593. 5847 012e 5368 ldr r3, [r2, #4]
  15594. 5848 0130 5949 ldr r1, .L475+12
  15595. 5849 0132 0B40 ands r3, r3, r1
  15596. 5850 0134 2B43 orrs r3, r3, r5
  15597. 5851 0136 43EA0843 orr r3, r3, r8, lsl #16
  15598. 5852 013a 43F00073 orr r3, r3, #33554432
  15599. 5853 013e 5360 str r3, [r2, #4]
  15600. 5854 .LVL391:
  15601. 5855 .L455:
  15602. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15603. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 270
  15604. 5856 .loc 1 7347 3 is_stmt 0 view .LVU2121
  15605. 5857 .LBE225:
  15606. 5858 .LBE226:
  15607. 5859 .LBB227:
  15608. 5860 .LBB228:
  15609. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15610. 5861 .loc 1 7337 3 view .LVU2122
  15611. 5862 0140 DFF84C91 ldr r9, .L475+4
  15612. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15613. 5863 .loc 1 7347 3 view .LVU2123
  15614. 5864 0144 DFF85081 ldr r8, .L475+12
  15615. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15616. 5865 .loc 1 7337 3 view .LVU2124
  15617. 5866 0148 DFF854A1 ldr r10, .L475+20
  15618. 5867 014c 04E0 b .L453
  15619. 5868 .L457:
  15620. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15621. 5869 .loc 1 7337 3 view .LVU2125
  15622. 5870 .LBE228:
  15623. 5871 .LBE227:
  15624. 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15625. 5872 .loc 1 2618 13 is_stmt 1 view .LVU2126
  15626. 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15627. 5873 .loc 1 2618 18 is_stmt 0 view .LVU2127
  15628. 5874 014e 638D ldrh r3, [r4, #42]
  15629. 5875 0150 9BB2 uxth r3, r3
  15630. 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15631. 5876 .loc 1 2618 5 view .LVU2128
  15632. 5877 0152 002B cmp r3, #0
  15633. 5878 0154 00F08480 beq .L474
  15634. 5879 .L453:
  15635. 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15636. 5880 .loc 1 2579 5 is_stmt 1 view .LVU2129
  15637. 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15638. 5881 .loc 1 2582 7 view .LVU2130
  15639. 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15640. 5882 .loc 1 2582 11 is_stmt 0 view .LVU2131
  15641. 5883 0158 3246 mov r2, r6
  15642. 5884 015a 3946 mov r1, r7
  15643. 5885 015c 2046 mov r0, r4
  15644. 5886 015e FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
  15645. 5887 .LVL392:
  15646. 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15647. 5888 .loc 1 2582 10 view .LVU2132
  15648. 5889 0162 0028 cmp r0, #0
  15649. 5890 0164 7FF47BAF bne .L473
  15650. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15651. 5891 .loc 1 2588 7 is_stmt 1 view .LVU2133
  15652. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15653. 5892 .loc 1 2588 30 is_stmt 0 view .LVU2134
  15654. 5893 0168 636A ldr r3, [r4, #36]
  15655. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15656. 5894 .loc 1 2588 11 view .LVU2135
  15657. 5895 016a 2268 ldr r2, [r4]
  15658. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15659. 5896 .loc 1 2588 30 view .LVU2136
  15660. 5897 016c 13F8011B ldrb r1, [r3], #1 @ zero_extendqisi2
  15661. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 271
  15662. 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15663. 5898 .loc 1 2588 28 view .LVU2137
  15664. 5899 0170 9162 str r1, [r2, #40]
  15665. 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15666. 5900 .loc 1 2591 7 is_stmt 1 view .LVU2138
  15667. 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15668. 5901 .loc 1 2591 21 is_stmt 0 view .LVU2139
  15669. 5902 0172 6362 str r3, [r4, #36]
  15670. 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  15671. 5903 .loc 1 2593 7 is_stmt 1 view .LVU2140
  15672. 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  15673. 5904 .loc 1 2593 11 is_stmt 0 view .LVU2141
  15674. 5905 0174 638D ldrh r3, [r4, #42]
  15675. 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15676. 5906 .loc 1 2594 21 view .LVU2142
  15677. 5907 0176 228D ldrh r2, [r4, #40]
  15678. 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  15679. 5908 .loc 1 2593 22 view .LVU2143
  15680. 5909 0178 013B subs r3, r3, #1
  15681. 5910 017a 9BB2 uxth r3, r3
  15682. 5911 017c 6385 strh r3, [r4, #42] @ movhi
  15683. 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15684. 5912 .loc 1 2594 7 is_stmt 1 view .LVU2144
  15685. 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15686. 5913 .loc 1 2596 16 is_stmt 0 view .LVU2145
  15687. 5914 017e 638D ldrh r3, [r4, #42]
  15688. 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15689. 5915 .loc 1 2594 21 view .LVU2146
  15690. 5916 0180 013A subs r2, r2, #1
  15691. 5917 0182 92B2 uxth r2, r2
  15692. 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15693. 5918 .loc 1 2596 16 view .LVU2147
  15694. 5919 0184 9BB2 uxth r3, r3
  15695. 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15696. 5920 .loc 1 2594 21 view .LVU2148
  15697. 5921 0186 2285 strh r2, [r4, #40] @ movhi
  15698. 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15699. 5922 .loc 1 2596 7 is_stmt 1 view .LVU2149
  15700. 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15701. 5923 .loc 1 2596 10 is_stmt 0 view .LVU2150
  15702. 5924 0188 002B cmp r3, #0
  15703. 5925 018a E0D0 beq .L457
  15704. 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15705. 5926 .loc 1 2596 35 discriminator 1 view .LVU2151
  15706. 5927 018c 002A cmp r2, #0
  15707. 5928 018e DED1 bne .L457
  15708. 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15709. 5929 .loc 1 2599 9 is_stmt 1 view .LVU2152
  15710. 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15711. 5930 .loc 1 2599 13 is_stmt 0 view .LVU2153
  15712. 5931 0190 0096 str r6, [sp]
  15713. 5932 0192 3B46 mov r3, r7
  15714. 5933 0194 8021 movs r1, #128
  15715. 5934 0196 2046 mov r0, r4
  15716. 5935 0198 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  15717. 5936 .LVL393:
  15718. 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15719. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 272
  15720. 5937 .loc 1 2599 12 view .LVU2154
  15721. 5938 019c 0028 cmp r0, #0
  15722. 5939 019e 7FF45EAF bne .L473
  15723. 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15724. 5940 .loc 1 2604 9 is_stmt 1 view .LVU2155
  15725. 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15726. 5941 .loc 1 2604 17 is_stmt 0 view .LVU2156
  15727. 5942 01a2 638D ldrh r3, [r4, #42]
  15728. 5943 01a4 9BB2 uxth r3, r3
  15729. 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15730. 5944 .loc 1 2604 12 view .LVU2157
  15731. 5945 01a6 FF2B cmp r3, #255
  15732. 5946 01a8 40D9 bls .L458
  15733. 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  15734. 5947 .loc 1 2606 11 is_stmt 1 view .LVU2158
  15735. 5948 .LBB232:
  15736. 5949 .LBB233:
  15737. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15738. 5950 .loc 1 7337 3 is_stmt 0 view .LVU2159
  15739. 5951 01aa 2268 ldr r2, [r4]
  15740. 5952 .LBE233:
  15741. 5953 .LBE232:
  15742. 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  15743. 5954 .loc 1 2606 26 view .LVU2160
  15744. 5955 01ac FF23 movs r3, #255
  15745. 5956 .LBB236:
  15746. 5957 .LBB234:
  15747. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15748. 5958 .loc 1 7337 3 view .LVU2161
  15749. 5959 01ae 4A45 cmp r2, r9
  15750. 5960 .LBE234:
  15751. 5961 .LBE236:
  15752. 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  15753. 5962 .loc 1 2606 26 view .LVU2162
  15754. 5963 01b0 2385 strh r3, [r4, #40] @ movhi
  15755. 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  15756. 5964 .loc 1 2607 11 is_stmt 1 view .LVU2163
  15757. 5965 .LVL394:
  15758. 5966 .LBB237:
  15759. 5967 .LBI232:
  15760. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  15761. 5968 .loc 1 7333 13 view .LVU2164
  15762. 5969 .LBB235:
  15763. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15764. 5970 .loc 1 7337 3 view .LVU2165
  15765. 5971 01b2 07D0 beq .L459
  15766. 5972 01b4 5245 cmp r2, r10
  15767. 5973 01b6 05D0 beq .L459
  15768. 5974 01b8 3448 ldr r0, .L475
  15769. 5975 01ba 41F6A941 movw r1, #7337
  15770. 5976 01be FFF7FEFF bl assert_failed
  15771. 5977 .LVL395:
  15772. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15773. 5978 .loc 1 7347 3 is_stmt 0 view .LVU2166
  15774. 5979 01c2 2268 ldr r2, [r4]
  15775. 5980 .L459:
  15776. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  15777. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 273
  15778. 5981 .loc 1 7338 3 is_stmt 1 view .LVU2167
  15779. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15780. 5982 .loc 1 7339 3 view .LVU2168
  15781. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  15782. 5983 .loc 1 7342 3 view .LVU2169
  15783. 5984 .LVL396:
  15784. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15785. 5985 .loc 1 7347 3 view .LVU2170
  15786. 5986 01c4 5368 ldr r3, [r2, #4]
  15787. 5987 01c6 03EA0803 and r3, r3, r8
  15788. 5988 01ca 2B43 orrs r3, r3, r5
  15789. 5989 01cc 43F0FF73 orr r3, r3, #33423360
  15790. 5990 01d0 43F48033 orr r3, r3, #65536
  15791. 5991 01d4 5360 str r3, [r2, #4]
  15792. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15793. 5992 .loc 1 7351 1 is_stmt 0 view .LVU2171
  15794. 5993 01d6 BAE7 b .L457
  15795. 5994 .LVL397:
  15796. 5995 .L448:
  15797. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15798. 5996 .loc 1 7351 1 view .LVU2172
  15799. 5997 .LBE235:
  15800. 5998 .LBE237:
  15801. 5999 .LBB238:
  15802. 6000 .LBB219:
  15803. 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15804. 6001 .loc 1 5875 5 is_stmt 1 view .LVU2173
  15805. 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15806. 6002 .loc 1 5875 9 is_stmt 0 view .LVU2174
  15807. 6003 01d8 2368 ldr r3, [r4]
  15808. 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15809. 6004 .loc 1 5875 28 view .LVU2175
  15810. 6005 01da 4FEA1922 lsr r2, r9, #8
  15811. 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15812. 6006 .loc 1 5875 26 view .LVU2176
  15813. 6007 01de 9A62 str r2, [r3, #40]
  15814. 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15815. 6008 .loc 1 5878 5 is_stmt 1 view .LVU2177
  15816. 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15817. 6009 .loc 1 5878 9 is_stmt 0 view .LVU2178
  15818. 6010 01e0 3946 mov r1, r7
  15819. 6011 01e2 3246 mov r2, r6
  15820. 6012 01e4 2046 mov r0, r4
  15821. 6013 01e6 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
  15822. 6014 .LVL398:
  15823. 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15824. 6015 .loc 1 5878 8 view .LVU2179
  15825. 6016 01ea 0028 cmp r0, #0
  15826. 6017 01ec 3FF47BAF beq .L472
  15827. 6018 .LVL399:
  15828. 6019 .L447:
  15829. 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15830. 6020 .loc 1 5878 8 view .LVU2180
  15831. 6021 .LBE219:
  15832. 6022 .LBE238:
  15833. 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  15834. 6023 .loc 1 2563 7 is_stmt 1 view .LVU2181
  15835. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 274
  15836. 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  15837. 6024 .loc 1 2563 7 view .LVU2182
  15838. 6025 01f0 0023 movs r3, #0
  15839. 6026 01f2 84F84030 strb r3, [r4, #64]
  15840. 6027 01f6 32E7 b .L473
  15841. 6028 .L450:
  15842. 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
  15843. 6029 .loc 1 2570 7 view .LVU2183
  15844. 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
  15845. 6030 .loc 1 2570 22 is_stmt 0 view .LVU2184
  15846. 6031 01f8 FF23 movs r3, #255
  15847. 6032 .LBB239:
  15848. 6033 .LBB240:
  15849. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15850. 6034 .loc 1 7337 3 view .LVU2185
  15851. 6035 01fa 2268 ldr r2, [r4]
  15852. 6036 .LBE240:
  15853. 6037 .LBE239:
  15854. 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
  15855. 6038 .loc 1 2570 22 view .LVU2186
  15856. 6039 01fc 2385 strh r3, [r4, #40] @ movhi
  15857. 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  15858. 6040 .loc 1 2571 7 is_stmt 1 view .LVU2187
  15859. 6041 .LVL400:
  15860. 6042 .LBB242:
  15861. 6043 .LBI239:
  15862. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  15863. 6044 .loc 1 7333 13 view .LVU2188
  15864. 6045 .LBB241:
  15865. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15866. 6046 .loc 1 7337 3 view .LVU2189
  15867. 6047 01fe 244B ldr r3, .L475+4
  15868. 6048 0200 9A42 cmp r2, r3
  15869. 6049 0202 09D0 beq .L452
  15870. 6050 0204 03F58063 add r3, r3, #1024
  15871. 6051 0208 9A42 cmp r2, r3
  15872. 6052 020a 05D0 beq .L452
  15873. 6053 020c 1F48 ldr r0, .L475
  15874. 6054 020e 41F6A941 movw r1, #7337
  15875. 6055 0212 FFF7FEFF bl assert_failed
  15876. 6056 .LVL401:
  15877. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15878. 6057 .loc 1 7347 3 is_stmt 0 view .LVU2190
  15879. 6058 0216 2268 ldr r2, [r4]
  15880. 6059 .L452:
  15881. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  15882. 6060 .loc 1 7338 3 is_stmt 1 view .LVU2191
  15883. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15884. 6061 .loc 1 7339 3 view .LVU2192
  15885. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  15886. 6062 .loc 1 7342 3 view .LVU2193
  15887. 6063 .LVL402:
  15888. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15889. 6064 .loc 1 7347 3 view .LVU2194
  15890. 6065 0218 5368 ldr r3, [r2, #4]
  15891. 6066 021a 1F49 ldr r1, .L475+12
  15892. 6067 021c 0B40 ands r3, r3, r1
  15893. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 275
  15894. 6068 021e 2B43 orrs r3, r3, r5
  15895. 6069 0220 43F0FF73 orr r3, r3, #33423360
  15896. 6070 0224 43F48033 orr r3, r3, #65536
  15897. 6071 0228 5360 str r3, [r2, #4]
  15898. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15899. 6072 .loc 1 7351 1 is_stmt 0 view .LVU2195
  15900. 6073 022a 89E7 b .L455
  15901. 6074 .LVL403:
  15902. 6075 .L458:
  15903. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15904. 6076 .loc 1 7351 1 view .LVU2196
  15905. 6077 .LBE241:
  15906. 6078 .LBE242:
  15907. 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  15908. 6079 .loc 1 2612 11 is_stmt 1 view .LVU2197
  15909. 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  15910. 6080 .loc 1 2612 32 is_stmt 0 view .LVU2198
  15911. 6081 022c 638D ldrh r3, [r4, #42]
  15912. 6082 .LBB243:
  15913. 6083 .LBB229:
  15914. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15915. 6084 .loc 1 7337 3 view .LVU2199
  15916. 6085 022e 2268 ldr r2, [r4]
  15917. 6086 .LBE229:
  15918. 6087 .LBE243:
  15919. 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  15920. 6088 .loc 1 2612 32 view .LVU2200
  15921. 6089 0230 9BB2 uxth r3, r3
  15922. 6090 .LBB244:
  15923. 6091 .LBB230:
  15924. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15925. 6092 .loc 1 7337 3 view .LVU2201
  15926. 6093 0232 4A45 cmp r2, r9
  15927. 6094 .LBE230:
  15928. 6095 .LBE244:
  15929. 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  15930. 6096 .loc 1 2612 26 view .LVU2202
  15931. 6097 0234 2385 strh r3, [r4, #40] @ movhi
  15932. 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  15933. 6098 .loc 1 2613 11 is_stmt 1 view .LVU2203
  15934. 6099 0236 5FFA83FB uxtb fp, r3
  15935. 6100 .LVL404:
  15936. 6101 .LBB245:
  15937. 6102 .LBI227:
  15938. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  15939. 6103 .loc 1 7333 13 view .LVU2204
  15940. 6104 .LBB231:
  15941. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  15942. 6105 .loc 1 7337 3 view .LVU2205
  15943. 6106 023a 07D0 beq .L460
  15944. 6107 023c 5245 cmp r2, r10
  15945. 6108 023e 05D0 beq .L460
  15946. 6109 0240 1248 ldr r0, .L475
  15947. 6110 0242 41F6A941 movw r1, #7337
  15948. 6111 0246 FFF7FEFF bl assert_failed
  15949. 6112 .LVL405:
  15950. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15951. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 276
  15952. 6113 .loc 1 7347 3 is_stmt 0 view .LVU2206
  15953. 6114 024a 2268 ldr r2, [r4]
  15954. 6115 .L460:
  15955. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  15956. 6116 .loc 1 7338 3 is_stmt 1 view .LVU2207
  15957. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15958. 6117 .loc 1 7339 3 view .LVU2208
  15959. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  15960. 6118 .loc 1 7342 3 view .LVU2209
  15961. 6119 .LVL406:
  15962. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  15963. 6120 .loc 1 7347 3 view .LVU2210
  15964. 6121 024c 5368 ldr r3, [r2, #4]
  15965. 6122 024e 03EA0803 and r3, r3, r8
  15966. 6123 0252 2B43 orrs r3, r3, r5
  15967. 6124 0254 43EA0B43 orr r3, r3, fp, lsl #16
  15968. 6125 0258 43F00073 orr r3, r3, #33554432
  15969. 6126 025c 5360 str r3, [r2, #4]
  15970. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15971. 6127 .loc 1 7351 1 is_stmt 0 view .LVU2211
  15972. 6128 025e 76E7 b .L457
  15973. 6129 .LVL407:
  15974. 6130 .L474:
  15975. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15976. 6131 .loc 1 7351 1 view .LVU2212
  15977. 6132 .LBE231:
  15978. 6133 .LBE245:
  15979. 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15980. 6134 .loc 1 2622 5 is_stmt 1 view .LVU2213
  15981. 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15982. 6135 .loc 1 2622 9 is_stmt 0 view .LVU2214
  15983. 6136 0260 3246 mov r2, r6
  15984. 6137 0262 3946 mov r1, r7
  15985. 6138 0264 2046 mov r0, r4
  15986. 6139 0266 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
  15987. 6140 .LVL408:
  15988. 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  15989. 6141 .loc 1 2622 8 view .LVU2215
  15990. 6142 026a 0028 cmp r0, #0
  15991. 6143 026c 7FF4F7AE bne .L473
  15992. 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15993. 6144 .loc 1 2628 5 is_stmt 1 view .LVU2216
  15994. 6145 0270 2368 ldr r3, [r4]
  15995. 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15996. 6146 .loc 1 2631 5 is_stmt 0 view .LVU2217
  15997. 6147 0272 0A4D ldr r5, .L475+16
  15998. 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  15999. 6148 .loc 1 2628 5 view .LVU2218
  16000. 6149 0274 2021 movs r1, #32
  16001. 6150 0276 D961 str r1, [r3, #28]
  16002. 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16003. 6151 .loc 1 2631 5 is_stmt 1 view .LVU2219
  16004. 6152 0278 5A68 ldr r2, [r3, #4]
  16005. 6153 027a 2A40 ands r2, r2, r5
  16006. 6154 027c 5A60 str r2, [r3, #4]
  16007. 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  16008. 6155 .loc 1 2633 5 view .LVU2220
  16009. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 277
  16010. 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  16011. 6156 .loc 1 2633 17 is_stmt 0 view .LVU2221
  16012. 6157 027e 84F84110 strb r1, [r4, #65]
  16013. 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16014. 6158 .loc 1 2634 5 is_stmt 1 view .LVU2222
  16015. 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16016. 6159 .loc 1 2637 5 is_stmt 0 view .LVU2223
  16017. 6160 0282 84F84000 strb r0, [r4, #64]
  16018. 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16019. 6161 .loc 1 2634 17 view .LVU2224
  16020. 6162 0286 84F84200 strb r0, [r4, #66]
  16021. 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16022. 6163 .loc 1 2637 5 is_stmt 1 view .LVU2225
  16023. 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16024. 6164 .loc 1 2637 5 view .LVU2226
  16025. 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16026. 6165 .loc 1 2637 5 view .LVU2227
  16027. 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16028. 6166 .loc 1 2639 5 view .LVU2228
  16029. 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16030. 6167 .loc 1 2639 12 is_stmt 0 view .LVU2229
  16031. 6168 028a F0E6 b .L442
  16032. 6169 .L476:
  16033. 6170 .align 2
  16034. 6171 .L475:
  16035. 6172 028c 00000000 .word .LC0
  16036. 6173 0290 00540040 .word 1073763328
  16037. 6174 0294 009800FC .word -67069952
  16038. 6175 0298 009C00FC .word -67068928
  16039. 6176 029c 00E800FE .word -33495040
  16040. 6177 02a0 00580040 .word 1073764352
  16041. 6178 .cfi_endproc
  16042. 6179 .LFE146:
  16043. 6181 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
  16044. 6182 .align 1
  16045. 6183 .p2align 2,,3
  16046. 6184 .global HAL_I2C_Mem_Read
  16047. 6185 .syntax unified
  16048. 6186 .thumb
  16049. 6187 .thumb_func
  16050. 6189 HAL_I2C_Mem_Read:
  16051. 6190 .LVL409:
  16052. 6191 .LFB147:
  16053. 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  16054. 6192 .loc 1 2662 1 is_stmt 1 view -0
  16055. 6193 .cfi_startproc
  16056. 6194 @ args = 12, pretend = 0, frame = 0
  16057. 6195 @ frame_needed = 0, uses_anonymous_args = 0
  16058. 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  16059. 6196 .loc 1 2662 1 is_stmt 0 view .LVU2231
  16060. 6197 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
  16061. 6198 .LCFI83:
  16062. 6199 .cfi_def_cfa_offset 36
  16063. 6200 .cfi_offset 4, -36
  16064. 6201 .cfi_offset 5, -32
  16065. 6202 .cfi_offset 6, -28
  16066. 6203 .cfi_offset 7, -24
  16067. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 278
  16068. 6204 .cfi_offset 8, -20
  16069. 6205 .cfi_offset 9, -16
  16070. 6206 .cfi_offset 10, -12
  16071. 6207 .cfi_offset 11, -8
  16072. 6208 .cfi_offset 14, -4
  16073. 6209 0004 9846 mov r8, r3
  16074. 6210 0006 83B0 sub sp, sp, #12
  16075. 6211 .LCFI84:
  16076. 6212 .cfi_def_cfa_offset 48
  16077. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16078. 6213 .loc 1 2666 3 view .LVU2232
  16079. 6214 0008 013B subs r3, r3, #1
  16080. 6215 .LVL410:
  16081. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16082. 6216 .loc 1 2666 3 view .LVU2233
  16083. 6217 000a 012B cmp r3, #1
  16084. 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  16085. 6218 .loc 1 2662 1 view .LVU2234
  16086. 6219 000c BDF834A0 ldrh r10, [sp, #52]
  16087. 6220 0010 0E9F ldr r7, [sp, #56]
  16088. 6221 0012 0446 mov r4, r0
  16089. 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16090. 6222 .loc 1 2663 3 is_stmt 1 view .LVU2235
  16091. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16092. 6223 .loc 1 2666 3 view .LVU2236
  16093. 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  16094. 6224 .loc 1 2662 1 is_stmt 0 view .LVU2237
  16095. 6225 0014 0D46 mov r5, r1
  16096. 6226 0016 9146 mov r9, r2
  16097. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16098. 6227 .loc 1 2666 3 view .LVU2238
  16099. 6228 0018 04D9 bls .L478
  16100. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16101. 6229 .loc 1 2666 3 discriminator 1 view .LVU2239
  16102. 6230 001a 9E48 ldr r0, .L512
  16103. 6231 .LVL411:
  16104. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16105. 6232 .loc 1 2666 3 discriminator 1 view .LVU2240
  16106. 6233 001c 40F66A21 movw r1, #2666
  16107. 6234 .LVL412:
  16108. 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16109. 6235 .loc 1 2666 3 discriminator 1 view .LVU2241
  16110. 6236 0020 FFF7FEFF bl assert_failed
  16111. 6237 .LVL413:
  16112. 6238 .L478:
  16113. 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16114. 6239 .loc 1 2668 3 is_stmt 1 view .LVU2242
  16115. 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16116. 6240 .loc 1 2668 11 is_stmt 0 view .LVU2243
  16117. 6241 0024 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  16118. 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16119. 6242 .loc 1 2668 6 view .LVU2244
  16120. 6243 0028 202B cmp r3, #32
  16121. 6244 002a 23D1 bne .L499
  16122. 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16123. 6245 .loc 1 2670 5 is_stmt 1 view .LVU2245
  16124. 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16125. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 279
  16126. 6246 .loc 1 2670 8 is_stmt 0 view .LVU2246
  16127. 6247 002c 0C9B ldr r3, [sp, #48]
  16128. 6248 002e D3B1 cbz r3, .L480
  16129. 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16130. 6249 .loc 1 2670 25 discriminator 1 view .LVU2247
  16131. 6250 0030 BAF1000F cmp r10, #0
  16132. 6251 0034 17D0 beq .L480
  16133. 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16134. 6252 .loc 1 2677 5 is_stmt 1 view .LVU2248
  16135. 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16136. 6253 .loc 1 2677 5 view .LVU2249
  16137. 6254 0036 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
  16138. 6255 003a 012B cmp r3, #1
  16139. 6256 003c 1AD0 beq .L499
  16140. 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16141. 6257 .loc 1 2677 5 discriminator 2 view .LVU2250
  16142. 6258 003e 4FF0010B mov fp, #1
  16143. 6259 0042 84F840B0 strb fp, [r4, #64]
  16144. 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16145. 6260 .loc 1 2677 5 discriminator 2 view .LVU2251
  16146. 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16147. 6261 .loc 1 2680 5 discriminator 2 view .LVU2252
  16148. 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16149. 6262 .loc 1 2680 17 is_stmt 0 discriminator 2 view .LVU2253
  16150. 6263 0046 FFF7FEFF bl HAL_GetTick
  16151. 6264 .LVL414:
  16152. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16153. 6265 .loc 1 2682 9 discriminator 2 view .LVU2254
  16154. 6266 004a 5A46 mov r2, fp
  16155. 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16156. 6267 .loc 1 2680 17 discriminator 2 view .LVU2255
  16157. 6268 004c 0646 mov r6, r0
  16158. 6269 .LVL415:
  16159. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16160. 6270 .loc 1 2682 5 is_stmt 1 discriminator 2 view .LVU2256
  16161. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16162. 6271 .loc 1 2682 9 is_stmt 0 discriminator 2 view .LVU2257
  16163. 6272 004e 0090 str r0, [sp]
  16164. 6273 0050 1923 movs r3, #25
  16165. 6274 0052 4FF40041 mov r1, #32768
  16166. 6275 0056 2046 mov r0, r4
  16167. 6276 .LVL416:
  16168. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16169. 6277 .loc 1 2682 9 discriminator 2 view .LVU2258
  16170. 6278 0058 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  16171. 6279 .LVL417:
  16172. 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16173. 6280 .loc 1 2682 8 discriminator 2 view .LVU2259
  16174. 6281 005c 70B1 cbz r0, .L482
  16175. 6282 .LVL418:
  16176. 6283 .L510:
  16177. 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  16178. 6284 .loc 1 2700 7 is_stmt 1 view .LVU2260
  16179. 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16180. 6285 .loc 1 2701 7 view .LVU2261
  16181. 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16182. 6286 .loc 1 2701 14 is_stmt 0 view .LVU2262
  16183. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 280
  16184. 6287 005e 0120 movs r0, #1
  16185. 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  16186. 6288 .loc 1 2784 1 view .LVU2263
  16187. 6289 0060 03B0 add sp, sp, #12
  16188. 6290 .LCFI85:
  16189. 6291 .cfi_remember_state
  16190. 6292 .cfi_def_cfa_offset 36
  16191. 6293 @ sp needed
  16192. 6294 0062 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  16193. 6295 .LVL419:
  16194. 6296 .L480:
  16195. 6297 .LCFI86:
  16196. 6298 .cfi_restore_state
  16197. 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  16198. 6299 .loc 1 2672 7 is_stmt 1 view .LVU2264
  16199. 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  16200. 6300 .loc 1 2672 23 is_stmt 0 view .LVU2265
  16201. 6301 0066 4FF40073 mov r3, #512
  16202. 6302 006a 6364 str r3, [r4, #68]
  16203. 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16204. 6303 .loc 1 2673 7 is_stmt 1 view .LVU2266
  16205. 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16206. 6304 .loc 1 2673 15 is_stmt 0 view .LVU2267
  16207. 6305 006c 0120 movs r0, #1
  16208. 6306 .LVL420:
  16209. 6307 .L479:
  16210. 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  16211. 6308 .loc 1 2784 1 view .LVU2268
  16212. 6309 006e 03B0 add sp, sp, #12
  16213. 6310 .LCFI87:
  16214. 6311 .cfi_remember_state
  16215. 6312 .cfi_def_cfa_offset 36
  16216. 6313 @ sp needed
  16217. 6314 0070 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  16218. 6315 .LVL421:
  16219. 6316 .L499:
  16220. 6317 .LCFI88:
  16221. 6318 .cfi_restore_state
  16222. 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16223. 6319 .loc 1 2782 12 view .LVU2269
  16224. 6320 0074 0220 movs r0, #2
  16225. 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  16226. 6321 .loc 1 2784 1 view .LVU2270
  16227. 6322 0076 03B0 add sp, sp, #12
  16228. 6323 .LCFI89:
  16229. 6324 .cfi_remember_state
  16230. 6325 .cfi_def_cfa_offset 36
  16231. 6326 @ sp needed
  16232. 6327 0078 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  16233. 6328 .LVL422:
  16234. 6329 .L482:
  16235. 6330 .LCFI90:
  16236. 6331 .cfi_restore_state
  16237. 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  16238. 6332 .loc 1 2687 5 is_stmt 1 view .LVU2271
  16239. 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  16240. 6333 .loc 1 2692 21 is_stmt 0 view .LVU2272
  16241. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 281
  16242. 6334 007c 0C9B ldr r3, [sp, #48]
  16243. 6335 .LBB258:
  16244. 6336 .LBB259:
  16245. 6337 .LBB260:
  16246. 6338 .LBB261:
  16247. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16248. 6339 .loc 1 7337 3 view .LVU2273
  16249. 6340 007e 2268 ldr r2, [r4]
  16250. 6341 .LBE261:
  16251. 6342 .LBE260:
  16252. 6343 .LBE259:
  16253. 6344 .LBE258:
  16254. 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  16255. 6345 .loc 1 2692 21 view .LVU2274
  16256. 6346 0080 6362 str r3, [r4, #36]
  16257. 6347 .LBB272:
  16258. 6348 .LBB268:
  16259. 6349 .LBB265:
  16260. 6350 .LBB262:
  16261. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16262. 6351 .loc 1 7337 3 view .LVU2275
  16263. 6352 0082 854B ldr r3, .L512+4
  16264. 6353 .LBE262:
  16265. 6354 .LBE265:
  16266. 6355 .LBE268:
  16267. 6356 .LBE272:
  16268. 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16269. 6357 .loc 1 2694 21 view .LVU2276
  16270. 6358 0084 6063 str r0, [r4, #52]
  16271. 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  16272. 6359 .loc 1 2687 21 view .LVU2277
  16273. 6360 0086 2221 movs r1, #34
  16274. 6361 0088 84F84110 strb r1, [r4, #65]
  16275. 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  16276. 6362 .loc 1 2688 5 is_stmt 1 view .LVU2278
  16277. 6363 .LBB273:
  16278. 6364 .LBB269:
  16279. 6365 .LBB266:
  16280. 6366 .LBB263:
  16281. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16282. 6367 .loc 1 7337 3 is_stmt 0 view .LVU2279
  16283. 6368 008c 9A42 cmp r2, r3
  16284. 6369 .LBE263:
  16285. 6370 .LBE266:
  16286. 6371 .LBE269:
  16287. 6372 .LBE273:
  16288. 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  16289. 6373 .loc 1 2688 21 view .LVU2280
  16290. 6374 008e 4FF04001 mov r1, #64
  16291. 6375 0092 84F84210 strb r1, [r4, #66]
  16292. 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16293. 6376 .loc 1 2689 5 is_stmt 1 view .LVU2281
  16294. 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16295. 6377 .loc 1 2689 21 is_stmt 0 view .LVU2282
  16296. 6378 0096 6064 str r0, [r4, #68]
  16297. 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  16298. 6379 .loc 1 2692 5 is_stmt 1 view .LVU2283
  16299. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 282
  16300. 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  16301. 6380 .loc 1 2693 5 view .LVU2284
  16302. 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  16303. 6381 .loc 1 2693 21 is_stmt 0 view .LVU2285
  16304. 6382 0098 A4F82AA0 strh r10, [r4, #42] @ movhi
  16305. 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16306. 6383 .loc 1 2694 5 is_stmt 1 view .LVU2286
  16307. 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16308. 6384 .loc 1 2697 5 view .LVU2287
  16309. 6385 .LVL423:
  16310. 6386 .LBB274:
  16311. 6387 .LBI258:
  16312. 5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T
  16313. 6388 .loc 1 5908 26 view .LVU2288
  16314. 6389 .LBB270:
  16315. 5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16316. 6390 .loc 1 5912 3 view .LVU2289
  16317. 6391 009c 5FFA88FA uxtb r10, r8
  16318. 6392 .LVL424:
  16319. 6393 .LBB267:
  16320. 6394 .LBI260:
  16321. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  16322. 6395 .loc 1 7333 13 view .LVU2290
  16323. 6396 .LBB264:
  16324. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16325. 6397 .loc 1 7337 3 view .LVU2291
  16326. 6398 00a0 09D0 beq .L483
  16327. 6399 00a2 03F58063 add r3, r3, #1024
  16328. 6400 00a6 9A42 cmp r2, r3
  16329. 6401 00a8 05D0 beq .L483
  16330. 6402 00aa 7A48 ldr r0, .L512
  16331. 6403 00ac 41F6A941 movw r1, #7337
  16332. 6404 00b0 FFF7FEFF bl assert_failed
  16333. 6405 .LVL425:
  16334. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16335. 6406 .loc 1 7347 3 is_stmt 0 view .LVU2292
  16336. 6407 00b4 2268 ldr r2, [r4]
  16337. 6408 .L483:
  16338. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  16339. 6409 .loc 1 7338 3 is_stmt 1 view .LVU2293
  16340. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16341. 6410 .loc 1 7339 3 view .LVU2294
  16342. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  16343. 6411 .loc 1 7342 3 view .LVU2295
  16344. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16345. 6412 .loc 1 7347 3 is_stmt 0 view .LVU2296
  16346. 6413 00b6 5368 ldr r3, [r2, #4]
  16347. 6414 00b8 7849 ldr r1, .L512+8
  16348. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  16349. 6415 .loc 1 7342 52 view .LVU2297
  16350. 6416 00ba C5F30905 ubfx r5, r5, #0, #10
  16351. 6417 .LVL426:
  16352. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16353. 6418 .loc 1 7347 3 is_stmt 1 view .LVU2298
  16354. 6419 00be 0B40 ands r3, r3, r1
  16355. 6420 00c0 2B43 orrs r3, r3, r5
  16356. 6421 00c2 43EA0A43 orr r3, r3, r10, lsl #16
  16357. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 283
  16358. 6422 00c6 43F40053 orr r3, r3, #8192
  16359. 6423 00ca 5360 str r3, [r2, #4]
  16360. 6424 .LVL427:
  16361. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16362. 6425 .loc 1 7347 3 is_stmt 0 view .LVU2299
  16363. 6426 .LBE264:
  16364. 6427 .LBE267:
  16365. 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16366. 6428 .loc 1 5915 3 is_stmt 1 view .LVU2300
  16367. 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16368. 6429 .loc 1 5915 7 is_stmt 0 view .LVU2301
  16369. 6430 00cc 3946 mov r1, r7
  16370. 6431 00ce 3246 mov r2, r6
  16371. 6432 00d0 2046 mov r0, r4
  16372. 6433 00d2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
  16373. 6434 .LVL428:
  16374. 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16375. 6435 .loc 1 5915 6 view .LVU2302
  16376. 6436 00d6 0028 cmp r0, #0
  16377. 6437 00d8 40F08D80 bne .L484
  16378. 5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16379. 6438 .loc 1 5921 3 is_stmt 1 view .LVU2303
  16380. 5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16381. 6439 .loc 1 5921 6 is_stmt 0 view .LVU2304
  16382. 6440 00dc B8F1010F cmp r8, #1
  16383. 6441 00e0 7DD1 bne .L485
  16384. 6442 .L509:
  16385. 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16386. 6443 .loc 1 5939 5 is_stmt 1 view .LVU2305
  16387. 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16388. 6444 .loc 1 5943 3 view .LVU2306
  16389. 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16390. 6445 .loc 1 5939 9 is_stmt 0 view .LVU2307
  16391. 6446 00e2 2368 ldr r3, [r4]
  16392. 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16393. 6447 .loc 1 5939 28 view .LVU2308
  16394. 6448 00e4 5FFA89F2 uxtb r2, r9
  16395. 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16396. 6449 .loc 1 5939 26 view .LVU2309
  16397. 6450 00e8 9A62 str r2, [r3, #40]
  16398. 6451 .LVL429:
  16399. 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16400. 6452 .loc 1 5943 7 view .LVU2310
  16401. 6453 00ea 4021 movs r1, #64
  16402. 6454 00ec 0096 str r6, [sp]
  16403. 6455 00ee 3B46 mov r3, r7
  16404. 6456 00f0 0022 movs r2, #0
  16405. 6457 00f2 2046 mov r0, r4
  16406. 6458 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  16407. 6459 .LVL430:
  16408. 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16409. 6460 .loc 1 5943 6 view .LVU2311
  16410. 6461 00f8 0028 cmp r0, #0
  16411. 6462 00fa 7CD1 bne .L484
  16412. 6463 .LVL431:
  16413. 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16414. 6464 .loc 1 5943 6 view .LVU2312
  16415. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 284
  16416. 6465 .LBE270:
  16417. 6466 .LBE274:
  16418. 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16419. 6467 .loc 1 2706 5 is_stmt 1 view .LVU2313
  16420. 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16421. 6468 .loc 1 2706 13 is_stmt 0 view .LVU2314
  16422. 6469 00fc 638D ldrh r3, [r4, #42]
  16423. 6470 00fe 9BB2 uxth r3, r3
  16424. 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16425. 6471 .loc 1 2706 8 view .LVU2315
  16426. 6472 0100 FF2B cmp r3, #255
  16427. 6473 0102 7CD8 bhi .L487
  16428. 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16429. 6474 .loc 1 2714 7 is_stmt 1 view .LVU2316
  16430. 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16431. 6475 .loc 1 2714 28 is_stmt 0 view .LVU2317
  16432. 6476 0104 638D ldrh r3, [r4, #42]
  16433. 6477 .LBB275:
  16434. 6478 .LBB276:
  16435. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16436. 6479 .loc 1 7337 3 view .LVU2318
  16437. 6480 0106 2268 ldr r2, [r4]
  16438. 6481 .LBE276:
  16439. 6482 .LBE275:
  16440. 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16441. 6483 .loc 1 2714 28 view .LVU2319
  16442. 6484 0108 9BB2 uxth r3, r3
  16443. 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16444. 6485 .loc 1 2714 22 view .LVU2320
  16445. 6486 010a 2385 strh r3, [r4, #40] @ movhi
  16446. 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  16447. 6487 .loc 1 2715 7 is_stmt 1 view .LVU2321
  16448. 6488 010c 5FFA83F8 uxtb r8, r3
  16449. 6489 .LVL432:
  16450. 6490 .LBB278:
  16451. 6491 .LBI275:
  16452. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  16453. 6492 .loc 1 7333 13 view .LVU2322
  16454. 6493 .LBB277:
  16455. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16456. 6494 .loc 1 7337 3 view .LVU2323
  16457. 6495 0110 614B ldr r3, .L512+4
  16458. 6496 0112 9A42 cmp r2, r3
  16459. 6497 0114 09D0 beq .L491
  16460. 6498 0116 03F58063 add r3, r3, #1024
  16461. 6499 011a 9A42 cmp r2, r3
  16462. 6500 011c 05D0 beq .L491
  16463. 6501 011e 5D48 ldr r0, .L512
  16464. 6502 0120 41F6A941 movw r1, #7337
  16465. 6503 0124 FFF7FEFF bl assert_failed
  16466. 6504 .LVL433:
  16467. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16468. 6505 .loc 1 7347 3 is_stmt 0 view .LVU2324
  16469. 6506 0128 2268 ldr r2, [r4]
  16470. 6507 .L491:
  16471. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  16472. 6508 .loc 1 7338 3 is_stmt 1 view .LVU2325
  16473. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 285
  16474. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16475. 6509 .loc 1 7339 3 view .LVU2326
  16476. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  16477. 6510 .loc 1 7342 3 view .LVU2327
  16478. 6511 .LVL434:
  16479. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16480. 6512 .loc 1 7347 3 view .LVU2328
  16481. 6513 012a 5368 ldr r3, [r2, #4]
  16482. 6514 012c 5B49 ldr r1, .L512+8
  16483. 6515 012e 0B40 ands r3, r3, r1
  16484. 6516 0130 2B43 orrs r3, r3, r5
  16485. 6517 0132 43EA0843 orr r3, r3, r8, lsl #16
  16486. 6518 0136 43F00073 orr r3, r3, #33554432
  16487. 6519 013a 43F41053 orr r3, r3, #9216
  16488. 6520 013e 5360 str r3, [r2, #4]
  16489. 6521 .LVL435:
  16490. 6522 .L492:
  16491. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16492. 6523 .loc 1 7347 3 is_stmt 0 view .LVU2329
  16493. 6524 .LBE277:
  16494. 6525 .LBE278:
  16495. 6526 .LBB279:
  16496. 6527 .LBB280:
  16497. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16498. 6528 .loc 1 7337 3 view .LVU2330
  16499. 6529 0140 DFF85491 ldr r9, .L512+4
  16500. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16501. 6530 .loc 1 7347 3 view .LVU2331
  16502. 6531 0144 DFF85C81 ldr r8, .L512+16
  16503. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16504. 6532 .loc 1 7337 3 view .LVU2332
  16505. 6533 0148 DFF85CA1 ldr r10, .L512+20
  16506. 6534 014c 04E0 b .L490
  16507. 6535 .L494:
  16508. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16509. 6536 .loc 1 7337 3 view .LVU2333
  16510. 6537 .LBE280:
  16511. 6538 .LBE279:
  16512. 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16513. 6539 .loc 1 2757 13 is_stmt 1 view .LVU2334
  16514. 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16515. 6540 .loc 1 2757 18 is_stmt 0 view .LVU2335
  16516. 6541 014e 638D ldrh r3, [r4, #42]
  16517. 6542 0150 9BB2 uxth r3, r3
  16518. 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16519. 6543 .loc 1 2757 5 view .LVU2336
  16520. 6544 0152 002B cmp r3, #0
  16521. 6545 0154 00F08780 beq .L511
  16522. 6546 .L490:
  16523. 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16524. 6547 .loc 1 2719 5 is_stmt 1 view .LVU2337
  16525. 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16526. 6548 .loc 1 2722 7 view .LVU2338
  16527. 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16528. 6549 .loc 1 2722 11 is_stmt 0 view .LVU2339
  16529. 6550 0158 0096 str r6, [sp]
  16530. 6551 015a 3B46 mov r3, r7
  16531. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 286
  16532. 6552 015c 0022 movs r2, #0
  16533. 6553 015e 0421 movs r1, #4
  16534. 6554 0160 2046 mov r0, r4
  16535. 6555 0162 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  16536. 6556 .LVL436:
  16537. 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16538. 6557 .loc 1 2722 10 view .LVU2340
  16539. 6558 0166 0028 cmp r0, #0
  16540. 6559 0168 7FF479AF bne .L510
  16541. 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16542. 6560 .loc 1 2728 7 is_stmt 1 view .LVU2341
  16543. 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16544. 6561 .loc 1 2728 38 is_stmt 0 view .LVU2342
  16545. 6562 016c 2368 ldr r3, [r4]
  16546. 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16547. 6563 .loc 1 2728 48 view .LVU2343
  16548. 6564 016e 5A6A ldr r2, [r3, #36]
  16549. 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16550. 6565 .loc 1 2728 12 view .LVU2344
  16551. 6566 0170 636A ldr r3, [r4, #36]
  16552. 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16553. 6567 .loc 1 2728 25 view .LVU2345
  16554. 6568 0172 1A70 strb r2, [r3]
  16555. 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16556. 6569 .loc 1 2731 7 is_stmt 1 view .LVU2346
  16557. 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16558. 6570 .loc 1 2734 11 is_stmt 0 view .LVU2347
  16559. 6571 0174 638D ldrh r3, [r4, #42]
  16560. 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  16561. 6572 .loc 1 2733 21 view .LVU2348
  16562. 6573 0176 228D ldrh r2, [r4, #40]
  16563. 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16564. 6574 .loc 1 2734 22 view .LVU2349
  16565. 6575 0178 013B subs r3, r3, #1
  16566. 6576 017a 9BB2 uxth r3, r3
  16567. 6577 017c 6385 strh r3, [r4, #42] @ movhi
  16568. 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16569. 6578 .loc 1 2731 21 view .LVU2350
  16570. 6579 017e 636A ldr r3, [r4, #36]
  16571. 6580 0180 0133 adds r3, r3, #1
  16572. 6581 0182 6362 str r3, [r4, #36]
  16573. 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  16574. 6582 .loc 1 2733 7 is_stmt 1 view .LVU2351
  16575. 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16576. 6583 .loc 1 2734 7 view .LVU2352
  16577. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16578. 6584 .loc 1 2736 7 view .LVU2353
  16579. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16580. 6585 .loc 1 2736 16 is_stmt 0 view .LVU2354
  16581. 6586 0184 638D ldrh r3, [r4, #42]
  16582. 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  16583. 6587 .loc 1 2733 21 view .LVU2355
  16584. 6588 0186 013A subs r2, r2, #1
  16585. 6589 0188 92B2 uxth r2, r2
  16586. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16587. 6590 .loc 1 2736 16 view .LVU2356
  16588. 6591 018a 9BB2 uxth r3, r3
  16589. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 287
  16590. 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  16591. 6592 .loc 1 2733 21 view .LVU2357
  16592. 6593 018c 2285 strh r2, [r4, #40] @ movhi
  16593. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16594. 6594 .loc 1 2736 10 view .LVU2358
  16595. 6595 018e 002B cmp r3, #0
  16596. 6596 0190 DDD0 beq .L494
  16597. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16598. 6597 .loc 1 2736 35 discriminator 1 view .LVU2359
  16599. 6598 0192 002A cmp r2, #0
  16600. 6599 0194 DBD1 bne .L494
  16601. 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16602. 6600 .loc 1 2739 9 is_stmt 1 view .LVU2360
  16603. 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16604. 6601 .loc 1 2739 13 is_stmt 0 view .LVU2361
  16605. 6602 0196 0096 str r6, [sp]
  16606. 6603 0198 3B46 mov r3, r7
  16607. 6604 019a 8021 movs r1, #128
  16608. 6605 019c 2046 mov r0, r4
  16609. 6606 019e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  16610. 6607 .LVL437:
  16611. 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16612. 6608 .loc 1 2739 12 view .LVU2362
  16613. 6609 01a2 0028 cmp r0, #0
  16614. 6610 01a4 7FF45BAF bne .L510
  16615. 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16616. 6611 .loc 1 2744 9 is_stmt 1 view .LVU2363
  16617. 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16618. 6612 .loc 1 2744 17 is_stmt 0 view .LVU2364
  16619. 6613 01a8 638D ldrh r3, [r4, #42]
  16620. 6614 01aa 9BB2 uxth r3, r3
  16621. 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16622. 6615 .loc 1 2744 12 view .LVU2365
  16623. 6616 01ac FF2B cmp r3, #255
  16624. 6617 01ae 40D9 bls .L495
  16625. 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
  16626. 6618 .loc 1 2746 11 is_stmt 1 view .LVU2366
  16627. 6619 .LBB284:
  16628. 6620 .LBB285:
  16629. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16630. 6621 .loc 1 7337 3 is_stmt 0 view .LVU2367
  16631. 6622 01b0 2268 ldr r2, [r4]
  16632. 6623 .LBE285:
  16633. 6624 .LBE284:
  16634. 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
  16635. 6625 .loc 1 2746 26 view .LVU2368
  16636. 6626 01b2 0123 movs r3, #1
  16637. 6627 .LBB288:
  16638. 6628 .LBB286:
  16639. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16640. 6629 .loc 1 7337 3 view .LVU2369
  16641. 6630 01b4 4A45 cmp r2, r9
  16642. 6631 .LBE286:
  16643. 6632 .LBE288:
  16644. 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE,
  16645. 6633 .loc 1 2746 26 view .LVU2370
  16646. 6634 01b6 2385 strh r3, [r4, #40] @ movhi
  16647. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 288
  16648. 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  16649. 6635 .loc 1 2747 11 is_stmt 1 view .LVU2371
  16650. 6636 .LVL438:
  16651. 6637 .LBB289:
  16652. 6638 .LBI284:
  16653. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  16654. 6639 .loc 1 7333 13 view .LVU2372
  16655. 6640 .LBB287:
  16656. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16657. 6641 .loc 1 7337 3 view .LVU2373
  16658. 6642 01b8 07D0 beq .L496
  16659. 6643 01ba 5245 cmp r2, r10
  16660. 6644 01bc 05D0 beq .L496
  16661. 6645 01be 3548 ldr r0, .L512
  16662. 6646 01c0 41F6A941 movw r1, #7337
  16663. 6647 01c4 FFF7FEFF bl assert_failed
  16664. 6648 .LVL439:
  16665. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16666. 6649 .loc 1 7347 3 is_stmt 0 view .LVU2374
  16667. 6650 01c8 2268 ldr r2, [r4]
  16668. 6651 .L496:
  16669. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  16670. 6652 .loc 1 7338 3 is_stmt 1 view .LVU2375
  16671. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16672. 6653 .loc 1 7339 3 view .LVU2376
  16673. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  16674. 6654 .loc 1 7342 3 view .LVU2377
  16675. 6655 .LVL440:
  16676. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16677. 6656 .loc 1 7347 3 view .LVU2378
  16678. 6657 01ca 5368 ldr r3, [r2, #4]
  16679. 6658 01cc 03EA0803 and r3, r3, r8
  16680. 6659 01d0 2B43 orrs r3, r3, r5
  16681. 6660 01d2 43F08073 orr r3, r3, #16777216
  16682. 6661 01d6 43F48033 orr r3, r3, #65536
  16683. 6662 01da 5360 str r3, [r2, #4]
  16684. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16685. 6663 .loc 1 7351 1 is_stmt 0 view .LVU2379
  16686. 6664 01dc B7E7 b .L494
  16687. 6665 .LVL441:
  16688. 6666 .L485:
  16689. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16690. 6667 .loc 1 7351 1 view .LVU2380
  16691. 6668 .LBE287:
  16692. 6669 .LBE289:
  16693. 6670 .LBB290:
  16694. 6671 .LBB271:
  16695. 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16696. 6672 .loc 1 5930 5 is_stmt 1 view .LVU2381
  16697. 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16698. 6673 .loc 1 5930 9 is_stmt 0 view .LVU2382
  16699. 6674 01de 2368 ldr r3, [r4]
  16700. 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16701. 6675 .loc 1 5930 28 view .LVU2383
  16702. 6676 01e0 4FEA1922 lsr r2, r9, #8
  16703. 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16704. 6677 .loc 1 5930 26 view .LVU2384
  16705. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 289
  16706. 6678 01e4 9A62 str r2, [r3, #40]
  16707. 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16708. 6679 .loc 1 5933 5 is_stmt 1 view .LVU2385
  16709. 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16710. 6680 .loc 1 5933 9 is_stmt 0 view .LVU2386
  16711. 6681 01e6 3946 mov r1, r7
  16712. 6682 01e8 3246 mov r2, r6
  16713. 6683 01ea 2046 mov r0, r4
  16714. 6684 01ec FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
  16715. 6685 .LVL442:
  16716. 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16717. 6686 .loc 1 5933 8 view .LVU2387
  16718. 6687 01f0 0028 cmp r0, #0
  16719. 6688 01f2 3FF476AF beq .L509
  16720. 6689 .LVL443:
  16721. 6690 .L484:
  16722. 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16723. 6691 .loc 1 5933 8 view .LVU2388
  16724. 6692 .LBE271:
  16725. 6693 .LBE290:
  16726. 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  16727. 6694 .loc 1 2700 7 is_stmt 1 view .LVU2389
  16728. 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  16729. 6695 .loc 1 2700 7 view .LVU2390
  16730. 6696 01f6 0023 movs r3, #0
  16731. 6697 01f8 84F84030 strb r3, [r4, #64]
  16732. 6698 01fc 2FE7 b .L510
  16733. 6699 .L487:
  16734. 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  16735. 6700 .loc 1 2708 7 view .LVU2391
  16736. 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  16737. 6701 .loc 1 2708 22 is_stmt 0 view .LVU2392
  16738. 6702 01fe 0123 movs r3, #1
  16739. 6703 .LBB291:
  16740. 6704 .LBB292:
  16741. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16742. 6705 .loc 1 7337 3 view .LVU2393
  16743. 6706 0200 2268 ldr r2, [r4]
  16744. 6707 .LBE292:
  16745. 6708 .LBE291:
  16746. 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE,
  16747. 6709 .loc 1 2708 22 view .LVU2394
  16748. 6710 0202 2385 strh r3, [r4, #40] @ movhi
  16749. 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  16750. 6711 .loc 1 2709 7 is_stmt 1 view .LVU2395
  16751. 6712 .LVL444:
  16752. 6713 .LBB294:
  16753. 6714 .LBI291:
  16754. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  16755. 6715 .loc 1 7333 13 view .LVU2396
  16756. 6716 .LBB293:
  16757. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16758. 6717 .loc 1 7337 3 view .LVU2397
  16759. 6718 0204 244B ldr r3, .L512+4
  16760. 6719 0206 9A42 cmp r2, r3
  16761. 6720 0208 09D0 beq .L489
  16762. 6721 020a 03F58063 add r3, r3, #1024
  16763. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 290
  16764. 6722 020e 9A42 cmp r2, r3
  16765. 6723 0210 05D0 beq .L489
  16766. 6724 0212 2048 ldr r0, .L512
  16767. 6725 0214 41F6A941 movw r1, #7337
  16768. 6726 0218 FFF7FEFF bl assert_failed
  16769. 6727 .LVL445:
  16770. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16771. 6728 .loc 1 7347 3 is_stmt 0 view .LVU2398
  16772. 6729 021c 2268 ldr r2, [r4]
  16773. 6730 .L489:
  16774. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  16775. 6731 .loc 1 7338 3 is_stmt 1 view .LVU2399
  16776. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16777. 6732 .loc 1 7339 3 view .LVU2400
  16778. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  16779. 6733 .loc 1 7342 3 view .LVU2401
  16780. 6734 .LVL446:
  16781. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16782. 6735 .loc 1 7347 3 view .LVU2402
  16783. 6736 021e 5368 ldr r3, [r2, #4]
  16784. 6737 0220 1E49 ldr r1, .L512+8
  16785. 6738 0222 0B40 ands r3, r3, r1
  16786. 6739 0224 2B43 orrs r3, r3, r5
  16787. 6740 0226 43F08073 orr r3, r3, #16777216
  16788. 6741 022a 43F49233 orr r3, r3, #74752
  16789. 6742 022e 5360 str r3, [r2, #4]
  16790. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16791. 6743 .loc 1 7351 1 is_stmt 0 view .LVU2403
  16792. 6744 0230 86E7 b .L492
  16793. 6745 .LVL447:
  16794. 6746 .L495:
  16795. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16796. 6747 .loc 1 7351 1 view .LVU2404
  16797. 6748 .LBE293:
  16798. 6749 .LBE294:
  16799. 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16800. 6750 .loc 1 2752 11 is_stmt 1 view .LVU2405
  16801. 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16802. 6751 .loc 1 2752 32 is_stmt 0 view .LVU2406
  16803. 6752 0232 638D ldrh r3, [r4, #42]
  16804. 6753 .LBB295:
  16805. 6754 .LBB281:
  16806. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16807. 6755 .loc 1 7337 3 view .LVU2407
  16808. 6756 0234 2268 ldr r2, [r4]
  16809. 6757 .LBE281:
  16810. 6758 .LBE295:
  16811. 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16812. 6759 .loc 1 2752 32 view .LVU2408
  16813. 6760 0236 9BB2 uxth r3, r3
  16814. 6761 .LBB296:
  16815. 6762 .LBB282:
  16816. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16817. 6763 .loc 1 7337 3 view .LVU2409
  16818. 6764 0238 4A45 cmp r2, r9
  16819. 6765 .LBE282:
  16820. 6766 .LBE296:
  16821. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 291
  16822. 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE,
  16823. 6767 .loc 1 2752 26 view .LVU2410
  16824. 6768 023a 2385 strh r3, [r4, #40] @ movhi
  16825. 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP);
  16826. 6769 .loc 1 2753 11 is_stmt 1 view .LVU2411
  16827. 6770 023c 5FFA83FB uxtb fp, r3
  16828. 6771 .LVL448:
  16829. 6772 .LBB297:
  16830. 6773 .LBI279:
  16831. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  16832. 6774 .loc 1 7333 13 view .LVU2412
  16833. 6775 .LBB283:
  16834. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  16835. 6776 .loc 1 7337 3 view .LVU2413
  16836. 6777 0240 07D0 beq .L497
  16837. 6778 0242 5245 cmp r2, r10
  16838. 6779 0244 05D0 beq .L497
  16839. 6780 0246 1348 ldr r0, .L512
  16840. 6781 0248 41F6A941 movw r1, #7337
  16841. 6782 024c FFF7FEFF bl assert_failed
  16842. 6783 .LVL449:
  16843. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16844. 6784 .loc 1 7347 3 is_stmt 0 view .LVU2414
  16845. 6785 0250 2268 ldr r2, [r4]
  16846. 6786 .L497:
  16847. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  16848. 6787 .loc 1 7338 3 is_stmt 1 view .LVU2415
  16849. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16850. 6788 .loc 1 7339 3 view .LVU2416
  16851. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  16852. 6789 .loc 1 7342 3 view .LVU2417
  16853. 6790 .LVL450:
  16854. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  16855. 6791 .loc 1 7347 3 view .LVU2418
  16856. 6792 0252 5368 ldr r3, [r2, #4]
  16857. 6793 0254 03EA0803 and r3, r3, r8
  16858. 6794 0258 2B43 orrs r3, r3, r5
  16859. 6795 025a 43EA0B43 orr r3, r3, fp, lsl #16
  16860. 6796 025e 43F00073 orr r3, r3, #33554432
  16861. 6797 0262 5360 str r3, [r2, #4]
  16862. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16863. 6798 .loc 1 7351 1 is_stmt 0 view .LVU2419
  16864. 6799 0264 73E7 b .L494
  16865. 6800 .LVL451:
  16866. 6801 .L511:
  16867. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16868. 6802 .loc 1 7351 1 view .LVU2420
  16869. 6803 .LBE283:
  16870. 6804 .LBE297:
  16871. 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16872. 6805 .loc 1 2761 5 is_stmt 1 view .LVU2421
  16873. 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16874. 6806 .loc 1 2761 9 is_stmt 0 view .LVU2422
  16875. 6807 0266 3246 mov r2, r6
  16876. 6808 0268 3946 mov r1, r7
  16877. 6809 026a 2046 mov r0, r4
  16878. 6810 026c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
  16879. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 292
  16880. 6811 .LVL452:
  16881. 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16882. 6812 .loc 1 2761 8 view .LVU2423
  16883. 6813 0270 0028 cmp r0, #0
  16884. 6814 0272 7FF4F4AE bne .L510
  16885. 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16886. 6815 .loc 1 2767 5 is_stmt 1 view .LVU2424
  16887. 6816 0276 2368 ldr r3, [r4]
  16888. 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16889. 6817 .loc 1 2770 5 is_stmt 0 view .LVU2425
  16890. 6818 0278 094D ldr r5, .L512+12
  16891. 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16892. 6819 .loc 1 2767 5 view .LVU2426
  16893. 6820 027a 2021 movs r1, #32
  16894. 6821 027c D961 str r1, [r3, #28]
  16895. 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16896. 6822 .loc 1 2770 5 is_stmt 1 view .LVU2427
  16897. 6823 027e 5A68 ldr r2, [r3, #4]
  16898. 6824 0280 2A40 ands r2, r2, r5
  16899. 6825 0282 5A60 str r2, [r3, #4]
  16900. 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  16901. 6826 .loc 1 2772 5 view .LVU2428
  16902. 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  16903. 6827 .loc 1 2772 17 is_stmt 0 view .LVU2429
  16904. 6828 0284 84F84110 strb r1, [r4, #65]
  16905. 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16906. 6829 .loc 1 2773 5 is_stmt 1 view .LVU2430
  16907. 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16908. 6830 .loc 1 2776 5 is_stmt 0 view .LVU2431
  16909. 6831 0288 84F84000 strb r0, [r4, #64]
  16910. 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16911. 6832 .loc 1 2773 17 view .LVU2432
  16912. 6833 028c 84F84200 strb r0, [r4, #66]
  16913. 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16914. 6834 .loc 1 2776 5 is_stmt 1 view .LVU2433
  16915. 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16916. 6835 .loc 1 2776 5 view .LVU2434
  16917. 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16918. 6836 .loc 1 2776 5 view .LVU2435
  16919. 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16920. 6837 .loc 1 2778 5 view .LVU2436
  16921. 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  16922. 6838 .loc 1 2778 12 is_stmt 0 view .LVU2437
  16923. 6839 0290 EDE6 b .L479
  16924. 6840 .L513:
  16925. 6841 0292 00BF .align 2
  16926. 6842 .L512:
  16927. 6843 0294 00000000 .word .LC0
  16928. 6844 0298 00540040 .word 1073763328
  16929. 6845 029c 009800FC .word -67069952
  16930. 6846 02a0 00E800FE .word -33495040
  16931. 6847 02a4 009C00FC .word -67068928
  16932. 6848 02a8 00580040 .word 1073764352
  16933. 6849 .cfi_endproc
  16934. 6850 .LFE147:
  16935. 6852 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
  16936. 6853 .align 1
  16937. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 293
  16938. 6854 .p2align 2,,3
  16939. 6855 .global HAL_I2C_Mem_Write_IT
  16940. 6856 .syntax unified
  16941. 6857 .thumb
  16942. 6858 .thumb_func
  16943. 6860 HAL_I2C_Mem_Write_IT:
  16944. 6861 .LVL453:
  16945. 6862 .LFB148:
  16946. 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  16947. 6863 .loc 1 2799 1 is_stmt 1 view -0
  16948. 6864 .cfi_startproc
  16949. 6865 @ args = 8, pretend = 0, frame = 0
  16950. 6866 @ frame_needed = 0, uses_anonymous_args = 0
  16951. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16952. 6867 .loc 1 2801 3 view .LVU2439
  16953. 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  16954. 6868 .loc 1 2799 1 is_stmt 0 view .LVU2440
  16955. 6869 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
  16956. 6870 .LCFI91:
  16957. 6871 .cfi_def_cfa_offset 32
  16958. 6872 .cfi_offset 3, -32
  16959. 6873 .cfi_offset 4, -28
  16960. 6874 .cfi_offset 5, -24
  16961. 6875 .cfi_offset 6, -20
  16962. 6876 .cfi_offset 7, -16
  16963. 6877 .cfi_offset 8, -12
  16964. 6878 .cfi_offset 9, -8
  16965. 6879 .cfi_offset 14, -4
  16966. 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  16967. 6880 .loc 1 2799 1 view .LVU2441
  16968. 6881 0004 0446 mov r4, r0
  16969. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16970. 6882 .loc 1 2801 3 view .LVU2442
  16971. 6883 0006 581E subs r0, r3, #1
  16972. 6884 .LVL454:
  16973. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16974. 6885 .loc 1 2801 3 view .LVU2443
  16975. 6886 0008 0128 cmp r0, #1
  16976. 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  16977. 6887 .loc 1 2799 1 view .LVU2444
  16978. 6888 000a BDF82490 ldrh r9, [sp, #36]
  16979. 6889 000e 9846 mov r8, r3
  16980. 6890 0010 0F46 mov r7, r1
  16981. 6891 0012 1546 mov r5, r2
  16982. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16983. 6892 .loc 1 2801 3 view .LVU2445
  16984. 6893 0014 04D9 bls .L515
  16985. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16986. 6894 .loc 1 2801 3 discriminator 1 view .LVU2446
  16987. 6895 0016 3348 ldr r0, .L530
  16988. 6896 0018 40F6F121 movw r1, #2801
  16989. 6897 .LVL455:
  16990. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  16991. 6898 .loc 1 2801 3 discriminator 1 view .LVU2447
  16992. 6899 001c FFF7FEFF bl assert_failed
  16993. 6900 .LVL456:
  16994. 6901 .L515:
  16995. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 294
  16996. 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16997. 6902 .loc 1 2803 3 is_stmt 1 view .LVU2448
  16998. 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  16999. 6903 .loc 1 2803 11 is_stmt 0 view .LVU2449
  17000. 6904 0020 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  17001. 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17002. 6905 .loc 1 2803 6 view .LVU2450
  17003. 6906 0024 2028 cmp r0, #32
  17004. 6907 0026 54D1 bne .L524
  17005. 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17006. 6908 .loc 1 2805 5 is_stmt 1 view .LVU2451
  17007. 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17008. 6909 .loc 1 2805 8 is_stmt 0 view .LVU2452
  17009. 6910 0028 089B ldr r3, [sp, #32]
  17010. 6911 002a 002B cmp r3, #0
  17011. 6912 002c 4BD0 beq .L517
  17012. 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17013. 6913 .loc 1 2805 25 discriminator 1 view .LVU2453
  17014. 6914 002e B9F1000F cmp r9, #0
  17015. 6915 0032 48D0 beq .L517
  17016. 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17017. 6916 .loc 1 2811 5 is_stmt 1 view .LVU2454
  17018. 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17019. 6917 .loc 1 2811 9 is_stmt 0 view .LVU2455
  17020. 6918 0034 2668 ldr r6, [r4]
  17021. 6919 0036 B369 ldr r3, [r6, #24]
  17022. 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17023. 6920 .loc 1 2811 8 view .LVU2456
  17024. 6921 0038 13F40043 ands r3, r3, #32768
  17025. 6922 003c 49D1 bne .L524
  17026. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17027. 6923 .loc 1 2817 5 is_stmt 1 view .LVU2457
  17028. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17029. 6924 .loc 1 2817 5 view .LVU2458
  17030. 6925 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2
  17031. 6926 0042 012A cmp r2, #1
  17032. 6927 0044 45D0 beq .L524
  17033. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17034. 6928 .loc 1 2817 5 discriminator 2 view .LVU2459
  17035. 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  17036. 6929 .loc 1 2828 23 is_stmt 0 discriminator 2 view .LVU2460
  17037. 6930 0046 2849 ldr r1, .L530+4
  17038. 6931 0048 6163 str r1, [r4, #52]
  17039. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17040. 6932 .loc 1 2817 5 discriminator 2 view .LVU2461
  17041. 6933 004a 0121 movs r1, #1
  17042. 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17043. 6934 .loc 1 2825 23 discriminator 2 view .LVU2462
  17044. 6935 004c 089A ldr r2, [sp, #32]
  17045. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17046. 6936 .loc 1 2817 5 discriminator 2 view .LVU2463
  17047. 6937 004e 84F84010 strb r1, [r4, #64]
  17048. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17049. 6938 .loc 1 2817 5 is_stmt 1 discriminator 2 view .LVU2464
  17050. 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  17051. 6939 .loc 1 2819 5 discriminator 2 view .LVU2465
  17052. 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  17053. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 295
  17054. 6940 .loc 1 2819 23 is_stmt 0 discriminator 2 view .LVU2466
  17055. 6941 0052 2121 movs r1, #33
  17056. 6942 0054 84F84110 strb r1, [r4, #65]
  17057. 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17058. 6943 .loc 1 2820 5 is_stmt 1 discriminator 2 view .LVU2467
  17059. 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17060. 6944 .loc 1 2825 23 is_stmt 0 discriminator 2 view .LVU2468
  17061. 6945 0058 6262 str r2, [r4, #36]
  17062. 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17063. 6946 .loc 1 2820 23 discriminator 2 view .LVU2469
  17064. 6947 005a 4021 movs r1, #64
  17065. 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  17066. 6948 .loc 1 2827 23 discriminator 2 view .LVU2470
  17067. 6949 005c 234A ldr r2, .L530+8
  17068. 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17069. 6950 .loc 1 2820 23 discriminator 2 view .LVU2471
  17070. 6951 005e 84F84210 strb r1, [r4, #66]
  17071. 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17072. 6952 .loc 1 2821 5 is_stmt 1 discriminator 2 view .LVU2472
  17073. 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17074. 6953 .loc 1 2832 8 is_stmt 0 discriminator 2 view .LVU2473
  17075. 6954 0062 B8F1010F cmp r8, #1
  17076. 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17077. 6955 .loc 1 2821 23 discriminator 2 view .LVU2474
  17078. 6956 0066 6364 str r3, [r4, #68]
  17079. 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  17080. 6957 .loc 1 2824 5 is_stmt 1 discriminator 2 view .LVU2475
  17081. 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17082. 6958 .loc 1 2825 5 discriminator 2 view .LVU2476
  17083. 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  17084. 6959 .loc 1 2826 5 discriminator 2 view .LVU2477
  17085. 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
  17086. 6960 .loc 1 2824 23 is_stmt 0 discriminator 2 view .LVU2478
  17087. 6961 0068 2385 strh r3, [r4, #40] @ movhi
  17088. 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  17089. 6962 .loc 1 2826 23 discriminator 2 view .LVU2479
  17090. 6963 006a A4F82A90 strh r9, [r4, #42] @ movhi
  17091. 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  17092. 6964 .loc 1 2827 5 is_stmt 1 discriminator 2 view .LVU2480
  17093. 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  17094. 6965 .loc 1 2827 23 is_stmt 0 discriminator 2 view .LVU2481
  17095. 6966 006e E262 str r2, [r4, #44]
  17096. 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  17097. 6967 .loc 1 2828 5 is_stmt 1 discriminator 2 view .LVU2482
  17098. 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17099. 6968 .loc 1 2829 5 discriminator 2 view .LVU2483
  17100. 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17101. 6969 .loc 1 2829 23 is_stmt 0 discriminator 2 view .LVU2484
  17102. 6970 0070 E764 str r7, [r4, #76]
  17103. 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17104. 6971 .loc 1 2832 5 is_stmt 1 discriminator 2 view .LVU2485
  17105. 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17106. 6972 .loc 1 2832 8 is_stmt 0 discriminator 2 view .LVU2486
  17107. 6973 0072 31D0 beq .L529
  17108. 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17109. 6974 .loc 1 2844 7 is_stmt 1 view .LVU2487
  17110. 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17111. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 296
  17112. 6975 .loc 1 2844 30 is_stmt 0 view .LVU2488
  17113. 6976 0074 2B0A lsrs r3, r5, #8
  17114. 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17115. 6977 .loc 1 2847 26 view .LVU2489
  17116. 6978 0076 EDB2 uxtb r5, r5
  17117. 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17118. 6979 .loc 1 2844 28 view .LVU2490
  17119. 6980 0078 B362 str r3, [r6, #40]
  17120. 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17121. 6981 .loc 1 2847 7 is_stmt 1 view .LVU2491
  17122. 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17123. 6982 .loc 1 2847 24 is_stmt 0 view .LVU2492
  17124. 6983 007a 2565 str r5, [r4, #80]
  17125. 6984 .L520:
  17126. 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17127. 6985 .loc 1 2850 5 is_stmt 1 view .LVU2493
  17128. 6986 .LBB302:
  17129. 6987 .LBB303:
  17130. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  17131. 6988 .loc 1 7337 3 is_stmt 0 view .LVU2494
  17132. 6989 007c 1C4B ldr r3, .L530+12
  17133. 6990 007e 9E42 cmp r6, r3
  17134. 6991 .LBE303:
  17135. 6992 .LBE302:
  17136. 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17137. 6993 .loc 1 2850 5 view .LVU2495
  17138. 6994 0080 5FFA88F8 uxtb r8, r8
  17139. 6995 .LVL457:
  17140. 6996 .LBB306:
  17141. 6997 .LBI302:
  17142. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  17143. 6998 .loc 1 7333 13 is_stmt 1 view .LVU2496
  17144. 6999 .LBB304:
  17145. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  17146. 7000 .loc 1 7337 3 view .LVU2497
  17147. 7001 0084 09D0 beq .L521
  17148. 7002 0086 03F58063 add r3, r3, #1024
  17149. 7003 008a 9E42 cmp r6, r3
  17150. 7004 008c 05D0 beq .L521
  17151. 7005 008e 1548 ldr r0, .L530
  17152. 7006 0090 41F6A941 movw r1, #7337
  17153. 7007 0094 FFF7FEFF bl assert_failed
  17154. 7008 .LVL458:
  17155. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17156. 7009 .loc 1 7347 3 is_stmt 0 view .LVU2498
  17157. 7010 0098 2668 ldr r6, [r4]
  17158. 7011 .L521:
  17159. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  17160. 7012 .loc 1 7338 3 is_stmt 1 view .LVU2499
  17161. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17162. 7013 .loc 1 7339 3 view .LVU2500
  17163. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  17164. 7014 .loc 1 7342 3 view .LVU2501
  17165. 7015 .LVL459:
  17166. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17167. 7016 .loc 1 7347 3 view .LVU2502
  17168. 7017 009a 7268 ldr r2, [r6, #4]
  17169. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 297
  17170. 7018 009c 1549 ldr r1, .L530+16
  17171. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  17172. 7019 .loc 1 7342 52 is_stmt 0 view .LVU2503
  17173. 7020 009e C7F30903 ubfx r3, r7, #0, #10
  17174. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17175. 7021 .loc 1 7347 3 view .LVU2504
  17176. 7022 00a2 0A40 ands r2, r2, r1
  17177. 7023 00a4 1343 orrs r3, r3, r2
  17178. 7024 00a6 43EA0843 orr r3, r3, r8, lsl #16
  17179. 7025 00aa 43F08073 orr r3, r3, #16777216
  17180. 7026 .LBE304:
  17181. 7027 .LBE306:
  17182. 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17183. 7028 .loc 1 2853 5 view .LVU2505
  17184. 7029 00ae 0020 movs r0, #0
  17185. 7030 .LBB307:
  17186. 7031 .LBB305:
  17187. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17188. 7032 .loc 1 7347 3 view .LVU2506
  17189. 7033 00b0 43F40053 orr r3, r3, #8192
  17190. 7034 00b4 7360 str r3, [r6, #4]
  17191. 7035 .LVL460:
  17192. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17193. 7036 .loc 1 7347 3 view .LVU2507
  17194. 7037 .LBE305:
  17195. 7038 .LBE307:
  17196. 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17197. 7039 .loc 1 2853 5 is_stmt 1 view .LVU2508
  17198. 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17199. 7040 .loc 1 2853 5 view .LVU2509
  17200. 7041 00b6 84F84000 strb r0, [r4, #64]
  17201. 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17202. 7042 .loc 1 2853 5 view .LVU2510
  17203. 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17204. 7043 .loc 1 2863 5 view .LVU2511
  17205. 7044 .LVL461:
  17206. 7045 .LBB308:
  17207. 7046 .LBI308:
  17208. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17209. 7047 .loc 1 7360 13 view .LVU2512
  17210. 7048 .LBB309:
  17211. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17212. 7049 .loc 1 7362 3 view .LVU2513
  17213. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  17214. 7050 .loc 1 7364 3 view .LVU2514
  17215. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17216. 7051 .loc 1 7441 3 view .LVU2515
  17217. 7052 00ba 3368 ldr r3, [r6]
  17218. 7053 00bc 43F0F203 orr r3, r3, #242
  17219. 7054 00c0 3360 str r3, [r6]
  17220. 7055 .LVL462:
  17221. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17222. 7056 .loc 1 7441 3 is_stmt 0 view .LVU2516
  17223. 7057 .LBE309:
  17224. 7058 .LBE308:
  17225. 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17226. 7059 .loc 1 2871 1 view .LVU2517
  17227. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 298
  17228. 7060 00c2 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  17229. 7061 .LVL463:
  17230. 7062 .L517:
  17231. 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  17232. 7063 .loc 1 2807 7 is_stmt 1 view .LVU2518
  17233. 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  17234. 7064 .loc 1 2807 23 is_stmt 0 view .LVU2519
  17235. 7065 00c6 4FF40073 mov r3, #512
  17236. 7066 00ca 6364 str r3, [r4, #68]
  17237. 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17238. 7067 .loc 1 2808 7 is_stmt 1 view .LVU2520
  17239. 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17240. 7068 .loc 1 2808 15 is_stmt 0 view .LVU2521
  17241. 7069 00cc 0120 movs r0, #1
  17242. 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17243. 7070 .loc 1 2871 1 view .LVU2522
  17244. 7071 00ce BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  17245. 7072 .LVL464:
  17246. 7073 .L524:
  17247. 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17248. 7074 .loc 1 2869 12 view .LVU2523
  17249. 7075 00d2 0220 movs r0, #2
  17250. 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17251. 7076 .loc 1 2871 1 view .LVU2524
  17252. 7077 00d4 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  17253. 7078 .LVL465:
  17254. 7079 .L529:
  17255. 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17256. 7080 .loc 1 2835 7 is_stmt 1 view .LVU2525
  17257. 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17258. 7081 .loc 1 2835 30 is_stmt 0 view .LVU2526
  17259. 7082 00d8 EDB2 uxtb r5, r5
  17260. 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17261. 7083 .loc 1 2838 24 view .LVU2527
  17262. 7084 00da 4FF0FF33 mov r3, #-1
  17263. 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17264. 7085 .loc 1 2835 28 view .LVU2528
  17265. 7086 00de B562 str r5, [r6, #40]
  17266. 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17267. 7087 .loc 1 2838 7 is_stmt 1 view .LVU2529
  17268. 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17269. 7088 .loc 1 2838 24 is_stmt 0 view .LVU2530
  17270. 7089 00e0 2365 str r3, [r4, #80]
  17271. 7090 00e2 CBE7 b .L520
  17272. 7091 .L531:
  17273. 7092 .align 2
  17274. 7093 .L530:
  17275. 7094 00e4 00000000 .word .LC0
  17276. 7095 00e8 00000000 .word I2C_Mem_ISR_IT
  17277. 7096 00ec 0000FFFF .word -65536
  17278. 7097 00f0 00540040 .word 1073763328
  17279. 7098 00f4 009800FC .word -67069952
  17280. 7099 .cfi_endproc
  17281. 7100 .LFE148:
  17282. 7102 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
  17283. 7103 .align 1
  17284. 7104 .p2align 2,,3
  17285. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 299
  17286. 7105 .global HAL_I2C_Mem_Read_IT
  17287. 7106 .syntax unified
  17288. 7107 .thumb
  17289. 7108 .thumb_func
  17290. 7110 HAL_I2C_Mem_Read_IT:
  17291. 7111 .LVL466:
  17292. 7112 .LFB149:
  17293. 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  17294. 7113 .loc 1 2887 1 is_stmt 1 view -0
  17295. 7114 .cfi_startproc
  17296. 7115 @ args = 8, pretend = 0, frame = 0
  17297. 7116 @ frame_needed = 0, uses_anonymous_args = 0
  17298. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17299. 7117 .loc 1 2889 3 view .LVU2532
  17300. 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  17301. 7118 .loc 1 2887 1 is_stmt 0 view .LVU2533
  17302. 7119 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  17303. 7120 .LCFI92:
  17304. 7121 .cfi_def_cfa_offset 24
  17305. 7122 .cfi_offset 4, -24
  17306. 7123 .cfi_offset 5, -20
  17307. 7124 .cfi_offset 6, -16
  17308. 7125 .cfi_offset 7, -12
  17309. 7126 .cfi_offset 8, -8
  17310. 7127 .cfi_offset 14, -4
  17311. 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  17312. 7128 .loc 1 2887 1 view .LVU2534
  17313. 7129 0004 0446 mov r4, r0
  17314. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17315. 7130 .loc 1 2889 3 view .LVU2535
  17316. 7131 0006 581E subs r0, r3, #1
  17317. 7132 .LVL467:
  17318. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17319. 7133 .loc 1 2889 3 view .LVU2536
  17320. 7134 0008 0128 cmp r0, #1
  17321. 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */
  17322. 7135 .loc 1 2887 1 view .LVU2537
  17323. 7136 000a BDF81C80 ldrh r8, [sp, #28]
  17324. 7137 000e 1F46 mov r7, r3
  17325. 7138 0010 0E46 mov r6, r1
  17326. 7139 0012 1546 mov r5, r2
  17327. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17328. 7140 .loc 1 2889 3 view .LVU2538
  17329. 7141 0014 04D9 bls .L533
  17330. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17331. 7142 .loc 1 2889 3 discriminator 1 view .LVU2539
  17332. 7143 0016 3148 ldr r0, .L548
  17333. 7144 0018 40F64931 movw r1, #2889
  17334. 7145 .LVL468:
  17335. 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17336. 7146 .loc 1 2889 3 discriminator 1 view .LVU2540
  17337. 7147 001c FFF7FEFF bl assert_failed
  17338. 7148 .LVL469:
  17339. 7149 .L533:
  17340. 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17341. 7150 .loc 1 2891 3 is_stmt 1 view .LVU2541
  17342. 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17343. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 300
  17344. 7151 .loc 1 2891 11 is_stmt 0 view .LVU2542
  17345. 7152 0020 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  17346. 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17347. 7153 .loc 1 2891 6 view .LVU2543
  17348. 7154 0024 2028 cmp r0, #32
  17349. 7155 0026 4FD1 bne .L542
  17350. 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17351. 7156 .loc 1 2893 5 is_stmt 1 view .LVU2544
  17352. 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17353. 7157 .loc 1 2893 8 is_stmt 0 view .LVU2545
  17354. 7158 0028 069B ldr r3, [sp, #24]
  17355. 7159 002a 002B cmp r3, #0
  17356. 7160 002c 46D0 beq .L535
  17357. 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17358. 7161 .loc 1 2893 25 discriminator 1 view .LVU2546
  17359. 7162 002e B8F1000F cmp r8, #0
  17360. 7163 0032 43D0 beq .L535
  17361. 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17362. 7164 .loc 1 2899 5 is_stmt 1 view .LVU2547
  17363. 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17364. 7165 .loc 1 2899 9 is_stmt 0 view .LVU2548
  17365. 7166 0034 2168 ldr r1, [r4]
  17366. 7167 0036 8B69 ldr r3, [r1, #24]
  17367. 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17368. 7168 .loc 1 2899 8 view .LVU2549
  17369. 7169 0038 13F40043 ands r3, r3, #32768
  17370. 7170 003c 44D1 bne .L542
  17371. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17372. 7171 .loc 1 2905 5 is_stmt 1 view .LVU2550
  17373. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17374. 7172 .loc 1 2905 5 view .LVU2551
  17375. 7173 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2
  17376. 7174 0042 012A cmp r2, #1
  17377. 7175 0044 40D0 beq .L542
  17378. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17379. 7176 .loc 1 2905 5 discriminator 2 view .LVU2552
  17380. 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  17381. 7177 .loc 1 2915 23 is_stmt 0 discriminator 2 view .LVU2553
  17382. 7178 0046 2648 ldr r0, .L548+4
  17383. 7179 0048 6063 str r0, [r4, #52]
  17384. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17385. 7180 .loc 1 2905 5 discriminator 2 view .LVU2554
  17386. 7181 004a 0120 movs r0, #1
  17387. 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17388. 7182 .loc 1 2912 23 discriminator 2 view .LVU2555
  17389. 7183 004c 069A ldr r2, [sp, #24]
  17390. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17391. 7184 .loc 1 2905 5 discriminator 2 view .LVU2556
  17392. 7185 004e 84F84000 strb r0, [r4, #64]
  17393. 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17394. 7186 .loc 1 2905 5 is_stmt 1 discriminator 2 view .LVU2557
  17395. 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  17396. 7187 .loc 1 2907 5 discriminator 2 view .LVU2558
  17397. 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  17398. 7188 .loc 1 2907 23 is_stmt 0 discriminator 2 view .LVU2559
  17399. 7189 0052 2220 movs r0, #34
  17400. 7190 0054 84F84100 strb r0, [r4, #65]
  17401. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 301
  17402. 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17403. 7191 .loc 1 2908 5 is_stmt 1 discriminator 2 view .LVU2560
  17404. 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17405. 7192 .loc 1 2912 23 is_stmt 0 discriminator 2 view .LVU2561
  17406. 7193 0058 6262 str r2, [r4, #36]
  17407. 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17408. 7194 .loc 1 2908 23 discriminator 2 view .LVU2562
  17409. 7195 005a 4020 movs r0, #64
  17410. 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  17411. 7196 .loc 1 2914 23 discriminator 2 view .LVU2563
  17412. 7197 005c 214A ldr r2, .L548+8
  17413. 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17414. 7198 .loc 1 2908 23 discriminator 2 view .LVU2564
  17415. 7199 005e 84F84200 strb r0, [r4, #66]
  17416. 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17417. 7200 .loc 1 2909 5 is_stmt 1 discriminator 2 view .LVU2565
  17418. 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17419. 7201 .loc 1 2919 8 is_stmt 0 discriminator 2 view .LVU2566
  17420. 7202 0062 012F cmp r7, #1
  17421. 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17422. 7203 .loc 1 2909 23 discriminator 2 view .LVU2567
  17423. 7204 0064 6364 str r3, [r4, #68]
  17424. 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17425. 7205 .loc 1 2912 5 is_stmt 1 discriminator 2 view .LVU2568
  17426. 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  17427. 7206 .loc 1 2913 5 discriminator 2 view .LVU2569
  17428. 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  17429. 7207 .loc 1 2913 23 is_stmt 0 discriminator 2 view .LVU2570
  17430. 7208 0066 A4F82A80 strh r8, [r4, #42] @ movhi
  17431. 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  17432. 7209 .loc 1 2914 5 is_stmt 1 discriminator 2 view .LVU2571
  17433. 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT;
  17434. 7210 .loc 1 2914 23 is_stmt 0 discriminator 2 view .LVU2572
  17435. 7211 006a E262 str r2, [r4, #44]
  17436. 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  17437. 7212 .loc 1 2915 5 is_stmt 1 discriminator 2 view .LVU2573
  17438. 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17439. 7213 .loc 1 2916 5 discriminator 2 view .LVU2574
  17440. 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17441. 7214 .loc 1 2916 23 is_stmt 0 discriminator 2 view .LVU2575
  17442. 7215 006c E664 str r6, [r4, #76]
  17443. 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17444. 7216 .loc 1 2919 5 is_stmt 1 discriminator 2 view .LVU2576
  17445. 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17446. 7217 .loc 1 2919 8 is_stmt 0 discriminator 2 view .LVU2577
  17447. 7218 006e 2ED0 beq .L547
  17448. 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17449. 7219 .loc 1 2931 7 is_stmt 1 view .LVU2578
  17450. 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17451. 7220 .loc 1 2931 30 is_stmt 0 view .LVU2579
  17452. 7221 0070 2B0A lsrs r3, r5, #8
  17453. 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17454. 7222 .loc 1 2934 26 view .LVU2580
  17455. 7223 0072 EDB2 uxtb r5, r5
  17456. 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17457. 7224 .loc 1 2931 28 view .LVU2581
  17458. 7225 0074 8B62 str r3, [r1, #40]
  17459. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 302
  17460. 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17461. 7226 .loc 1 2934 7 is_stmt 1 view .LVU2582
  17462. 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17463. 7227 .loc 1 2934 24 is_stmt 0 view .LVU2583
  17464. 7228 0076 2565 str r5, [r4, #80]
  17465. 7229 .L538:
  17466. 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17467. 7230 .loc 1 2937 5 is_stmt 1 view .LVU2584
  17468. 7231 .LBB314:
  17469. 7232 .LBB315:
  17470. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  17471. 7233 .loc 1 7337 3 is_stmt 0 view .LVU2585
  17472. 7234 0078 1B4B ldr r3, .L548+12
  17473. 7235 007a 9942 cmp r1, r3
  17474. 7236 .LBE315:
  17475. 7237 .LBE314:
  17476. 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17477. 7238 .loc 1 2937 5 view .LVU2586
  17478. 7239 007c FFB2 uxtb r7, r7
  17479. 7240 .LVL470:
  17480. 7241 .LBB318:
  17481. 7242 .LBI314:
  17482. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  17483. 7243 .loc 1 7333 13 is_stmt 1 view .LVU2587
  17484. 7244 .LBB316:
  17485. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  17486. 7245 .loc 1 7337 3 view .LVU2588
  17487. 7246 007e 09D0 beq .L539
  17488. 7247 0080 03F58063 add r3, r3, #1024
  17489. 7248 0084 9942 cmp r1, r3
  17490. 7249 0086 05D0 beq .L539
  17491. 7250 0088 41F6A941 movw r1, #7337
  17492. 7251 008c 1348 ldr r0, .L548
  17493. 7252 008e FFF7FEFF bl assert_failed
  17494. 7253 .LVL471:
  17495. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17496. 7254 .loc 1 7347 3 is_stmt 0 view .LVU2589
  17497. 7255 0092 2168 ldr r1, [r4]
  17498. 7256 .L539:
  17499. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  17500. 7257 .loc 1 7338 3 is_stmt 1 view .LVU2590
  17501. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17502. 7258 .loc 1 7339 3 view .LVU2591
  17503. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  17504. 7259 .loc 1 7342 3 view .LVU2592
  17505. 7260 .LVL472:
  17506. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17507. 7261 .loc 1 7347 3 view .LVU2593
  17508. 7262 0094 4A68 ldr r2, [r1, #4]
  17509. 7263 0096 1548 ldr r0, .L548+16
  17510. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  17511. 7264 .loc 1 7342 52 is_stmt 0 view .LVU2594
  17512. 7265 0098 C6F30903 ubfx r3, r6, #0, #10
  17513. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17514. 7266 .loc 1 7347 3 view .LVU2595
  17515. 7267 009c 0240 ands r2, r2, r0
  17516. 7268 009e 1343 orrs r3, r3, r2
  17517. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 303
  17518. 7269 00a0 43EA0743 orr r3, r3, r7, lsl #16
  17519. 7270 .LBE316:
  17520. 7271 .LBE318:
  17521. 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17522. 7272 .loc 1 2940 5 view .LVU2596
  17523. 7273 00a4 0020 movs r0, #0
  17524. 7274 .LBB319:
  17525. 7275 .LBB317:
  17526. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17527. 7276 .loc 1 7347 3 view .LVU2597
  17528. 7277 00a6 43F40053 orr r3, r3, #8192
  17529. 7278 00aa 4B60 str r3, [r1, #4]
  17530. 7279 .LVL473:
  17531. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  17532. 7280 .loc 1 7347 3 view .LVU2598
  17533. 7281 .LBE317:
  17534. 7282 .LBE319:
  17535. 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17536. 7283 .loc 1 2940 5 is_stmt 1 view .LVU2599
  17537. 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17538. 7284 .loc 1 2940 5 view .LVU2600
  17539. 7285 00ac 84F84000 strb r0, [r4, #64]
  17540. 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17541. 7286 .loc 1 2940 5 view .LVU2601
  17542. 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17543. 7287 .loc 1 2950 5 view .LVU2602
  17544. 7288 .LVL474:
  17545. 7289 .LBB320:
  17546. 7290 .LBI320:
  17547. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17548. 7291 .loc 1 7360 13 view .LVU2603
  17549. 7292 .LBB321:
  17550. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17551. 7293 .loc 1 7362 3 view .LVU2604
  17552. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  17553. 7294 .loc 1 7364 3 view .LVU2605
  17554. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17555. 7295 .loc 1 7441 3 view .LVU2606
  17556. 7296 00b0 0B68 ldr r3, [r1]
  17557. 7297 00b2 43F0F203 orr r3, r3, #242
  17558. 7298 00b6 0B60 str r3, [r1]
  17559. 7299 .LVL475:
  17560. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17561. 7300 .loc 1 7441 3 is_stmt 0 view .LVU2607
  17562. 7301 .LBE321:
  17563. 7302 .LBE320:
  17564. 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17565. 7303 .loc 1 2958 1 view .LVU2608
  17566. 7304 00b8 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  17567. 7305 .LVL476:
  17568. 7306 .L535:
  17569. 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  17570. 7307 .loc 1 2895 7 is_stmt 1 view .LVU2609
  17571. 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  17572. 7308 .loc 1 2895 23 is_stmt 0 view .LVU2610
  17573. 7309 00bc 4FF40073 mov r3, #512
  17574. 7310 00c0 6364 str r3, [r4, #68]
  17575. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 304
  17576. 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17577. 7311 .loc 1 2896 7 is_stmt 1 view .LVU2611
  17578. 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17579. 7312 .loc 1 2896 15 is_stmt 0 view .LVU2612
  17580. 7313 00c2 0120 movs r0, #1
  17581. 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17582. 7314 .loc 1 2958 1 view .LVU2613
  17583. 7315 00c4 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  17584. 7316 .LVL477:
  17585. 7317 .L542:
  17586. 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17587. 7318 .loc 1 2956 12 view .LVU2614
  17588. 7319 00c8 0220 movs r0, #2
  17589. 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17590. 7320 .loc 1 2958 1 view .LVU2615
  17591. 7321 00ca BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  17592. 7322 .LVL478:
  17593. 7323 .L547:
  17594. 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17595. 7324 .loc 1 2922 7 is_stmt 1 view .LVU2616
  17596. 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17597. 7325 .loc 1 2922 30 is_stmt 0 view .LVU2617
  17598. 7326 00ce EDB2 uxtb r5, r5
  17599. 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17600. 7327 .loc 1 2925 24 view .LVU2618
  17601. 7328 00d0 4FF0FF33 mov r3, #-1
  17602. 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17603. 7329 .loc 1 2922 28 view .LVU2619
  17604. 7330 00d4 8D62 str r5, [r1, #40]
  17605. 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17606. 7331 .loc 1 2925 7 is_stmt 1 view .LVU2620
  17607. 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17608. 7332 .loc 1 2925 24 is_stmt 0 view .LVU2621
  17609. 7333 00d6 2365 str r3, [r4, #80]
  17610. 7334 00d8 CEE7 b .L538
  17611. 7335 .L549:
  17612. 7336 00da 00BF .align 2
  17613. 7337 .L548:
  17614. 7338 00dc 00000000 .word .LC0
  17615. 7339 00e0 00000000 .word I2C_Mem_ISR_IT
  17616. 7340 00e4 0000FFFF .word -65536
  17617. 7341 00e8 00540040 .word 1073763328
  17618. 7342 00ec 009800FC .word -67069952
  17619. 7343 .cfi_endproc
  17620. 7344 .LFE149:
  17621. 7346 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
  17622. 7347 .align 1
  17623. 7348 .p2align 2,,3
  17624. 7349 .global HAL_I2C_Mem_Write_DMA
  17625. 7350 .syntax unified
  17626. 7351 .thumb
  17627. 7352 .thumb_func
  17628. 7354 HAL_I2C_Mem_Write_DMA:
  17629. 7355 .LVL479:
  17630. 7356 .LFB150:
  17631. 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  17632. 7357 .loc 1 2974 1 is_stmt 1 view -0
  17633. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 305
  17634. 7358 .cfi_startproc
  17635. 7359 @ args = 8, pretend = 0, frame = 0
  17636. 7360 @ frame_needed = 0, uses_anonymous_args = 0
  17637. 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17638. 7361 .loc 1 2975 3 view .LVU2623
  17639. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17640. 7362 .loc 1 2978 3 view .LVU2624
  17641. 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  17642. 7363 .loc 1 2974 1 is_stmt 0 view .LVU2625
  17643. 7364 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
  17644. 7365 .LCFI93:
  17645. 7366 .cfi_def_cfa_offset 32
  17646. 7367 .cfi_offset 3, -32
  17647. 7368 .cfi_offset 4, -28
  17648. 7369 .cfi_offset 5, -24
  17649. 7370 .cfi_offset 6, -20
  17650. 7371 .cfi_offset 7, -16
  17651. 7372 .cfi_offset 8, -12
  17652. 7373 .cfi_offset 9, -8
  17653. 7374 .cfi_offset 14, -4
  17654. 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  17655. 7375 .loc 1 2974 1 view .LVU2626
  17656. 7376 0004 1D46 mov r5, r3
  17657. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17658. 7377 .loc 1 2978 3 view .LVU2627
  17659. 7378 0006 013B subs r3, r3, #1
  17660. 7379 .LVL480:
  17661. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17662. 7380 .loc 1 2978 3 view .LVU2628
  17663. 7381 0008 012B cmp r3, #1
  17664. 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  17665. 7382 .loc 1 2974 1 view .LVU2629
  17666. 7383 000a 089E ldr r6, [sp, #32]
  17667. 7384 000c BDF82490 ldrh r9, [sp, #36]
  17668. 7385 0010 0446 mov r4, r0
  17669. 7386 0012 0F46 mov r7, r1
  17670. 7387 0014 9046 mov r8, r2
  17671. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17672. 7388 .loc 1 2978 3 view .LVU2630
  17673. 7389 0016 04D9 bls .L551
  17674. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17675. 7390 .loc 1 2978 3 discriminator 1 view .LVU2631
  17676. 7391 0018 4E48 ldr r0, .L573
  17677. 7392 .LVL481:
  17678. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17679. 7393 .loc 1 2978 3 discriminator 1 view .LVU2632
  17680. 7394 001a 40F6A231 movw r1, #2978
  17681. 7395 .LVL482:
  17682. 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17683. 7396 .loc 1 2978 3 discriminator 1 view .LVU2633
  17684. 7397 001e FFF7FEFF bl assert_failed
  17685. 7398 .LVL483:
  17686. 7399 .L551:
  17687. 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17688. 7400 .loc 1 2980 3 is_stmt 1 view .LVU2634
  17689. 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17690. 7401 .loc 1 2980 11 is_stmt 0 view .LVU2635
  17691. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 306
  17692. 7402 0022 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  17693. 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17694. 7403 .loc 1 2980 6 view .LVU2636
  17695. 7404 0026 202B cmp r3, #32
  17696. 7405 0028 58D1 bne .L564
  17697. 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17698. 7406 .loc 1 2982 5 is_stmt 1 view .LVU2637
  17699. 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17700. 7407 .loc 1 2982 8 is_stmt 0 view .LVU2638
  17701. 7408 002a 002E cmp r6, #0
  17702. 7409 002c 4FD0 beq .L553
  17703. 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17704. 7410 .loc 1 2982 25 discriminator 1 view .LVU2639
  17705. 7411 002e B9F1000F cmp r9, #0
  17706. 7412 0032 4CD0 beq .L553
  17707. 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17708. 7413 .loc 1 2988 5 is_stmt 1 view .LVU2640
  17709. 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17710. 7414 .loc 1 2988 9 is_stmt 0 view .LVU2641
  17711. 7415 0034 2168 ldr r1, [r4]
  17712. 7416 0036 8B69 ldr r3, [r1, #24]
  17713. 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17714. 7417 .loc 1 2988 8 view .LVU2642
  17715. 7418 0038 13F40043 ands r3, r3, #32768
  17716. 7419 003c 4ED1 bne .L564
  17717. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17718. 7420 .loc 1 2994 5 is_stmt 1 view .LVU2643
  17719. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17720. 7421 .loc 1 2994 5 view .LVU2644
  17721. 7422 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2
  17722. 7423 0042 012A cmp r2, #1
  17723. 7424 0044 4AD0 beq .L564
  17724. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17725. 7425 .loc 1 2994 5 discriminator 2 view .LVU2645
  17726. 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  17727. 7426 .loc 1 2996 23 is_stmt 0 discriminator 2 view .LVU2646
  17728. 7427 0046 2120 movs r0, #33
  17729. 7428 0048 84F84100 strb r0, [r4, #65]
  17730. 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  17731. 7429 .loc 1 3003 23 discriminator 2 view .LVU2647
  17732. 7430 004c 424A ldr r2, .L573+4
  17733. 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17734. 7431 .loc 1 3001 23 discriminator 2 view .LVU2648
  17735. 7432 004e 6662 str r6, [r4, #36]
  17736. 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17737. 7433 .loc 1 2997 23 discriminator 2 view .LVU2649
  17738. 7434 0050 4020 movs r0, #64
  17739. 7435 0052 84F84200 strb r0, [r4, #66]
  17740. 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17741. 7436 .loc 1 2998 23 discriminator 2 view .LVU2650
  17742. 7437 0056 6364 str r3, [r4, #68]
  17743. 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  17744. 7438 .loc 1 3002 23 discriminator 2 view .LVU2651
  17745. 7439 0058 A4F82A90 strh r9, [r4, #42] @ movhi
  17746. 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  17747. 7440 .loc 1 3003 23 discriminator 2 view .LVU2652
  17748. 7441 005c E262 str r2, [r4, #44]
  17749. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 307
  17750. 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17751. 7442 .loc 1 3005 23 discriminator 2 view .LVU2653
  17752. 7443 005e E764 str r7, [r4, #76]
  17753. 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17754. 7444 .loc 1 3007 13 discriminator 2 view .LVU2654
  17755. 7445 0060 638D ldrh r3, [r4, #42]
  17756. 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  17757. 7446 .loc 1 3004 23 discriminator 2 view .LVU2655
  17758. 7447 0062 3E4A ldr r2, .L573+8
  17759. 7448 0064 6263 str r2, [r4, #52]
  17760. 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17761. 7449 .loc 1 3007 13 discriminator 2 view .LVU2656
  17762. 7450 0066 9BB2 uxth r3, r3
  17763. 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17764. 7451 .loc 1 3007 8 discriminator 2 view .LVU2657
  17765. 7452 0068 FF2B cmp r3, #255
  17766. 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17767. 7453 .loc 1 3013 28 discriminator 2 view .LVU2658
  17768. 7454 006a 96BF itet ls
  17769. 7455 006c 638D ldrhls r3, [r4, #42]
  17770. 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17771. 7456 .loc 1 3009 22 discriminator 2 view .LVU2659
  17772. 7457 006e FF23 movhi r3, #255
  17773. 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17774. 7458 .loc 1 3013 28 discriminator 2 view .LVU2660
  17775. 7459 0070 9BB2 uxthls r3, r3
  17776. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17777. 7460 .loc 1 2994 5 discriminator 2 view .LVU2661
  17778. 7461 0072 0122 movs r2, #1
  17779. 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17780. 7462 .loc 1 3017 8 discriminator 2 view .LVU2662
  17781. 7463 0074 012D cmp r5, #1
  17782. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17783. 7464 .loc 1 2994 5 discriminator 2 view .LVU2663
  17784. 7465 0076 84F84020 strb r2, [r4, #64]
  17785. 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17786. 7466 .loc 1 2994 5 is_stmt 1 discriminator 2 view .LVU2664
  17787. 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  17788. 7467 .loc 1 2996 5 discriminator 2 view .LVU2665
  17789. 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  17790. 7468 .loc 1 2997 5 discriminator 2 view .LVU2666
  17791. 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17792. 7469 .loc 1 2998 5 discriminator 2 view .LVU2667
  17793. 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  17794. 7470 .loc 1 3001 5 discriminator 2 view .LVU2668
  17795. 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  17796. 7471 .loc 1 3002 5 discriminator 2 view .LVU2669
  17797. 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  17798. 7472 .loc 1 3003 5 discriminator 2 view .LVU2670
  17799. 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  17800. 7473 .loc 1 3004 5 discriminator 2 view .LVU2671
  17801. 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17802. 7474 .loc 1 3005 5 discriminator 2 view .LVU2672
  17803. 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17804. 7475 .loc 1 3007 5 discriminator 2 view .LVU2673
  17805. 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17806. 7476 .loc 1 3013 7 discriminator 2 view .LVU2674
  17807. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 308
  17808. 7477 007a 2385 strh r3, [r4, #40] @ movhi
  17809. 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17810. 7478 .loc 1 3017 5 discriminator 2 view .LVU2675
  17811. 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17812. 7479 .loc 1 3017 8 is_stmt 0 discriminator 2 view .LVU2676
  17813. 7480 007c 32D0 beq .L571
  17814. 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17815. 7481 .loc 1 3029 7 is_stmt 1 view .LVU2677
  17816. 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17817. 7482 .loc 1 3029 30 is_stmt 0 view .LVU2678
  17818. 7483 007e 4FEA1822 lsr r2, r8, #8
  17819. 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17820. 7484 .loc 1 3029 28 view .LVU2679
  17821. 7485 0082 8A62 str r2, [r1, #40]
  17822. 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17823. 7486 .loc 1 3032 7 is_stmt 1 view .LVU2680
  17824. 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17825. 7487 .loc 1 3032 26 is_stmt 0 view .LVU2681
  17826. 7488 0084 5FFA88F2 uxtb r2, r8
  17827. 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17828. 7489 .loc 1 3032 24 view .LVU2682
  17829. 7490 0088 2265 str r2, [r4, #80]
  17830. 7491 .L557:
  17831. 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17832. 7492 .loc 1 3035 5 is_stmt 1 view .LVU2683
  17833. 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17834. 7493 .loc 1 3035 13 is_stmt 0 view .LVU2684
  17835. 7494 008a A06B ldr r0, [r4, #56]
  17836. 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17837. 7495 .loc 1 3035 8 view .LVU2685
  17838. 7496 008c 88B3 cbz r0, .L558
  17839. 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17840. 7497 .loc 1 3038 7 is_stmt 1 view .LVU2686
  17841. 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  17842. 7498 .loc 1 3048 23 is_stmt 0 view .LVU2687
  17843. 7499 008e 01F12802 add r2, r1, #40
  17844. 7500 0092 3146 mov r1, r6
  17845. 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17846. 7501 .loc 1 3038 38 view .LVU2688
  17847. 7502 0094 324E ldr r6, .L573+12
  17848. 7503 0096 8662 str r6, [r0, #40]
  17849. 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17850. 7504 .loc 1 3041 7 is_stmt 1 view .LVU2689
  17851. 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  17852. 7505 .loc 1 3044 42 is_stmt 0 view .LVU2690
  17853. 7506 0098 4FF00008 mov r8, #0
  17854. 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17855. 7507 .loc 1 3041 39 view .LVU2691
  17856. 7508 009c 314E ldr r6, .L573+16
  17857. 7509 009e 0663 str r6, [r0, #48]
  17858. 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  17859. 7510 .loc 1 3044 7 is_stmt 1 view .LVU2692
  17860. 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17861. 7511 .loc 1 3045 7 view .LVU2693
  17862. 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  17863. 7512 .loc 1 3048 7 view .LVU2694
  17864. 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  17865. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 309
  17866. 7513 .loc 1 3044 42 is_stmt 0 view .LVU2695
  17867. 7514 00a0 C0F82C80 str r8, [r0, #44]
  17868. 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17869. 7515 .loc 1 3045 39 view .LVU2696
  17870. 7516 00a4 C0F83480 str r8, [r0, #52]
  17871. 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  17872. 7517 .loc 1 3048 23 view .LVU2697
  17873. 7518 00a8 FFF7FEFF bl HAL_DMA_Start_IT
  17874. 7519 .LVL484:
  17875. 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17876. 7520 .loc 1 3066 5 is_stmt 1 view .LVU2698
  17877. 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  17878. 7521 .loc 1 3066 8 is_stmt 0 view .LVU2699
  17879. 7522 00ac 0646 mov r6, r0
  17880. 7523 00ae 68B3 cbz r0, .L572
  17881. 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  17882. 7524 .loc 1 3086 7 is_stmt 1 view .LVU2700
  17883. 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  17884. 7525 .loc 1 3086 23 is_stmt 0 view .LVU2701
  17885. 7526 00b0 2023 movs r3, #32
  17886. 7527 00b2 84F84130 strb r3, [r4, #65]
  17887. 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17888. 7528 .loc 1 3087 7 is_stmt 1 view .LVU2702
  17889. 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17890. 7529 .loc 1 3087 23 is_stmt 0 view .LVU2703
  17891. 7530 00b6 84F84280 strb r8, [r4, #66]
  17892. 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17893. 7531 .loc 1 3090 7 is_stmt 1 view .LVU2704
  17894. 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17895. 7532 .loc 1 3090 23 is_stmt 0 view .LVU2705
  17896. 7533 00ba 636C ldr r3, [r4, #68]
  17897. 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17898. 7534 .loc 1 3093 7 view .LVU2706
  17899. 7535 00bc 84F84080 strb r8, [r4, #64]
  17900. 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17901. 7536 .loc 1 3090 23 view .LVU2707
  17902. 7537 00c0 43F01003 orr r3, r3, #16
  17903. 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17904. 7538 .loc 1 3095 14 view .LVU2708
  17905. 7539 00c4 0126 movs r6, #1
  17906. 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17907. 7540 .loc 1 3090 23 view .LVU2709
  17908. 7541 00c6 6364 str r3, [r4, #68]
  17909. 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17910. 7542 .loc 1 3093 7 is_stmt 1 view .LVU2710
  17911. 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17912. 7543 .loc 1 3093 7 view .LVU2711
  17913. 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17914. 7544 .loc 1 3093 7 view .LVU2712
  17915. 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17916. 7545 .loc 1 3095 7 view .LVU2713
  17917. 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17918. 7546 .loc 1 3104 1 is_stmt 0 view .LVU2714
  17919. 7547 00c8 3046 mov r0, r6
  17920. 7548 .LVL485:
  17921. 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17922. 7549 .loc 1 3104 1 view .LVU2715
  17923. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 310
  17924. 7550 00ca BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  17925. 7551 .LVL486:
  17926. 7552 .L553:
  17927. 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  17928. 7553 .loc 1 2984 7 is_stmt 1 view .LVU2716
  17929. 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  17930. 7554 .loc 1 2984 23 is_stmt 0 view .LVU2717
  17931. 7555 00ce 4FF40073 mov r3, #512
  17932. 7556 00d2 6364 str r3, [r4, #68]
  17933. 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17934. 7557 .loc 1 2985 7 is_stmt 1 view .LVU2718
  17935. 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17936. 7558 .loc 1 2985 15 is_stmt 0 view .LVU2719
  17937. 7559 00d4 0126 movs r6, #1
  17938. 7560 .L552:
  17939. 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17940. 7561 .loc 1 3104 1 view .LVU2720
  17941. 7562 00d6 3046 mov r0, r6
  17942. 7563 00d8 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  17943. 7564 .LVL487:
  17944. 7565 .L564:
  17945. 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17946. 7566 .loc 1 3102 12 view .LVU2721
  17947. 7567 00dc 0226 movs r6, #2
  17948. 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17949. 7568 .loc 1 3104 1 view .LVU2722
  17950. 7569 00de 3046 mov r0, r6
  17951. 7570 00e0 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  17952. 7571 .LVL488:
  17953. 7572 .L571:
  17954. 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17955. 7573 .loc 1 3020 7 is_stmt 1 view .LVU2723
  17956. 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17957. 7574 .loc 1 3020 30 is_stmt 0 view .LVU2724
  17958. 7575 00e4 5FFA88F2 uxtb r2, r8
  17959. 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17960. 7576 .loc 1 3020 28 view .LVU2725
  17961. 7577 00e8 8A62 str r2, [r1, #40]
  17962. 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17963. 7578 .loc 1 3023 7 is_stmt 1 view .LVU2726
  17964. 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  17965. 7579 .loc 1 3023 24 is_stmt 0 view .LVU2727
  17966. 7580 00ea 4FF0FF32 mov r2, #-1
  17967. 7581 00ee 2265 str r2, [r4, #80]
  17968. 7582 00f0 CBE7 b .L557
  17969. 7583 .L558:
  17970. 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  17971. 7584 .loc 1 3054 7 is_stmt 1 view .LVU2728
  17972. 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  17973. 7585 .loc 1 3054 23 is_stmt 0 view .LVU2729
  17974. 7586 00f2 2023 movs r3, #32
  17975. 7587 00f4 84F84130 strb r3, [r4, #65]
  17976. 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17977. 7588 .loc 1 3055 7 is_stmt 1 view .LVU2730
  17978. 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17979. 7589 .loc 1 3055 23 is_stmt 0 view .LVU2731
  17980. 7590 00f8 84F84200 strb r0, [r4, #66]
  17981. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 311
  17982. 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17983. 7591 .loc 1 3058 7 is_stmt 1 view .LVU2732
  17984. 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17985. 7592 .loc 1 3058 23 is_stmt 0 view .LVU2733
  17986. 7593 00fc 636C ldr r3, [r4, #68]
  17987. 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17988. 7594 .loc 1 3061 7 view .LVU2734
  17989. 7595 00fe 84F84000 strb r0, [r4, #64]
  17990. 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17991. 7596 .loc 1 3058 23 view .LVU2735
  17992. 7597 0102 43F08003 orr r3, r3, #128
  17993. 7598 0106 6364 str r3, [r4, #68]
  17994. 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17995. 7599 .loc 1 3061 7 is_stmt 1 view .LVU2736
  17996. 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17997. 7600 .loc 1 3061 7 view .LVU2737
  17998. 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  17999. 7601 .loc 1 3061 7 view .LVU2738
  18000. 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18001. 7602 .loc 1 3063 7 view .LVU2739
  18002. 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18003. 7603 .loc 1 3063 14 is_stmt 0 view .LVU2740
  18004. 7604 0108 0126 movs r6, #1
  18005. 7605 010a E4E7 b .L552
  18006. 7606 .LVL489:
  18007. 7607 .L572:
  18008. 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18009. 7608 .loc 1 3069 7 is_stmt 1 view .LVU2741
  18010. 7609 .LBB326:
  18011. 7610 .LBB327:
  18012. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  18013. 7611 .loc 1 7337 3 is_stmt 0 view .LVU2742
  18014. 7612 010c 2268 ldr r2, [r4]
  18015. 7613 010e 164B ldr r3, .L573+20
  18016. 7614 0110 9A42 cmp r2, r3
  18017. 7615 .LBE327:
  18018. 7616 .LBE326:
  18019. 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18020. 7617 .loc 1 3069 7 view .LVU2743
  18021. 7618 0112 EDB2 uxtb r5, r5
  18022. 7619 .LVL490:
  18023. 7620 .LBB330:
  18024. 7621 .LBI326:
  18025. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  18026. 7622 .loc 1 7333 13 is_stmt 1 view .LVU2744
  18027. 7623 .LBB328:
  18028. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  18029. 7624 .loc 1 7337 3 view .LVU2745
  18030. 7625 0114 09D0 beq .L561
  18031. 7626 0116 03F58063 add r3, r3, #1024
  18032. 7627 011a 9A42 cmp r2, r3
  18033. 7628 011c 05D0 beq .L561
  18034. 7629 011e 0D48 ldr r0, .L573
  18035. 7630 .LVL491:
  18036. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  18037. 7631 .loc 1 7337 3 is_stmt 0 view .LVU2746
  18038. 7632 0120 41F6A941 movw r1, #7337
  18039. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 312
  18040. 7633 0124 FFF7FEFF bl assert_failed
  18041. 7634 .LVL492:
  18042. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18043. 7635 .loc 1 7347 3 view .LVU2747
  18044. 7636 0128 2268 ldr r2, [r4]
  18045. 7637 .L561:
  18046. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  18047. 7638 .loc 1 7338 3 is_stmt 1 view .LVU2748
  18048. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18049. 7639 .loc 1 7339 3 view .LVU2749
  18050. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  18051. 7640 .loc 1 7342 3 view .LVU2750
  18052. 7641 .LVL493:
  18053. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18054. 7642 .loc 1 7347 3 view .LVU2751
  18055. 7643 012a 5368 ldr r3, [r2, #4]
  18056. 7644 012c 0F49 ldr r1, .L573+24
  18057. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  18058. 7645 .loc 1 7342 52 is_stmt 0 view .LVU2752
  18059. 7646 012e C7F30907 ubfx r7, r7, #0, #10
  18060. 7647 .LVL494:
  18061. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18062. 7648 .loc 1 7347 3 view .LVU2753
  18063. 7649 0132 0B40 ands r3, r3, r1
  18064. 7650 0134 3B43 orrs r3, r3, r7
  18065. 7651 0136 43EA0543 orr r3, r3, r5, lsl #16
  18066. 7652 013a 43F08073 orr r3, r3, #16777216
  18067. 7653 013e 43F40053 orr r3, r3, #8192
  18068. 7654 .LBE328:
  18069. 7655 .LBE330:
  18070. 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18071. 7656 .loc 1 3072 7 view .LVU2754
  18072. 7657 0142 0021 movs r1, #0
  18073. 7658 .LBB331:
  18074. 7659 .LBB329:
  18075. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18076. 7660 .loc 1 7347 3 view .LVU2755
  18077. 7661 0144 5360 str r3, [r2, #4]
  18078. 7662 .LVL495:
  18079. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18080. 7663 .loc 1 7347 3 view .LVU2756
  18081. 7664 .LBE329:
  18082. 7665 .LBE331:
  18083. 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18084. 7666 .loc 1 3072 7 is_stmt 1 view .LVU2757
  18085. 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18086. 7667 .loc 1 3072 7 view .LVU2758
  18087. 7668 0146 84F84010 strb r1, [r4, #64]
  18088. 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18089. 7669 .loc 1 3072 7 view .LVU2759
  18090. 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18091. 7670 .loc 1 3081 7 view .LVU2760
  18092. 7671 .LVL496:
  18093. 7672 .LBB332:
  18094. 7673 .LBI332:
  18095. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18096. 7674 .loc 1 7360 13 view .LVU2761
  18097. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 313
  18098. 7675 .LBB333:
  18099. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18100. 7676 .loc 1 7362 3 view .LVU2762
  18101. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  18102. 7677 .loc 1 7364 3 view .LVU2763
  18103. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18104. 7678 .loc 1 7441 3 view .LVU2764
  18105. 7679 014a 1368 ldr r3, [r2]
  18106. 7680 014c 43F0F203 orr r3, r3, #242
  18107. 7681 0150 1360 str r3, [r2]
  18108. 7682 .loc 1 7442 1 is_stmt 0 view .LVU2765
  18109. 7683 0152 C0E7 b .L552
  18110. 7684 .L574:
  18111. 7685 .align 2
  18112. 7686 .L573:
  18113. 7687 0154 00000000 .word .LC0
  18114. 7688 0158 0000FFFF .word -65536
  18115. 7689 015c 00000000 .word I2C_Mem_ISR_DMA
  18116. 7690 0160 00000000 .word I2C_DMAMasterTransmitCplt
  18117. 7691 0164 00000000 .word I2C_DMAError
  18118. 7692 0168 00540040 .word 1073763328
  18119. 7693 016c 009800FC .word -67069952
  18120. 7694 .LBE333:
  18121. 7695 .LBE332:
  18122. 7696 .cfi_endproc
  18123. 7697 .LFE150:
  18124. 7699 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
  18125. 7700 .align 1
  18126. 7701 .p2align 2,,3
  18127. 7702 .global HAL_I2C_Mem_Read_DMA
  18128. 7703 .syntax unified
  18129. 7704 .thumb
  18130. 7705 .thumb_func
  18131. 7707 HAL_I2C_Mem_Read_DMA:
  18132. 7708 .LVL497:
  18133. 7709 .LFB151:
  18134. 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  18135. 7710 .loc 1 3120 1 is_stmt 1 view -0
  18136. 7711 .cfi_startproc
  18137. 7712 @ args = 8, pretend = 0, frame = 0
  18138. 7713 @ frame_needed = 0, uses_anonymous_args = 0
  18139. 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18140. 7714 .loc 1 3121 3 view .LVU2767
  18141. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18142. 7715 .loc 1 3124 3 view .LVU2768
  18143. 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  18144. 7716 .loc 1 3120 1 is_stmt 0 view .LVU2769
  18145. 7717 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
  18146. 7718 .LCFI94:
  18147. 7719 .cfi_def_cfa_offset 32
  18148. 7720 .cfi_offset 3, -32
  18149. 7721 .cfi_offset 4, -28
  18150. 7722 .cfi_offset 5, -24
  18151. 7723 .cfi_offset 6, -20
  18152. 7724 .cfi_offset 7, -16
  18153. 7725 .cfi_offset 8, -12
  18154. 7726 .cfi_offset 9, -8
  18155. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 314
  18156. 7727 .cfi_offset 14, -4
  18157. 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  18158. 7728 .loc 1 3120 1 view .LVU2770
  18159. 7729 0004 1D46 mov r5, r3
  18160. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18161. 7730 .loc 1 3124 3 view .LVU2771
  18162. 7731 0006 013B subs r3, r3, #1
  18163. 7732 .LVL498:
  18164. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18165. 7733 .loc 1 3124 3 view .LVU2772
  18166. 7734 0008 012B cmp r3, #1
  18167. 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  18168. 7735 .loc 1 3120 1 view .LVU2773
  18169. 7736 000a 089E ldr r6, [sp, #32]
  18170. 7737 000c BDF82490 ldrh r9, [sp, #36]
  18171. 7738 0010 0446 mov r4, r0
  18172. 7739 0012 0F46 mov r7, r1
  18173. 7740 0014 9046 mov r8, r2
  18174. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18175. 7741 .loc 1 3124 3 view .LVU2774
  18176. 7742 0016 04D9 bls .L576
  18177. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18178. 7743 .loc 1 3124 3 discriminator 1 view .LVU2775
  18179. 7744 0018 4D48 ldr r0, .L598
  18180. 7745 .LVL499:
  18181. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18182. 7746 .loc 1 3124 3 discriminator 1 view .LVU2776
  18183. 7747 001a 40F63441 movw r1, #3124
  18184. 7748 .LVL500:
  18185. 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18186. 7749 .loc 1 3124 3 discriminator 1 view .LVU2777
  18187. 7750 001e FFF7FEFF bl assert_failed
  18188. 7751 .LVL501:
  18189. 7752 .L576:
  18190. 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18191. 7753 .loc 1 3126 3 is_stmt 1 view .LVU2778
  18192. 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18193. 7754 .loc 1 3126 11 is_stmt 0 view .LVU2779
  18194. 7755 0022 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  18195. 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18196. 7756 .loc 1 3126 6 view .LVU2780
  18197. 7757 0026 202B cmp r3, #32
  18198. 7758 0028 57D1 bne .L589
  18199. 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18200. 7759 .loc 1 3128 5 is_stmt 1 view .LVU2781
  18201. 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18202. 7760 .loc 1 3128 8 is_stmt 0 view .LVU2782
  18203. 7761 002a 002E cmp r6, #0
  18204. 7762 002c 4ED0 beq .L578
  18205. 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18206. 7763 .loc 1 3128 25 discriminator 1 view .LVU2783
  18207. 7764 002e B9F1000F cmp r9, #0
  18208. 7765 0032 4BD0 beq .L578
  18209. 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18210. 7766 .loc 1 3134 5 is_stmt 1 view .LVU2784
  18211. 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18212. 7767 .loc 1 3134 9 is_stmt 0 view .LVU2785
  18213. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 315
  18214. 7768 0034 2168 ldr r1, [r4]
  18215. 7769 0036 8B69 ldr r3, [r1, #24]
  18216. 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18217. 7770 .loc 1 3134 8 view .LVU2786
  18218. 7771 0038 13F40043 ands r3, r3, #32768
  18219. 7772 003c 4DD1 bne .L589
  18220. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18221. 7773 .loc 1 3140 5 is_stmt 1 view .LVU2787
  18222. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18223. 7774 .loc 1 3140 5 view .LVU2788
  18224. 7775 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2
  18225. 7776 0042 012A cmp r2, #1
  18226. 7777 0044 49D0 beq .L589
  18227. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18228. 7778 .loc 1 3140 5 discriminator 2 view .LVU2789
  18229. 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  18230. 7779 .loc 1 3142 23 is_stmt 0 discriminator 2 view .LVU2790
  18231. 7780 0046 2220 movs r0, #34
  18232. 7781 0048 84F84100 strb r0, [r4, #65]
  18233. 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  18234. 7782 .loc 1 3149 23 discriminator 2 view .LVU2791
  18235. 7783 004c 414A ldr r2, .L598+4
  18236. 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  18237. 7784 .loc 1 3147 23 discriminator 2 view .LVU2792
  18238. 7785 004e 6662 str r6, [r4, #36]
  18239. 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  18240. 7786 .loc 1 3143 23 discriminator 2 view .LVU2793
  18241. 7787 0050 4020 movs r0, #64
  18242. 7788 0052 84F84200 strb r0, [r4, #66]
  18243. 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18244. 7789 .loc 1 3144 23 discriminator 2 view .LVU2794
  18245. 7790 0056 6364 str r3, [r4, #68]
  18246. 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  18247. 7791 .loc 1 3148 23 discriminator 2 view .LVU2795
  18248. 7792 0058 A4F82A90 strh r9, [r4, #42] @ movhi
  18249. 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  18250. 7793 .loc 1 3149 23 discriminator 2 view .LVU2796
  18251. 7794 005c E262 str r2, [r4, #44]
  18252. 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18253. 7795 .loc 1 3151 23 discriminator 2 view .LVU2797
  18254. 7796 005e E764 str r7, [r4, #76]
  18255. 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18256. 7797 .loc 1 3153 13 discriminator 2 view .LVU2798
  18257. 7798 0060 638D ldrh r3, [r4, #42]
  18258. 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  18259. 7799 .loc 1 3150 23 discriminator 2 view .LVU2799
  18260. 7800 0062 3D4A ldr r2, .L598+8
  18261. 7801 0064 6263 str r2, [r4, #52]
  18262. 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18263. 7802 .loc 1 3153 13 discriminator 2 view .LVU2800
  18264. 7803 0066 9BB2 uxth r3, r3
  18265. 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18266. 7804 .loc 1 3153 8 discriminator 2 view .LVU2801
  18267. 7805 0068 FF2B cmp r3, #255
  18268. 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18269. 7806 .loc 1 3159 28 discriminator 2 view .LVU2802
  18270. 7807 006a 96BF itet ls
  18271. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 316
  18272. 7808 006c 638D ldrhls r3, [r4, #42]
  18273. 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18274. 7809 .loc 1 3155 22 discriminator 2 view .LVU2803
  18275. 7810 006e FF23 movhi r3, #255
  18276. 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18277. 7811 .loc 1 3159 28 discriminator 2 view .LVU2804
  18278. 7812 0070 9BB2 uxthls r3, r3
  18279. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18280. 7813 .loc 1 3140 5 discriminator 2 view .LVU2805
  18281. 7814 0072 0122 movs r2, #1
  18282. 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18283. 7815 .loc 1 3163 8 discriminator 2 view .LVU2806
  18284. 7816 0074 012D cmp r5, #1
  18285. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18286. 7817 .loc 1 3140 5 discriminator 2 view .LVU2807
  18287. 7818 0076 84F84020 strb r2, [r4, #64]
  18288. 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18289. 7819 .loc 1 3140 5 is_stmt 1 discriminator 2 view .LVU2808
  18290. 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
  18291. 7820 .loc 1 3142 5 discriminator 2 view .LVU2809
  18292. 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  18293. 7821 .loc 1 3143 5 discriminator 2 view .LVU2810
  18294. 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18295. 7822 .loc 1 3144 5 discriminator 2 view .LVU2811
  18296. 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  18297. 7823 .loc 1 3147 5 discriminator 2 view .LVU2812
  18298. 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  18299. 7824 .loc 1 3148 5 discriminator 2 view .LVU2813
  18300. 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA;
  18301. 7825 .loc 1 3149 5 discriminator 2 view .LVU2814
  18302. 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress;
  18303. 7826 .loc 1 3150 5 discriminator 2 view .LVU2815
  18304. 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18305. 7827 .loc 1 3151 5 discriminator 2 view .LVU2816
  18306. 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18307. 7828 .loc 1 3153 5 discriminator 2 view .LVU2817
  18308. 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18309. 7829 .loc 1 3159 7 discriminator 2 view .LVU2818
  18310. 7830 007a 2385 strh r3, [r4, #40] @ movhi
  18311. 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18312. 7831 .loc 1 3163 5 discriminator 2 view .LVU2819
  18313. 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18314. 7832 .loc 1 3163 8 is_stmt 0 discriminator 2 view .LVU2820
  18315. 7833 007c 31D0 beq .L596
  18316. 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18317. 7834 .loc 1 3175 7 is_stmt 1 view .LVU2821
  18318. 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18319. 7835 .loc 1 3175 30 is_stmt 0 view .LVU2822
  18320. 7836 007e 4FEA1822 lsr r2, r8, #8
  18321. 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18322. 7837 .loc 1 3175 28 view .LVU2823
  18323. 7838 0082 8A62 str r2, [r1, #40]
  18324. 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18325. 7839 .loc 1 3178 7 is_stmt 1 view .LVU2824
  18326. 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18327. 7840 .loc 1 3178 26 is_stmt 0 view .LVU2825
  18328. 7841 0084 5FFA88F2 uxtb r2, r8
  18329. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 317
  18330. 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18331. 7842 .loc 1 3178 24 view .LVU2826
  18332. 7843 0088 2265 str r2, [r4, #80]
  18333. 7844 .L582:
  18334. 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18335. 7845 .loc 1 3181 5 is_stmt 1 view .LVU2827
  18336. 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18337. 7846 .loc 1 3181 13 is_stmt 0 view .LVU2828
  18338. 7847 008a E06B ldr r0, [r4, #60]
  18339. 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18340. 7848 .loc 1 3181 8 view .LVU2829
  18341. 7849 008c 80B3 cbz r0, .L583
  18342. 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18343. 7850 .loc 1 3184 7 is_stmt 1 view .LVU2830
  18344. 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  18345. 7851 .loc 1 3194 23 is_stmt 0 view .LVU2831
  18346. 7852 008e 3246 mov r2, r6
  18347. 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18348. 7853 .loc 1 3184 38 view .LVU2832
  18349. 7854 0090 324E ldr r6, .L598+12
  18350. 7855 0092 8662 str r6, [r0, #40]
  18351. 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18352. 7856 .loc 1 3187 7 is_stmt 1 view .LVU2833
  18353. 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  18354. 7857 .loc 1 3190 42 is_stmt 0 view .LVU2834
  18355. 7858 0094 4FF00008 mov r8, #0
  18356. 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18357. 7859 .loc 1 3187 39 view .LVU2835
  18358. 7860 0098 314E ldr r6, .L598+16
  18359. 7861 009a 0663 str r6, [r0, #48]
  18360. 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  18361. 7862 .loc 1 3190 7 is_stmt 1 view .LVU2836
  18362. 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18363. 7863 .loc 1 3191 7 view .LVU2837
  18364. 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  18365. 7864 .loc 1 3194 7 view .LVU2838
  18366. 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  18367. 7865 .loc 1 3194 23 is_stmt 0 view .LVU2839
  18368. 7866 009c 2431 adds r1, r1, #36
  18369. 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  18370. 7867 .loc 1 3190 42 view .LVU2840
  18371. 7868 009e C0F82C80 str r8, [r0, #44]
  18372. 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18373. 7869 .loc 1 3191 39 view .LVU2841
  18374. 7870 00a2 C0F83480 str r8, [r0, #52]
  18375. 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  18376. 7871 .loc 1 3194 23 view .LVU2842
  18377. 7872 00a6 FFF7FEFF bl HAL_DMA_Start_IT
  18378. 7873 .LVL502:
  18379. 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18380. 7874 .loc 1 3212 5 is_stmt 1 view .LVU2843
  18381. 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18382. 7875 .loc 1 3212 8 is_stmt 0 view .LVU2844
  18383. 7876 00aa 0646 mov r6, r0
  18384. 7877 00ac 68B3 cbz r0, .L597
  18385. 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  18386. 7878 .loc 1 3232 7 is_stmt 1 view .LVU2845
  18387. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 318
  18388. 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  18389. 7879 .loc 1 3232 23 is_stmt 0 view .LVU2846
  18390. 7880 00ae 2023 movs r3, #32
  18391. 7881 00b0 84F84130 strb r3, [r4, #65]
  18392. 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18393. 7882 .loc 1 3233 7 is_stmt 1 view .LVU2847
  18394. 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18395. 7883 .loc 1 3233 23 is_stmt 0 view .LVU2848
  18396. 7884 00b4 84F84280 strb r8, [r4, #66]
  18397. 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18398. 7885 .loc 1 3236 7 is_stmt 1 view .LVU2849
  18399. 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18400. 7886 .loc 1 3236 23 is_stmt 0 view .LVU2850
  18401. 7887 00b8 636C ldr r3, [r4, #68]
  18402. 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18403. 7888 .loc 1 3239 7 view .LVU2851
  18404. 7889 00ba 84F84080 strb r8, [r4, #64]
  18405. 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18406. 7890 .loc 1 3236 23 view .LVU2852
  18407. 7891 00be 43F01003 orr r3, r3, #16
  18408. 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18409. 7892 .loc 1 3241 14 view .LVU2853
  18410. 7893 00c2 0126 movs r6, #1
  18411. 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18412. 7894 .loc 1 3236 23 view .LVU2854
  18413. 7895 00c4 6364 str r3, [r4, #68]
  18414. 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18415. 7896 .loc 1 3239 7 is_stmt 1 view .LVU2855
  18416. 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18417. 7897 .loc 1 3239 7 view .LVU2856
  18418. 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18419. 7898 .loc 1 3239 7 view .LVU2857
  18420. 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18421. 7899 .loc 1 3241 7 view .LVU2858
  18422. 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18423. 7900 .loc 1 3250 1 is_stmt 0 view .LVU2859
  18424. 7901 00c6 3046 mov r0, r6
  18425. 7902 .LVL503:
  18426. 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18427. 7903 .loc 1 3250 1 view .LVU2860
  18428. 7904 00c8 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  18429. 7905 .LVL504:
  18430. 7906 .L578:
  18431. 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  18432. 7907 .loc 1 3130 7 is_stmt 1 view .LVU2861
  18433. 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  18434. 7908 .loc 1 3130 23 is_stmt 0 view .LVU2862
  18435. 7909 00cc 4FF40073 mov r3, #512
  18436. 7910 00d0 6364 str r3, [r4, #68]
  18437. 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18438. 7911 .loc 1 3131 7 is_stmt 1 view .LVU2863
  18439. 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18440. 7912 .loc 1 3131 15 is_stmt 0 view .LVU2864
  18441. 7913 00d2 0126 movs r6, #1
  18442. 7914 .L577:
  18443. 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18444. 7915 .loc 1 3250 1 view .LVU2865
  18445. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 319
  18446. 7916 00d4 3046 mov r0, r6
  18447. 7917 00d6 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  18448. 7918 .LVL505:
  18449. 7919 .L589:
  18450. 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18451. 7920 .loc 1 3248 12 view .LVU2866
  18452. 7921 00da 0226 movs r6, #2
  18453. 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18454. 7922 .loc 1 3250 1 view .LVU2867
  18455. 7923 00dc 3046 mov r0, r6
  18456. 7924 00de BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  18457. 7925 .LVL506:
  18458. 7926 .L596:
  18459. 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18460. 7927 .loc 1 3166 7 is_stmt 1 view .LVU2868
  18461. 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18462. 7928 .loc 1 3166 30 is_stmt 0 view .LVU2869
  18463. 7929 00e2 5FFA88F2 uxtb r2, r8
  18464. 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18465. 7930 .loc 1 3166 28 view .LVU2870
  18466. 7931 00e6 8A62 str r2, [r1, #40]
  18467. 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18468. 7932 .loc 1 3169 7 is_stmt 1 view .LVU2871
  18469. 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18470. 7933 .loc 1 3169 24 is_stmt 0 view .LVU2872
  18471. 7934 00e8 4FF0FF32 mov r2, #-1
  18472. 7935 00ec 2265 str r2, [r4, #80]
  18473. 7936 00ee CCE7 b .L582
  18474. 7937 .L583:
  18475. 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  18476. 7938 .loc 1 3200 7 is_stmt 1 view .LVU2873
  18477. 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  18478. 7939 .loc 1 3200 23 is_stmt 0 view .LVU2874
  18479. 7940 00f0 2023 movs r3, #32
  18480. 7941 00f2 84F84130 strb r3, [r4, #65]
  18481. 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18482. 7942 .loc 1 3201 7 is_stmt 1 view .LVU2875
  18483. 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18484. 7943 .loc 1 3201 23 is_stmt 0 view .LVU2876
  18485. 7944 00f6 84F84200 strb r0, [r4, #66]
  18486. 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18487. 7945 .loc 1 3204 7 is_stmt 1 view .LVU2877
  18488. 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18489. 7946 .loc 1 3204 23 is_stmt 0 view .LVU2878
  18490. 7947 00fa 636C ldr r3, [r4, #68]
  18491. 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18492. 7948 .loc 1 3207 7 view .LVU2879
  18493. 7949 00fc 84F84000 strb r0, [r4, #64]
  18494. 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18495. 7950 .loc 1 3204 23 view .LVU2880
  18496. 7951 0100 43F08003 orr r3, r3, #128
  18497. 7952 0104 6364 str r3, [r4, #68]
  18498. 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18499. 7953 .loc 1 3207 7 is_stmt 1 view .LVU2881
  18500. 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18501. 7954 .loc 1 3207 7 view .LVU2882
  18502. 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18503. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 320
  18504. 7955 .loc 1 3207 7 view .LVU2883
  18505. 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18506. 7956 .loc 1 3209 7 view .LVU2884
  18507. 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18508. 7957 .loc 1 3209 14 is_stmt 0 view .LVU2885
  18509. 7958 0106 0126 movs r6, #1
  18510. 7959 0108 E4E7 b .L577
  18511. 7960 .LVL507:
  18512. 7961 .L597:
  18513. 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18514. 7962 .loc 1 3215 7 is_stmt 1 view .LVU2886
  18515. 7963 .LBB338:
  18516. 7964 .LBB339:
  18517. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  18518. 7965 .loc 1 7337 3 is_stmt 0 view .LVU2887
  18519. 7966 010a 2268 ldr r2, [r4]
  18520. 7967 010c 154B ldr r3, .L598+20
  18521. 7968 010e 9A42 cmp r2, r3
  18522. 7969 .LBE339:
  18523. 7970 .LBE338:
  18524. 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18525. 7971 .loc 1 3215 7 view .LVU2888
  18526. 7972 0110 EDB2 uxtb r5, r5
  18527. 7973 .LVL508:
  18528. 7974 .LBB342:
  18529. 7975 .LBI338:
  18530. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  18531. 7976 .loc 1 7333 13 is_stmt 1 view .LVU2889
  18532. 7977 .LBB340:
  18533. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  18534. 7978 .loc 1 7337 3 view .LVU2890
  18535. 7979 0112 09D0 beq .L586
  18536. 7980 0114 03F58063 add r3, r3, #1024
  18537. 7981 0118 9A42 cmp r2, r3
  18538. 7982 011a 05D0 beq .L586
  18539. 7983 011c 0C48 ldr r0, .L598
  18540. 7984 .LVL509:
  18541. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  18542. 7985 .loc 1 7337 3 is_stmt 0 view .LVU2891
  18543. 7986 011e 41F6A941 movw r1, #7337
  18544. 7987 0122 FFF7FEFF bl assert_failed
  18545. 7988 .LVL510:
  18546. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18547. 7989 .loc 1 7347 3 view .LVU2892
  18548. 7990 0126 2268 ldr r2, [r4]
  18549. 7991 .L586:
  18550. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  18551. 7992 .loc 1 7338 3 is_stmt 1 view .LVU2893
  18552. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18553. 7993 .loc 1 7339 3 view .LVU2894
  18554. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  18555. 7994 .loc 1 7342 3 view .LVU2895
  18556. 7995 .LVL511:
  18557. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18558. 7996 .loc 1 7347 3 view .LVU2896
  18559. 7997 0128 5368 ldr r3, [r2, #4]
  18560. 7998 012a 0F49 ldr r1, .L598+24
  18561. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 321
  18562. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  18563. 7999 .loc 1 7342 52 is_stmt 0 view .LVU2897
  18564. 8000 012c C7F30907 ubfx r7, r7, #0, #10
  18565. 8001 .LVL512:
  18566. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18567. 8002 .loc 1 7347 3 view .LVU2898
  18568. 8003 0130 0B40 ands r3, r3, r1
  18569. 8004 0132 3B43 orrs r3, r3, r7
  18570. 8005 0134 43EA0543 orr r3, r3, r5, lsl #16
  18571. 8006 0138 43F40053 orr r3, r3, #8192
  18572. 8007 .LBE340:
  18573. 8008 .LBE342:
  18574. 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18575. 8009 .loc 1 3218 7 view .LVU2899
  18576. 8010 013c 0021 movs r1, #0
  18577. 8011 .LBB343:
  18578. 8012 .LBB341:
  18579. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18580. 8013 .loc 1 7347 3 view .LVU2900
  18581. 8014 013e 5360 str r3, [r2, #4]
  18582. 8015 .LVL513:
  18583. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  18584. 8016 .loc 1 7347 3 view .LVU2901
  18585. 8017 .LBE341:
  18586. 8018 .LBE343:
  18587. 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18588. 8019 .loc 1 3218 7 is_stmt 1 view .LVU2902
  18589. 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18590. 8020 .loc 1 3218 7 view .LVU2903
  18591. 8021 0140 84F84010 strb r1, [r4, #64]
  18592. 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18593. 8022 .loc 1 3218 7 view .LVU2904
  18594. 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18595. 8023 .loc 1 3227 7 view .LVU2905
  18596. 8024 .LVL514:
  18597. 8025 .LBB344:
  18598. 8026 .LBI344:
  18599. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18600. 8027 .loc 1 7360 13 view .LVU2906
  18601. 8028 .LBB345:
  18602. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18603. 8029 .loc 1 7362 3 view .LVU2907
  18604. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  18605. 8030 .loc 1 7364 3 view .LVU2908
  18606. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18607. 8031 .loc 1 7441 3 view .LVU2909
  18608. 8032 0144 1368 ldr r3, [r2]
  18609. 8033 0146 43F0F203 orr r3, r3, #242
  18610. 8034 014a 1360 str r3, [r2]
  18611. 8035 .loc 1 7442 1 is_stmt 0 view .LVU2910
  18612. 8036 014c C2E7 b .L577
  18613. 8037 .L599:
  18614. 8038 014e 00BF .align 2
  18615. 8039 .L598:
  18616. 8040 0150 00000000 .word .LC0
  18617. 8041 0154 0000FFFF .word -65536
  18618. 8042 0158 00000000 .word I2C_Mem_ISR_DMA
  18619. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 322
  18620. 8043 015c 00000000 .word I2C_DMAMasterReceiveCplt
  18621. 8044 0160 00000000 .word I2C_DMAError
  18622. 8045 0164 00540040 .word 1073763328
  18623. 8046 0168 009800FC .word -67069952
  18624. 8047 .LBE345:
  18625. 8048 .LBE344:
  18626. 8049 .cfi_endproc
  18627. 8050 .LFE151:
  18628. 8052 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
  18629. 8053 .align 1
  18630. 8054 .p2align 2,,3
  18631. 8055 .global HAL_I2C_IsDeviceReady
  18632. 8056 .syntax unified
  18633. 8057 .thumb
  18634. 8058 .thumb_func
  18635. 8060 HAL_I2C_IsDeviceReady:
  18636. 8061 .LVL515:
  18637. 8062 .LFB152:
  18638. 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  18639. 8063 .loc 1 3265 1 is_stmt 1 view -0
  18640. 8064 .cfi_startproc
  18641. 8065 @ args = 0, pretend = 0, frame = 8
  18642. 8066 @ frame_needed = 0, uses_anonymous_args = 0
  18643. 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18644. 8067 .loc 1 3266 3 view .LVU2912
  18645. 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18646. 8068 .loc 1 3268 3 view .LVU2913
  18647. 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  18648. 8069 .loc 1 3265 1 is_stmt 0 view .LVU2914
  18649. 8070 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
  18650. 8071 .LCFI95:
  18651. 8072 .cfi_def_cfa_offset 28
  18652. 8073 .cfi_offset 4, -28
  18653. 8074 .cfi_offset 5, -24
  18654. 8075 .cfi_offset 6, -20
  18655. 8076 .cfi_offset 7, -16
  18656. 8077 .cfi_offset 8, -12
  18657. 8078 .cfi_offset 9, -8
  18658. 8079 .cfi_offset 14, -4
  18659. 8080 0004 85B0 sub sp, sp, #20
  18660. 8081 .LCFI96:
  18661. 8082 .cfi_def_cfa_offset 48
  18662. 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart;
  18663. 8083 .loc 1 3265 1 view .LVU2915
  18664. 8084 0006 0446 mov r4, r0
  18665. 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18666. 8085 .loc 1 3268 17 view .LVU2916
  18667. 8086 0008 0020 movs r0, #0
  18668. 8087 .LVL516:
  18669. 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18670. 8088 .loc 1 3268 17 view .LVU2917
  18671. 8089 000a 0390 str r0, [sp, #12]
  18672. 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2;
  18673. 8090 .loc 1 3270 3 is_stmt 1 view .LVU2918
  18674. 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18675. 8091 .loc 1 3271 3 view .LVU2919
  18676. 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18677. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 323
  18678. 8092 .loc 1 3273 3 view .LVU2920
  18679. 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18680. 8093 .loc 1 3273 11 is_stmt 0 view .LVU2921
  18681. 8094 000c 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  18682. 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18683. 8095 .loc 1 3273 6 view .LVU2922
  18684. 8096 0010 2028 cmp r0, #32
  18685. 8097 0012 61D1 bne .L614
  18686. 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18687. 8098 .loc 1 3275 5 is_stmt 1 view .LVU2923
  18688. 8099 0014 9946 mov r9, r3
  18689. 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18690. 8100 .loc 1 3275 9 is_stmt 0 view .LVU2924
  18691. 8101 0016 2368 ldr r3, [r4]
  18692. 8102 .LVL517:
  18693. 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18694. 8103 .loc 1 3275 9 view .LVU2925
  18695. 8104 0018 1746 mov r7, r2
  18696. 8105 001a 9A69 ldr r2, [r3, #24]
  18697. 8106 .LVL518:
  18698. 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18699. 8107 .loc 1 3275 8 view .LVU2926
  18700. 8108 001c 12F40042 ands r2, r2, #32768
  18701. 8109 0020 5AD1 bne .L614
  18702. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18703. 8110 .loc 1 3281 5 is_stmt 1 view .LVU2927
  18704. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18705. 8111 .loc 1 3281 5 view .LVU2928
  18706. 8112 0022 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2
  18707. 8113 0026 0128 cmp r0, #1
  18708. 8114 0028 56D0 beq .L614
  18709. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18710. 8115 .loc 1 3281 5 discriminator 2 view .LVU2929
  18711. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18712. 8116 .loc 1 3289 29 is_stmt 0 discriminator 2 view .LVU2930
  18713. 8117 002a C1F30901 ubfx r1, r1, #0, #10
  18714. 8118 .LVL519:
  18715. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18716. 8119 .loc 1 3281 5 discriminator 2 view .LVU2931
  18717. 8120 002e 0120 movs r0, #1
  18718. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18719. 8121 .loc 1 3289 29 discriminator 2 view .LVU2932
  18720. 8122 0030 41F00078 orr r8, r1, #33554432
  18721. 8123 0034 4646 mov r6, r8
  18722. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18723. 8124 .loc 1 3281 5 discriminator 2 view .LVU2933
  18724. 8125 0036 84F84000 strb r0, [r4, #64]
  18725. 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18726. 8126 .loc 1 3281 5 is_stmt 1 discriminator 2 view .LVU2934
  18727. 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  18728. 8127 .loc 1 3283 5 discriminator 2 view .LVU2935
  18729. 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  18730. 8128 .loc 1 3283 17 is_stmt 0 discriminator 2 view .LVU2936
  18731. 8129 003a 2420 movs r0, #36
  18732. 8130 003c 84F84100 strb r0, [r4, #65]
  18733. 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18734. 8131 .loc 1 3284 5 is_stmt 1 discriminator 2 view .LVU2937
  18735. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 324
  18736. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18737. 8132 .loc 1 3289 29 is_stmt 0 discriminator 2 view .LVU2938
  18738. 8133 0040 48F42058 orr r8, r8, #10240
  18739. 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18740. 8134 .loc 1 3284 21 discriminator 2 view .LVU2939
  18741. 8135 0044 6264 str r2, [r4, #68]
  18742. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18743. 8136 .loc 1 3289 29 discriminator 2 view .LVU2940
  18744. 8137 0046 46F40056 orr r6, r6, #8192
  18745. 8138 .L611:
  18746. 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18747. 8139 .loc 1 3286 5 is_stmt 1 view .LVU2941
  18748. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18749. 8140 .loc 1 3289 7 view .LVU2942
  18750. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18751. 8141 .loc 1 3289 29 is_stmt 0 view .LVU2943
  18752. 8142 004a E268 ldr r2, [r4, #12]
  18753. 8143 004c 012A cmp r2, #1
  18754. 8144 004e 14BF ite ne
  18755. 8145 0050 4246 movne r2, r8
  18756. 8146 0052 3246 moveq r2, r6
  18757. 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18758. 8147 .loc 1 3289 27 view .LVU2944
  18759. 8148 0054 5A60 str r2, [r3, #4]
  18760. 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18761. 8149 .loc 1 3293 7 is_stmt 1 view .LVU2945
  18762. 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18763. 8150 .loc 1 3293 19 is_stmt 0 view .LVU2946
  18764. 8151 0056 FFF7FEFF bl HAL_GetTick
  18765. 8152 .LVL520:
  18766. 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  18767. 8153 .loc 1 3295 14 view .LVU2947
  18768. 8154 005a 2268 ldr r2, [r4]
  18769. 8155 005c 9169 ldr r1, [r2, #24]
  18770. 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18771. 8156 .loc 1 3296 14 view .LVU2948
  18772. 8157 005e 9369 ldr r3, [r2, #24]
  18773. 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  18774. 8158 .loc 1 3295 14 view .LVU2949
  18775. 8159 0060 01F02001 and r1, r1, #32
  18776. 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18777. 8160 .loc 1 3296 14 view .LVU2950
  18778. 8161 0064 03F01003 and r3, r3, #16
  18779. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18780. 8162 .loc 1 3298 30 view .LVU2951
  18781. 8163 0068 0B43 orrs r3, r1, r3
  18782. 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18783. 8164 .loc 1 3293 19 view .LVU2952
  18784. 8165 006a 0546 mov r5, r0
  18785. 8166 .LVL521:
  18786. 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  18787. 8167 .loc 1 3295 7 is_stmt 1 view .LVU2953
  18788. 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18789. 8168 .loc 1 3296 7 view .LVU2954
  18790. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18791. 8169 .loc 1 3298 7 view .LVU2955
  18792. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18793. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 325
  18794. 8170 .loc 1 3298 13 view .LVU2956
  18795. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18796. 8171 .loc 1 3298 30 is_stmt 0 view .LVU2957
  18797. 8172 006c 14D1 bne .L604
  18798. 8173 .LVL522:
  18799. 8174 .L607:
  18800. 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18801. 8175 .loc 1 3300 9 is_stmt 1 view .LVU2958
  18802. 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18803. 8176 .loc 1 3302 11 view .LVU2959
  18804. 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18805. 8177 .loc 1 3300 12 is_stmt 0 view .LVU2960
  18806. 8178 006e B9F1FF3F cmp r9, #-1
  18807. 8179 0072 08D0 beq .L605
  18808. 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18809. 8180 .loc 1 3302 17 view .LVU2961
  18810. 8181 0074 FFF7FEFF bl HAL_GetTick
  18811. 8182 .LVL523:
  18812. 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18813. 8183 .loc 1 3302 31 view .LVU2962
  18814. 8184 0078 401B subs r0, r0, r5
  18815. 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18816. 8185 .loc 1 3302 14 view .LVU2963
  18817. 8186 007a 4845 cmp r0, r9
  18818. 8187 007c 30D8 bhi .L606
  18819. 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18820. 8188 .loc 1 3302 55 discriminator 1 view .LVU2964
  18821. 8189 007e B9F1000F cmp r9, #0
  18822. 8190 0082 2DD0 beq .L606
  18823. 8191 0084 2268 ldr r2, [r4]
  18824. 8192 .L605:
  18825. 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  18826. 8193 .loc 1 3317 9 is_stmt 1 view .LVU2965
  18827. 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  18828. 8194 .loc 1 3317 16 is_stmt 0 view .LVU2966
  18829. 8195 0086 9369 ldr r3, [r2, #24]
  18830. 8196 .LVL524:
  18831. 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18832. 8197 .loc 1 3318 9 is_stmt 1 view .LVU2967
  18833. 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18834. 8198 .loc 1 3318 16 is_stmt 0 view .LVU2968
  18835. 8199 0088 9169 ldr r1, [r2, #24]
  18836. 8200 .LVL525:
  18837. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18838. 8201 .loc 1 3298 13 is_stmt 1 view .LVU2969
  18839. 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
  18840. 8202 .loc 1 3317 16 is_stmt 0 view .LVU2970
  18841. 8203 008a 03F0200C and ip, r3, #32
  18842. 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18843. 8204 .loc 1 3318 16 view .LVU2971
  18844. 8205 008e 01F01001 and r1, r1, #16
  18845. 8206 .LVL526:
  18846. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18847. 8207 .loc 1 3298 30 view .LVU2972
  18848. 8208 0092 5CEA0103 orrs r3, ip, r1
  18849. 8209 .LVL527:
  18850. 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18851. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 326
  18852. 8210 .loc 1 3298 30 view .LVU2973
  18853. 8211 0096 EAD0 beq .L607
  18854. 8212 .L604:
  18855. 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18856. 8213 .loc 1 3322 7 is_stmt 1 view .LVU2974
  18857. 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18858. 8214 .loc 1 3322 11 is_stmt 0 view .LVU2975
  18859. 8215 0098 9269 ldr r2, [r2, #24]
  18860. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18861. 8216 .loc 1 3325 13 view .LVU2976
  18862. 8217 009a 0095 str r5, [sp]
  18863. 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18864. 8218 .loc 1 3322 10 view .LVU2977
  18865. 8219 009c 12F01002 ands r2, r2, #16
  18866. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18867. 8220 .loc 1 3325 13 view .LVU2978
  18868. 8221 00a0 4B46 mov r3, r9
  18869. 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18870. 8222 .loc 1 3322 10 view .LVU2979
  18871. 8223 00a2 2BD0 beq .L624
  18872. 8224 .LVL528:
  18873. 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18874. 8225 .loc 1 3344 9 is_stmt 1 view .LVU2980
  18875. 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18876. 8226 .loc 1 3344 13 is_stmt 0 view .LVU2981
  18877. 8227 00a4 0022 movs r2, #0
  18878. 8228 00a6 2021 movs r1, #32
  18879. 8229 00a8 2046 mov r0, r4
  18880. 8230 00aa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  18881. 8231 .LVL529:
  18882. 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  18883. 8232 .loc 1 3344 12 view .LVU2982
  18884. 8233 00ae 88B9 cbnz r0, .L623
  18885. 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18886. 8234 .loc 1 3350 9 is_stmt 1 view .LVU2983
  18887. 8235 00b0 2368 ldr r3, [r4]
  18888. 8236 00b2 1022 movs r2, #16
  18889. 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18890. 8237 .loc 1 3353 9 is_stmt 0 view .LVU2984
  18891. 8238 00b4 2021 movs r1, #32
  18892. 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18893. 8239 .loc 1 3350 9 view .LVU2985
  18894. 8240 00b6 DA61 str r2, [r3, #28]
  18895. 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18896. 8241 .loc 1 3353 9 is_stmt 1 view .LVU2986
  18897. 8242 00b8 D961 str r1, [r3, #28]
  18898. 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials);
  18899. 8243 .loc 1 3357 7 view .LVU2987
  18900. 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials);
  18901. 8244 .loc 1 3357 17 is_stmt 0 view .LVU2988
  18902. 8245 00ba 039A ldr r2, [sp, #12]
  18903. 8246 00bc 0132 adds r2, r2, #1
  18904. 8247 00be 0392 str r2, [sp, #12]
  18905. 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18906. 8248 .loc 1 3358 13 is_stmt 1 view .LVU2989
  18907. 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18908. 8249 .loc 1 3358 25 is_stmt 0 view .LVU2990
  18909. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 327
  18910. 8250 00c0 039A ldr r2, [sp, #12]
  18911. 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18912. 8251 .loc 1 3358 5 view .LVU2991
  18913. 8252 00c2 BA42 cmp r2, r7
  18914. 8253 00c4 C1D3 bcc .L611
  18915. 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18916. 8254 .loc 1 3361 5 is_stmt 1 view .LVU2992
  18917. 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18918. 8255 .loc 1 3361 17 is_stmt 0 view .LVU2993
  18919. 8256 00c6 84F84110 strb r1, [r4, #65]
  18920. 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18921. 8257 .loc 1 3364 5 is_stmt 1 view .LVU2994
  18922. 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18923. 8258 .loc 1 3364 21 is_stmt 0 view .LVU2995
  18924. 8259 00ca 636C ldr r3, [r4, #68]
  18925. 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18926. 8260 .loc 1 3367 5 view .LVU2996
  18927. 8261 00cc 84F84000 strb r0, [r4, #64]
  18928. 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18929. 8262 .loc 1 3364 21 view .LVU2997
  18930. 8263 00d0 0B43 orrs r3, r3, r1
  18931. 8264 00d2 6364 str r3, [r4, #68]
  18932. 8265 .L623:
  18933. 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18934. 8266 .loc 1 3367 5 is_stmt 1 view .LVU2998
  18935. 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18936. 8267 .loc 1 3367 5 view .LVU2999
  18937. 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18938. 8268 .loc 1 3367 5 view .LVU3000
  18939. 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18940. 8269 .loc 1 3369 5 view .LVU3001
  18941. 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18942. 8270 .loc 1 3369 12 is_stmt 0 view .LVU3002
  18943. 8271 00d4 0120 movs r0, #1
  18944. 8272 00d6 00E0 b .L601
  18945. 8273 .LVL530:
  18946. 8274 .L614:
  18947. 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18948. 8275 .loc 1 3373 12 view .LVU3003
  18949. 8276 00d8 0220 movs r0, #2
  18950. 8277 .LVL531:
  18951. 8278 .L601:
  18952. 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18953. 8279 .loc 1 3375 1 view .LVU3004
  18954. 8280 00da 05B0 add sp, sp, #20
  18955. 8281 .LCFI97:
  18956. 8282 .cfi_remember_state
  18957. 8283 .cfi_def_cfa_offset 28
  18958. 8284 @ sp needed
  18959. 8285 00dc BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  18960. 8286 .LVL532:
  18961. 8287 .L606:
  18962. 8288 .LCFI98:
  18963. 8289 .cfi_restore_state
  18964. 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18965. 8290 .loc 1 3305 13 is_stmt 1 view .LVU3005
  18966. 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18967. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 328
  18968. 8291 .loc 1 3305 25 is_stmt 0 view .LVU3006
  18969. 8292 00e0 2023 movs r3, #32
  18970. 8293 00e2 84F84130 strb r3, [r4, #65]
  18971. 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18972. 8294 .loc 1 3308 13 is_stmt 1 view .LVU3007
  18973. 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18974. 8295 .loc 1 3308 29 is_stmt 0 view .LVU3008
  18975. 8296 00e6 636C ldr r3, [r4, #68]
  18976. 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18977. 8297 .loc 1 3311 13 view .LVU3009
  18978. 8298 00e8 0022 movs r2, #0
  18979. 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18980. 8299 .loc 1 3308 29 view .LVU3010
  18981. 8300 00ea 43F02003 orr r3, r3, #32
  18982. 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18983. 8301 .loc 1 3313 20 view .LVU3011
  18984. 8302 00ee 0120 movs r0, #1
  18985. 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18986. 8303 .loc 1 3308 29 view .LVU3012
  18987. 8304 00f0 6364 str r3, [r4, #68]
  18988. 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18989. 8305 .loc 1 3311 13 is_stmt 1 view .LVU3013
  18990. 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18991. 8306 .loc 1 3311 13 view .LVU3014
  18992. 8307 00f2 84F84020 strb r2, [r4, #64]
  18993. 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18994. 8308 .loc 1 3311 13 view .LVU3015
  18995. 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  18996. 8309 .loc 1 3313 13 view .LVU3016
  18997. 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  18998. 8310 .loc 1 3375 1 is_stmt 0 view .LVU3017
  18999. 8311 00f6 05B0 add sp, sp, #20
  19000. 8312 .LCFI99:
  19001. 8313 .cfi_remember_state
  19002. 8314 .cfi_def_cfa_offset 28
  19003. 8315 @ sp needed
  19004. 8316 00f8 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  19005. 8317 .LVL533:
  19006. 8318 .L624:
  19007. 8319 .LCFI100:
  19008. 8320 .cfi_restore_state
  19009. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19010. 8321 .loc 1 3325 9 is_stmt 1 view .LVU3018
  19011. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19012. 8322 .loc 1 3325 13 is_stmt 0 view .LVU3019
  19013. 8323 00fc 2021 movs r1, #32
  19014. 8324 00fe 2046 mov r0, r4
  19015. 8325 0100 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
  19016. 8326 .LVL534:
  19017. 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19018. 8327 .loc 1 3325 12 view .LVU3020
  19019. 8328 0104 0028 cmp r0, #0
  19020. 8329 0106 E5D1 bne .L623
  19021. 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19022. 8330 .loc 1 3331 9 is_stmt 1 view .LVU3021
  19023. 8331 0108 2268 ldr r2, [r4]
  19024. 8332 010a 2023 movs r3, #32
  19025. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 329
  19026. 8333 010c D361 str r3, [r2, #28]
  19027. 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19028. 8334 .loc 1 3334 9 view .LVU3022
  19029. 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19030. 8335 .loc 1 3334 21 is_stmt 0 view .LVU3023
  19031. 8336 010e 84F84130 strb r3, [r4, #65]
  19032. 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19033. 8337 .loc 1 3337 9 is_stmt 1 view .LVU3024
  19034. 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19035. 8338 .loc 1 3337 9 view .LVU3025
  19036. 8339 0112 84F84000 strb r0, [r4, #64]
  19037. 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19038. 8340 .loc 1 3337 9 view .LVU3026
  19039. 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19040. 8341 .loc 1 3339 9 view .LVU3027
  19041. 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19042. 8342 .loc 1 3339 16 is_stmt 0 view .LVU3028
  19043. 8343 0116 E0E7 b .L601
  19044. 8344 .cfi_endproc
  19045. 8345 .LFE152:
  19046. 8347 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
  19047. 8348 .align 1
  19048. 8349 .p2align 2,,3
  19049. 8350 .global HAL_I2C_Master_Seq_Transmit_IT
  19050. 8351 .syntax unified
  19051. 8352 .thumb
  19052. 8353 .thumb_func
  19053. 8355 HAL_I2C_Master_Seq_Transmit_IT:
  19054. 8356 .LVL535:
  19055. 8357 .LFB153:
  19056. 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19057. 8358 .loc 1 3391 1 is_stmt 1 view -0
  19058. 8359 .cfi_startproc
  19059. 8360 @ args = 4, pretend = 0, frame = 8
  19060. 8361 @ frame_needed = 0, uses_anonymous_args = 0
  19061. 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
  19062. 8362 .loc 1 3392 3 view .LVU3030
  19063. 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  19064. 8363 .loc 1 3393 3 view .LVU3031
  19065. 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19066. 8364 .loc 1 3394 3 view .LVU3032
  19067. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19068. 8365 .loc 1 3397 3 view .LVU3033
  19069. 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19070. 8366 .loc 1 3391 1 is_stmt 0 view .LVU3034
  19071. 8367 0000 F0B5 push {r4, r5, r6, r7, lr}
  19072. 8368 .LCFI101:
  19073. 8369 .cfi_def_cfa_offset 20
  19074. 8370 .cfi_offset 4, -20
  19075. 8371 .cfi_offset 5, -16
  19076. 8372 .cfi_offset 6, -12
  19077. 8373 .cfi_offset 7, -8
  19078. 8374 .cfi_offset 14, -4
  19079. 8375 0002 85B0 sub sp, sp, #20
  19080. 8376 .LCFI102:
  19081. 8377 .cfi_def_cfa_offset 40
  19082. 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19083. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 330
  19084. 8378 .loc 1 3391 1 view .LVU3035
  19085. 8379 0004 0E46 mov r6, r1
  19086. 8380 0006 0A9D ldr r5, [sp, #40]
  19087. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19088. 8381 .loc 1 3397 3 view .LVU3036
  19089. 8382 0008 35F08071 bics r1, r5, #16777216
  19090. 8383 .LVL536:
  19091. 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19092. 8384 .loc 1 3391 1 view .LVU3037
  19093. 8385 000c 0446 mov r4, r0
  19094. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19095. 8386 .loc 1 3397 3 view .LVU3038
  19096. 8387 000e 10D0 beq .L626
  19097. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19098. 8388 .loc 1 3397 3 discriminator 2 view .LVU3039
  19099. 8389 0010 B5F1007F cmp r5, #33554432
  19100. 8390 0014 0DD0 beq .L626
  19101. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19102. 8391 .loc 1 3397 3 discriminator 4 view .LVU3040
  19103. 8392 0016 AA2D cmp r5, #170
  19104. 8393 0018 0BD0 beq .L626
  19105. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19106. 8394 .loc 1 3397 3 discriminator 5 view .LVU3041
  19107. 8395 001a B5F52A4F cmp r5, #43520
  19108. 8396 001e 08D0 beq .L626
  19109. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19110. 8397 .loc 1 3397 3 discriminator 6 view .LVU3042
  19111. 8398 0020 4048 ldr r0, .L662
  19112. 8399 .LVL537:
  19113. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19114. 8400 .loc 1 3397 3 discriminator 6 view .LVU3043
  19115. 8401 0022 40F64551 movw r1, #3397
  19116. 8402 0026 CDE90223 strd r2, r3, [sp, #8]
  19117. 8403 002a FFF7FEFF bl assert_failed
  19118. 8404 .LVL538:
  19119. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19120. 8405 .loc 1 3397 3 discriminator 6 view .LVU3044
  19121. 8406 002e DDE90223 ldrd r2, r3, [sp, #8]
  19122. 8407 .LVL539:
  19123. 8408 .L626:
  19124. 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19125. 8409 .loc 1 3399 3 is_stmt 1 view .LVU3045
  19126. 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19127. 8410 .loc 1 3399 11 is_stmt 0 view .LVU3046
  19128. 8411 0032 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  19129. 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19130. 8412 .loc 1 3399 6 view .LVU3047
  19131. 8413 0036 2029 cmp r1, #32
  19132. 8414 0038 69D1 bne .L638
  19133. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19134. 8415 .loc 1 3402 5 is_stmt 1 view .LVU3048
  19135. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19136. 8416 .loc 1 3402 5 view .LVU3049
  19137. 8417 003a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
  19138. 8418 003e 0129 cmp r1, #1
  19139. 8419 0040 65D0 beq .L638
  19140. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19141. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 331
  19142. 8420 .loc 1 3402 5 discriminator 2 view .LVU3050
  19143. 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  19144. 8421 .loc 1 3404 21 is_stmt 0 discriminator 2 view .LVU3051
  19145. 8422 0042 2121 movs r1, #33
  19146. 8423 0044 84F84110 strb r1, [r4, #65]
  19147. 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  19148. 8424 .loc 1 3405 21 discriminator 2 view .LVU3052
  19149. 8425 0048 1021 movs r1, #16
  19150. 8426 004a 84F84210 strb r1, [r4, #66]
  19151. 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19152. 8427 .loc 1 3406 21 discriminator 2 view .LVU3053
  19153. 8428 004e 0021 movs r1, #0
  19154. 8429 0050 6164 str r1, [r4, #68]
  19155. 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  19156. 8430 .loc 1 3410 23 discriminator 2 view .LVU3054
  19157. 8431 0052 6385 strh r3, [r4, #42] @ movhi
  19158. 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19159. 8432 .loc 1 3412 23 discriminator 2 view .LVU3055
  19160. 8433 0054 344B ldr r3, .L662+4
  19161. 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  19162. 8434 .loc 1 3411 23 discriminator 2 view .LVU3056
  19163. 8435 0056 E562 str r5, [r4, #44]
  19164. 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19165. 8436 .loc 1 3412 23 discriminator 2 view .LVU3057
  19166. 8437 0058 6363 str r3, [r4, #52]
  19167. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19168. 8438 .loc 1 3415 13 discriminator 2 view .LVU3058
  19169. 8439 005a 638D ldrh r3, [r4, #42]
  19170. 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  19171. 8440 .loc 1 3409 23 discriminator 2 view .LVU3059
  19172. 8441 005c 6262 str r2, [r4, #36]
  19173. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19174. 8442 .loc 1 3415 13 discriminator 2 view .LVU3060
  19175. 8443 005e 9BB2 uxth r3, r3
  19176. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19177. 8444 .loc 1 3402 5 discriminator 2 view .LVU3061
  19178. 8445 0060 0121 movs r1, #1
  19179. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19180. 8446 .loc 1 3415 8 discriminator 2 view .LVU3062
  19181. 8447 0062 FF2B cmp r3, #255
  19182. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19183. 8448 .loc 1 3402 5 discriminator 2 view .LVU3063
  19184. 8449 0064 84F84010 strb r1, [r4, #64]
  19185. 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19186. 8450 .loc 1 3402 5 is_stmt 1 discriminator 2 view .LVU3064
  19187. 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  19188. 8451 .loc 1 3404 5 discriminator 2 view .LVU3065
  19189. 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  19190. 8452 .loc 1 3405 5 discriminator 2 view .LVU3066
  19191. 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19192. 8453 .loc 1 3406 5 discriminator 2 view .LVU3067
  19193. 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  19194. 8454 .loc 1 3409 5 discriminator 2 view .LVU3068
  19195. 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  19196. 8455 .loc 1 3410 5 discriminator 2 view .LVU3069
  19197. 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  19198. 8456 .loc 1 3411 5 discriminator 2 view .LVU3070
  19199. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 332
  19200. 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19201. 8457 .loc 1 3412 5 discriminator 2 view .LVU3071
  19202. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19203. 8458 .loc 1 3415 5 discriminator 2 view .LVU3072
  19204. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19205. 8459 .loc 1 3415 8 is_stmt 0 discriminator 2 view .LVU3073
  19206. 8460 0068 2BD8 bhi .L658
  19207. 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19208. 8461 .loc 1 3422 7 is_stmt 1 view .LVU3074
  19209. 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19210. 8462 .loc 1 3422 28 is_stmt 0 view .LVU3075
  19211. 8463 006a 608D ldrh r0, [r4, #42]
  19212. 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19213. 8464 .loc 1 3423 16 view .LVU3076
  19214. 8465 006c E36A ldr r3, [r4, #44]
  19215. 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19216. 8466 .loc 1 3422 28 view .LVU3077
  19217. 8467 006e 80B2 uxth r0, r0
  19218. 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19219. 8468 .loc 1 3422 22 view .LVU3078
  19220. 8469 0070 2085 strh r0, [r4, #40] @ movhi
  19221. 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19222. 8470 .loc 1 3423 7 is_stmt 1 view .LVU3079
  19223. 8471 .LVL540:
  19224. 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  19225. 8472 .loc 1 3426 5 view .LVU3080
  19226. 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  19227. 8473 .loc 1 3426 8 is_stmt 0 view .LVU3081
  19228. 8474 0072 50BB cbnz r0, .L629
  19229. 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  19230. 8475 .loc 1 3426 31 view .LVU3082
  19231. 8476 0074 25F00071 bic r1, r5, #33554432
  19232. 8477 .L630:
  19233. 8478 .LVL541:
  19234. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19235. 8479 .loc 1 3444 5 is_stmt 1 view .LVU3083
  19236. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19237. 8480 .loc 1 3444 14 is_stmt 0 view .LVU3084
  19238. 8481 0078 226B ldr r2, [r4, #48]
  19239. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19240. 8482 .loc 1 3444 8 view .LVU3085
  19241. 8483 007a 112A cmp r2, #17
  19242. 8484 007c 38D0 beq .L659
  19243. 8485 .L631:
  19244. 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19245. 8486 .loc 1 3452 7 is_stmt 1 view .LVU3086
  19246. 8487 .LVL542:
  19247. 8488 .LBB352:
  19248. 8489 .LBI352:
  19249. 7443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19250. 7444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  19251. 7445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
  19252. 7446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
  19253. 7447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C.
  19254. 7448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
  19255. 7449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  19256. 7450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  19257. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 333
  19258. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
  19259. 7452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19260. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U;
  19261. 7454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19262. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
  19263. 7456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19264. 7457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
  19265. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
  19266. 7459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19267. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
  19268. 7461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19269. 7462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
  19270. 7463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
  19271. 7464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19272. 7465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19273. 7466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19274. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
  19275. 7468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19276. 7469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
  19277. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
  19278. 7471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19279. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
  19280. 7473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19281. 7474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
  19282. 7475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
  19283. 7476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19284. 7477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19285. 7478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19286. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
  19287. 7480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19288. 7481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
  19289. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
  19290. 7483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19291. 7484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19292. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT)
  19293. 7486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19294. 7487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
  19295. 7488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
  19296. 7489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19297. 7490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19298. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT)
  19299. 7492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19300. 7493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */
  19301. 7494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
  19302. 7495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19303. 7496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19304. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT)
  19305. 7498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19306. 7499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */
  19307. 7500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
  19308. 7501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19309. 7502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19310. 7503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable interrupts only at the end */
  19311. 7504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
  19312. 7505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all disable interrupts request are not done */
  19313. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
  19314. 7507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19315. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 334
  19316. 7508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19317. 7509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /**
  19318. 7510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functional XferOptions.
  19319. 7511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle.
  19320. 7512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None
  19321. 7513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */
  19322. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
  19323. 8490 .loc 1 7514 13 view .LVU3087
  19324. 8491 .LBB353:
  19325. 7515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19326. 7516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
  19327. 7517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
  19328. 7518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
  19329. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
  19330. 8492 .loc 1 7519 3 view .LVU3088
  19331. 8493 .loc 1 7519 11 is_stmt 0 view .LVU3089
  19332. 8494 007e E26A ldr r2, [r4, #44]
  19333. 8495 .loc 1 7519 6 view .LVU3090
  19334. 8496 0080 AA2A cmp r2, #170
  19335. 8497 0082 4BD0 beq .L660
  19336. 8498 .LVL543:
  19337. 8499 .LBB354:
  19338. 8500 .LBI354:
  19339. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19340. 8501 .loc 1 7514 13 is_stmt 1 view .LVU3091
  19341. 8502 .LBB355:
  19342. 7520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19343. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
  19344. 7522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19345. 7523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
  19346. 7524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
  19347. 7525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
  19348. 7526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
  19349. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
  19350. 8503 .loc 1 7527 8 view .LVU3092
  19351. 8504 .loc 1 7527 16 is_stmt 0 view .LVU3093
  19352. 8505 0084 E26A ldr r2, [r4, #44]
  19353. 8506 .loc 1 7527 11 view .LVU3094
  19354. 8507 0086 B2F52A4F cmp r2, #43520
  19355. 7528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19356. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
  19357. 8508 .loc 1 7529 5 is_stmt 1 view .LVU3095
  19358. 8509 .loc 1 7529 23 is_stmt 0 view .LVU3096
  19359. 8510 008a 04BF itt eq
  19360. 8511 008c 4FF00072 moveq r2, #33554432
  19361. 8512 0090 E262 streq r2, [r4, #44]
  19362. 8513 .LVL544:
  19363. 8514 .L634:
  19364. 8515 .loc 1 7529 23 view .LVU3097
  19365. 8516 .LBE355:
  19366. 8517 .LBE354:
  19367. 7530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19368. 7531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else
  19369. 7532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19370. 7533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */
  19371. 7534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19372. 8518 .loc 1 7534 3 is_stmt 1 view .LVU3098
  19373. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 335
  19374. 8519 .loc 1 7534 3 is_stmt 0 view .LVU3099
  19375. 8520 .LBE353:
  19376. 8521 .LBE352:
  19377. 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19378. 8522 .loc 1 3455 7 is_stmt 1 view .LVU3100
  19379. 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19380. 8523 .loc 1 3455 15 is_stmt 0 view .LVU3101
  19381. 8524 0092 628D ldrh r2, [r4, #42]
  19382. 8525 0094 92B2 uxth r2, r2
  19383. 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19384. 8526 .loc 1 3455 10 view .LVU3102
  19385. 8527 0096 FF2A cmp r2, #255
  19386. 8528 0098 3CD8 bhi .L641
  19387. 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19388. 8529 .loc 1 3457 9 is_stmt 1 view .LVU3103
  19389. 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19390. 8530 .loc 1 3457 18 is_stmt 0 view .LVU3104
  19391. 8531 009a E36A ldr r3, [r4, #44]
  19392. 8532 .LVL545:
  19393. 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  19394. 8533 .loc 1 3393 12 view .LVU3105
  19395. 8534 009c 234D ldr r5, .L662+8
  19396. 8535 .L632:
  19397. 8536 .LVL546:
  19398. 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19399. 8537 .loc 1 3462 5 is_stmt 1 view .LVU3106
  19400. 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19401. 8538 .loc 1 3462 8 is_stmt 0 view .LVU3107
  19402. 8539 009e 79B3 cbz r1, .L661
  19403. 8540 .L635:
  19404. 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19405. 8541 .loc 1 3468 7 is_stmt 1 view .LVU3108
  19406. 8542 00a0 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
  19407. 8543 00a4 0095 str r5, [sp]
  19408. 8544 00a6 3146 mov r1, r6
  19409. 8545 00a8 2046 mov r0, r4
  19410. 8546 .LVL547:
  19411. 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19412. 8547 .loc 1 3468 7 is_stmt 0 view .LVU3109
  19413. 8548 00aa FFF7FEFF bl I2C_TransferConfig
  19414. 8549 .LVL548:
  19415. 8550 .L636:
  19416. 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19417. 8551 .loc 1 3472 5 is_stmt 1 view .LVU3110
  19418. 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19419. 8552 .loc 1 3472 5 view .LVU3111
  19420. 8553 .LBB357:
  19421. 8554 .LBB358:
  19422. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19423. 8555 .loc 1 7441 3 is_stmt 0 view .LVU3112
  19424. 8556 00ae 2268 ldr r2, [r4]
  19425. 8557 .LBE358:
  19426. 8558 .LBE357:
  19427. 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19428. 8559 .loc 1 3472 5 view .LVU3113
  19429. 8560 00b0 0020 movs r0, #0
  19430. 8561 00b2 84F84000 strb r0, [r4, #64]
  19431. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 336
  19432. 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19433. 8562 .loc 1 3472 5 is_stmt 1 view .LVU3114
  19434. 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19435. 8563 .loc 1 3481 5 view .LVU3115
  19436. 8564 .LVL549:
  19437. 8565 .LBB360:
  19438. 8566 .LBI357:
  19439. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19440. 8567 .loc 1 7360 13 view .LVU3116
  19441. 8568 .LBB359:
  19442. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19443. 8569 .loc 1 7362 3 view .LVU3117
  19444. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  19445. 8570 .loc 1 7364 3 view .LVU3118
  19446. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19447. 8571 .loc 1 7441 3 view .LVU3119
  19448. 8572 00b6 1368 ldr r3, [r2]
  19449. 8573 00b8 43F0F203 orr r3, r3, #242
  19450. 8574 00bc 1360 str r3, [r2]
  19451. 8575 .LVL550:
  19452. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19453. 8576 .loc 1 7441 3 is_stmt 0 view .LVU3120
  19454. 8577 .LBE359:
  19455. 8578 .LBE360:
  19456. 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19457. 8579 .loc 1 3489 1 view .LVU3121
  19458. 8580 00be 05B0 add sp, sp, #20
  19459. 8581 .LCFI103:
  19460. 8582 .cfi_remember_state
  19461. 8583 .cfi_def_cfa_offset 20
  19462. 8584 @ sp needed
  19463. 8585 00c0 F0BD pop {r4, r5, r6, r7, pc}
  19464. 8586 .LVL551:
  19465. 8587 .L658:
  19466. 8588 .LCFI104:
  19467. 8589 .cfi_restore_state
  19468. 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  19469. 8590 .loc 1 3417 7 is_stmt 1 view .LVU3122
  19470. 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  19471. 8591 .loc 1 3417 22 is_stmt 0 view .LVU3123
  19472. 8592 00c2 FF20 movs r0, #255
  19473. 8593 00c4 2085 strh r0, [r4, #40] @ movhi
  19474. 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19475. 8594 .loc 1 3418 7 is_stmt 1 view .LVU3124
  19476. 8595 .LVL552:
  19477. 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  19478. 8596 .loc 1 3426 5 view .LVU3125
  19479. 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19480. 8597 .loc 1 3418 16 is_stmt 0 view .LVU3126
  19481. 8598 00c6 4FF08073 mov r3, #16777216
  19482. 8599 .LVL553:
  19483. 8600 .L629:
  19484. 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  19485. 8601 .loc 1 3426 31 discriminator 1 view .LVU3127
  19486. 8602 00ca 35F00071 bics r1, r5, #33554432
  19487. 8603 00ce 23D1 bne .L639
  19488. 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19489. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 337
  19490. 8604 .loc 1 3431 7 is_stmt 1 view .LVU3128
  19491. 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19492. 8605 .loc 1 3431 30 is_stmt 0 view .LVU3129
  19493. 8606 00d0 9446 mov ip, r2
  19494. 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19495. 8607 .loc 1 3431 28 view .LVU3130
  19496. 8608 00d2 2268 ldr r2, [r4]
  19497. 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19498. 8609 .loc 1 3431 30 view .LVU3131
  19499. 8610 00d4 1CF8017B ldrb r7, [ip], #1 @ zero_extendqisi2
  19500. 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19501. 8611 .loc 1 3431 28 view .LVU3132
  19502. 8612 00d8 9762 str r7, [r2, #40]
  19503. 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19504. 8613 .loc 1 3434 7 is_stmt 1 view .LVU3133
  19505. 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  19506. 8614 .loc 1 3437 11 is_stmt 0 view .LVU3134
  19507. 8615 00da 628D ldrh r2, [r4, #42]
  19508. 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19509. 8616 .loc 1 3434 21 view .LVU3135
  19510. 8617 00dc C4F824C0 str ip, [r4, #36]
  19511. 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  19512. 8618 .loc 1 3436 7 is_stmt 1 view .LVU3136
  19513. 8619 .LVL554:
  19514. 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  19515. 8620 .loc 1 3437 7 view .LVU3137
  19516. 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  19517. 8621 .loc 1 3437 22 is_stmt 0 view .LVU3138
  19518. 8622 00e0 013A subs r2, r2, #1
  19519. 8623 00e2 92B2 uxth r2, r2
  19520. 8624 00e4 6285 strh r2, [r4, #42] @ movhi
  19521. 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19522. 8625 .loc 1 3438 7 is_stmt 1 view .LVU3139
  19523. 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19524. 8626 .loc 1 3438 21 is_stmt 0 view .LVU3140
  19525. 8627 00e6 421E subs r2, r0, #1
  19526. 8628 00e8 2285 strh r2, [r4, #40] @ movhi
  19527. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19528. 8629 .loc 1 3444 5 is_stmt 1 view .LVU3141
  19529. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19530. 8630 .loc 1 3444 14 is_stmt 0 view .LVU3142
  19531. 8631 00ea 226B ldr r2, [r4, #48]
  19532. 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19533. 8632 .loc 1 3444 8 view .LVU3143
  19534. 8633 00ec 112A cmp r2, #17
  19535. 8634 00ee C6D1 bne .L631
  19536. 8635 .L659:
  19537. 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19538. 8636 .loc 1 3445 10 view .LVU3144
  19539. 8637 00f0 AA2D cmp r5, #170
  19540. 8638 00f2 C4D0 beq .L631
  19541. 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19542. 8639 .loc 1 3445 10 discriminator 2 view .LVU3145
  19543. 8640 00f4 B5F52A4F cmp r5, #43520
  19544. 8641 00f8 C1D0 beq .L631
  19545. 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19546. 8642 .loc 1 3447 19 view .LVU3146
  19547. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 338
  19548. 8643 00fa 0025 movs r5, #0
  19549. 8644 .LVL555:
  19550. 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19551. 8645 .loc 1 3462 5 is_stmt 1 view .LVU3147
  19552. 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19553. 8646 .loc 1 3462 8 is_stmt 0 view .LVU3148
  19554. 8647 00fc 0029 cmp r1, #0
  19555. 8648 00fe CFD1 bne .L635
  19556. 8649 .LVL556:
  19557. 8650 .L661:
  19558. 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19559. 8651 .loc 1 3464 7 is_stmt 1 view .LVU3149
  19560. 8652 0100 C2B2 uxtb r2, r0
  19561. 8653 0102 0095 str r5, [sp]
  19562. 8654 0104 3146 mov r1, r6
  19563. 8655 0106 2046 mov r0, r4
  19564. 8656 .LVL557:
  19565. 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19566. 8657 .loc 1 3464 7 is_stmt 0 view .LVU3150
  19567. 8658 0108 FFF7FEFF bl I2C_TransferConfig
  19568. 8659 .LVL558:
  19569. 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19570. 8660 .loc 1 3464 7 view .LVU3151
  19571. 8661 010c CFE7 b .L636
  19572. 8662 .LVL559:
  19573. 8663 .L638:
  19574. 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19575. 8664 .loc 1 3487 12 view .LVU3152
  19576. 8665 010e 0220 movs r0, #2
  19577. 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19578. 8666 .loc 1 3489 1 view .LVU3153
  19579. 8667 0110 05B0 add sp, sp, #20
  19580. 8668 .LCFI105:
  19581. 8669 .cfi_remember_state
  19582. 8670 .cfi_def_cfa_offset 20
  19583. 8671 @ sp needed
  19584. 8672 0112 F0BD pop {r4, r5, r6, r7, pc}
  19585. 8673 .LVL560:
  19586. 8674 .L641:
  19587. 8675 .LCFI106:
  19588. 8676 .cfi_restore_state
  19589. 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  19590. 8677 .loc 1 3393 12 view .LVU3154
  19591. 8678 0114 054D ldr r5, .L662+8
  19592. 8679 0116 C2E7 b .L632
  19593. 8680 .LVL561:
  19594. 8681 .L639:
  19595. 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19596. 8682 .loc 1 3394 12 view .LVU3155
  19597. 8683 0118 0020 movs r0, #0
  19598. 8684 011a ADE7 b .L630
  19599. 8685 .LVL562:
  19600. 8686 .L660:
  19601. 8687 .LBB361:
  19602. 8688 .LBB356:
  19603. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19604. 8689 .loc 1 7521 5 is_stmt 1 view .LVU3156
  19605. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 339
  19606. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19607. 8690 .loc 1 7521 23 is_stmt 0 view .LVU3157
  19608. 8691 011c 0022 movs r2, #0
  19609. 8692 011e E262 str r2, [r4, #44]
  19610. 8693 .LVL563:
  19611. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19612. 8694 .loc 1 7521 23 view .LVU3158
  19613. 8695 0120 B7E7 b .L634
  19614. 8696 .L663:
  19615. 8697 0122 00BF .align 2
  19616. 8698 .L662:
  19617. 8699 0124 00000000 .word .LC0
  19618. 8700 0128 00000000 .word I2C_Master_ISR_IT
  19619. 8701 012c 00200080 .word -2147475456
  19620. 8702 .LBE356:
  19621. 8703 .LBE361:
  19622. 8704 .cfi_endproc
  19623. 8705 .LFE153:
  19624. 8707 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
  19625. 8708 .align 1
  19626. 8709 .p2align 2,,3
  19627. 8710 .global HAL_I2C_Master_Seq_Transmit_DMA
  19628. 8711 .syntax unified
  19629. 8712 .thumb
  19630. 8713 .thumb_func
  19631. 8715 HAL_I2C_Master_Seq_Transmit_DMA:
  19632. 8716 .LVL564:
  19633. 8717 .LFB154:
  19634. 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19635. 8718 .loc 1 3505 1 is_stmt 1 view -0
  19636. 8719 .cfi_startproc
  19637. 8720 @ args = 4, pretend = 0, frame = 8
  19638. 8721 @ frame_needed = 0, uses_anonymous_args = 0
  19639. 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
  19640. 8722 .loc 1 3506 3 view .LVU3160
  19641. 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  19642. 8723 .loc 1 3507 3 view .LVU3161
  19643. 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U;
  19644. 8724 .loc 1 3508 3 view .LVU3162
  19645. 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19646. 8725 .loc 1 3509 3 view .LVU3163
  19647. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19648. 8726 .loc 1 3512 3 view .LVU3164
  19649. 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19650. 8727 .loc 1 3505 1 is_stmt 0 view .LVU3165
  19651. 8728 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
  19652. 8729 .LCFI107:
  19653. 8730 .cfi_def_cfa_offset 36
  19654. 8731 .cfi_offset 4, -36
  19655. 8732 .cfi_offset 5, -32
  19656. 8733 .cfi_offset 6, -28
  19657. 8734 .cfi_offset 7, -24
  19658. 8735 .cfi_offset 8, -20
  19659. 8736 .cfi_offset 9, -16
  19660. 8737 .cfi_offset 10, -12
  19661. 8738 .cfi_offset 11, -8
  19662. 8739 .cfi_offset 14, -4
  19663. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 340
  19664. 8740 0004 85B0 sub sp, sp, #20
  19665. 8741 .LCFI108:
  19666. 8742 .cfi_def_cfa_offset 56
  19667. 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19668. 8743 .loc 1 3505 1 view .LVU3166
  19669. 8744 0006 0F46 mov r7, r1
  19670. 8745 0008 0E9E ldr r6, [sp, #56]
  19671. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19672. 8746 .loc 1 3512 3 view .LVU3167
  19673. 8747 000a 36F08071 bics r1, r6, #16777216
  19674. 8748 .LVL565:
  19675. 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  19676. 8749 .loc 1 3505 1 view .LVU3168
  19677. 8750 000e 0446 mov r4, r0
  19678. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19679. 8751 .loc 1 3512 3 view .LVU3169
  19680. 8752 0010 10D0 beq .L665
  19681. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19682. 8753 .loc 1 3512 3 discriminator 2 view .LVU3170
  19683. 8754 0012 B6F1007F cmp r6, #33554432
  19684. 8755 0016 0DD0 beq .L665
  19685. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19686. 8756 .loc 1 3512 3 discriminator 4 view .LVU3171
  19687. 8757 0018 AA2E cmp r6, #170
  19688. 8758 001a 0BD0 beq .L665
  19689. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19690. 8759 .loc 1 3512 3 discriminator 5 view .LVU3172
  19691. 8760 001c B6F52A4F cmp r6, #43520
  19692. 8761 0020 08D0 beq .L665
  19693. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19694. 8762 .loc 1 3512 3 discriminator 6 view .LVU3173
  19695. 8763 0022 7748 ldr r0, .L711
  19696. 8764 .LVL566:
  19697. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19698. 8765 .loc 1 3512 3 discriminator 6 view .LVU3174
  19699. 8766 0024 40F6B851 movw r1, #3512
  19700. 8767 0028 CDE90223 strd r2, r3, [sp, #8]
  19701. 8768 002c FFF7FEFF bl assert_failed
  19702. 8769 .LVL567:
  19703. 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19704. 8770 .loc 1 3512 3 discriminator 6 view .LVU3175
  19705. 8771 0030 DDE90223 ldrd r2, r3, [sp, #8]
  19706. 8772 .LVL568:
  19707. 8773 .L665:
  19708. 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19709. 8774 .loc 1 3514 3 is_stmt 1 view .LVU3176
  19710. 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19711. 8775 .loc 1 3514 11 is_stmt 0 view .LVU3177
  19712. 8776 0034 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  19713. 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19714. 8777 .loc 1 3514 6 view .LVU3178
  19715. 8778 0038 2029 cmp r1, #32
  19716. 8779 003a 40F0B180 bne .L684
  19717. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19718. 8780 .loc 1 3517 5 is_stmt 1 view .LVU3179
  19719. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19720. 8781 .loc 1 3517 5 view .LVU3180
  19721. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 341
  19722. 8782 003e 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
  19723. 8783 0042 0129 cmp r1, #1
  19724. 8784 0044 00F0AC80 beq .L684
  19725. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19726. 8785 .loc 1 3517 5 discriminator 2 view .LVU3181
  19727. 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  19728. 8786 .loc 1 3519 21 is_stmt 0 discriminator 2 view .LVU3182
  19729. 8787 0048 2121 movs r1, #33
  19730. 8788 004a 84F84110 strb r1, [r4, #65]
  19731. 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  19732. 8789 .loc 1 3520 21 discriminator 2 view .LVU3183
  19733. 8790 004e 1021 movs r1, #16
  19734. 8791 0050 84F84210 strb r1, [r4, #66]
  19735. 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19736. 8792 .loc 1 3521 21 discriminator 2 view .LVU3184
  19737. 8793 0054 0021 movs r1, #0
  19738. 8794 0056 6164 str r1, [r4, #68]
  19739. 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  19740. 8795 .loc 1 3525 23 discriminator 2 view .LVU3185
  19741. 8796 0058 6385 strh r3, [r4, #42] @ movhi
  19742. 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19743. 8797 .loc 1 3527 23 discriminator 2 view .LVU3186
  19744. 8798 005a 6A4B ldr r3, .L711+4
  19745. 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  19746. 8799 .loc 1 3526 23 discriminator 2 view .LVU3187
  19747. 8800 005c E662 str r6, [r4, #44]
  19748. 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19749. 8801 .loc 1 3527 23 discriminator 2 view .LVU3188
  19750. 8802 005e 6363 str r3, [r4, #52]
  19751. 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19752. 8803 .loc 1 3530 13 discriminator 2 view .LVU3189
  19753. 8804 0060 638D ldrh r3, [r4, #42]
  19754. 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  19755. 8805 .loc 1 3524 23 discriminator 2 view .LVU3190
  19756. 8806 0062 6262 str r2, [r4, #36]
  19757. 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19758. 8807 .loc 1 3530 13 discriminator 2 view .LVU3191
  19759. 8808 0064 9BB2 uxth r3, r3
  19760. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19761. 8809 .loc 1 3517 5 discriminator 2 view .LVU3192
  19762. 8810 0066 0121 movs r1, #1
  19763. 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19764. 8811 .loc 1 3530 8 discriminator 2 view .LVU3193
  19765. 8812 0068 FF2B cmp r3, #255
  19766. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19767. 8813 .loc 1 3517 5 discriminator 2 view .LVU3194
  19768. 8814 006a 84F84010 strb r1, [r4, #64]
  19769. 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19770. 8815 .loc 1 3517 5 is_stmt 1 discriminator 2 view .LVU3195
  19771. 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  19772. 8816 .loc 1 3519 5 discriminator 2 view .LVU3196
  19773. 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  19774. 8817 .loc 1 3520 5 discriminator 2 view .LVU3197
  19775. 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19776. 8818 .loc 1 3521 5 discriminator 2 view .LVU3198
  19777. 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  19778. 8819 .loc 1 3524 5 discriminator 2 view .LVU3199
  19779. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 342
  19780. 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  19781. 8820 .loc 1 3525 5 discriminator 2 view .LVU3200
  19782. 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  19783. 8821 .loc 1 3526 5 discriminator 2 view .LVU3201
  19784. 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19785. 8822 .loc 1 3527 5 discriminator 2 view .LVU3202
  19786. 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19787. 8823 .loc 1 3530 5 discriminator 2 view .LVU3203
  19788. 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19789. 8824 .loc 1 3530 8 is_stmt 0 discriminator 2 view .LVU3204
  19790. 8825 006e 5BD8 bhi .L705
  19791. 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19792. 8826 .loc 1 3537 7 is_stmt 1 view .LVU3205
  19793. 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19794. 8827 .loc 1 3537 28 is_stmt 0 view .LVU3206
  19795. 8828 0070 658D ldrh r5, [r4, #42]
  19796. 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19797. 8829 .loc 1 3538 16 view .LVU3207
  19798. 8830 0072 D4F82C80 ldr r8, [r4, #44]
  19799. 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19800. 8831 .loc 1 3537 28 view .LVU3208
  19801. 8832 0076 ADB2 uxth r5, r5
  19802. 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  19803. 8833 .loc 1 3537 22 view .LVU3209
  19804. 8834 0078 2585 strh r5, [r4, #40] @ movhi
  19805. 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19806. 8835 .loc 1 3538 7 is_stmt 1 view .LVU3210
  19807. 8836 .LVL569:
  19808. 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  19809. 8837 .loc 1 3541 5 view .LVU3211
  19810. 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19811. 8838 .loc 1 3509 12 is_stmt 0 view .LVU3212
  19812. 8839 007a AA46 mov r10, r5
  19813. 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  19814. 8840 .loc 1 3541 8 view .LVU3213
  19815. 8841 007c 002D cmp r5, #0
  19816. 8842 007e 57D1 bne .L668
  19817. 8843 .L669:
  19818. 8844 .LVL570:
  19819. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19820. 8845 .loc 1 3559 5 is_stmt 1 view .LVU3214
  19821. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19822. 8846 .loc 1 3559 14 is_stmt 0 view .LVU3215
  19823. 8847 0080 236B ldr r3, [r4, #48]
  19824. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  19825. 8848 .loc 1 3559 8 view .LVU3216
  19826. 8849 0082 112B cmp r3, #17
  19827. 8850 0084 67D0 beq .L706
  19828. 8851 .L671:
  19829. 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19830. 8852 .loc 1 3567 7 is_stmt 1 view .LVU3217
  19831. 8853 .LVL571:
  19832. 8854 .LBB370:
  19833. 8855 .LBI370:
  19834. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19835. 8856 .loc 1 7514 13 view .LVU3218
  19836. 8857 .LBB371:
  19837. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 343
  19838. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19839. 8858 .loc 1 7519 3 view .LVU3219
  19840. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19841. 8859 .loc 1 7519 11 is_stmt 0 view .LVU3220
  19842. 8860 0086 E36A ldr r3, [r4, #44]
  19843. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19844. 8861 .loc 1 7519 6 view .LVU3221
  19845. 8862 0088 AA2B cmp r3, #170
  19846. 8863 008a 00F0A580 beq .L707
  19847. 8864 .LVL572:
  19848. 8865 .LBB372:
  19849. 8866 .LBI372:
  19850. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19851. 8867 .loc 1 7514 13 is_stmt 1 view .LVU3222
  19852. 8868 .LBB373:
  19853. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19854. 8869 .loc 1 7527 8 view .LVU3223
  19855. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19856. 8870 .loc 1 7527 16 is_stmt 0 view .LVU3224
  19857. 8871 008e E36A ldr r3, [r4, #44]
  19858. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19859. 8872 .loc 1 7527 11 view .LVU3225
  19860. 8873 0090 B3F52A4F cmp r3, #43520
  19861. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19862. 8874 .loc 1 7529 5 is_stmt 1 view .LVU3226
  19863. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19864. 8875 .loc 1 7529 23 is_stmt 0 view .LVU3227
  19865. 8876 0094 04BF itt eq
  19866. 8877 0096 4FF00073 moveq r3, #33554432
  19867. 8878 009a E362 streq r3, [r4, #44]
  19868. 8879 .LVL573:
  19869. 8880 .L674:
  19870. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19871. 8881 .loc 1 7529 23 view .LVU3228
  19872. 8882 .LBE373:
  19873. 8883 .LBE372:
  19874. 8884 .loc 1 7534 3 is_stmt 1 view .LVU3229
  19875. 8885 .loc 1 7534 3 is_stmt 0 view .LVU3230
  19876. 8886 .LBE371:
  19877. 8887 .LBE370:
  19878. 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19879. 8888 .loc 1 3570 7 is_stmt 1 view .LVU3231
  19880. 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19881. 8889 .loc 1 3570 15 is_stmt 0 view .LVU3232
  19882. 8890 009c 638D ldrh r3, [r4, #42]
  19883. 8891 009e 9BB2 uxth r3, r3
  19884. 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19885. 8892 .loc 1 3570 10 view .LVU3233
  19886. 8893 00a0 FF2B cmp r3, #255
  19887. 8894 00a2 00F28280 bhi .L687
  19888. 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19889. 8895 .loc 1 3572 9 is_stmt 1 view .LVU3234
  19890. 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19891. 8896 .loc 1 3572 18 is_stmt 0 view .LVU3235
  19892. 8897 00a6 D4F82C80 ldr r8, [r4, #44]
  19893. 8898 .LVL574:
  19894. 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  19895. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 344
  19896. 8899 .loc 1 3507 12 view .LVU3236
  19897. 8900 00aa DFF86891 ldr r9, .L711+20
  19898. 8901 .L672:
  19899. 8902 .LVL575:
  19900. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19901. 8903 .loc 1 3576 5 is_stmt 1 view .LVU3237
  19902. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19903. 8904 .loc 1 3576 8 is_stmt 0 view .LVU3238
  19904. 8905 00ae 002D cmp r5, #0
  19905. 8906 00b0 5AD0 beq .L675
  19906. 8907 .L710:
  19907. 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19908. 8908 .loc 1 3578 7 is_stmt 1 view .LVU3239
  19909. 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19910. 8909 .loc 1 3578 15 is_stmt 0 view .LVU3240
  19911. 8910 00b2 A06B ldr r0, [r4, #56]
  19912. 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19913. 8911 .loc 1 3578 10 view .LVU3241
  19914. 8912 00b4 0028 cmp r0, #0
  19915. 8913 00b6 00F09280 beq .L676
  19916. 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19917. 8914 .loc 1 3581 9 is_stmt 1 view .LVU3242
  19918. 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19919. 8915 .loc 1 3592 52 is_stmt 0 view .LVU3243
  19920. 8916 00ba 2268 ldr r2, [r4]
  19921. 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19922. 8917 .loc 1 3581 40 view .LVU3244
  19923. 8918 00bc 5249 ldr r1, .L711+8
  19924. 8919 00be 8162 str r1, [r0, #40]
  19925. 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19926. 8920 .loc 1 3584 9 is_stmt 1 view .LVU3245
  19927. 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  19928. 8921 .loc 1 3587 44 is_stmt 0 view .LVU3246
  19929. 8922 00c0 4FF0000B mov fp, #0
  19930. 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19931. 8923 .loc 1 3584 41 view .LVU3247
  19932. 8924 00c4 5149 ldr r1, .L711+12
  19933. 8925 00c6 0163 str r1, [r0, #48]
  19934. 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  19935. 8926 .loc 1 3587 9 is_stmt 1 view .LVU3248
  19936. 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19937. 8927 .loc 1 3588 9 view .LVU3249
  19938. 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  19939. 8928 .loc 1 3591 9 view .LVU3250
  19940. 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  19941. 8929 .loc 1 3591 25 is_stmt 0 view .LVU3251
  19942. 8930 00c8 2B46 mov r3, r5
  19943. 8931 00ca 616A ldr r1, [r4, #36]
  19944. 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  19945. 8932 .loc 1 3587 44 view .LVU3252
  19946. 8933 00cc C0F82CB0 str fp, [r0, #44]
  19947. 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  19948. 8934 .loc 1 3591 25 view .LVU3253
  19949. 8935 00d0 2832 adds r2, r2, #40
  19950. 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19951. 8936 .loc 1 3588 41 view .LVU3254
  19952. 8937 00d2 C0F834B0 str fp, [r0, #52]
  19953. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 345
  19954. 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize);
  19955. 8938 .loc 1 3591 25 view .LVU3255
  19956. 8939 00d6 FFF7FEFF bl HAL_DMA_Start_IT
  19957. 8940 .LVL576:
  19958. 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19959. 8941 .loc 1 3609 7 is_stmt 1 view .LVU3256
  19960. 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19961. 8942 .loc 1 3609 10 is_stmt 0 view .LVU3257
  19962. 8943 00da 0546 mov r5, r0
  19963. 8944 00dc 0028 cmp r0, #0
  19964. 8945 00de 6BD1 bne .L708
  19965. 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19966. 8946 .loc 1 3612 9 is_stmt 1 view .LVU3258
  19967. 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19968. 8947 .loc 1 3614 11 view .LVU3259
  19969. 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19970. 8948 .loc 1 3618 11 view .LVU3260
  19971. 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  19972. 8949 .loc 1 3612 12 is_stmt 0 view .LVU3261
  19973. 8950 00e0 36F00073 bics r3, r6, #33554432
  19974. 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19975. 8951 .loc 1 3614 11 view .LVU3262
  19976. 8952 00e4 CDF80090 str r9, [sp]
  19977. 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19978. 8953 .loc 1 3618 11 view .LVU3263
  19979. 8954 00e8 13BF iteet ne
  19980. 8955 00ea 94F82820 ldrbne r2, [r4, #40] @ zero_extendqisi2
  19981. 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19982. 8956 .loc 1 3614 11 view .LVU3264
  19983. 8957 00ee 4346 moveq r3, r8
  19984. 8958 00f0 5FFA8AF2 uxtbeq r2, r10
  19985. 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19986. 8959 .loc 1 3618 11 view .LVU3265
  19987. 8960 00f4 4346 movne r3, r8
  19988. 8961 00f6 3946 mov r1, r7
  19989. 8962 00f8 2046 mov r0, r4
  19990. 8963 .LVL577:
  19991. 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  19992. 8964 .loc 1 3618 11 view .LVU3266
  19993. 8965 00fa FFF7FEFF bl I2C_TransferConfig
  19994. 8966 .LVL578:
  19995. 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19996. 8967 .loc 1 3622 9 is_stmt 1 view .LVU3267
  19997. 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  19998. 8968 .loc 1 3622 25 is_stmt 0 view .LVU3268
  19999. 8969 00fe 638D ldrh r3, [r4, #42]
  20000. 8970 0100 218D ldrh r1, [r4, #40]
  20001. 8971 .LBB375:
  20002. 8972 .LBB376:
  20003. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20004. 8973 .loc 1 7441 3 view .LVU3269
  20005. 8974 0102 2268 ldr r2, [r4]
  20006. 8975 .LBE376:
  20007. 8976 .LBE375:
  20008. 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20009. 8977 .loc 1 3622 25 view .LVU3270
  20010. 8978 0104 5B1A subs r3, r3, r1
  20011. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 346
  20012. 8979 0106 9BB2 uxth r3, r3
  20013. 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20014. 8980 .loc 1 3625 9 view .LVU3271
  20015. 8981 0108 0021 movs r1, #0
  20016. 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20017. 8982 .loc 1 3622 25 view .LVU3272
  20018. 8983 010a 6385 strh r3, [r4, #42] @ movhi
  20019. 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20020. 8984 .loc 1 3625 9 is_stmt 1 view .LVU3273
  20021. 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20022. 8985 .loc 1 3625 9 view .LVU3274
  20023. 8986 010c 84F84010 strb r1, [r4, #64]
  20024. 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20025. 8987 .loc 1 3625 9 view .LVU3275
  20026. 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20027. 8988 .loc 1 3631 9 view .LVU3276
  20028. 8989 .LVL579:
  20029. 8990 .LBB378:
  20030. 8991 .LBI375:
  20031. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20032. 8992 .loc 1 7360 13 view .LVU3277
  20033. 8993 .LBB377:
  20034. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20035. 8994 .loc 1 7362 3 view .LVU3278
  20036. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  20037. 8995 .loc 1 7364 3 view .LVU3279
  20038. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20039. 8996 .loc 1 7441 3 view .LVU3280
  20040. 8997 0110 1368 ldr r3, [r2]
  20041. 8998 0112 43F09003 orr r3, r3, #144
  20042. 8999 0116 1360 str r3, [r2]
  20043. 9000 .LVL580:
  20044. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20045. 9001 .loc 1 7441 3 is_stmt 0 view .LVU3281
  20046. 9002 .LBE377:
  20047. 9003 .LBE378:
  20048. 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20049. 9004 .loc 1 3634 9 is_stmt 1 view .LVU3282
  20050. 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20051. 9005 .loc 1 3634 29 is_stmt 0 view .LVU3283
  20052. 9006 0118 1368 ldr r3, [r2]
  20053. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20054. 9007 .loc 1 3686 1 view .LVU3284
  20055. 9008 011a 2846 mov r0, r5
  20056. 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20057. 9009 .loc 1 3634 29 view .LVU3285
  20058. 9010 011c 43F48043 orr r3, r3, #16384
  20059. 9011 0120 1360 str r3, [r2]
  20060. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20061. 9012 .loc 1 3686 1 view .LVU3286
  20062. 9013 0122 05B0 add sp, sp, #20
  20063. 9014 .LCFI109:
  20064. 9015 .cfi_remember_state
  20065. 9016 .cfi_def_cfa_offset 36
  20066. 9017 @ sp needed
  20067. 9018 0124 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  20068. 9019 .LVL581:
  20069. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 347
  20070. 9020 .L705:
  20071. 9021 .LCFI110:
  20072. 9022 .cfi_restore_state
  20073. 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  20074. 9023 .loc 1 3532 7 is_stmt 1 view .LVU3287
  20075. 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  20076. 9024 .loc 1 3532 22 is_stmt 0 view .LVU3288
  20077. 9025 0128 FF25 movs r5, #255
  20078. 9026 012a 2585 strh r5, [r4, #40] @ movhi
  20079. 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20080. 9027 .loc 1 3533 7 is_stmt 1 view .LVU3289
  20081. 9028 .LVL582:
  20082. 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  20083. 9029 .loc 1 3541 5 view .LVU3290
  20084. 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20085. 9030 .loc 1 3533 16 is_stmt 0 view .LVU3291
  20086. 9031 012c 4FF08078 mov r8, #16777216
  20087. 9032 .LVL583:
  20088. 9033 .L668:
  20089. 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME)))
  20090. 9034 .loc 1 3541 31 discriminator 1 view .LVU3292
  20091. 9035 0130 36F00073 bics r3, r6, #33554432
  20092. 9036 0134 3CD1 bne .L709
  20093. 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20094. 9037 .loc 1 3546 7 is_stmt 1 view .LVU3293
  20095. 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20096. 9038 .loc 1 3546 11 is_stmt 0 view .LVU3294
  20097. 9039 0136 2368 ldr r3, [r4]
  20098. 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20099. 9040 .loc 1 3546 30 view .LVU3295
  20100. 9041 0138 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2
  20101. 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20102. 9042 .loc 1 3546 28 view .LVU3296
  20103. 9043 013c 9962 str r1, [r3, #40]
  20104. 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20105. 9044 .loc 1 3549 7 is_stmt 1 view .LVU3297
  20106. 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  20107. 9045 .loc 1 3552 11 is_stmt 0 view .LVU3298
  20108. 9046 013e 638D ldrh r3, [r4, #42]
  20109. 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20110. 9047 .loc 1 3549 21 view .LVU3299
  20111. 9048 0140 6262 str r2, [r4, #36]
  20112. 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  20113. 9049 .loc 1 3551 7 is_stmt 1 view .LVU3300
  20114. 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  20115. 9050 .loc 1 3552 22 is_stmt 0 view .LVU3301
  20116. 9051 0142 013B subs r3, r3, #1
  20117. 9052 0144 9BB2 uxth r3, r3
  20118. 9053 0146 6385 strh r3, [r4, #42] @ movhi
  20119. 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20120. 9054 .loc 1 3553 21 view .LVU3302
  20121. 9055 0148 6B1E subs r3, r5, #1
  20122. 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  20123. 9056 .loc 1 3551 18 view .LVU3303
  20124. 9057 014a AA46 mov r10, r5
  20125. 9058 .LVL584:
  20126. 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  20127. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 348
  20128. 9059 .loc 1 3552 7 is_stmt 1 view .LVU3304
  20129. 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20130. 9060 .loc 1 3553 7 view .LVU3305
  20131. 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20132. 9061 .loc 1 3553 21 is_stmt 0 view .LVU3306
  20133. 9062 014c 9DB2 uxth r5, r3
  20134. 9063 .LVL585:
  20135. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20136. 9064 .loc 1 3559 14 view .LVU3307
  20137. 9065 014e 236B ldr r3, [r4, #48]
  20138. 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20139. 9066 .loc 1 3553 21 view .LVU3308
  20140. 9067 0150 2585 strh r5, [r4, #40] @ movhi
  20141. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20142. 9068 .loc 1 3559 5 is_stmt 1 view .LVU3309
  20143. 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20144. 9069 .loc 1 3559 8 is_stmt 0 view .LVU3310
  20145. 9070 0152 112B cmp r3, #17
  20146. 9071 0154 97D1 bne .L671
  20147. 9072 .L706:
  20148. 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20149. 9073 .loc 1 3560 10 view .LVU3311
  20150. 9074 0156 AA2E cmp r6, #170
  20151. 9075 0158 95D0 beq .L671
  20152. 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20153. 9076 .loc 1 3560 10 discriminator 2 view .LVU3312
  20154. 9077 015a B6F52A4F cmp r6, #43520
  20155. 9078 015e 92D0 beq .L671
  20156. 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20157. 9079 .loc 1 3562 19 view .LVU3313
  20158. 9080 0160 4FF00009 mov r9, #0
  20159. 9081 .LVL586:
  20160. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20161. 9082 .loc 1 3576 5 is_stmt 1 view .LVU3314
  20162. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20163. 9083 .loc 1 3576 8 is_stmt 0 view .LVU3315
  20164. 9084 0164 002D cmp r5, #0
  20165. 9085 0166 A4D1 bne .L710
  20166. 9086 .LVL587:
  20167. 9087 .L675:
  20168. 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20169. 9088 .loc 1 3654 7 is_stmt 1 view .LVU3316
  20170. 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20171. 9089 .loc 1 3654 21 is_stmt 0 view .LVU3317
  20172. 9090 0168 294B ldr r3, .L711+16
  20173. 9091 016a 6363 str r3, [r4, #52]
  20174. 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20175. 9092 .loc 1 3658 7 is_stmt 1 view .LVU3318
  20176. 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20177. 9093 .loc 1 3660 9 view .LVU3319
  20178. 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20179. 9094 .loc 1 3658 10 is_stmt 0 view .LVU3320
  20180. 9095 016c 36F00073 bics r3, r6, #33554432
  20181. 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20182. 9096 .loc 1 3664 9 view .LVU3321
  20183. 9097 0170 18BF it ne
  20184. 9098 0172 2A46 movne r2, r5
  20185. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 349
  20186. 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20187. 9099 .loc 1 3660 9 view .LVU3322
  20188. 9100 0174 4346 mov r3, r8
  20189. 9101 0176 08BF it eq
  20190. 9102 0178 5FFA8AF2 uxtbeq r2, r10
  20191. 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20192. 9103 .loc 1 3664 9 is_stmt 1 view .LVU3323
  20193. 9104 017c 2046 mov r0, r4
  20194. 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20195. 9105 .loc 1 3660 9 is_stmt 0 view .LVU3324
  20196. 9106 017e CDF80090 str r9, [sp]
  20197. 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20198. 9107 .loc 1 3664 9 view .LVU3325
  20199. 9108 0182 3946 mov r1, r7
  20200. 9109 0184 FFF7FEFF bl I2C_TransferConfig
  20201. 9110 .LVL588:
  20202. 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20203. 9111 .loc 1 3668 7 is_stmt 1 view .LVU3326
  20204. 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20205. 9112 .loc 1 3668 7 view .LVU3327
  20206. 9113 0188 0025 movs r5, #0
  20207. 9114 .LBB379:
  20208. 9115 .LBB380:
  20209. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20210. 9116 .loc 1 7441 3 is_stmt 0 view .LVU3328
  20211. 9117 018a 2268 ldr r2, [r4]
  20212. 9118 .LBE380:
  20213. 9119 .LBE379:
  20214. 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20215. 9120 .loc 1 3668 7 view .LVU3329
  20216. 9121 018c 84F84050 strb r5, [r4, #64]
  20217. 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20218. 9122 .loc 1 3668 7 is_stmt 1 view .LVU3330
  20219. 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20220. 9123 .loc 1 3677 7 view .LVU3331
  20221. 9124 .LVL589:
  20222. 9125 .LBB383:
  20223. 9126 .LBI379:
  20224. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20225. 9127 .loc 1 7360 13 view .LVU3332
  20226. 9128 .LBB381:
  20227. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20228. 9129 .loc 1 7362 3 view .LVU3333
  20229. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  20230. 9130 .loc 1 7364 3 view .LVU3334
  20231. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20232. 9131 .loc 1 7441 3 view .LVU3335
  20233. 9132 0190 1368 ldr r3, [r2]
  20234. 9133 .LBE381:
  20235. 9134 .LBE383:
  20236. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20237. 9135 .loc 1 3686 1 is_stmt 0 view .LVU3336
  20238. 9136 0192 2846 mov r0, r5
  20239. 9137 .LBB384:
  20240. 9138 .LBB382:
  20241. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20242. 9139 .loc 1 7441 3 view .LVU3337
  20243. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 350
  20244. 9140 0194 43F0F203 orr r3, r3, #242
  20245. 9141 0198 1360 str r3, [r2]
  20246. 9142 .LVL590:
  20247. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20248. 9143 .loc 1 7441 3 view .LVU3338
  20249. 9144 .LBE382:
  20250. 9145 .LBE384:
  20251. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20252. 9146 .loc 1 3686 1 view .LVU3339
  20253. 9147 019a 05B0 add sp, sp, #20
  20254. 9148 .LCFI111:
  20255. 9149 .cfi_remember_state
  20256. 9150 .cfi_def_cfa_offset 36
  20257. 9151 @ sp needed
  20258. 9152 019c BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  20259. 9153 .LVL591:
  20260. 9154 .L684:
  20261. 9155 .LCFI112:
  20262. 9156 .cfi_restore_state
  20263. 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20264. 9157 .loc 1 3684 12 view .LVU3340
  20265. 9158 01a0 0225 movs r5, #2
  20266. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20267. 9159 .loc 1 3686 1 view .LVU3341
  20268. 9160 01a2 2846 mov r0, r5
  20269. 9161 01a4 05B0 add sp, sp, #20
  20270. 9162 .LCFI113:
  20271. 9163 .cfi_remember_state
  20272. 9164 .cfi_def_cfa_offset 36
  20273. 9165 @ sp needed
  20274. 9166 01a6 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  20275. 9167 .LVL592:
  20276. 9168 .L687:
  20277. 9169 .LCFI114:
  20278. 9170 .cfi_restore_state
  20279. 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  20280. 9171 .loc 1 3507 12 view .LVU3342
  20281. 9172 01aa DFF86890 ldr r9, .L711+20
  20282. 9173 01ae 7EE7 b .L672
  20283. 9174 .LVL593:
  20284. 9175 .L709:
  20285. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20286. 9176 .loc 1 3576 13 view .LVU3343
  20287. 9177 01b0 258D ldrh r5, [r4, #40]
  20288. 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20289. 9178 .loc 1 3509 12 view .LVU3344
  20290. 9179 01b2 4FF0000A mov r10, #0
  20291. 9180 01b6 63E7 b .L669
  20292. 9181 .LVL594:
  20293. 9182 .L708:
  20294. 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  20295. 9183 .loc 1 3639 9 is_stmt 1 view .LVU3345
  20296. 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  20297. 9184 .loc 1 3639 25 is_stmt 0 view .LVU3346
  20298. 9185 01b8 2023 movs r3, #32
  20299. 9186 01ba 84F84130 strb r3, [r4, #65]
  20300. 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20301. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 351
  20302. 9187 .loc 1 3640 9 is_stmt 1 view .LVU3347
  20303. 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20304. 9188 .loc 1 3640 25 is_stmt 0 view .LVU3348
  20305. 9189 01be 84F842B0 strb fp, [r4, #66]
  20306. 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20307. 9190 .loc 1 3643 9 is_stmt 1 view .LVU3349
  20308. 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20309. 9191 .loc 1 3643 25 is_stmt 0 view .LVU3350
  20310. 9192 01c2 636C ldr r3, [r4, #68]
  20311. 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20312. 9193 .loc 1 3646 9 view .LVU3351
  20313. 9194 01c4 84F840B0 strb fp, [r4, #64]
  20314. 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20315. 9195 .loc 1 3648 16 view .LVU3352
  20316. 9196 01c8 0125 movs r5, #1
  20317. 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20318. 9197 .loc 1 3643 25 view .LVU3353
  20319. 9198 01ca 43F01003 orr r3, r3, #16
  20320. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20321. 9199 .loc 1 3686 1 view .LVU3354
  20322. 9200 01ce 2846 mov r0, r5
  20323. 9201 .LVL595:
  20324. 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20325. 9202 .loc 1 3643 25 view .LVU3355
  20326. 9203 01d0 6364 str r3, [r4, #68]
  20327. 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20328. 9204 .loc 1 3646 9 is_stmt 1 view .LVU3356
  20329. 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20330. 9205 .loc 1 3646 9 view .LVU3357
  20331. 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20332. 9206 .loc 1 3646 9 view .LVU3358
  20333. 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20334. 9207 .loc 1 3648 9 view .LVU3359
  20335. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20336. 9208 .loc 1 3686 1 is_stmt 0 view .LVU3360
  20337. 9209 01d2 05B0 add sp, sp, #20
  20338. 9210 .LCFI115:
  20339. 9211 .cfi_remember_state
  20340. 9212 .cfi_def_cfa_offset 36
  20341. 9213 @ sp needed
  20342. 9214 01d4 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  20343. 9215 .LVL596:
  20344. 9216 .L707:
  20345. 9217 .LCFI116:
  20346. 9218 .cfi_restore_state
  20347. 9219 .LBB385:
  20348. 9220 .LBB374:
  20349. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20350. 9221 .loc 1 7521 5 is_stmt 1 view .LVU3361
  20351. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20352. 9222 .loc 1 7521 23 is_stmt 0 view .LVU3362
  20353. 9223 01d8 0023 movs r3, #0
  20354. 9224 01da E362 str r3, [r4, #44]
  20355. 9225 .LVL597:
  20356. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20357. 9226 .loc 1 7521 23 view .LVU3363
  20358. 9227 01dc 5EE7 b .L674
  20359. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 352
  20360. 9228 .LVL598:
  20361. 9229 .L676:
  20362. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20363. 9230 .loc 1 7521 23 view .LVU3364
  20364. 9231 .LBE374:
  20365. 9232 .LBE385:
  20366. 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  20367. 9233 .loc 1 3597 9 is_stmt 1 view .LVU3365
  20368. 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  20369. 9234 .loc 1 3597 25 is_stmt 0 view .LVU3366
  20370. 9235 01de 2023 movs r3, #32
  20371. 9236 01e0 84F84130 strb r3, [r4, #65]
  20372. 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20373. 9237 .loc 1 3598 9 is_stmt 1 view .LVU3367
  20374. 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20375. 9238 .loc 1 3598 25 is_stmt 0 view .LVU3368
  20376. 9239 01e4 84F84200 strb r0, [r4, #66]
  20377. 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20378. 9240 .loc 1 3601 9 is_stmt 1 view .LVU3369
  20379. 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20380. 9241 .loc 1 3601 25 is_stmt 0 view .LVU3370
  20381. 9242 01e8 636C ldr r3, [r4, #68]
  20382. 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20383. 9243 .loc 1 3604 9 view .LVU3371
  20384. 9244 01ea 84F84000 strb r0, [r4, #64]
  20385. 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20386. 9245 .loc 1 3606 16 view .LVU3372
  20387. 9246 01ee 0125 movs r5, #1
  20388. 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20389. 9247 .loc 1 3601 25 view .LVU3373
  20390. 9248 01f0 43F08003 orr r3, r3, #128
  20391. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20392. 9249 .loc 1 3686 1 view .LVU3374
  20393. 9250 01f4 2846 mov r0, r5
  20394. 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20395. 9251 .loc 1 3601 25 view .LVU3375
  20396. 9252 01f6 6364 str r3, [r4, #68]
  20397. 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20398. 9253 .loc 1 3604 9 is_stmt 1 view .LVU3376
  20399. 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20400. 9254 .loc 1 3604 9 view .LVU3377
  20401. 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20402. 9255 .loc 1 3604 9 view .LVU3378
  20403. 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20404. 9256 .loc 1 3606 9 view .LVU3379
  20405. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20406. 9257 .loc 1 3686 1 is_stmt 0 view .LVU3380
  20407. 9258 01f8 05B0 add sp, sp, #20
  20408. 9259 .LCFI117:
  20409. 9260 .cfi_def_cfa_offset 36
  20410. 9261 @ sp needed
  20411. 9262 01fa BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
  20412. 9263 .LVL599:
  20413. 9264 .L712:
  20414. 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20415. 9265 .loc 1 3686 1 view .LVU3381
  20416. 9266 01fe 00BF .align 2
  20417. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 353
  20418. 9267 .L711:
  20419. 9268 0200 00000000 .word .LC0
  20420. 9269 0204 00000000 .word I2C_Master_ISR_DMA
  20421. 9270 0208 00000000 .word I2C_DMAMasterTransmitCplt
  20422. 9271 020c 00000000 .word I2C_DMAError
  20423. 9272 0210 00000000 .word I2C_Master_ISR_IT
  20424. 9273 0214 00200080 .word -2147475456
  20425. 9274 .cfi_endproc
  20426. 9275 .LFE154:
  20427. 9277 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
  20428. 9278 .align 1
  20429. 9279 .p2align 2,,3
  20430. 9280 .global HAL_I2C_Master_Seq_Receive_IT
  20431. 9281 .syntax unified
  20432. 9282 .thumb
  20433. 9283 .thumb_func
  20434. 9285 HAL_I2C_Master_Seq_Receive_IT:
  20435. 9286 .LVL600:
  20436. 9287 .LFB155:
  20437. 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20438. 9288 .loc 1 3702 1 is_stmt 1 view -0
  20439. 9289 .cfi_startproc
  20440. 9290 @ args = 4, pretend = 0, frame = 8
  20441. 9291 @ frame_needed = 0, uses_anonymous_args = 0
  20442. 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
  20443. 9292 .loc 1 3703 3 view .LVU3383
  20444. 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20445. 9293 .loc 1 3704 3 view .LVU3384
  20446. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20447. 9294 .loc 1 3707 3 view .LVU3385
  20448. 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20449. 9295 .loc 1 3702 1 is_stmt 0 view .LVU3386
  20450. 9296 0000 70B5 push {r4, r5, r6, lr}
  20451. 9297 .LCFI118:
  20452. 9298 .cfi_def_cfa_offset 16
  20453. 9299 .cfi_offset 4, -16
  20454. 9300 .cfi_offset 5, -12
  20455. 9301 .cfi_offset 6, -8
  20456. 9302 .cfi_offset 14, -4
  20457. 9303 0002 84B0 sub sp, sp, #16
  20458. 9304 .LCFI119:
  20459. 9305 .cfi_def_cfa_offset 32
  20460. 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20461. 9306 .loc 1 3702 1 view .LVU3387
  20462. 9307 0004 0D46 mov r5, r1
  20463. 9308 0006 089E ldr r6, [sp, #32]
  20464. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20465. 9309 .loc 1 3707 3 view .LVU3388
  20466. 9310 0008 36F08071 bics r1, r6, #16777216
  20467. 9311 .LVL601:
  20468. 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20469. 9312 .loc 1 3702 1 view .LVU3389
  20470. 9313 000c 0446 mov r4, r0
  20471. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20472. 9314 .loc 1 3707 3 view .LVU3390
  20473. 9315 000e 10D0 beq .L714
  20474. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20475. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 354
  20476. 9316 .loc 1 3707 3 discriminator 2 view .LVU3391
  20477. 9317 0010 B6F1007F cmp r6, #33554432
  20478. 9318 0014 0DD0 beq .L714
  20479. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20480. 9319 .loc 1 3707 3 discriminator 4 view .LVU3392
  20481. 9320 0016 AA2E cmp r6, #170
  20482. 9321 0018 0BD0 beq .L714
  20483. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20484. 9322 .loc 1 3707 3 discriminator 5 view .LVU3393
  20485. 9323 001a B6F52A4F cmp r6, #43520
  20486. 9324 001e 08D0 beq .L714
  20487. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20488. 9325 .loc 1 3707 3 discriminator 6 view .LVU3394
  20489. 9326 0020 3048 ldr r0, .L745
  20490. 9327 .LVL602:
  20491. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20492. 9328 .loc 1 3707 3 discriminator 6 view .LVU3395
  20493. 9329 0022 40F67B61 movw r1, #3707
  20494. 9330 0026 CDE90223 strd r2, r3, [sp, #8]
  20495. 9331 002a FFF7FEFF bl assert_failed
  20496. 9332 .LVL603:
  20497. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20498. 9333 .loc 1 3707 3 discriminator 6 view .LVU3396
  20499. 9334 002e DDE90223 ldrd r2, r3, [sp, #8]
  20500. 9335 .LVL604:
  20501. 9336 .L714:
  20502. 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20503. 9337 .loc 1 3709 3 is_stmt 1 view .LVU3397
  20504. 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20505. 9338 .loc 1 3709 11 is_stmt 0 view .LVU3398
  20506. 9339 0032 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  20507. 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20508. 9340 .loc 1 3709 6 view .LVU3399
  20509. 9341 0036 2029 cmp r1, #32
  20510. 9342 0038 4CD1 bne .L723
  20511. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20512. 9343 .loc 1 3712 5 is_stmt 1 view .LVU3400
  20513. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20514. 9344 .loc 1 3712 5 view .LVU3401
  20515. 9345 003a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
  20516. 9346 003e 0129 cmp r1, #1
  20517. 9347 0040 48D0 beq .L723
  20518. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20519. 9348 .loc 1 3712 5 discriminator 2 view .LVU3402
  20520. 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  20521. 9349 .loc 1 3719 23 is_stmt 0 discriminator 2 view .LVU3403
  20522. 9350 0042 6262 str r2, [r4, #36]
  20523. 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20524. 9351 .loc 1 3722 23 discriminator 2 view .LVU3404
  20525. 9352 0044 284A ldr r2, .L745+4
  20526. 9353 0046 6263 str r2, [r4, #52]
  20527. 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  20528. 9354 .loc 1 3714 21 discriminator 2 view .LVU3405
  20529. 9355 0048 2222 movs r2, #34
  20530. 9356 004a 84F84120 strb r2, [r4, #65]
  20531. 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  20532. 9357 .loc 1 3715 21 discriminator 2 view .LVU3406
  20533. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 355
  20534. 9358 004e 1022 movs r2, #16
  20535. 9359 0050 84F84220 strb r2, [r4, #66]
  20536. 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20537. 9360 .loc 1 3716 21 discriminator 2 view .LVU3407
  20538. 9361 0054 0022 movs r2, #0
  20539. 9362 0056 6264 str r2, [r4, #68]
  20540. 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  20541. 9363 .loc 1 3720 23 discriminator 2 view .LVU3408
  20542. 9364 0058 6385 strh r3, [r4, #42] @ movhi
  20543. 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  20544. 9365 .loc 1 3721 23 discriminator 2 view .LVU3409
  20545. 9366 005a E662 str r6, [r4, #44]
  20546. 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20547. 9367 .loc 1 3725 13 discriminator 2 view .LVU3410
  20548. 9368 005c 638D ldrh r3, [r4, #42]
  20549. 9369 005e 9BB2 uxth r3, r3
  20550. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20551. 9370 .loc 1 3712 5 discriminator 2 view .LVU3411
  20552. 9371 0060 0122 movs r2, #1
  20553. 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20554. 9372 .loc 1 3725 8 discriminator 2 view .LVU3412
  20555. 9373 0062 FF2B cmp r3, #255
  20556. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20557. 9374 .loc 1 3712 5 discriminator 2 view .LVU3413
  20558. 9375 0064 84F84020 strb r2, [r4, #64]
  20559. 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20560. 9376 .loc 1 3712 5 is_stmt 1 discriminator 2 view .LVU3414
  20561. 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  20562. 9377 .loc 1 3714 5 discriminator 2 view .LVU3415
  20563. 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  20564. 9378 .loc 1 3715 5 discriminator 2 view .LVU3416
  20565. 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20566. 9379 .loc 1 3716 5 discriminator 2 view .LVU3417
  20567. 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  20568. 9380 .loc 1 3719 5 discriminator 2 view .LVU3418
  20569. 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  20570. 9381 .loc 1 3720 5 discriminator 2 view .LVU3419
  20571. 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
  20572. 9382 .loc 1 3721 5 discriminator 2 view .LVU3420
  20573. 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20574. 9383 .loc 1 3722 5 discriminator 2 view .LVU3421
  20575. 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20576. 9384 .loc 1 3725 5 discriminator 2 view .LVU3422
  20577. 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20578. 9385 .loc 1 3725 8 is_stmt 0 discriminator 2 view .LVU3423
  20579. 9386 0068 26D8 bhi .L742
  20580. 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  20581. 9387 .loc 1 3732 7 is_stmt 1 view .LVU3424
  20582. 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  20583. 9388 .loc 1 3732 28 is_stmt 0 view .LVU3425
  20584. 9389 006a 628D ldrh r2, [r4, #42]
  20585. 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20586. 9390 .loc 1 3733 16 view .LVU3426
  20587. 9391 006c E36A ldr r3, [r4, #44]
  20588. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20589. 9392 .loc 1 3739 14 view .LVU3427
  20590. 9393 006e 216B ldr r1, [r4, #48]
  20591. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 356
  20592. 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  20593. 9394 .loc 1 3732 28 view .LVU3428
  20594. 9395 0070 92B2 uxth r2, r2
  20595. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20596. 9396 .loc 1 3739 8 view .LVU3429
  20597. 9397 0072 1229 cmp r1, #18
  20598. 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  20599. 9398 .loc 1 3732 22 view .LVU3430
  20600. 9399 0074 2285 strh r2, [r4, #40] @ movhi
  20601. 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20602. 9400 .loc 1 3733 7 is_stmt 1 view .LVU3431
  20603. 9401 .LVL605:
  20604. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20605. 9402 .loc 1 3757 5 is_stmt 0 view .LVU3432
  20606. 9403 0076 D2B2 uxtb r2, r2
  20607. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20608. 9404 .loc 1 3739 5 is_stmt 1 view .LVU3433
  20609. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20610. 9405 .loc 1 3739 8 is_stmt 0 view .LVU3434
  20611. 9406 0078 25D0 beq .L743
  20612. 9407 .L718:
  20613. 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20614. 9408 .loc 1 3747 7 is_stmt 1 view .LVU3435
  20615. 9409 .LVL606:
  20616. 9410 .LBB392:
  20617. 9411 .LBI392:
  20618. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20619. 9412 .loc 1 7514 13 view .LVU3436
  20620. 9413 .LBB393:
  20621. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20622. 9414 .loc 1 7519 3 view .LVU3437
  20623. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20624. 9415 .loc 1 7519 11 is_stmt 0 view .LVU3438
  20625. 9416 007a E16A ldr r1, [r4, #44]
  20626. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20627. 9417 .loc 1 7519 6 view .LVU3439
  20628. 9418 007c AA29 cmp r1, #170
  20629. 9419 007e 2ED0 beq .L744
  20630. 9420 .LVL607:
  20631. 9421 .LBB394:
  20632. 9422 .LBI394:
  20633. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20634. 9423 .loc 1 7514 13 is_stmt 1 view .LVU3440
  20635. 9424 .LBB395:
  20636. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20637. 9425 .loc 1 7527 8 view .LVU3441
  20638. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20639. 9426 .loc 1 7527 16 is_stmt 0 view .LVU3442
  20640. 9427 0080 E16A ldr r1, [r4, #44]
  20641. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20642. 9428 .loc 1 7527 11 view .LVU3443
  20643. 9429 0082 B1F52A4F cmp r1, #43520
  20644. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20645. 9430 .loc 1 7529 5 is_stmt 1 view .LVU3444
  20646. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20647. 9431 .loc 1 7529 23 is_stmt 0 view .LVU3445
  20648. 9432 0086 04BF itt eq
  20649. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 357
  20650. 9433 0088 4FF00071 moveq r1, #33554432
  20651. 9434 008c E162 streq r1, [r4, #44]
  20652. 9435 .LVL608:
  20653. 9436 .L721:
  20654. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20655. 9437 .loc 1 7529 23 view .LVU3446
  20656. 9438 .LBE395:
  20657. 9439 .LBE394:
  20658. 9440 .loc 1 7534 3 is_stmt 1 view .LVU3447
  20659. 9441 .loc 1 7534 3 is_stmt 0 view .LVU3448
  20660. 9442 .LBE393:
  20661. 9443 .LBE392:
  20662. 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20663. 9444 .loc 1 3750 7 is_stmt 1 view .LVU3449
  20664. 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20665. 9445 .loc 1 3750 15 is_stmt 0 view .LVU3450
  20666. 9446 008e 618D ldrh r1, [r4, #42]
  20667. 9447 0090 89B2 uxth r1, r1
  20668. 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20669. 9448 .loc 1 3750 10 view .LVU3451
  20670. 9449 0092 FF29 cmp r1, #255
  20671. 9450 0094 21D8 bhi .L725
  20672. 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20673. 9451 .loc 1 3752 9 is_stmt 1 view .LVU3452
  20674. 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20675. 9452 .loc 1 3752 18 is_stmt 0 view .LVU3453
  20676. 9453 0096 E36A ldr r3, [r4, #44]
  20677. 9454 .LVL609:
  20678. 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20679. 9455 .loc 1 3704 12 view .LVU3454
  20680. 9456 0098 1449 ldr r1, .L745+8
  20681. 9457 .L719:
  20682. 9458 .LVL610:
  20683. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20684. 9459 .loc 1 3757 5 is_stmt 1 view .LVU3455
  20685. 9460 009a 0091 str r1, [sp]
  20686. 9461 009c 2046 mov r0, r4
  20687. 9462 009e 2946 mov r1, r5
  20688. 9463 .LVL611:
  20689. 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20690. 9464 .loc 1 3757 5 is_stmt 0 view .LVU3456
  20691. 9465 00a0 FFF7FEFF bl I2C_TransferConfig
  20692. 9466 .LVL612:
  20693. 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20694. 9467 .loc 1 3760 5 is_stmt 1 view .LVU3457
  20695. 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20696. 9468 .loc 1 3760 5 view .LVU3458
  20697. 9469 .LBB397:
  20698. 9470 .LBB398:
  20699. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20700. 9471 .loc 1 7441 3 is_stmt 0 view .LVU3459
  20701. 9472 00a4 2268 ldr r2, [r4]
  20702. 9473 .LBE398:
  20703. 9474 .LBE397:
  20704. 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20705. 9475 .loc 1 3760 5 view .LVU3460
  20706. 9476 00a6 0020 movs r0, #0
  20707. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 358
  20708. 9477 00a8 84F84000 strb r0, [r4, #64]
  20709. 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20710. 9478 .loc 1 3760 5 is_stmt 1 view .LVU3461
  20711. 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20712. 9479 .loc 1 3765 5 view .LVU3462
  20713. 9480 .LVL613:
  20714. 9481 .LBB400:
  20715. 9482 .LBI397:
  20716. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20717. 9483 .loc 1 7360 13 view .LVU3463
  20718. 9484 .LBB399:
  20719. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20720. 9485 .loc 1 7362 3 view .LVU3464
  20721. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  20722. 9486 .loc 1 7364 3 view .LVU3465
  20723. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20724. 9487 .loc 1 7441 3 view .LVU3466
  20725. 9488 00ac 1368 ldr r3, [r2]
  20726. 9489 00ae 43F0F403 orr r3, r3, #244
  20727. 9490 00b2 1360 str r3, [r2]
  20728. 9491 .LVL614:
  20729. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20730. 9492 .loc 1 7441 3 is_stmt 0 view .LVU3467
  20731. 9493 .LBE399:
  20732. 9494 .LBE400:
  20733. 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20734. 9495 .loc 1 3773 1 view .LVU3468
  20735. 9496 00b4 04B0 add sp, sp, #16
  20736. 9497 .LCFI120:
  20737. 9498 .cfi_remember_state
  20738. 9499 .cfi_def_cfa_offset 16
  20739. 9500 @ sp needed
  20740. 9501 00b6 70BD pop {r4, r5, r6, pc}
  20741. 9502 .LVL615:
  20742. 9503 .L742:
  20743. 9504 .LCFI121:
  20744. 9505 .cfi_restore_state
  20745. 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  20746. 9506 .loc 1 3727 7 is_stmt 1 view .LVU3469
  20747. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20748. 9507 .loc 1 3739 14 is_stmt 0 view .LVU3470
  20749. 9508 00b8 216B ldr r1, [r4, #48]
  20750. 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  20751. 9509 .loc 1 3727 22 view .LVU3471
  20752. 9510 00ba FF22 movs r2, #255
  20753. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20754. 9511 .loc 1 3739 8 view .LVU3472
  20755. 9512 00bc 1229 cmp r1, #18
  20756. 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  20757. 9513 .loc 1 3727 22 view .LVU3473
  20758. 9514 00be 2285 strh r2, [r4, #40] @ movhi
  20759. 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20760. 9515 .loc 1 3728 7 is_stmt 1 view .LVU3474
  20761. 9516 .LVL616:
  20762. 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20763. 9517 .loc 1 3728 16 is_stmt 0 view .LVU3475
  20764. 9518 00c0 4FF08073 mov r3, #16777216
  20765. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 359
  20766. 9519 .LVL617:
  20767. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20768. 9520 .loc 1 3739 5 is_stmt 1 view .LVU3476
  20769. 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  20770. 9521 .loc 1 3739 8 is_stmt 0 view .LVU3477
  20771. 9522 00c4 D9D1 bne .L718
  20772. 9523 .L743:
  20773. 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20774. 9524 .loc 1 3740 10 view .LVU3478
  20775. 9525 00c6 AA2E cmp r6, #170
  20776. 9526 00c8 D7D0 beq .L718
  20777. 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20778. 9527 .loc 1 3740 10 discriminator 2 view .LVU3479
  20779. 9528 00ca B6F52A4F cmp r6, #43520
  20780. 9529 00ce D4D0 beq .L718
  20781. 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20782. 9530 .loc 1 3742 19 view .LVU3480
  20783. 9531 00d0 0021 movs r1, #0
  20784. 9532 00d2 E2E7 b .L719
  20785. 9533 .LVL618:
  20786. 9534 .L723:
  20787. 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20788. 9535 .loc 1 3771 12 view .LVU3481
  20789. 9536 00d4 0220 movs r0, #2
  20790. 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20791. 9537 .loc 1 3773 1 view .LVU3482
  20792. 9538 00d6 04B0 add sp, sp, #16
  20793. 9539 .LCFI122:
  20794. 9540 .cfi_remember_state
  20795. 9541 .cfi_def_cfa_offset 16
  20796. 9542 @ sp needed
  20797. 9543 00d8 70BD pop {r4, r5, r6, pc}
  20798. 9544 .LVL619:
  20799. 9545 .L725:
  20800. 9546 .LCFI123:
  20801. 9547 .cfi_restore_state
  20802. 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20803. 9548 .loc 1 3704 12 view .LVU3483
  20804. 9549 00da 0449 ldr r1, .L745+8
  20805. 9550 00dc DDE7 b .L719
  20806. 9551 .LVL620:
  20807. 9552 .L744:
  20808. 9553 .LBB401:
  20809. 9554 .LBB396:
  20810. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20811. 9555 .loc 1 7521 5 is_stmt 1 view .LVU3484
  20812. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20813. 9556 .loc 1 7521 23 is_stmt 0 view .LVU3485
  20814. 9557 00de 0021 movs r1, #0
  20815. 9558 00e0 E162 str r1, [r4, #44]
  20816. 9559 .LVL621:
  20817. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  20818. 9560 .loc 1 7521 23 view .LVU3486
  20819. 9561 00e2 D4E7 b .L721
  20820. 9562 .L746:
  20821. 9563 .align 2
  20822. 9564 .L745:
  20823. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 360
  20824. 9565 00e4 00000000 .word .LC0
  20825. 9566 00e8 00000000 .word I2C_Master_ISR_IT
  20826. 9567 00ec 00240080 .word -2147474432
  20827. 9568 .LBE396:
  20828. 9569 .LBE401:
  20829. 9570 .cfi_endproc
  20830. 9571 .LFE155:
  20831. 9573 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
  20832. 9574 .align 1
  20833. 9575 .p2align 2,,3
  20834. 9576 .global HAL_I2C_Master_Seq_Receive_DMA
  20835. 9577 .syntax unified
  20836. 9578 .thumb
  20837. 9579 .thumb_func
  20838. 9581 HAL_I2C_Master_Seq_Receive_DMA:
  20839. 9582 .LVL622:
  20840. 9583 .LFB156:
  20841. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20842. 9584 .loc 1 3789 1 is_stmt 1 view -0
  20843. 9585 .cfi_startproc
  20844. 9586 @ args = 4, pretend = 0, frame = 8
  20845. 9587 @ frame_needed = 0, uses_anonymous_args = 0
  20846. 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
  20847. 9588 .loc 1 3790 3 view .LVU3488
  20848. 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  20849. 9589 .loc 1 3791 3 view .LVU3489
  20850. 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20851. 9590 .loc 1 3792 3 view .LVU3490
  20852. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20853. 9591 .loc 1 3795 3 view .LVU3491
  20854. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20855. 9592 .loc 1 3789 1 is_stmt 0 view .LVU3492
  20856. 9593 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
  20857. 9594 .LCFI124:
  20858. 9595 .cfi_def_cfa_offset 28
  20859. 9596 .cfi_offset 4, -28
  20860. 9597 .cfi_offset 5, -24
  20861. 9598 .cfi_offset 6, -20
  20862. 9599 .cfi_offset 7, -16
  20863. 9600 .cfi_offset 8, -12
  20864. 9601 .cfi_offset 9, -8
  20865. 9602 .cfi_offset 14, -4
  20866. 9603 0004 85B0 sub sp, sp, #20
  20867. 9604 .LCFI125:
  20868. 9605 .cfi_def_cfa_offset 48
  20869. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20870. 9606 .loc 1 3789 1 view .LVU3493
  20871. 9607 0006 0D46 mov r5, r1
  20872. 9608 0008 0C9E ldr r6, [sp, #48]
  20873. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20874. 9609 .loc 1 3795 3 view .LVU3494
  20875. 9610 000a 36F08071 bics r1, r6, #16777216
  20876. 9611 .LVL623:
  20877. 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  20878. 9612 .loc 1 3789 1 view .LVU3495
  20879. 9613 000e 0446 mov r4, r0
  20880. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20881. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 361
  20882. 9614 .loc 1 3795 3 view .LVU3496
  20883. 9615 0010 10D0 beq .L748
  20884. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20885. 9616 .loc 1 3795 3 discriminator 2 view .LVU3497
  20886. 9617 0012 B6F1007F cmp r6, #33554432
  20887. 9618 0016 0DD0 beq .L748
  20888. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20889. 9619 .loc 1 3795 3 discriminator 4 view .LVU3498
  20890. 9620 0018 AA2E cmp r6, #170
  20891. 9621 001a 0BD0 beq .L748
  20892. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20893. 9622 .loc 1 3795 3 discriminator 5 view .LVU3499
  20894. 9623 001c B6F52A4F cmp r6, #43520
  20895. 9624 0020 08D0 beq .L748
  20896. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20897. 9625 .loc 1 3795 3 discriminator 6 view .LVU3500
  20898. 9626 0022 6948 ldr r0, .L787
  20899. 9627 .LVL624:
  20900. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20901. 9628 .loc 1 3795 3 discriminator 6 view .LVU3501
  20902. 9629 0024 40F6D361 movw r1, #3795
  20903. 9630 0028 CDE90223 strd r2, r3, [sp, #8]
  20904. 9631 002c FFF7FEFF bl assert_failed
  20905. 9632 .LVL625:
  20906. 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20907. 9633 .loc 1 3795 3 discriminator 6 view .LVU3502
  20908. 9634 0030 DDE90223 ldrd r2, r3, [sp, #8]
  20909. 9635 .LVL626:
  20910. 9636 .L748:
  20911. 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20912. 9637 .loc 1 3797 3 is_stmt 1 view .LVU3503
  20913. 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20914. 9638 .loc 1 3797 11 is_stmt 0 view .LVU3504
  20915. 9639 0034 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  20916. 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20917. 9640 .loc 1 3797 6 view .LVU3505
  20918. 9641 0038 2029 cmp r1, #32
  20919. 9642 003a 40F08D80 bne .L762
  20920. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20921. 9643 .loc 1 3800 5 is_stmt 1 view .LVU3506
  20922. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20923. 9644 .loc 1 3800 5 view .LVU3507
  20924. 9645 003e 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
  20925. 9646 0042 0129 cmp r1, #1
  20926. 9647 0044 00F08880 beq .L762
  20927. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20928. 9648 .loc 1 3800 5 discriminator 2 view .LVU3508
  20929. 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  20930. 9649 .loc 1 3802 21 is_stmt 0 discriminator 2 view .LVU3509
  20931. 9650 0048 2221 movs r1, #34
  20932. 9651 004a 84F84110 strb r1, [r4, #65]
  20933. 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  20934. 9652 .loc 1 3803 21 discriminator 2 view .LVU3510
  20935. 9653 004e 1021 movs r1, #16
  20936. 9654 0050 84F84210 strb r1, [r4, #66]
  20937. 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20938. 9655 .loc 1 3804 21 discriminator 2 view .LVU3511
  20939. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 362
  20940. 9656 0054 0021 movs r1, #0
  20941. 9657 0056 6164 str r1, [r4, #68]
  20942. 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  20943. 9658 .loc 1 3808 23 discriminator 2 view .LVU3512
  20944. 9659 0058 6385 strh r3, [r4, #42] @ movhi
  20945. 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20946. 9660 .loc 1 3810 23 discriminator 2 view .LVU3513
  20947. 9661 005a 5C4B ldr r3, .L787+4
  20948. 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  20949. 9662 .loc 1 3809 23 discriminator 2 view .LVU3514
  20950. 9663 005c E662 str r6, [r4, #44]
  20951. 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20952. 9664 .loc 1 3810 23 discriminator 2 view .LVU3515
  20953. 9665 005e 6363 str r3, [r4, #52]
  20954. 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20955. 9666 .loc 1 3813 13 discriminator 2 view .LVU3516
  20956. 9667 0060 638D ldrh r3, [r4, #42]
  20957. 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  20958. 9668 .loc 1 3807 23 discriminator 2 view .LVU3517
  20959. 9669 0062 6262 str r2, [r4, #36]
  20960. 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20961. 9670 .loc 1 3813 13 discriminator 2 view .LVU3518
  20962. 9671 0064 9BB2 uxth r3, r3
  20963. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20964. 9672 .loc 1 3800 5 discriminator 2 view .LVU3519
  20965. 9673 0066 0121 movs r1, #1
  20966. 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20967. 9674 .loc 1 3813 8 discriminator 2 view .LVU3520
  20968. 9675 0068 FF2B cmp r3, #255
  20969. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20970. 9676 .loc 1 3800 5 discriminator 2 view .LVU3521
  20971. 9677 006a 84F84010 strb r1, [r4, #64]
  20972. 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20973. 9678 .loc 1 3800 5 is_stmt 1 discriminator 2 view .LVU3522
  20974. 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
  20975. 9679 .loc 1 3802 5 discriminator 2 view .LVU3523
  20976. 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  20977. 9680 .loc 1 3803 5 discriminator 2 view .LVU3524
  20978. 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20979. 9681 .loc 1 3804 5 discriminator 2 view .LVU3525
  20980. 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  20981. 9682 .loc 1 3807 5 discriminator 2 view .LVU3526
  20982. 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  20983. 9683 .loc 1 3808 5 discriminator 2 view .LVU3527
  20984. 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
  20985. 9684 .loc 1 3809 5 discriminator 2 view .LVU3528
  20986. 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  20987. 9685 .loc 1 3810 5 discriminator 2 view .LVU3529
  20988. 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20989. 9686 .loc 1 3813 5 discriminator 2 view .LVU3530
  20990. 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  20991. 9687 .loc 1 3813 8 is_stmt 0 discriminator 2 view .LVU3531
  20992. 9688 006e 3DD8 bhi .L782
  20993. 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  20994. 9689 .loc 1 3820 7 is_stmt 1 view .LVU3532
  20995. 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  20996. 9690 .loc 1 3820 28 is_stmt 0 view .LVU3533
  20997. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 363
  20998. 9691 0070 638D ldrh r3, [r4, #42]
  20999. 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21000. 9692 .loc 1 3821 16 view .LVU3534
  21001. 9693 0072 E76A ldr r7, [r4, #44]
  21002. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21003. 9694 .loc 1 3827 14 view .LVU3535
  21004. 9695 0074 216B ldr r1, [r4, #48]
  21005. 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  21006. 9696 .loc 1 3820 28 view .LVU3536
  21007. 9697 0076 9BB2 uxth r3, r3
  21008. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21009. 9698 .loc 1 3827 8 view .LVU3537
  21010. 9699 0078 1229 cmp r1, #18
  21011. 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
  21012. 9700 .loc 1 3820 22 view .LVU3538
  21013. 9701 007a 2385 strh r3, [r4, #40] @ movhi
  21014. 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21015. 9702 .loc 1 3821 7 is_stmt 1 view .LVU3539
  21016. 9703 .LVL627:
  21017. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21018. 9704 .loc 1 3827 5 view .LVU3540
  21019. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21020. 9705 .loc 1 3827 8 is_stmt 0 view .LVU3541
  21021. 9706 007c 3DD0 beq .L783
  21022. 9707 .L752:
  21023. 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21024. 9708 .loc 1 3835 7 is_stmt 1 view .LVU3542
  21025. 9709 .LVL628:
  21026. 9710 .LBB412:
  21027. 9711 .LBI412:
  21028. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21029. 9712 .loc 1 7514 13 view .LVU3543
  21030. 9713 .LBB413:
  21031. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21032. 9714 .loc 1 7519 3 view .LVU3544
  21033. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21034. 9715 .loc 1 7519 11 is_stmt 0 view .LVU3545
  21035. 9716 007e E16A ldr r1, [r4, #44]
  21036. 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21037. 9717 .loc 1 7519 6 view .LVU3546
  21038. 9718 0080 AA29 cmp r1, #170
  21039. 9719 0082 71D0 beq .L784
  21040. 9720 .LVL629:
  21041. 9721 .LBB414:
  21042. 9722 .LBI414:
  21043. 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21044. 9723 .loc 1 7514 13 is_stmt 1 view .LVU3547
  21045. 9724 .LBB415:
  21046. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21047. 9725 .loc 1 7527 8 view .LVU3548
  21048. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21049. 9726 .loc 1 7527 16 is_stmt 0 view .LVU3549
  21050. 9727 0084 E16A ldr r1, [r4, #44]
  21051. 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21052. 9728 .loc 1 7527 11 view .LVU3550
  21053. 9729 0086 B1F52A4F cmp r1, #43520
  21054. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21055. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 364
  21056. 9730 .loc 1 7529 5 is_stmt 1 view .LVU3551
  21057. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21058. 9731 .loc 1 7529 23 is_stmt 0 view .LVU3552
  21059. 9732 008a 04BF itt eq
  21060. 9733 008c 4FF00071 moveq r1, #33554432
  21061. 9734 0090 E162 streq r1, [r4, #44]
  21062. 9735 .LVL630:
  21063. 9736 .L755:
  21064. 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21065. 9737 .loc 1 7529 23 view .LVU3553
  21066. 9738 .LBE415:
  21067. 9739 .LBE414:
  21068. 9740 .loc 1 7534 3 is_stmt 1 view .LVU3554
  21069. 9741 .loc 1 7534 3 is_stmt 0 view .LVU3555
  21070. 9742 .LBE413:
  21071. 9743 .LBE412:
  21072. 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21073. 9744 .loc 1 3838 7 is_stmt 1 view .LVU3556
  21074. 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21075. 9745 .loc 1 3838 15 is_stmt 0 view .LVU3557
  21076. 9746 0092 618D ldrh r1, [r4, #42]
  21077. 9747 0094 89B2 uxth r1, r1
  21078. 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21079. 9748 .loc 1 3838 10 view .LVU3558
  21080. 9749 0096 FF29 cmp r1, #255
  21081. 9750 0098 63D8 bhi .L764
  21082. 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21083. 9751 .loc 1 3840 9 is_stmt 1 view .LVU3559
  21084. 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21085. 9752 .loc 1 3840 18 is_stmt 0 view .LVU3560
  21086. 9753 009a E76A ldr r7, [r4, #44]
  21087. 9754 .LVL631:
  21088. 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  21089. 9755 .loc 1 3791 12 view .LVU3561
  21090. 9756 009c DFF84481 ldr r8, .L787+28
  21091. 9757 .L753:
  21092. 9758 .LVL632:
  21093. 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21094. 9759 .loc 1 3844 5 is_stmt 1 view .LVU3562
  21095. 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21096. 9760 .loc 1 3844 8 is_stmt 0 view .LVU3563
  21097. 9761 00a0 002B cmp r3, #0
  21098. 9762 00a2 33D0 beq .L756
  21099. 9763 .L786:
  21100. 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21101. 9764 .loc 1 3846 7 is_stmt 1 view .LVU3564
  21102. 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21103. 9765 .loc 1 3846 15 is_stmt 0 view .LVU3565
  21104. 9766 00a4 E06B ldr r0, [r4, #60]
  21105. 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21106. 9767 .loc 1 3846 10 view .LVU3566
  21107. 9768 00a6 0028 cmp r0, #0
  21108. 9769 00a8 61D0 beq .L757
  21109. 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21110. 9770 .loc 1 3849 9 is_stmt 1 view .LVU3567
  21111. 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  21112. 9771 .loc 1 3859 66 is_stmt 0 view .LVU3568
  21113. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 365
  21114. 9772 00aa 2168 ldr r1, [r4]
  21115. 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21116. 9773 .loc 1 3849 40 view .LVU3569
  21117. 9774 00ac 484E ldr r6, .L787+8
  21118. 9775 00ae 8662 str r6, [r0, #40]
  21119. 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21120. 9776 .loc 1 3852 9 is_stmt 1 view .LVU3570
  21121. 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  21122. 9777 .loc 1 3855 44 is_stmt 0 view .LVU3571
  21123. 9778 00b0 4FF00009 mov r9, #0
  21124. 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21125. 9779 .loc 1 3852 41 view .LVU3572
  21126. 9780 00b4 474E ldr r6, .L787+12
  21127. 9781 00b6 0663 str r6, [r0, #48]
  21128. 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  21129. 9782 .loc 1 3855 9 is_stmt 1 view .LVU3573
  21130. 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21131. 9783 .loc 1 3856 9 view .LVU3574
  21132. 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  21133. 9784 .loc 1 3859 9 view .LVU3575
  21134. 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  21135. 9785 .loc 1 3859 25 is_stmt 0 view .LVU3576
  21136. 9786 00b8 2431 adds r1, r1, #36
  21137. 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  21138. 9787 .loc 1 3855 44 view .LVU3577
  21139. 9788 00ba C0F82C90 str r9, [r0, #44]
  21140. 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21141. 9789 .loc 1 3856 41 view .LVU3578
  21142. 9790 00be C0F83490 str r9, [r0, #52]
  21143. 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  21144. 9791 .loc 1 3859 25 view .LVU3579
  21145. 9792 00c2 FFF7FEFF bl HAL_DMA_Start_IT
  21146. 9793 .LVL633:
  21147. 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21148. 9794 .loc 1 3877 7 is_stmt 1 view .LVU3580
  21149. 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21150. 9795 .loc 1 3877 10 is_stmt 0 view .LVU3581
  21151. 9796 00c6 0646 mov r6, r0
  21152. 9797 00c8 0028 cmp r0, #0
  21153. 9798 00ca 60D0 beq .L785
  21154. 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  21155. 9799 .loc 1 3900 9 is_stmt 1 view .LVU3582
  21156. 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  21157. 9800 .loc 1 3900 25 is_stmt 0 view .LVU3583
  21158. 9801 00cc 2023 movs r3, #32
  21159. 9802 00ce 84F84130 strb r3, [r4, #65]
  21160. 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21161. 9803 .loc 1 3901 9 is_stmt 1 view .LVU3584
  21162. 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21163. 9804 .loc 1 3901 25 is_stmt 0 view .LVU3585
  21164. 9805 00d2 84F84290 strb r9, [r4, #66]
  21165. 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21166. 9806 .loc 1 3904 9 is_stmt 1 view .LVU3586
  21167. 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21168. 9807 .loc 1 3904 25 is_stmt 0 view .LVU3587
  21169. 9808 00d6 636C ldr r3, [r4, #68]
  21170. 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21171. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 366
  21172. 9809 .loc 1 3907 9 view .LVU3588
  21173. 9810 00d8 84F84090 strb r9, [r4, #64]
  21174. 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21175. 9811 .loc 1 3909 16 view .LVU3589
  21176. 9812 00dc 0126 movs r6, #1
  21177. 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21178. 9813 .loc 1 3904 25 view .LVU3590
  21179. 9814 00de 43F01003 orr r3, r3, #16
  21180. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21181. 9815 .loc 1 3941 1 view .LVU3591
  21182. 9816 00e2 3046 mov r0, r6
  21183. 9817 .LVL634:
  21184. 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21185. 9818 .loc 1 3904 25 view .LVU3592
  21186. 9819 00e4 6364 str r3, [r4, #68]
  21187. 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21188. 9820 .loc 1 3907 9 is_stmt 1 view .LVU3593
  21189. 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21190. 9821 .loc 1 3907 9 view .LVU3594
  21191. 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21192. 9822 .loc 1 3907 9 view .LVU3595
  21193. 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21194. 9823 .loc 1 3909 9 view .LVU3596
  21195. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21196. 9824 .loc 1 3941 1 is_stmt 0 view .LVU3597
  21197. 9825 00e6 05B0 add sp, sp, #20
  21198. 9826 .LCFI126:
  21199. 9827 .cfi_remember_state
  21200. 9828 .cfi_def_cfa_offset 28
  21201. 9829 @ sp needed
  21202. 9830 00e8 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  21203. 9831 .LVL635:
  21204. 9832 .L782:
  21205. 9833 .LCFI127:
  21206. 9834 .cfi_restore_state
  21207. 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  21208. 9835 .loc 1 3815 7 is_stmt 1 view .LVU3598
  21209. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21210. 9836 .loc 1 3827 14 is_stmt 0 view .LVU3599
  21211. 9837 00ec 216B ldr r1, [r4, #48]
  21212. 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  21213. 9838 .loc 1 3815 22 view .LVU3600
  21214. 9839 00ee FF23 movs r3, #255
  21215. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21216. 9840 .loc 1 3827 8 view .LVU3601
  21217. 9841 00f0 1229 cmp r1, #18
  21218. 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
  21219. 9842 .loc 1 3815 22 view .LVU3602
  21220. 9843 00f2 2385 strh r3, [r4, #40] @ movhi
  21221. 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21222. 9844 .loc 1 3816 7 is_stmt 1 view .LVU3603
  21223. 9845 .LVL636:
  21224. 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21225. 9846 .loc 1 3816 16 is_stmt 0 view .LVU3604
  21226. 9847 00f4 4FF08077 mov r7, #16777216
  21227. 9848 .LVL637:
  21228. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21229. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 367
  21230. 9849 .loc 1 3827 5 is_stmt 1 view .LVU3605
  21231. 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0))
  21232. 9850 .loc 1 3827 8 is_stmt 0 view .LVU3606
  21233. 9851 00f8 C1D1 bne .L752
  21234. 9852 .L783:
  21235. 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21236. 9853 .loc 1 3828 10 view .LVU3607
  21237. 9854 00fa AA2E cmp r6, #170
  21238. 9855 00fc BFD0 beq .L752
  21239. 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21240. 9856 .loc 1 3828 10 discriminator 2 view .LVU3608
  21241. 9857 00fe B6F52A4F cmp r6, #43520
  21242. 9858 0102 BCD0 beq .L752
  21243. 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21244. 9859 .loc 1 3830 19 view .LVU3609
  21245. 9860 0104 4FF00008 mov r8, #0
  21246. 9861 .LVL638:
  21247. 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21248. 9862 .loc 1 3844 5 is_stmt 1 view .LVU3610
  21249. 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21250. 9863 .loc 1 3844 8 is_stmt 0 view .LVU3611
  21251. 9864 0108 002B cmp r3, #0
  21252. 9865 010a CBD1 bne .L786
  21253. 9866 .LVL639:
  21254. 9867 .L756:
  21255. 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21256. 9868 .loc 1 3915 7 is_stmt 1 view .LVU3612
  21257. 9869 .LBB417:
  21258. 9870 .LBB418:
  21259. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  21260. 9871 .loc 1 7337 3 is_stmt 0 view .LVU3613
  21261. 9872 010c 2368 ldr r3, [r4]
  21262. 9873 010e 324A ldr r2, .L787+16
  21263. 9874 .LBE418:
  21264. 9875 .LBE417:
  21265. 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21266. 9876 .loc 1 3915 21 view .LVU3614
  21267. 9877 0110 3249 ldr r1, .L787+20
  21268. 9878 0112 6163 str r1, [r4, #52]
  21269. 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ);
  21270. 9879 .loc 1 3919 7 is_stmt 1 view .LVU3615
  21271. 9880 .LVL640:
  21272. 9881 .LBB421:
  21273. 9882 .LBI417:
  21274. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  21275. 9883 .loc 1 7333 13 view .LVU3616
  21276. 9884 .LBB419:
  21277. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  21278. 9885 .loc 1 7337 3 view .LVU3617
  21279. 9886 0114 9342 cmp r3, r2
  21280. 9887 0116 09D0 beq .L760
  21281. 9888 0118 02F58062 add r2, r2, #1024
  21282. 9889 011c 9342 cmp r3, r2
  21283. 9890 011e 05D0 beq .L760
  21284. 9891 0120 2948 ldr r0, .L787
  21285. 9892 0122 41F6A941 movw r1, #7337
  21286. 9893 0126 FFF7FEFF bl assert_failed
  21287. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 368
  21288. 9894 .LVL641:
  21289. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  21290. 9895 .loc 1 7347 3 is_stmt 0 view .LVU3618
  21291. 9896 012a 2368 ldr r3, [r4]
  21292. 9897 .L760:
  21293. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  21294. 9898 .loc 1 7338 3 is_stmt 1 view .LVU3619
  21295. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21296. 9899 .loc 1 7339 3 view .LVU3620
  21297. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  21298. 9900 .loc 1 7342 3 view .LVU3621
  21299. 9901 .LVL642:
  21300. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  21301. 9902 .loc 1 7347 3 view .LVU3622
  21302. 9903 012c 5A68 ldr r2, [r3, #4]
  21303. 9904 012e 2C49 ldr r1, .L787+24
  21304. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  21305. 9905 .loc 1 7342 52 is_stmt 0 view .LVU3623
  21306. 9906 0130 C5F30905 ubfx r5, r5, #0, #10
  21307. 9907 .LVL643:
  21308. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  21309. 9908 .loc 1 7347 3 view .LVU3624
  21310. 9909 0134 0A40 ands r2, r2, r1
  21311. 9910 0136 1543 orrs r5, r5, r2
  21312. 9911 0138 45F00075 orr r5, r5, #33554432
  21313. 9912 .LBE419:
  21314. 9913 .LBE421:
  21315. 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21316. 9914 .loc 1 3923 7 view .LVU3625
  21317. 9915 013c 0026 movs r6, #0
  21318. 9916 .LBB422:
  21319. 9917 .LBB420:
  21320. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  21321. 9918 .loc 1 7347 3 view .LVU3626
  21322. 9919 013e 45F41055 orr r5, r5, #9216
  21323. 9920 0142 5D60 str r5, [r3, #4]
  21324. 9921 .LVL644:
  21325. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  21326. 9922 .loc 1 7347 3 view .LVU3627
  21327. 9923 .LBE420:
  21328. 9924 .LBE422:
  21329. 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21330. 9925 .loc 1 3923 7 is_stmt 1 view .LVU3628
  21331. 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21332. 9926 .loc 1 3923 7 view .LVU3629
  21333. 9927 0144 84F84060 strb r6, [r4, #64]
  21334. 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21335. 9928 .loc 1 3923 7 view .LVU3630
  21336. 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21337. 9929 .loc 1 3932 7 view .LVU3631
  21338. 9930 .LVL645:
  21339. 9931 .LBB423:
  21340. 9932 .LBI423:
  21341. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21342. 9933 .loc 1 7360 13 view .LVU3632
  21343. 9934 .LBB424:
  21344. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21345. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 369
  21346. 9935 .loc 1 7362 3 view .LVU3633
  21347. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  21348. 9936 .loc 1 7364 3 view .LVU3634
  21349. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21350. 9937 .loc 1 7441 3 view .LVU3635
  21351. 9938 0148 1A68 ldr r2, [r3]
  21352. 9939 .LBE424:
  21353. 9940 .LBE423:
  21354. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21355. 9941 .loc 1 3941 1 is_stmt 0 view .LVU3636
  21356. 9942 014a 3046 mov r0, r6
  21357. 9943 .LBB426:
  21358. 9944 .LBB425:
  21359. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21360. 9945 .loc 1 7441 3 view .LVU3637
  21361. 9946 014c 42F0F402 orr r2, r2, #244
  21362. 9947 0150 1A60 str r2, [r3]
  21363. 9948 .LVL646:
  21364. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21365. 9949 .loc 1 7441 3 view .LVU3638
  21366. 9950 .LBE425:
  21367. 9951 .LBE426:
  21368. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21369. 9952 .loc 1 3941 1 view .LVU3639
  21370. 9953 0152 05B0 add sp, sp, #20
  21371. 9954 .LCFI128:
  21372. 9955 .cfi_remember_state
  21373. 9956 .cfi_def_cfa_offset 28
  21374. 9957 @ sp needed
  21375. 9958 0154 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  21376. 9959 .LVL647:
  21377. 9960 .L762:
  21378. 9961 .LCFI129:
  21379. 9962 .cfi_restore_state
  21380. 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21381. 9963 .loc 1 3939 12 view .LVU3640
  21382. 9964 0158 0226 movs r6, #2
  21383. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21384. 9965 .loc 1 3941 1 view .LVU3641
  21385. 9966 015a 3046 mov r0, r6
  21386. 9967 015c 05B0 add sp, sp, #20
  21387. 9968 .LCFI130:
  21388. 9969 .cfi_remember_state
  21389. 9970 .cfi_def_cfa_offset 28
  21390. 9971 @ sp needed
  21391. 9972 015e BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  21392. 9973 .LVL648:
  21393. 9974 .L764:
  21394. 9975 .LCFI131:
  21395. 9976 .cfi_restore_state
  21396. 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  21397. 9977 .loc 1 3791 12 view .LVU3642
  21398. 9978 0162 DFF88080 ldr r8, .L787+28
  21399. 9979 0166 9BE7 b .L753
  21400. 9980 .LVL649:
  21401. 9981 .L784:
  21402. 9982 .LBB427:
  21403. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 370
  21404. 9983 .LBB416:
  21405. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21406. 9984 .loc 1 7521 5 is_stmt 1 view .LVU3643
  21407. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21408. 9985 .loc 1 7521 23 is_stmt 0 view .LVU3644
  21409. 9986 0168 0021 movs r1, #0
  21410. 9987 016a E162 str r1, [r4, #44]
  21411. 9988 .LVL650:
  21412. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21413. 9989 .loc 1 7521 23 view .LVU3645
  21414. 9990 016c 91E7 b .L755
  21415. 9991 .LVL651:
  21416. 9992 .L757:
  21417. 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21418. 9993 .loc 1 7521 23 view .LVU3646
  21419. 9994 .LBE416:
  21420. 9995 .LBE427:
  21421. 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  21422. 9996 .loc 1 3865 9 is_stmt 1 view .LVU3647
  21423. 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  21424. 9997 .loc 1 3865 25 is_stmt 0 view .LVU3648
  21425. 9998 016e 2023 movs r3, #32
  21426. 9999 0170 84F84130 strb r3, [r4, #65]
  21427. 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21428. 10000 .loc 1 3866 9 is_stmt 1 view .LVU3649
  21429. 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21430. 10001 .loc 1 3866 25 is_stmt 0 view .LVU3650
  21431. 10002 0174 84F84200 strb r0, [r4, #66]
  21432. 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21433. 10003 .loc 1 3869 9 is_stmt 1 view .LVU3651
  21434. 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21435. 10004 .loc 1 3869 25 is_stmt 0 view .LVU3652
  21436. 10005 0178 636C ldr r3, [r4, #68]
  21437. 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21438. 10006 .loc 1 3872 9 view .LVU3653
  21439. 10007 017a 84F84000 strb r0, [r4, #64]
  21440. 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21441. 10008 .loc 1 3874 16 view .LVU3654
  21442. 10009 017e 0126 movs r6, #1
  21443. 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21444. 10010 .loc 1 3869 25 view .LVU3655
  21445. 10011 0180 43F08003 orr r3, r3, #128
  21446. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21447. 10012 .loc 1 3941 1 view .LVU3656
  21448. 10013 0184 3046 mov r0, r6
  21449. 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21450. 10014 .loc 1 3869 25 view .LVU3657
  21451. 10015 0186 6364 str r3, [r4, #68]
  21452. 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21453. 10016 .loc 1 3872 9 is_stmt 1 view .LVU3658
  21454. 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21455. 10017 .loc 1 3872 9 view .LVU3659
  21456. 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21457. 10018 .loc 1 3872 9 view .LVU3660
  21458. 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21459. 10019 .loc 1 3874 9 view .LVU3661
  21460. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21461. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 371
  21462. 10020 .loc 1 3941 1 is_stmt 0 view .LVU3662
  21463. 10021 0188 05B0 add sp, sp, #20
  21464. 10022 .LCFI132:
  21465. 10023 .cfi_remember_state
  21466. 10024 .cfi_def_cfa_offset 28
  21467. 10025 @ sp needed
  21468. 10026 018a BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  21469. 10027 .LVL652:
  21470. 10028 .L785:
  21471. 10029 .LCFI133:
  21472. 10030 .cfi_restore_state
  21473. 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21474. 10031 .loc 1 3880 9 is_stmt 1 view .LVU3663
  21475. 10032 018e CDF80080 str r8, [sp]
  21476. 10033 0192 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2
  21477. 10034 0196 3B46 mov r3, r7
  21478. 10035 0198 2946 mov r1, r5
  21479. 10036 019a 2046 mov r0, r4
  21480. 10037 .LVL653:
  21481. 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21482. 10038 .loc 1 3880 9 is_stmt 0 view .LVU3664
  21483. 10039 019c FFF7FEFF bl I2C_TransferConfig
  21484. 10040 .LVL654:
  21485. 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21486. 10041 .loc 1 3883 9 is_stmt 1 view .LVU3665
  21487. 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21488. 10042 .loc 1 3883 25 is_stmt 0 view .LVU3666
  21489. 10043 01a0 638D ldrh r3, [r4, #42]
  21490. 10044 01a2 218D ldrh r1, [r4, #40]
  21491. 10045 .LBB428:
  21492. 10046 .LBB429:
  21493. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21494. 10047 .loc 1 7441 3 view .LVU3667
  21495. 10048 01a4 2268 ldr r2, [r4]
  21496. 10049 .LBE429:
  21497. 10050 .LBE428:
  21498. 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21499. 10051 .loc 1 3886 9 view .LVU3668
  21500. 10052 01a6 84F84060 strb r6, [r4, #64]
  21501. 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21502. 10053 .loc 1 3883 25 view .LVU3669
  21503. 10054 01aa 5B1A subs r3, r3, r1
  21504. 10055 01ac 9BB2 uxth r3, r3
  21505. 10056 01ae 6385 strh r3, [r4, #42] @ movhi
  21506. 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21507. 10057 .loc 1 3886 9 is_stmt 1 view .LVU3670
  21508. 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21509. 10058 .loc 1 3886 9 view .LVU3671
  21510. 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21511. 10059 .loc 1 3886 9 view .LVU3672
  21512. 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21513. 10060 .loc 1 3892 9 view .LVU3673
  21514. 10061 .LVL655:
  21515. 10062 .LBB431:
  21516. 10063 .LBI428:
  21517. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21518. 10064 .loc 1 7360 13 view .LVU3674
  21519. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 372
  21520. 10065 .LBB430:
  21521. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21522. 10066 .loc 1 7362 3 view .LVU3675
  21523. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  21524. 10067 .loc 1 7364 3 view .LVU3676
  21525. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21526. 10068 .loc 1 7441 3 view .LVU3677
  21527. 10069 01b0 1368 ldr r3, [r2]
  21528. 10070 01b2 43F09003 orr r3, r3, #144
  21529. 10071 01b6 1360 str r3, [r2]
  21530. 10072 .LVL656:
  21531. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21532. 10073 .loc 1 7441 3 is_stmt 0 view .LVU3678
  21533. 10074 .LBE430:
  21534. 10075 .LBE431:
  21535. 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21536. 10076 .loc 1 3895 9 is_stmt 1 view .LVU3679
  21537. 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21538. 10077 .loc 1 3895 29 is_stmt 0 view .LVU3680
  21539. 10078 01b8 1368 ldr r3, [r2]
  21540. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21541. 10079 .loc 1 3941 1 view .LVU3681
  21542. 10080 01ba 3046 mov r0, r6
  21543. 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21544. 10081 .loc 1 3895 29 view .LVU3682
  21545. 10082 01bc 43F40043 orr r3, r3, #32768
  21546. 10083 01c0 1360 str r3, [r2]
  21547. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21548. 10084 .loc 1 3941 1 view .LVU3683
  21549. 10085 01c2 05B0 add sp, sp, #20
  21550. 10086 .LCFI134:
  21551. 10087 .cfi_def_cfa_offset 28
  21552. 10088 @ sp needed
  21553. 10089 01c4 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
  21554. 10090 .LVL657:
  21555. 10091 .L788:
  21556. 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21557. 10092 .loc 1 3941 1 view .LVU3684
  21558. 10093 .align 2
  21559. 10094 .L787:
  21560. 10095 01c8 00000000 .word .LC0
  21561. 10096 01cc 00000000 .word I2C_Master_ISR_DMA
  21562. 10097 01d0 00000000 .word I2C_DMAMasterReceiveCplt
  21563. 10098 01d4 00000000 .word I2C_DMAError
  21564. 10099 01d8 00540040 .word 1073763328
  21565. 10100 01dc 00000000 .word I2C_Master_ISR_IT
  21566. 10101 01e0 009800FC .word -67069952
  21567. 10102 01e4 00240080 .word -2147474432
  21568. 10103 .cfi_endproc
  21569. 10104 .LFE156:
  21570. 10106 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
  21571. 10107 .align 1
  21572. 10108 .p2align 2,,3
  21573. 10109 .global HAL_I2C_Slave_Seq_Transmit_IT
  21574. 10110 .syntax unified
  21575. 10111 .thumb
  21576. 10112 .thumb_func
  21577. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 373
  21578. 10114 HAL_I2C_Slave_Seq_Transmit_IT:
  21579. 10115 .LVL658:
  21580. 10116 .LFB157:
  21581. 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  21582. 10117 .loc 1 3955 1 is_stmt 1 view -0
  21583. 10118 .cfi_startproc
  21584. 10119 @ args = 0, pretend = 0, frame = 8
  21585. 10120 @ frame_needed = 0, uses_anonymous_args = 0
  21586. 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21587. 10121 .loc 1 3957 3 view .LVU3686
  21588. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21589. 10122 .loc 1 3960 3 view .LVU3687
  21590. 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  21591. 10123 .loc 1 3955 1 is_stmt 0 view .LVU3688
  21592. 10124 0000 70B5 push {r4, r5, r6, lr}
  21593. 10125 .LCFI135:
  21594. 10126 .cfi_def_cfa_offset 16
  21595. 10127 .cfi_offset 4, -16
  21596. 10128 .cfi_offset 5, -12
  21597. 10129 .cfi_offset 6, -8
  21598. 10130 .cfi_offset 14, -4
  21599. 10131 0002 0E46 mov r6, r1
  21600. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21601. 10132 .loc 1 3960 3 view .LVU3689
  21602. 10133 0004 33F08071 bics r1, r3, #16777216
  21603. 10134 .LVL659:
  21604. 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  21605. 10135 .loc 1 3955 1 view .LVU3690
  21606. 10136 0008 82B0 sub sp, sp, #8
  21607. 10137 .LCFI136:
  21608. 10138 .cfi_def_cfa_offset 24
  21609. 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  21610. 10139 .loc 1 3955 1 view .LVU3691
  21611. 10140 000a 0446 mov r4, r0
  21612. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21613. 10141 .loc 1 3960 3 view .LVU3692
  21614. 10142 000c 10D0 beq .L790
  21615. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21616. 10143 .loc 1 3960 3 discriminator 2 view .LVU3693
  21617. 10144 000e B3F1007F cmp r3, #33554432
  21618. 10145 0012 0DD0 beq .L790
  21619. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21620. 10146 .loc 1 3960 3 discriminator 4 view .LVU3694
  21621. 10147 0014 AA2B cmp r3, #170
  21622. 10148 0016 0BD0 beq .L790
  21623. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21624. 10149 .loc 1 3960 3 discriminator 5 view .LVU3695
  21625. 10150 0018 B3F52A4F cmp r3, #43520
  21626. 10151 001c 08D0 beq .L790
  21627. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21628. 10152 .loc 1 3960 3 discriminator 6 view .LVU3696
  21629. 10153 001e 3F48 ldr r0, .L830
  21630. 10154 .LVL660:
  21631. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21632. 10155 .loc 1 3960 3 discriminator 6 view .LVU3697
  21633. 10156 0020 40F67871 movw r1, #3960
  21634. 10157 0024 CDE90023 strd r2, r3, [sp]
  21635. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 374
  21636. 10158 0028 FFF7FEFF bl assert_failed
  21637. 10159 .LVL661:
  21638. 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21639. 10160 .loc 1 3960 3 discriminator 6 view .LVU3698
  21640. 10161 002c DDE90023 ldrd r2, r3, [sp]
  21641. 10162 .LVL662:
  21642. 10163 .L790:
  21643. 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21644. 10164 .loc 1 3962 3 is_stmt 1 view .LVU3699
  21645. 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21646. 10165 .loc 1 3962 22 is_stmt 0 view .LVU3700
  21647. 10166 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  21648. 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21649. 10167 .loc 1 3962 6 view .LVU3701
  21650. 10168 0034 00F02800 and r0, r0, #40
  21651. 10169 0038 2828 cmp r0, #40
  21652. 10170 003a 39D1 bne .L798
  21653. 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21654. 10171 .loc 1 3964 5 is_stmt 1 view .LVU3702
  21655. 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21656. 10172 .loc 1 3964 8 is_stmt 0 view .LVU3703
  21657. 10173 003c 002E cmp r6, #0
  21658. 10174 003e 3AD0 beq .L792
  21659. 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21660. 10175 .loc 1 3964 25 discriminator 1 view .LVU3704
  21661. 10176 0040 002A cmp r2, #0
  21662. 10177 0042 38D0 beq .L792
  21663. 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21664. 10178 .loc 1 3971 5 is_stmt 1 view .LVU3705
  21665. 10179 .LVL663:
  21666. 10180 .LBB438:
  21667. 10181 .LBI438:
  21668. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21669. 10182 .loc 1 7451 13 view .LVU3706
  21670. 10183 .LBB439:
  21671. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21672. 10184 .loc 1 7453 3 view .LVU3707
  21673. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21674. 10185 .loc 1 7455 3 view .LVU3708
  21675. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21676. 10186 .loc 1 7458 5 view .LVU3709
  21677. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21678. 10187 .loc 1 7460 5 view .LVU3710
  21679. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21680. 10188 .loc 1 7506 3 is_stmt 0 view .LVU3711
  21681. 10189 0044 2568 ldr r5, [r4]
  21682. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21683. 10190 .loc 1 7460 24 view .LVU3712
  21684. 10191 0046 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  21685. 10192 .LVL664:
  21686. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21687. 10193 .loc 1 7467 3 is_stmt 1 view .LVU3713
  21688. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21689. 10194 .loc 1 7479 3 view .LVU3714
  21690. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21691. 10195 .loc 1 7482 5 view .LVU3715
  21692. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21693. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 375
  21694. 10196 .loc 1 7485 3 view .LVU3716
  21695. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21696. 10197 .loc 1 7491 3 view .LVU3717
  21697. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21698. 10198 .loc 1 7497 3 view .LVU3718
  21699. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21700. 10199 .loc 1 7506 3 view .LVU3719
  21701. 10200 004a 2968 ldr r1, [r5]
  21702. 10201 004c 21F0FA01 bic r1, r1, #250
  21703. 10202 0050 2960 str r1, [r5]
  21704. 10203 .LVL665:
  21705. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21706. 10204 .loc 1 7506 3 is_stmt 0 view .LVU3720
  21707. 10205 .LBE439:
  21708. 10206 .LBE438:
  21709. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21710. 10207 .loc 1 3974 5 is_stmt 1 view .LVU3721
  21711. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21712. 10208 .loc 1 3974 5 view .LVU3722
  21713. 10209 0052 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
  21714. 10210 0056 0129 cmp r1, #1
  21715. 10211 0058 33D0 beq .L799
  21716. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21717. 10212 .loc 1 3974 5 discriminator 2 view .LVU3723
  21718. 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21719. 10213 .loc 1 3978 13 is_stmt 0 discriminator 2 view .LVU3724
  21720. 10214 005a 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  21721. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21722. 10215 .loc 1 3974 5 discriminator 2 view .LVU3725
  21723. 10216 005e 0120 movs r0, #1
  21724. 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21725. 10217 .loc 1 3978 8 discriminator 2 view .LVU3726
  21726. 10218 0060 2A29 cmp r1, #42
  21727. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21728. 10219 .loc 1 3974 5 discriminator 2 view .LVU3727
  21729. 10220 0062 84F84000 strb r0, [r4, #64]
  21730. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21731. 10221 .loc 1 3974 5 is_stmt 1 discriminator 2 view .LVU3728
  21732. 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21733. 10222 .loc 1 3978 5 discriminator 2 view .LVU3729
  21734. 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21735. 10223 .loc 1 3978 8 is_stmt 0 discriminator 2 view .LVU3730
  21736. 10224 0066 2ED0 beq .L829
  21737. 10225 .L794:
  21738. 4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  21739. 10226 .loc 1 4004 5 is_stmt 1 view .LVU3731
  21740. 4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  21741. 10227 .loc 1 4004 21 is_stmt 0 view .LVU3732
  21742. 10228 0068 2921 movs r1, #41
  21743. 10229 006a 84F84110 strb r1, [r4, #65]
  21744. 4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  21745. 10230 .loc 1 4005 5 is_stmt 1 view .LVU3733
  21746. 4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  21747. 10231 .loc 1 4005 21 is_stmt 0 view .LVU3734
  21748. 10232 006e 2021 movs r1, #32
  21749. 10233 0070 84F84210 strb r1, [r4, #66]
  21750. 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21751. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 376
  21752. 10234 .loc 1 4006 5 is_stmt 1 view .LVU3735
  21753. 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21754. 10235 .loc 1 4006 21 is_stmt 0 view .LVU3736
  21755. 10236 0074 0021 movs r1, #0
  21756. 10237 0076 6164 str r1, [r4, #68]
  21757. 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21758. 10238 .loc 1 4009 5 is_stmt 1 view .LVU3737
  21759. 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21760. 10239 .loc 1 4009 25 is_stmt 0 view .LVU3738
  21761. 10240 0078 6968 ldr r1, [r5, #4]
  21762. 10241 007a 21F40041 bic r1, r1, #32768
  21763. 10242 007e 6960 str r1, [r5, #4]
  21764. 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  21765. 10243 .loc 1 4012 5 is_stmt 1 view .LVU3739
  21766. 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  21767. 10244 .loc 1 4013 23 is_stmt 0 view .LVU3740
  21768. 10245 0080 6285 strh r2, [r4, #42] @ movhi
  21769. 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  21770. 10246 .loc 1 4014 29 view .LVU3741
  21771. 10247 0082 618D ldrh r1, [r4, #42]
  21772. 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  21773. 10248 .loc 1 4015 23 view .LVU3742
  21774. 10249 0084 E362 str r3, [r4, #44]
  21775. 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  21776. 10250 .loc 1 4014 23 view .LVU3743
  21777. 10251 0086 2185 strh r1, [r4, #40] @ movhi
  21778. 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
  21779. 10252 .loc 1 4018 11 view .LVU3744
  21780. 10253 0088 A969 ldr r1, [r5, #24]
  21781. 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21782. 10254 .loc 1 4019 10 view .LVU3745
  21783. 10255 008a AB69 ldr r3, [r5, #24]
  21784. 4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21785. 10256 .loc 1 4016 23 view .LVU3746
  21786. 10257 008c 244A ldr r2, .L830+4
  21787. 10258 008e 6263 str r2, [r4, #52]
  21788. 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21789. 10259 .loc 1 4019 8 view .LVU3747
  21790. 10260 0090 DA03 lsls r2, r3, #15
  21791. 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  21792. 10261 .loc 1 4012 23 view .LVU3748
  21793. 10262 0092 6662 str r6, [r4, #36]
  21794. 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  21795. 10263 .loc 1 4013 5 is_stmt 1 view .LVU3749
  21796. 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  21797. 10264 .loc 1 4014 5 view .LVU3750
  21798. 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  21799. 10265 .loc 1 4015 5 view .LVU3751
  21800. 4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21801. 10266 .loc 1 4016 5 view .LVU3752
  21802. 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
  21803. 10267 .loc 1 4018 5 view .LVU3753
  21804. 10268 .LVL666:
  21805. 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21806. 10269 .loc 1 4019 5 view .LVU3754
  21807. 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21808. 10270 .loc 1 4019 8 is_stmt 0 view .LVU3755
  21809. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 377
  21810. 10271 0094 03D5 bpl .L797
  21811. 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21812. 10272 .loc 1 4019 54 discriminator 1 view .LVU3756
  21813. 10273 0096 0B07 lsls r3, r1, #28
  21814. 4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21815. 10274 .loc 1 4023 7 is_stmt 1 discriminator 1 view .LVU3757
  21816. 10275 0098 44BF itt mi
  21817. 10276 009a 0823 movmi r3, #8
  21818. 10277 009c EB61 strmi r3, [r5, #28]
  21819. 10278 .L797:
  21820. 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21821. 10279 .loc 1 4027 5 view .LVU3758
  21822. 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21823. 10280 .loc 1 4027 5 view .LVU3759
  21824. 10281 009e 0020 movs r0, #0
  21825. 10282 00a0 84F84000 strb r0, [r4, #64]
  21826. 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21827. 10283 .loc 1 4027 5 view .LVU3760
  21828. 4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21829. 10284 .loc 1 4033 5 view .LVU3761
  21830. 10285 .LVL667:
  21831. 10286 .LBB440:
  21832. 10287 .LBI440:
  21833. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21834. 10288 .loc 1 7360 13 view .LVU3762
  21835. 10289 .LBB441:
  21836. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21837. 10290 .loc 1 7362 3 view .LVU3763
  21838. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  21839. 10291 .loc 1 7364 3 view .LVU3764
  21840. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21841. 10292 .loc 1 7441 3 view .LVU3765
  21842. 10293 00a4 2B68 ldr r3, [r5]
  21843. 10294 00a6 43F0FA03 orr r3, r3, #250
  21844. 10295 00aa 2B60 str r3, [r5]
  21845. 10296 .LVL668:
  21846. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21847. 10297 .loc 1 7441 3 is_stmt 0 view .LVU3766
  21848. 10298 .LBE441:
  21849. 10299 .LBE440:
  21850. 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21851. 10300 .loc 1 4041 1 view .LVU3767
  21852. 10301 00ac 02B0 add sp, sp, #8
  21853. 10302 .LCFI137:
  21854. 10303 .cfi_remember_state
  21855. 10304 .cfi_def_cfa_offset 16
  21856. 10305 @ sp needed
  21857. 10306 00ae 70BD pop {r4, r5, r6, pc}
  21858. 10307 .LVL669:
  21859. 10308 .L798:
  21860. 10309 .LCFI138:
  21861. 10310 .cfi_restore_state
  21862. 4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21863. 10311 .loc 1 4039 12 view .LVU3768
  21864. 10312 00b0 0120 movs r0, #1
  21865. 10313 .L791:
  21866. 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21867. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 378
  21868. 10314 .loc 1 4041 1 view .LVU3769
  21869. 10315 00b2 02B0 add sp, sp, #8
  21870. 10316 .LCFI139:
  21871. 10317 .cfi_remember_state
  21872. 10318 .cfi_def_cfa_offset 16
  21873. 10319 @ sp needed
  21874. 10320 00b4 70BD pop {r4, r5, r6, pc}
  21875. 10321 .LVL670:
  21876. 10322 .L792:
  21877. 10323 .LCFI140:
  21878. 10324 .cfi_restore_state
  21879. 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  21880. 10325 .loc 1 3966 7 is_stmt 1 view .LVU3770
  21881. 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  21882. 10326 .loc 1 3966 23 is_stmt 0 view .LVU3771
  21883. 10327 00b6 4FF40073 mov r3, #512
  21884. 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21885. 10328 .loc 1 3967 15 view .LVU3772
  21886. 10329 00ba 0120 movs r0, #1
  21887. 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  21888. 10330 .loc 1 3966 23 view .LVU3773
  21889. 10331 00bc 6364 str r3, [r4, #68]
  21890. 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21891. 10332 .loc 1 3967 7 is_stmt 1 view .LVU3774
  21892. 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21893. 10333 .loc 1 4041 1 is_stmt 0 view .LVU3775
  21894. 10334 00be 02B0 add sp, sp, #8
  21895. 10335 .LCFI141:
  21896. 10336 .cfi_remember_state
  21897. 10337 .cfi_def_cfa_offset 16
  21898. 10338 @ sp needed
  21899. 10339 00c0 70BD pop {r4, r5, r6, pc}
  21900. 10340 .LVL671:
  21901. 10341 .L799:
  21902. 10342 .LCFI142:
  21903. 10343 .cfi_restore_state
  21904. 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21905. 10344 .loc 1 3974 5 view .LVU3776
  21906. 10345 00c2 0220 movs r0, #2
  21907. 10346 00c4 F5E7 b .L791
  21908. 10347 .L829:
  21909. 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21910. 10348 .loc 1 3981 7 is_stmt 1 view .LVU3777
  21911. 10349 .LVL672:
  21912. 10350 .LBB442:
  21913. 10351 .LBI442:
  21914. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21915. 10352 .loc 1 7451 13 view .LVU3778
  21916. 10353 .LBB443:
  21917. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21918. 10354 .loc 1 7453 3 view .LVU3779
  21919. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21920. 10355 .loc 1 7455 3 view .LVU3780
  21921. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21922. 10356 .loc 1 7467 3 view .LVU3781
  21923. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21924. 10357 .loc 1 7470 5 view .LVU3782
  21925. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 379
  21926. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21927. 10358 .loc 1 7472 5 view .LVU3783
  21928. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21929. 10359 .loc 1 7472 24 is_stmt 0 view .LVU3784
  21930. 10360 00c6 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  21931. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21932. 10361 .loc 1 7472 8 view .LVU3785
  21933. 10362 00ca 01F02801 and r1, r1, #40
  21934. 10363 00ce 2829 cmp r1, #40
  21935. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21936. 10364 .loc 1 7506 3 view .LVU3786
  21937. 10365 00d0 2968 ldr r1, [r5]
  21938. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21939. 10366 .loc 1 7472 8 view .LVU3787
  21940. 10367 00d2 0CBF ite eq
  21941. 10368 00d4 6FF04400 mvneq r0, #68
  21942. 10369 00d8 6FF0F400 mvnne r0, #244
  21943. 10370 .LVL673:
  21944. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21945. 10371 .loc 1 7479 3 is_stmt 1 view .LVU3788
  21946. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21947. 10372 .loc 1 7485 3 view .LVU3789
  21948. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21949. 10373 .loc 1 7491 3 view .LVU3790
  21950. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21951. 10374 .loc 1 7497 3 view .LVU3791
  21952. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21953. 10375 .loc 1 7506 3 view .LVU3792
  21954. 10376 00dc 0140 ands r1, r1, r0
  21955. 10377 00de 2960 str r1, [r5]
  21956. 10378 .LVL674:
  21957. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  21958. 10379 .loc 1 7506 3 is_stmt 0 view .LVU3793
  21959. 10380 .LBE443:
  21960. 10381 .LBE442:
  21961. 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21962. 10382 .loc 1 3984 7 is_stmt 1 view .LVU3794
  21963. 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21964. 10383 .loc 1 3984 26 is_stmt 0 view .LVU3795
  21965. 10384 00e0 2968 ldr r1, [r5]
  21966. 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21967. 10385 .loc 1 3984 10 view .LVU3796
  21968. 10386 00e2 0904 lsls r1, r1, #16
  21969. 10387 00e4 C0D5 bpl .L794
  21970. 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21971. 10388 .loc 1 3986 9 is_stmt 1 view .LVU3797
  21972. 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21973. 10389 .loc 1 3986 29 is_stmt 0 view .LVU3798
  21974. 10390 00e6 2968 ldr r1, [r5]
  21975. 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21976. 10391 .loc 1 3988 17 view .LVU3799
  21977. 10392 00e8 E06B ldr r0, [r4, #60]
  21978. 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21979. 10393 .loc 1 3986 29 view .LVU3800
  21980. 10394 00ea 21F40041 bic r1, r1, #32768
  21981. 10395 00ee 2960 str r1, [r5]
  21982. 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21983. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 380
  21984. 10396 .loc 1 3988 9 is_stmt 1 view .LVU3801
  21985. 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21986. 10397 .loc 1 3988 12 is_stmt 0 view .LVU3802
  21987. 10398 00f0 0028 cmp r0, #0
  21988. 10399 00f2 B9D0 beq .L794
  21989. 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21990. 10400 .loc 1 3992 11 is_stmt 1 view .LVU3803
  21991. 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  21992. 10401 .loc 1 3992 43 is_stmt 0 view .LVU3804
  21993. 10402 00f4 0B49 ldr r1, .L830+8
  21994. 10403 00f6 4163 str r1, [r0, #52]
  21995. 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21996. 10404 .loc 1 3995 11 is_stmt 1 view .LVU3805
  21997. 10405 00f8 CDE90023 strd r2, r3, [sp]
  21998. 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  21999. 10406 .loc 1 3995 15 is_stmt 0 view .LVU3806
  22000. 10407 00fc FFF7FEFF bl HAL_DMA_Abort_IT
  22001. 10408 .LVL675:
  22002. 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22003. 10409 .loc 1 3995 14 view .LVU3807
  22004. 10410 0100 DDE90023 ldrd r2, r3, [sp]
  22005. 10411 0104 08B9 cbnz r0, .L796
  22006. 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22007. 10412 .loc 1 4009 9 view .LVU3808
  22008. 10413 0106 2568 ldr r5, [r4]
  22009. 10414 0108 AEE7 b .L794
  22010. 10415 .L796:
  22011. 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22012. 10416 .loc 1 3998 17 view .LVU3809
  22013. 10417 010a E06B ldr r0, [r4, #60]
  22014. 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22015. 10418 .loc 1 3998 13 view .LVU3810
  22016. 10419 010c 416B ldr r1, [r0, #52]
  22017. 10420 010e CDE90023 strd r2, r3, [sp]
  22018. 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22019. 10421 .loc 1 3998 13 is_stmt 1 view .LVU3811
  22020. 10422 0112 8847 blx r1
  22021. 10423 .LVL676:
  22022. 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22023. 10424 .loc 1 4009 9 is_stmt 0 view .LVU3812
  22024. 10425 0114 DDE90023 ldrd r2, r3, [sp]
  22025. 10426 0118 2568 ldr r5, [r4]
  22026. 10427 011a A5E7 b .L794
  22027. 10428 .L831:
  22028. 10429 .align 2
  22029. 10430 .L830:
  22030. 10431 011c 00000000 .word .LC0
  22031. 10432 0120 00000000 .word I2C_Slave_ISR_IT
  22032. 10433 0124 00000000 .word I2C_DMAAbort
  22033. 10434 .cfi_endproc
  22034. 10435 .LFE157:
  22035. 10437 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
  22036. 10438 .align 1
  22037. 10439 .p2align 2,,3
  22038. 10440 .global HAL_I2C_Slave_Seq_Transmit_DMA
  22039. 10441 .syntax unified
  22040. 10442 .thumb
  22041. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 381
  22042. 10443 .thumb_func
  22043. 10445 HAL_I2C_Slave_Seq_Transmit_DMA:
  22044. 10446 .LVL677:
  22045. 10447 .LFB158:
  22046. 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22047. 10448 .loc 1 4055 1 is_stmt 1 view -0
  22048. 10449 .cfi_startproc
  22049. 10450 @ args = 0, pretend = 0, frame = 8
  22050. 10451 @ frame_needed = 0, uses_anonymous_args = 0
  22051. 4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  22052. 10452 .loc 1 4057 3 view .LVU3814
  22053. 4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22054. 10453 .loc 1 4058 3 view .LVU3815
  22055. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22056. 10454 .loc 1 4061 3 view .LVU3816
  22057. 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22058. 10455 .loc 1 4055 1 is_stmt 0 view .LVU3817
  22059. 10456 0000 F0B5 push {r4, r5, r6, r7, lr}
  22060. 10457 .LCFI143:
  22061. 10458 .cfi_def_cfa_offset 20
  22062. 10459 .cfi_offset 4, -20
  22063. 10460 .cfi_offset 5, -16
  22064. 10461 .cfi_offset 6, -12
  22065. 10462 .cfi_offset 7, -8
  22066. 10463 .cfi_offset 14, -4
  22067. 10464 0002 0D46 mov r5, r1
  22068. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22069. 10465 .loc 1 4061 3 view .LVU3818
  22070. 10466 0004 33F08071 bics r1, r3, #16777216
  22071. 10467 .LVL678:
  22072. 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22073. 10468 .loc 1 4055 1 view .LVU3819
  22074. 10469 0008 83B0 sub sp, sp, #12
  22075. 10470 .LCFI144:
  22076. 10471 .cfi_def_cfa_offset 32
  22077. 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22078. 10472 .loc 1 4055 1 view .LVU3820
  22079. 10473 000a 0446 mov r4, r0
  22080. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22081. 10474 .loc 1 4061 3 view .LVU3821
  22082. 10475 000c 10D0 beq .L833
  22083. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22084. 10476 .loc 1 4061 3 discriminator 2 view .LVU3822
  22085. 10477 000e B3F1007F cmp r3, #33554432
  22086. 10478 0012 0DD0 beq .L833
  22087. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22088. 10479 .loc 1 4061 3 discriminator 4 view .LVU3823
  22089. 10480 0014 AA2B cmp r3, #170
  22090. 10481 0016 0BD0 beq .L833
  22091. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22092. 10482 .loc 1 4061 3 discriminator 5 view .LVU3824
  22093. 10483 0018 B3F52A4F cmp r3, #43520
  22094. 10484 001c 08D0 beq .L833
  22095. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22096. 10485 .loc 1 4061 3 discriminator 6 view .LVU3825
  22097. 10486 001e 7548 ldr r0, .L884
  22098. 10487 .LVL679:
  22099. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 382
  22100. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22101. 10488 .loc 1 4061 3 discriminator 6 view .LVU3826
  22102. 10489 0020 40F6DD71 movw r1, #4061
  22103. 10490 0024 CDE90023 strd r2, r3, [sp]
  22104. 10491 0028 FFF7FEFF bl assert_failed
  22105. 10492 .LVL680:
  22106. 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22107. 10493 .loc 1 4061 3 discriminator 6 view .LVU3827
  22108. 10494 002c DDE90023 ldrd r2, r3, [sp]
  22109. 10495 .LVL681:
  22110. 10496 .L833:
  22111. 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22112. 10497 .loc 1 4063 3 is_stmt 1 view .LVU3828
  22113. 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22114. 10498 .loc 1 4063 22 is_stmt 0 view .LVU3829
  22115. 10499 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  22116. 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22117. 10500 .loc 1 4063 6 view .LVU3830
  22118. 10501 0034 00F02800 and r0, r0, #40
  22119. 10502 0038 2828 cmp r0, #40
  22120. 10503 003a 5AD1 bne .L852
  22121. 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22122. 10504 .loc 1 4065 5 is_stmt 1 view .LVU3831
  22123. 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22124. 10505 .loc 1 4065 8 is_stmt 0 view .LVU3832
  22125. 10506 003c 002D cmp r5, #0
  22126. 10507 003e 5BD0 beq .L835
  22127. 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22128. 10508 .loc 1 4065 25 discriminator 1 view .LVU3833
  22129. 10509 0040 002A cmp r2, #0
  22130. 10510 0042 59D0 beq .L835
  22131. 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22132. 10511 .loc 1 4072 5 is_stmt 1 view .LVU3834
  22133. 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22134. 10512 .loc 1 4072 5 view .LVU3835
  22135. 10513 0044 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2
  22136. 10514 0048 0129 cmp r1, #1
  22137. 10515 004a 00F0CF80 beq .L853
  22138. 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22139. 10516 .loc 1 4072 5 discriminator 2 view .LVU3836
  22140. 10517 004e 0121 movs r1, #1
  22141. 10518 0050 84F84010 strb r1, [r4, #64]
  22142. 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22143. 10519 .loc 1 4072 5 discriminator 2 view .LVU3837
  22144. 4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22145. 10520 .loc 1 4075 5 discriminator 2 view .LVU3838
  22146. 10521 .LVL682:
  22147. 10522 .LBB450:
  22148. 10523 .LBI450:
  22149. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22150. 10524 .loc 1 7451 13 discriminator 2 view .LVU3839
  22151. 10525 .LBB451:
  22152. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22153. 10526 .loc 1 7453 3 discriminator 2 view .LVU3840
  22154. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22155. 10527 .loc 1 7455 3 discriminator 2 view .LVU3841
  22156. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22157. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 383
  22158. 10528 .loc 1 7458 5 discriminator 2 view .LVU3842
  22159. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22160. 10529 .loc 1 7460 5 discriminator 2 view .LVU3843
  22161. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22162. 10530 .loc 1 7506 3 is_stmt 0 discriminator 2 view .LVU3844
  22163. 10531 0054 2168 ldr r1, [r4]
  22164. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22165. 10532 .loc 1 7460 24 discriminator 2 view .LVU3845
  22166. 10533 0056 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  22167. 10534 .LVL683:
  22168. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22169. 10535 .loc 1 7467 3 is_stmt 1 discriminator 2 view .LVU3846
  22170. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22171. 10536 .loc 1 7479 3 discriminator 2 view .LVU3847
  22172. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22173. 10537 .loc 1 7482 5 discriminator 2 view .LVU3848
  22174. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22175. 10538 .loc 1 7485 3 discriminator 2 view .LVU3849
  22176. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22177. 10539 .loc 1 7491 3 discriminator 2 view .LVU3850
  22178. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22179. 10540 .loc 1 7497 3 discriminator 2 view .LVU3851
  22180. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22181. 10541 .loc 1 7506 3 discriminator 2 view .LVU3852
  22182. 10542 005a 0868 ldr r0, [r1]
  22183. 10543 005c 20F0FA00 bic r0, r0, #250
  22184. 10544 0060 0860 str r0, [r1]
  22185. 10545 .LVL684:
  22186. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22187. 10546 .loc 1 7506 3 is_stmt 0 discriminator 2 view .LVU3853
  22188. 10547 .LBE451:
  22189. 10548 .LBE450:
  22190. 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22191. 10549 .loc 1 4079 5 is_stmt 1 discriminator 2 view .LVU3854
  22192. 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22193. 10550 .loc 1 4079 13 is_stmt 0 discriminator 2 view .LVU3855
  22194. 10551 0062 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  22195. 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22196. 10552 .loc 1 4079 8 discriminator 2 view .LVU3856
  22197. 10553 0066 2A28 cmp r0, #42
  22198. 10554 .LBB452:
  22199. 10555 .LBB453:
  22200. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22201. 10556 .loc 1 7472 24 discriminator 2 view .LVU3857
  22202. 10557 0068 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  22203. 10558 .LBE453:
  22204. 10559 .LBE452:
  22205. 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22206. 10560 .loc 1 4079 8 discriminator 2 view .LVU3858
  22207. 10561 006c 00F09480 beq .L882
  22208. 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22209. 10562 .loc 1 4104 10 is_stmt 1 view .LVU3859
  22210. 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22211. 10563 .loc 1 4104 13 is_stmt 0 view .LVU3860
  22212. 10564 0070 2928 cmp r0, #41
  22213. 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22214. 10565 .loc 1 4104 18 view .LVU3861
  22215. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 384
  22216. 10566 0072 C6B2 uxtb r6, r0
  22217. 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22218. 10567 .loc 1 4104 13 view .LVU3862
  22219. 10568 0074 72D0 beq .L843
  22220. 10569 .L880:
  22221. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22222. 10570 .loc 1 4145 13 view .LVU3863
  22223. 10571 0076 A06B ldr r0, [r4, #56]
  22224. 10572 .L840:
  22225. 4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22226. 10573 .loc 1 4129 5 is_stmt 1 view .LVU3864
  22227. 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  22228. 10574 .loc 1 4131 5 view .LVU3865
  22229. 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  22230. 10575 .loc 1 4131 21 is_stmt 0 view .LVU3866
  22231. 10576 0078 2926 movs r6, #41
  22232. 10577 007a 84F84160 strb r6, [r4, #65]
  22233. 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  22234. 10578 .loc 1 4132 5 is_stmt 1 view .LVU3867
  22235. 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  22236. 10579 .loc 1 4132 21 is_stmt 0 view .LVU3868
  22237. 10580 007e 2026 movs r6, #32
  22238. 10581 0080 84F84260 strb r6, [r4, #66]
  22239. 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22240. 10582 .loc 1 4133 5 is_stmt 1 view .LVU3869
  22241. 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22242. 10583 .loc 1 4133 21 is_stmt 0 view .LVU3870
  22243. 10584 0084 0026 movs r6, #0
  22244. 10585 0086 6664 str r6, [r4, #68]
  22245. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22246. 10586 .loc 1 4136 5 is_stmt 1 view .LVU3871
  22247. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22248. 10587 .loc 1 4136 25 is_stmt 0 view .LVU3872
  22249. 10588 0088 4F68 ldr r7, [r1, #4]
  22250. 10589 008a 27F40047 bic r7, r7, #32768
  22251. 10590 008e 4F60 str r7, [r1, #4]
  22252. 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  22253. 10591 .loc 1 4139 5 is_stmt 1 view .LVU3873
  22254. 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  22255. 10592 .loc 1 4140 23 is_stmt 0 view .LVU3874
  22256. 10593 0090 6285 strh r2, [r4, #42] @ movhi
  22257. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  22258. 10594 .loc 1 4141 29 view .LVU3875
  22259. 10595 0092 628D ldrh r2, [r4, #42]
  22260. 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  22261. 10596 .loc 1 4142 23 view .LVU3876
  22262. 10597 0094 E362 str r3, [r4, #44]
  22263. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  22264. 10598 .loc 1 4141 29 view .LVU3877
  22265. 10599 0096 93B2 uxth r3, r2
  22266. 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22267. 10600 .loc 1 4143 23 view .LVU3878
  22268. 10601 0098 574A ldr r2, .L884+4
  22269. 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  22270. 10602 .loc 1 4139 23 view .LVU3879
  22271. 10603 009a 6562 str r5, [r4, #36]
  22272. 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  22273. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 385
  22274. 10604 .loc 1 4140 5 is_stmt 1 view .LVU3880
  22275. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  22276. 10605 .loc 1 4141 5 view .LVU3881
  22277. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  22278. 10606 .loc 1 4141 23 is_stmt 0 view .LVU3882
  22279. 10607 009c 2385 strh r3, [r4, #40] @ movhi
  22280. 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  22281. 10608 .loc 1 4142 5 is_stmt 1 view .LVU3883
  22282. 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22283. 10609 .loc 1 4143 5 view .LVU3884
  22284. 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22285. 10610 .loc 1 4143 23 is_stmt 0 view .LVU3885
  22286. 10611 009e 6263 str r2, [r4, #52]
  22287. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22288. 10612 .loc 1 4145 5 is_stmt 1 view .LVU3886
  22289. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22290. 10613 .loc 1 4145 8 is_stmt 0 view .LVU3887
  22291. 10614 00a0 0028 cmp r0, #0
  22292. 10615 00a2 4DD0 beq .L847
  22293. 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22294. 10616 .loc 1 4148 7 is_stmt 1 view .LVU3888
  22295. 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  22296. 10617 .loc 1 4158 23 is_stmt 0 view .LVU3889
  22297. 10618 00a4 01F12802 add r2, r1, #40
  22298. 10619 00a8 2946 mov r1, r5
  22299. 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22300. 10620 .loc 1 4148 38 view .LVU3890
  22301. 10621 00aa 544D ldr r5, .L884+8
  22302. 10622 .LVL685:
  22303. 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22304. 10623 .loc 1 4148 38 view .LVU3891
  22305. 10624 00ac 8562 str r5, [r0, #40]
  22306. 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22307. 10625 .loc 1 4151 7 is_stmt 1 view .LVU3892
  22308. 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22309. 10626 .loc 1 4151 39 is_stmt 0 view .LVU3893
  22310. 10627 00ae 544D ldr r5, .L884+12
  22311. 4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  22312. 10628 .loc 1 4154 42 view .LVU3894
  22313. 10629 00b0 C662 str r6, [r0, #44]
  22314. 4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22315. 10630 .loc 1 4155 39 view .LVU3895
  22316. 10631 00b2 4663 str r6, [r0, #52]
  22317. 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22318. 10632 .loc 1 4151 39 view .LVU3896
  22319. 10633 00b4 0563 str r5, [r0, #48]
  22320. 4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
  22321. 10634 .loc 1 4154 7 is_stmt 1 view .LVU3897
  22322. 4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22323. 10635 .loc 1 4155 7 view .LVU3898
  22324. 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  22325. 10636 .loc 1 4158 7 view .LVU3899
  22326. 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize);
  22327. 10637 .loc 1 4158 23 is_stmt 0 view .LVU3900
  22328. 10638 00b6 FFF7FEFF bl HAL_DMA_Start_IT
  22329. 10639 .LVL686:
  22330. 4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22331. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 386
  22332. 10640 .loc 1 4176 5 is_stmt 1 view .LVU3901
  22333. 4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22334. 10641 .loc 1 4176 8 is_stmt 0 view .LVU3902
  22335. 10642 00ba 18BB cbnz r0, .L883
  22336. 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22337. 10643 .loc 1 4179 7 is_stmt 1 view .LVU3903
  22338. 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22339. 10644 .loc 1 4179 23 is_stmt 0 view .LVU3904
  22340. 10645 00bc 628D ldrh r2, [r4, #42]
  22341. 10646 00be 218D ldrh r1, [r4, #40]
  22342. 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
  22343. 10647 .loc 1 4199 11 view .LVU3905
  22344. 10648 00c0 2368 ldr r3, [r4]
  22345. 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22346. 10649 .loc 1 4179 23 view .LVU3906
  22347. 10650 00c2 521A subs r2, r2, r1
  22348. 10651 00c4 92B2 uxth r2, r2
  22349. 10652 00c6 6285 strh r2, [r4, #42] @ movhi
  22350. 4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22351. 10653 .loc 1 4182 7 is_stmt 1 view .LVU3907
  22352. 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
  22353. 10654 .loc 1 4199 11 is_stmt 0 view .LVU3908
  22354. 10655 00c8 9969 ldr r1, [r3, #24]
  22355. 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22356. 10656 .loc 1 4200 10 view .LVU3909
  22357. 10657 00ca 9A69 ldr r2, [r3, #24]
  22358. 4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22359. 10658 .loc 1 4182 22 view .LVU3910
  22360. 10659 00cc 2085 strh r0, [r4, #40] @ movhi
  22361. 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET))
  22362. 10660 .loc 1 4199 5 is_stmt 1 view .LVU3911
  22363. 10661 .LVL687:
  22364. 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22365. 10662 .loc 1 4200 5 view .LVU3912
  22366. 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22367. 10663 .loc 1 4200 8 is_stmt 0 view .LVU3913
  22368. 10664 00ce D503 lsls r5, r2, #15
  22369. 10665 00d0 03D5 bpl .L851
  22370. 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22371. 10666 .loc 1 4200 54 discriminator 1 view .LVU3914
  22372. 10667 00d2 0A07 lsls r2, r1, #28
  22373. 4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22374. 10668 .loc 1 4204 7 is_stmt 1 discriminator 1 view .LVU3915
  22375. 10669 00d4 44BF itt mi
  22376. 10670 00d6 0822 movmi r2, #8
  22377. 10671 00d8 DA61 strmi r2, [r3, #28]
  22378. 10672 .L851:
  22379. 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22380. 10673 .loc 1 4208 5 view .LVU3916
  22381. 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22382. 10674 .loc 1 4208 5 view .LVU3917
  22383. 10675 00da 0022 movs r2, #0
  22384. 10676 00dc 84F84020 strb r2, [r4, #64]
  22385. 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22386. 10677 .loc 1 4208 5 view .LVU3918
  22387. 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22388. 10678 .loc 1 4211 5 view .LVU3919
  22389. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 387
  22390. 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22391. 10679 .loc 1 4211 25 is_stmt 0 view .LVU3920
  22392. 10680 00e0 1A68 ldr r2, [r3]
  22393. 10681 00e2 42F48042 orr r2, r2, #16384
  22394. 10682 00e6 1A60 str r2, [r3]
  22395. 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22396. 10683 .loc 1 4217 5 is_stmt 1 view .LVU3921
  22397. 10684 .LVL688:
  22398. 10685 .LBB455:
  22399. 10686 .LBI455:
  22400. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22401. 10687 .loc 1 7360 13 view .LVU3922
  22402. 10688 .LBB456:
  22403. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22404. 10689 .loc 1 7362 3 view .LVU3923
  22405. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  22406. 10690 .loc 1 7364 3 view .LVU3924
  22407. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22408. 10691 .loc 1 7441 3 view .LVU3925
  22409. 10692 00e8 1A68 ldr r2, [r3]
  22410. 10693 00ea 42F0B802 orr r2, r2, #184
  22411. 10694 00ee 1A60 str r2, [r3]
  22412. 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22413. 10695 .loc 1 7442 1 is_stmt 0 view .LVU3926
  22414. 10696 00f0 00E0 b .L876
  22415. 10697 .LVL689:
  22416. 10698 .L852:
  22417. 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22418. 10699 .loc 1 7442 1 view .LVU3927
  22419. 10700 .LBE456:
  22420. 10701 .LBE455:
  22421. 4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22422. 10702 .loc 1 4223 12 view .LVU3928
  22423. 10703 00f2 0120 movs r0, #1
  22424. 10704 .LVL690:
  22425. 10705 .L876:
  22426. 4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22427. 10706 .loc 1 4225 1 view .LVU3929
  22428. 10707 00f4 03B0 add sp, sp, #12
  22429. 10708 .LCFI145:
  22430. 10709 .cfi_remember_state
  22431. 10710 .cfi_def_cfa_offset 20
  22432. 10711 @ sp needed
  22433. 10712 00f6 F0BD pop {r4, r5, r6, r7, pc}
  22434. 10713 .LVL691:
  22435. 10714 .L835:
  22436. 10715 .LCFI146:
  22437. 10716 .cfi_restore_state
  22438. 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  22439. 10717 .loc 1 4067 7 is_stmt 1 view .LVU3930
  22440. 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  22441. 10718 .loc 1 4067 23 is_stmt 0 view .LVU3931
  22442. 10719 00f8 4FF40073 mov r3, #512
  22443. 4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22444. 10720 .loc 1 4068 15 view .LVU3932
  22445. 10721 00fc 0120 movs r0, #1
  22446. 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  22447. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 388
  22448. 10722 .loc 1 4067 23 view .LVU3933
  22449. 10723 00fe 6364 str r3, [r4, #68]
  22450. 4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22451. 10724 .loc 1 4068 7 is_stmt 1 view .LVU3934
  22452. 4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22453. 10725 .loc 1 4225 1 is_stmt 0 view .LVU3935
  22454. 10726 0100 03B0 add sp, sp, #12
  22455. 10727 .LCFI147:
  22456. 10728 .cfi_remember_state
  22457. 10729 .cfi_def_cfa_offset 20
  22458. 10730 @ sp needed
  22459. 10731 0102 F0BD pop {r4, r5, r6, r7, pc}
  22460. 10732 .LVL692:
  22461. 10733 .L883:
  22462. 10734 .LCFI148:
  22463. 10735 .cfi_restore_state
  22464. 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  22465. 10736 .loc 1 4187 7 is_stmt 1 view .LVU3936
  22466. 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  22467. 10737 .loc 1 4187 23 is_stmt 0 view .LVU3937
  22468. 10738 0104 2823 movs r3, #40
  22469. 10739 0106 84F84130 strb r3, [r4, #65]
  22470. 4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22471. 10740 .loc 1 4188 7 is_stmt 1 view .LVU3938
  22472. 4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22473. 10741 .loc 1 4188 23 is_stmt 0 view .LVU3939
  22474. 10742 010a 84F84260 strb r6, [r4, #66]
  22475. 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22476. 10743 .loc 1 4191 7 is_stmt 1 view .LVU3940
  22477. 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22478. 10744 .loc 1 4191 23 is_stmt 0 view .LVU3941
  22479. 10745 010e 636C ldr r3, [r4, #68]
  22480. 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22481. 10746 .loc 1 4194 7 view .LVU3942
  22482. 10747 0110 84F84060 strb r6, [r4, #64]
  22483. 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22484. 10748 .loc 1 4191 23 view .LVU3943
  22485. 10749 0114 43F01003 orr r3, r3, #16
  22486. 10750 0118 6364 str r3, [r4, #68]
  22487. 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22488. 10751 .loc 1 4194 7 is_stmt 1 view .LVU3944
  22489. 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22490. 10752 .loc 1 4194 7 view .LVU3945
  22491. 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22492. 10753 .loc 1 4194 7 view .LVU3946
  22493. 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22494. 10754 .loc 1 4196 7 view .LVU3947
  22495. 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22496. 10755 .loc 1 4196 14 is_stmt 0 view .LVU3948
  22497. 10756 011a 0120 movs r0, #1
  22498. 10757 .LVL693:
  22499. 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22500. 10758 .loc 1 4196 14 view .LVU3949
  22501. 10759 011c EAE7 b .L876
  22502. 10760 .LVL694:
  22503. 10761 .L845:
  22504. 4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22505. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 389
  22506. 10762 .loc 1 4129 5 is_stmt 1 view .LVU3950
  22507. 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  22508. 10763 .loc 1 4131 5 view .LVU3951
  22509. 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  22510. 10764 .loc 1 4131 21 is_stmt 0 view .LVU3952
  22511. 10765 011e 84F84160 strb r6, [r4, #65]
  22512. 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  22513. 10766 .loc 1 4132 5 is_stmt 1 view .LVU3953
  22514. 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  22515. 10767 .loc 1 4132 21 is_stmt 0 view .LVU3954
  22516. 10768 0122 2026 movs r6, #32
  22517. 10769 0124 84F84260 strb r6, [r4, #66]
  22518. 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22519. 10770 .loc 1 4133 5 is_stmt 1 view .LVU3955
  22520. 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22521. 10771 .loc 1 4133 21 is_stmt 0 view .LVU3956
  22522. 10772 0128 6064 str r0, [r4, #68]
  22523. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22524. 10773 .loc 1 4136 5 is_stmt 1 view .LVU3957
  22525. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22526. 10774 .loc 1 4136 25 is_stmt 0 view .LVU3958
  22527. 10775 012a 4868 ldr r0, [r1, #4]
  22528. 10776 012c 20F40040 bic r0, r0, #32768
  22529. 10777 0130 4860 str r0, [r1, #4]
  22530. 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  22531. 10778 .loc 1 4139 5 is_stmt 1 view .LVU3959
  22532. 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  22533. 10779 .loc 1 4140 23 is_stmt 0 view .LVU3960
  22534. 10780 0132 6285 strh r2, [r4, #42] @ movhi
  22535. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  22536. 10781 .loc 1 4141 29 view .LVU3961
  22537. 10782 0134 618D ldrh r1, [r4, #42]
  22538. 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22539. 10783 .loc 1 4143 23 view .LVU3962
  22540. 10784 0136 304A ldr r2, .L884+4
  22541. 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  22542. 10785 .loc 1 4139 23 view .LVU3963
  22543. 10786 0138 6562 str r5, [r4, #36]
  22544. 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  22545. 10787 .loc 1 4140 5 is_stmt 1 view .LVU3964
  22546. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  22547. 10788 .loc 1 4141 5 view .LVU3965
  22548. 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  22549. 10789 .loc 1 4141 23 is_stmt 0 view .LVU3966
  22550. 10790 013a 2185 strh r1, [r4, #40] @ movhi
  22551. 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  22552. 10791 .loc 1 4142 5 is_stmt 1 view .LVU3967
  22553. 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  22554. 10792 .loc 1 4142 23 is_stmt 0 view .LVU3968
  22555. 10793 013c E362 str r3, [r4, #44]
  22556. 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22557. 10794 .loc 1 4143 5 is_stmt 1 view .LVU3969
  22558. 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22559. 10795 .loc 1 4143 23 is_stmt 0 view .LVU3970
  22560. 10796 013e 6263 str r2, [r4, #52]
  22561. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22562. 10797 .loc 1 4145 5 is_stmt 1 view .LVU3971
  22563. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 390
  22564. 10798 .L847:
  22565. 4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  22566. 10799 .loc 1 4164 7 view .LVU3972
  22567. 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22568. 10800 .loc 1 4165 23 is_stmt 0 view .LVU3973
  22569. 10801 0140 0022 movs r2, #0
  22570. 4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  22571. 10802 .loc 1 4164 23 view .LVU3974
  22572. 10803 0142 2823 movs r3, #40
  22573. 10804 0144 84F84130 strb r3, [r4, #65]
  22574. 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22575. 10805 .loc 1 4165 7 is_stmt 1 view .LVU3975
  22576. 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22577. 10806 .loc 1 4165 23 is_stmt 0 view .LVU3976
  22578. 10807 0148 84F84220 strb r2, [r4, #66]
  22579. 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22580. 10808 .loc 1 4168 7 is_stmt 1 view .LVU3977
  22581. 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22582. 10809 .loc 1 4168 23 is_stmt 0 view .LVU3978
  22583. 10810 014c 636C ldr r3, [r4, #68]
  22584. 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22585. 10811 .loc 1 4171 7 view .LVU3979
  22586. 10812 014e 84F84020 strb r2, [r4, #64]
  22587. 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22588. 10813 .loc 1 4168 23 view .LVU3980
  22589. 10814 0152 43F08003 orr r3, r3, #128
  22590. 10815 0156 6364 str r3, [r4, #68]
  22591. 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22592. 10816 .loc 1 4171 7 is_stmt 1 view .LVU3981
  22593. 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22594. 10817 .loc 1 4171 7 view .LVU3982
  22595. 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22596. 10818 .loc 1 4171 7 view .LVU3983
  22597. 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22598. 10819 .loc 1 4173 7 view .LVU3984
  22599. 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22600. 10820 .loc 1 4173 14 is_stmt 0 view .LVU3985
  22601. 10821 0158 0120 movs r0, #1
  22602. 10822 015a CBE7 b .L876
  22603. 10823 .L843:
  22604. 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22605. 10824 .loc 1 4106 7 is_stmt 1 view .LVU3986
  22606. 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22607. 10825 .loc 1 4106 26 is_stmt 0 view .LVU3987
  22608. 10826 015c 0868 ldr r0, [r1]
  22609. 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22610. 10827 .loc 1 4106 10 view .LVU3988
  22611. 10828 015e 4704 lsls r7, r0, #17
  22612. 10829 0160 89D5 bpl .L880
  22613. 4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22614. 10830 .loc 1 4108 9 is_stmt 1 view .LVU3989
  22615. 4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22616. 10831 .loc 1 4108 29 is_stmt 0 view .LVU3990
  22617. 10832 0162 0868 ldr r0, [r1]
  22618. 10833 0164 20F48040 bic r0, r0, #16384
  22619. 10834 0168 0860 str r0, [r1]
  22620. 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22621. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 391
  22622. 10835 .loc 1 4111 9 is_stmt 1 view .LVU3991
  22623. 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22624. 10836 .loc 1 4111 17 is_stmt 0 view .LVU3992
  22625. 10837 016a A06B ldr r0, [r4, #56]
  22626. 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22627. 10838 .loc 1 4111 12 view .LVU3993
  22628. 10839 016c 0028 cmp r0, #0
  22629. 10840 016e D6D0 beq .L845
  22630. 4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22631. 10841 .loc 1 4115 11 is_stmt 1 view .LVU3994
  22632. 4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22633. 10842 .loc 1 4115 43 is_stmt 0 view .LVU3995
  22634. 10843 0170 2449 ldr r1, .L884+16
  22635. 10844 0172 4163 str r1, [r0, #52]
  22636. 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22637. 10845 .loc 1 4118 11 is_stmt 1 view .LVU3996
  22638. 10846 0174 CDE90023 strd r2, r3, [sp]
  22639. 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22640. 10847 .loc 1 4118 15 is_stmt 0 view .LVU3997
  22641. 10848 0178 FFF7FEFF bl HAL_DMA_Abort_IT
  22642. 10849 .LVL695:
  22643. 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22644. 10850 .loc 1 4118 14 view .LVU3998
  22645. 10851 017c DDE90023 ldrd r2, r3, [sp]
  22646. 10852 0180 0028 cmp r0, #0
  22647. 10853 0182 35D0 beq .L881
  22648. 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22649. 10854 .loc 1 4121 17 view .LVU3999
  22650. 10855 0184 A06B ldr r0, [r4, #56]
  22651. 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22652. 10856 .loc 1 4121 13 view .LVU4000
  22653. 10857 0186 416B ldr r1, [r0, #52]
  22654. 10858 0188 CDE90023 strd r2, r3, [sp]
  22655. 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22656. 10859 .loc 1 4121 13 is_stmt 1 view .LVU4001
  22657. 10860 018c 8847 blx r1
  22658. 10861 .LVL696:
  22659. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22660. 10862 .loc 1 4145 13 is_stmt 0 view .LVU4002
  22661. 10863 018e DDE90023 ldrd r2, r3, [sp]
  22662. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22663. 10864 .loc 1 4136 9 view .LVU4003
  22664. 10865 0192 2168 ldr r1, [r4]
  22665. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22666. 10866 .loc 1 4145 13 view .LVU4004
  22667. 10867 0194 A06B ldr r0, [r4, #56]
  22668. 10868 0196 6FE7 b .L840
  22669. 10869 .L882:
  22670. 4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22671. 10870 .loc 1 4082 7 is_stmt 1 view .LVU4005
  22672. 10871 .LVL697:
  22673. 10872 .LBB457:
  22674. 10873 .LBI452:
  22675. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22676. 10874 .loc 1 7451 13 view .LVU4006
  22677. 10875 .LBB454:
  22678. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22679. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 392
  22680. 10876 .loc 1 7453 3 view .LVU4007
  22681. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22682. 10877 .loc 1 7455 3 view .LVU4008
  22683. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22684. 10878 .loc 1 7467 3 view .LVU4009
  22685. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22686. 10879 .loc 1 7470 5 view .LVU4010
  22687. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22688. 10880 .loc 1 7472 5 view .LVU4011
  22689. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22690. 10881 .loc 1 7472 8 is_stmt 0 view .LVU4012
  22691. 10882 0198 00F02800 and r0, r0, #40
  22692. 10883 019c 2828 cmp r0, #40
  22693. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22694. 10884 .loc 1 7506 3 view .LVU4013
  22695. 10885 019e 0868 ldr r0, [r1]
  22696. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22697. 10886 .loc 1 7472 8 view .LVU4014
  22698. 10887 01a0 0CBF ite eq
  22699. 10888 01a2 6FF04406 mvneq r6, #68
  22700. 10889 01a6 6FF0F406 mvnne r6, #244
  22701. 10890 .LVL698:
  22702. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22703. 10891 .loc 1 7479 3 is_stmt 1 view .LVU4015
  22704. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22705. 10892 .loc 1 7485 3 view .LVU4016
  22706. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22707. 10893 .loc 1 7491 3 view .LVU4017
  22708. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22709. 10894 .loc 1 7497 3 view .LVU4018
  22710. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22711. 10895 .loc 1 7506 3 view .LVU4019
  22712. 10896 01aa 3040 ands r0, r0, r6
  22713. 10897 01ac 0860 str r0, [r1]
  22714. 10898 .LVL699:
  22715. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22716. 10899 .loc 1 7506 3 is_stmt 0 view .LVU4020
  22717. 10900 .LBE454:
  22718. 10901 .LBE457:
  22719. 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22720. 10902 .loc 1 4084 7 is_stmt 1 view .LVU4021
  22721. 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22722. 10903 .loc 1 4084 26 is_stmt 0 view .LVU4022
  22723. 10904 01ae 0868 ldr r0, [r1]
  22724. 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22725. 10905 .loc 1 4084 10 view .LVU4023
  22726. 10906 01b0 0004 lsls r0, r0, #16
  22727. 10907 01b2 7FF560AF bpl .L880
  22728. 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22729. 10908 .loc 1 4087 9 is_stmt 1 view .LVU4024
  22730. 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22731. 10909 .loc 1 4087 17 is_stmt 0 view .LVU4025
  22732. 10910 01b6 E06B ldr r0, [r4, #60]
  22733. 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22734. 10911 .loc 1 4087 12 view .LVU4026
  22735. 10912 01b8 0028 cmp r0, #0
  22736. 10913 01ba 3FF45CAF beq .L880
  22737. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 393
  22738. 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22739. 10914 .loc 1 4089 11 is_stmt 1 view .LVU4027
  22740. 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22741. 10915 .loc 1 4089 31 is_stmt 0 view .LVU4028
  22742. 10916 01be 0E68 ldr r6, [r1]
  22743. 10917 01c0 26F40046 bic r6, r6, #32768
  22744. 10918 01c4 0E60 str r6, [r1]
  22745. 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22746. 10919 .loc 1 4093 11 is_stmt 1 view .LVU4029
  22747. 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22748. 10920 .loc 1 4093 43 is_stmt 0 view .LVU4030
  22749. 10921 01c6 0F49 ldr r1, .L884+16
  22750. 10922 01c8 4163 str r1, [r0, #52]
  22751. 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22752. 10923 .loc 1 4096 11 is_stmt 1 view .LVU4031
  22753. 10924 01ca CDE90023 strd r2, r3, [sp]
  22754. 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22755. 10925 .loc 1 4096 15 is_stmt 0 view .LVU4032
  22756. 10926 01ce FFF7FEFF bl HAL_DMA_Abort_IT
  22757. 10927 .LVL700:
  22758. 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22759. 10928 .loc 1 4096 14 view .LVU4033
  22760. 10929 01d2 DDE90023 ldrd r2, r3, [sp]
  22761. 10930 01d6 58B1 cbz r0, .L881
  22762. 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22763. 10931 .loc 1 4099 17 view .LVU4034
  22764. 10932 01d8 E06B ldr r0, [r4, #60]
  22765. 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22766. 10933 .loc 1 4099 13 view .LVU4035
  22767. 10934 01da 416B ldr r1, [r0, #52]
  22768. 10935 01dc CDE90023 strd r2, r3, [sp]
  22769. 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22770. 10936 .loc 1 4099 13 is_stmt 1 view .LVU4036
  22771. 10937 01e0 8847 blx r1
  22772. 10938 .LVL701:
  22773. 10939 01e2 DDE90023 ldrd r2, r3, [sp]
  22774. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22775. 10940 .loc 1 4136 9 is_stmt 0 view .LVU4037
  22776. 10941 01e6 2168 ldr r1, [r4]
  22777. 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22778. 10942 .loc 1 4145 13 view .LVU4038
  22779. 10943 01e8 A06B ldr r0, [r4, #56]
  22780. 10944 01ea 45E7 b .L840
  22781. 10945 .L853:
  22782. 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22783. 10946 .loc 1 4072 5 view .LVU4039
  22784. 10947 01ec 0220 movs r0, #2
  22785. 10948 01ee 81E7 b .L876
  22786. 10949 .L881:
  22787. 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22788. 10950 .loc 1 4136 9 view .LVU4040
  22789. 10951 01f0 2168 ldr r1, [r4]
  22790. 10952 01f2 40E7 b .L880
  22791. 10953 .L885:
  22792. 10954 .align 2
  22793. 10955 .L884:
  22794. 10956 01f4 00000000 .word .LC0
  22795. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 394
  22796. 10957 01f8 00000000 .word I2C_Slave_ISR_DMA
  22797. 10958 01fc 00000000 .word I2C_DMASlaveTransmitCplt
  22798. 10959 0200 00000000 .word I2C_DMAError
  22799. 10960 0204 00000000 .word I2C_DMAAbort
  22800. 10961 .cfi_endproc
  22801. 10962 .LFE158:
  22802. 10964 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
  22803. 10965 .align 1
  22804. 10966 .p2align 2,,3
  22805. 10967 .global HAL_I2C_Slave_Seq_Receive_IT
  22806. 10968 .syntax unified
  22807. 10969 .thumb
  22808. 10970 .thumb_func
  22809. 10972 HAL_I2C_Slave_Seq_Receive_IT:
  22810. 10973 .LVL702:
  22811. 10974 .LFB159:
  22812. 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22813. 10975 .loc 1 4239 1 is_stmt 1 view -0
  22814. 10976 .cfi_startproc
  22815. 10977 @ args = 0, pretend = 0, frame = 8
  22816. 10978 @ frame_needed = 0, uses_anonymous_args = 0
  22817. 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22818. 10979 .loc 1 4241 3 view .LVU4042
  22819. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22820. 10980 .loc 1 4244 3 view .LVU4043
  22821. 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22822. 10981 .loc 1 4239 1 is_stmt 0 view .LVU4044
  22823. 10982 0000 30B5 push {r4, r5, lr}
  22824. 10983 .LCFI149:
  22825. 10984 .cfi_def_cfa_offset 12
  22826. 10985 .cfi_offset 4, -12
  22827. 10986 .cfi_offset 5, -8
  22828. 10987 .cfi_offset 14, -4
  22829. 10988 0002 0D46 mov r5, r1
  22830. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22831. 10989 .loc 1 4244 3 view .LVU4045
  22832. 10990 0004 33F08071 bics r1, r3, #16777216
  22833. 10991 .LVL703:
  22834. 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22835. 10992 .loc 1 4239 1 view .LVU4046
  22836. 10993 0008 83B0 sub sp, sp, #12
  22837. 10994 .LCFI150:
  22838. 10995 .cfi_def_cfa_offset 24
  22839. 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  22840. 10996 .loc 1 4239 1 view .LVU4047
  22841. 10997 000a 0446 mov r4, r0
  22842. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22843. 10998 .loc 1 4244 3 view .LVU4048
  22844. 10999 000c 10D0 beq .L887
  22845. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22846. 11000 .loc 1 4244 3 discriminator 2 view .LVU4049
  22847. 11001 000e B3F1007F cmp r3, #33554432
  22848. 11002 0012 0DD0 beq .L887
  22849. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22850. 11003 .loc 1 4244 3 discriminator 4 view .LVU4050
  22851. 11004 0014 AA2B cmp r3, #170
  22852. 11005 0016 0BD0 beq .L887
  22853. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 395
  22854. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22855. 11006 .loc 1 4244 3 discriminator 5 view .LVU4051
  22856. 11007 0018 B3F52A4F cmp r3, #43520
  22857. 11008 001c 08D0 beq .L887
  22858. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22859. 11009 .loc 1 4244 3 discriminator 6 view .LVU4052
  22860. 11010 001e 4048 ldr r0, .L924
  22861. 11011 .LVL704:
  22862. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22863. 11012 .loc 1 4244 3 discriminator 6 view .LVU4053
  22864. 11013 0020 41F29401 movw r1, #4244
  22865. 11014 0024 CDE90023 strd r2, r3, [sp]
  22866. 11015 0028 FFF7FEFF bl assert_failed
  22867. 11016 .LVL705:
  22868. 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22869. 11017 .loc 1 4244 3 discriminator 6 view .LVU4054
  22870. 11018 002c DDE90023 ldrd r2, r3, [sp]
  22871. 11019 .LVL706:
  22872. 11020 .L887:
  22873. 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22874. 11021 .loc 1 4246 3 is_stmt 1 view .LVU4055
  22875. 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22876. 11022 .loc 1 4246 22 is_stmt 0 view .LVU4056
  22877. 11023 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  22878. 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22879. 11024 .loc 1 4246 6 view .LVU4057
  22880. 11025 0034 00F02800 and r0, r0, #40
  22881. 11026 0038 2828 cmp r0, #40
  22882. 11027 003a 3AD1 bne .L895
  22883. 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22884. 11028 .loc 1 4248 5 is_stmt 1 view .LVU4058
  22885. 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22886. 11029 .loc 1 4248 8 is_stmt 0 view .LVU4059
  22887. 11030 003c 002D cmp r5, #0
  22888. 11031 003e 3BD0 beq .L889
  22889. 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22890. 11032 .loc 1 4248 25 discriminator 1 view .LVU4060
  22891. 11033 0040 002A cmp r2, #0
  22892. 11034 0042 39D0 beq .L889
  22893. 4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22894. 11035 .loc 1 4255 5 is_stmt 1 view .LVU4061
  22895. 11036 .LVL707:
  22896. 11037 .LBB464:
  22897. 11038 .LBI464:
  22898. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22899. 11039 .loc 1 7451 13 view .LVU4062
  22900. 11040 .LBB465:
  22901. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22902. 11041 .loc 1 7453 3 view .LVU4063
  22903. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22904. 11042 .loc 1 7455 3 view .LVU4064
  22905. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22906. 11043 .loc 1 7467 3 view .LVU4065
  22907. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22908. 11044 .loc 1 7470 5 view .LVU4066
  22909. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22910. 11045 .loc 1 7472 5 view .LVU4067
  22911. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 396
  22912. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22913. 11046 .loc 1 7506 3 is_stmt 0 view .LVU4068
  22914. 11047 0044 2168 ldr r1, [r4]
  22915. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22916. 11048 .loc 1 7472 24 view .LVU4069
  22917. 11049 0046 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  22918. 11050 .LVL708:
  22919. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22920. 11051 .loc 1 7479 3 is_stmt 1 view .LVU4070
  22921. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22922. 11052 .loc 1 7482 5 view .LVU4071
  22923. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22924. 11053 .loc 1 7485 3 view .LVU4072
  22925. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22926. 11054 .loc 1 7491 3 view .LVU4073
  22927. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22928. 11055 .loc 1 7497 3 view .LVU4074
  22929. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22930. 11056 .loc 1 7506 3 view .LVU4075
  22931. 11057 004a 0868 ldr r0, [r1]
  22932. 11058 004c 20F0FC00 bic r0, r0, #252
  22933. 11059 0050 0860 str r0, [r1]
  22934. 11060 .LVL709:
  22935. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  22936. 11061 .loc 1 7506 3 is_stmt 0 view .LVU4076
  22937. 11062 .LBE465:
  22938. 11063 .LBE464:
  22939. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22940. 11064 .loc 1 4258 5 is_stmt 1 view .LVU4077
  22941. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22942. 11065 .loc 1 4258 5 view .LVU4078
  22943. 11066 0052 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2
  22944. 11067 0056 0128 cmp r0, #1
  22945. 11068 0058 57D0 beq .L896
  22946. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22947. 11069 .loc 1 4258 5 discriminator 2 view .LVU4079
  22948. 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22949. 11070 .loc 1 4262 13 is_stmt 0 discriminator 2 view .LVU4080
  22950. 11071 005a 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  22951. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22952. 11072 .loc 1 4258 5 discriminator 2 view .LVU4081
  22953. 11073 005e 4FF0010C mov ip, #1
  22954. 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22955. 11074 .loc 1 4262 8 discriminator 2 view .LVU4082
  22956. 11075 0062 2928 cmp r0, #41
  22957. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22958. 11076 .loc 1 4258 5 discriminator 2 view .LVU4083
  22959. 11077 0064 84F840C0 strb ip, [r4, #64]
  22960. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22961. 11078 .loc 1 4258 5 is_stmt 1 discriminator 2 view .LVU4084
  22962. 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22963. 11079 .loc 1 4262 5 discriminator 2 view .LVU4085
  22964. 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  22965. 11080 .loc 1 4262 8 is_stmt 0 discriminator 2 view .LVU4086
  22966. 11081 0068 2CD0 beq .L923
  22967. 11082 .L891:
  22968. 4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  22969. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 397
  22970. 11083 .loc 1 4288 5 is_stmt 1 view .LVU4087
  22971. 4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  22972. 11084 .loc 1 4288 21 is_stmt 0 view .LVU4088
  22973. 11085 006a 2A20 movs r0, #42
  22974. 11086 006c 84F84100 strb r0, [r4, #65]
  22975. 4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  22976. 11087 .loc 1 4289 5 is_stmt 1 view .LVU4089
  22977. 4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  22978. 11088 .loc 1 4289 21 is_stmt 0 view .LVU4090
  22979. 11089 0070 2020 movs r0, #32
  22980. 11090 0072 84F84200 strb r0, [r4, #66]
  22981. 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22982. 11091 .loc 1 4290 5 is_stmt 1 view .LVU4091
  22983. 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22984. 11092 .loc 1 4290 21 is_stmt 0 view .LVU4092
  22985. 11093 0076 0020 movs r0, #0
  22986. 11094 0078 6064 str r0, [r4, #68]
  22987. 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22988. 11095 .loc 1 4293 5 is_stmt 1 view .LVU4093
  22989. 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  22990. 11096 .loc 1 4293 25 is_stmt 0 view .LVU4094
  22991. 11097 007a 4868 ldr r0, [r1, #4]
  22992. 11098 007c 20F40040 bic r0, r0, #32768
  22993. 11099 0080 4860 str r0, [r1, #4]
  22994. 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  22995. 11100 .loc 1 4296 5 is_stmt 1 view .LVU4095
  22996. 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  22997. 11101 .loc 1 4297 23 is_stmt 0 view .LVU4096
  22998. 11102 0082 6285 strh r2, [r4, #42] @ movhi
  22999. 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23000. 11103 .loc 1 4298 29 view .LVU4097
  23001. 11104 0084 608D ldrh r0, [r4, #42]
  23002. 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  23003. 11105 .loc 1 4299 23 view .LVU4098
  23004. 11106 0086 E362 str r3, [r4, #44]
  23005. 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23006. 11107 .loc 1 4298 23 view .LVU4099
  23007. 11108 0088 2085 strh r0, [r4, #40] @ movhi
  23008. 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
  23009. 11109 .loc 1 4302 11 view .LVU4100
  23010. 11110 008a 8869 ldr r0, [r1, #24]
  23011. 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23012. 11111 .loc 1 4303 10 view .LVU4101
  23013. 11112 008c 8B69 ldr r3, [r1, #24]
  23014. 4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23015. 11113 .loc 1 4300 23 view .LVU4102
  23016. 11114 008e 254A ldr r2, .L924+4
  23017. 11115 0090 6263 str r2, [r4, #52]
  23018. 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23019. 11116 .loc 1 4303 8 view .LVU4103
  23020. 11117 0092 DA03 lsls r2, r3, #15
  23021. 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  23022. 11118 .loc 1 4296 23 view .LVU4104
  23023. 11119 0094 6562 str r5, [r4, #36]
  23024. 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  23025. 11120 .loc 1 4297 5 is_stmt 1 view .LVU4105
  23026. 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23027. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 398
  23028. 11121 .loc 1 4298 5 view .LVU4106
  23029. 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  23030. 11122 .loc 1 4299 5 view .LVU4107
  23031. 4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23032. 11123 .loc 1 4300 5 view .LVU4108
  23033. 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
  23034. 11124 .loc 1 4302 5 view .LVU4109
  23035. 11125 .LVL710:
  23036. 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23037. 11126 .loc 1 4303 5 view .LVU4110
  23038. 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23039. 11127 .loc 1 4303 8 is_stmt 0 view .LVU4111
  23040. 11128 0096 03D4 bmi .L894
  23041. 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23042. 11129 .loc 1 4303 55 discriminator 1 view .LVU4112
  23043. 11130 0098 0307 lsls r3, r0, #28
  23044. 4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23045. 11131 .loc 1 4307 7 is_stmt 1 discriminator 1 view .LVU4113
  23046. 11132 009a 44BF itt mi
  23047. 11133 009c 0823 movmi r3, #8
  23048. 11134 009e CB61 strmi r3, [r1, #28]
  23049. 11135 .L894:
  23050. 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23051. 11136 .loc 1 4311 5 view .LVU4114
  23052. 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23053. 11137 .loc 1 4311 5 view .LVU4115
  23054. 11138 00a0 0020 movs r0, #0
  23055. 11139 .LVL711:
  23056. 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23057. 11140 .loc 1 4311 5 is_stmt 0 view .LVU4116
  23058. 11141 00a2 84F84000 strb r0, [r4, #64]
  23059. 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23060. 11142 .loc 1 4311 5 is_stmt 1 view .LVU4117
  23061. 4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23062. 11143 .loc 1 4317 5 view .LVU4118
  23063. 11144 .LVL712:
  23064. 11145 .LBB466:
  23065. 11146 .LBI466:
  23066. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23067. 11147 .loc 1 7360 13 view .LVU4119
  23068. 11148 .LBB467:
  23069. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23070. 11149 .loc 1 7362 3 view .LVU4120
  23071. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  23072. 11150 .loc 1 7364 3 view .LVU4121
  23073. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23074. 11151 .loc 1 7441 3 view .LVU4122
  23075. 11152 00a6 0B68 ldr r3, [r1]
  23076. 11153 00a8 43F0FC03 orr r3, r3, #252
  23077. 11154 00ac 0B60 str r3, [r1]
  23078. 11155 .LVL713:
  23079. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23080. 11156 .loc 1 7441 3 is_stmt 0 view .LVU4123
  23081. 11157 .LBE467:
  23082. 11158 .LBE466:
  23083. 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23084. 11159 .loc 1 4325 1 view .LVU4124
  23085. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 399
  23086. 11160 00ae 03B0 add sp, sp, #12
  23087. 11161 .LCFI151:
  23088. 11162 .cfi_remember_state
  23089. 11163 .cfi_def_cfa_offset 12
  23090. 11164 @ sp needed
  23091. 11165 00b0 30BD pop {r4, r5, pc}
  23092. 11166 .LVL714:
  23093. 11167 .L895:
  23094. 11168 .LCFI152:
  23095. 11169 .cfi_restore_state
  23096. 4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23097. 11170 .loc 1 4323 12 view .LVU4125
  23098. 11171 00b2 0120 movs r0, #1
  23099. 11172 .L888:
  23100. 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23101. 11173 .loc 1 4325 1 view .LVU4126
  23102. 11174 00b4 03B0 add sp, sp, #12
  23103. 11175 .LCFI153:
  23104. 11176 .cfi_remember_state
  23105. 11177 .cfi_def_cfa_offset 12
  23106. 11178 @ sp needed
  23107. 11179 00b6 30BD pop {r4, r5, pc}
  23108. 11180 .LVL715:
  23109. 11181 .L889:
  23110. 11182 .LCFI154:
  23111. 11183 .cfi_restore_state
  23112. 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  23113. 11184 .loc 1 4250 7 is_stmt 1 view .LVU4127
  23114. 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  23115. 11185 .loc 1 4250 23 is_stmt 0 view .LVU4128
  23116. 11186 00b8 4FF40073 mov r3, #512
  23117. 4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23118. 11187 .loc 1 4251 15 view .LVU4129
  23119. 11188 00bc 0120 movs r0, #1
  23120. 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  23121. 11189 .loc 1 4250 23 view .LVU4130
  23122. 11190 00be 6364 str r3, [r4, #68]
  23123. 4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23124. 11191 .loc 1 4251 7 is_stmt 1 view .LVU4131
  23125. 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23126. 11192 .loc 1 4325 1 is_stmt 0 view .LVU4132
  23127. 11193 00c0 03B0 add sp, sp, #12
  23128. 11194 .LCFI155:
  23129. 11195 .cfi_remember_state
  23130. 11196 .cfi_def_cfa_offset 12
  23131. 11197 @ sp needed
  23132. 11198 00c2 30BD pop {r4, r5, pc}
  23133. 11199 .LVL716:
  23134. 11200 .L923:
  23135. 11201 .LCFI156:
  23136. 11202 .cfi_restore_state
  23137. 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23138. 11203 .loc 1 4265 7 is_stmt 1 view .LVU4133
  23139. 11204 .LBB468:
  23140. 11205 .LBI468:
  23141. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23142. 11206 .loc 1 7451 13 view .LVU4134
  23143. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 400
  23144. 11207 .LBB469:
  23145. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23146. 11208 .loc 1 7453 3 view .LVU4135
  23147. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23148. 11209 .loc 1 7455 3 view .LVU4136
  23149. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23150. 11210 .loc 1 7458 5 view .LVU4137
  23151. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23152. 11211 .loc 1 7460 5 view .LVU4138
  23153. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23154. 11212 .loc 1 7460 24 is_stmt 0 view .LVU4139
  23155. 11213 00c4 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  23156. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23157. 11214 .loc 1 7460 8 view .LVU4140
  23158. 11215 00c8 00F02800 and r0, r0, #40
  23159. 11216 00cc 2828 cmp r0, #40
  23160. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23161. 11217 .loc 1 7506 3 view .LVU4141
  23162. 11218 00ce 0868 ldr r0, [r1]
  23163. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23164. 11219 .loc 1 7460 8 view .LVU4142
  23165. 11220 00d0 0CBF ite eq
  23166. 11221 00d2 6FF0420C mvneq ip, #66
  23167. 11222 00d6 6FF0F20C mvnne ip, #242
  23168. 11223 .LVL717:
  23169. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23170. 11224 .loc 1 7467 3 is_stmt 1 view .LVU4143
  23171. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23172. 11225 .loc 1 7479 3 view .LVU4144
  23173. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23174. 11226 .loc 1 7485 3 view .LVU4145
  23175. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23176. 11227 .loc 1 7491 3 view .LVU4146
  23177. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23178. 11228 .loc 1 7497 3 view .LVU4147
  23179. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23180. 11229 .loc 1 7506 3 view .LVU4148
  23181. 11230 00da 00EA0C00 and r0, r0, ip
  23182. 11231 00de 0860 str r0, [r1]
  23183. 11232 .LVL718:
  23184. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23185. 11233 .loc 1 7506 3 is_stmt 0 view .LVU4149
  23186. 11234 .LBE469:
  23187. 11235 .LBE468:
  23188. 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23189. 11236 .loc 1 4267 7 is_stmt 1 view .LVU4150
  23190. 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23191. 11237 .loc 1 4267 26 is_stmt 0 view .LVU4151
  23192. 11238 00e0 0868 ldr r0, [r1]
  23193. 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23194. 11239 .loc 1 4267 10 view .LVU4152
  23195. 11240 00e2 4004 lsls r0, r0, #17
  23196. 11241 00e4 C1D5 bpl .L891
  23197. 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23198. 11242 .loc 1 4269 9 is_stmt 1 view .LVU4153
  23199. 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23200. 11243 .loc 1 4269 29 is_stmt 0 view .LVU4154
  23201. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 401
  23202. 11244 00e6 0868 ldr r0, [r1]
  23203. 11245 00e8 20F48040 bic r0, r0, #16384
  23204. 11246 00ec 0860 str r0, [r1]
  23205. 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23206. 11247 .loc 1 4272 9 is_stmt 1 view .LVU4155
  23207. 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23208. 11248 .loc 1 4272 17 is_stmt 0 view .LVU4156
  23209. 11249 00ee A06B ldr r0, [r4, #56]
  23210. 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23211. 11250 .loc 1 4272 12 view .LVU4157
  23212. 11251 00f0 0028 cmp r0, #0
  23213. 11252 00f2 BAD0 beq .L891
  23214. 4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23215. 11253 .loc 1 4276 11 is_stmt 1 view .LVU4158
  23216. 4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23217. 11254 .loc 1 4276 43 is_stmt 0 view .LVU4159
  23218. 11255 00f4 0C49 ldr r1, .L924+8
  23219. 11256 00f6 4163 str r1, [r0, #52]
  23220. 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23221. 11257 .loc 1 4279 11 is_stmt 1 view .LVU4160
  23222. 11258 00f8 CDE90023 strd r2, r3, [sp]
  23223. 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23224. 11259 .loc 1 4279 15 is_stmt 0 view .LVU4161
  23225. 11260 00fc FFF7FEFF bl HAL_DMA_Abort_IT
  23226. 11261 .LVL719:
  23227. 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23228. 11262 .loc 1 4279 14 view .LVU4162
  23229. 11263 0100 DDE90023 ldrd r2, r3, [sp]
  23230. 11264 0104 18B9 cbnz r0, .L893
  23231. 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23232. 11265 .loc 1 4293 9 view .LVU4163
  23233. 11266 0106 2168 ldr r1, [r4]
  23234. 11267 0108 AFE7 b .L891
  23235. 11268 .L896:
  23236. 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23237. 11269 .loc 1 4258 5 view .LVU4164
  23238. 11270 010a 0220 movs r0, #2
  23239. 11271 010c D2E7 b .L888
  23240. 11272 .L893:
  23241. 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23242. 11273 .loc 1 4282 17 view .LVU4165
  23243. 11274 010e A06B ldr r0, [r4, #56]
  23244. 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23245. 11275 .loc 1 4282 13 view .LVU4166
  23246. 11276 0110 416B ldr r1, [r0, #52]
  23247. 11277 0112 CDE90023 strd r2, r3, [sp]
  23248. 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23249. 11278 .loc 1 4282 13 is_stmt 1 view .LVU4167
  23250. 11279 0116 8847 blx r1
  23251. 11280 .LVL720:
  23252. 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23253. 11281 .loc 1 4293 9 is_stmt 0 view .LVU4168
  23254. 11282 0118 DDE90023 ldrd r2, r3, [sp]
  23255. 11283 011c 2168 ldr r1, [r4]
  23256. 11284 011e A4E7 b .L891
  23257. 11285 .L925:
  23258. 11286 .align 2
  23259. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 402
  23260. 11287 .L924:
  23261. 11288 0120 00000000 .word .LC0
  23262. 11289 0124 00000000 .word I2C_Slave_ISR_IT
  23263. 11290 0128 00000000 .word I2C_DMAAbort
  23264. 11291 .cfi_endproc
  23265. 11292 .LFE159:
  23266. 11294 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
  23267. 11295 .align 1
  23268. 11296 .p2align 2,,3
  23269. 11297 .global HAL_I2C_Slave_Seq_Receive_DMA
  23270. 11298 .syntax unified
  23271. 11299 .thumb
  23272. 11300 .thumb_func
  23273. 11302 HAL_I2C_Slave_Seq_Receive_DMA:
  23274. 11303 .LVL721:
  23275. 11304 .LFB160:
  23276. 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  23277. 11305 .loc 1 4339 1 is_stmt 1 view -0
  23278. 11306 .cfi_startproc
  23279. 11307 @ args = 0, pretend = 0, frame = 8
  23280. 11308 @ frame_needed = 0, uses_anonymous_args = 0
  23281. 4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
  23282. 11309 .loc 1 4341 3 view .LVU4170
  23283. 4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23284. 11310 .loc 1 4342 3 view .LVU4171
  23285. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23286. 11311 .loc 1 4345 3 view .LVU4172
  23287. 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  23288. 11312 .loc 1 4339 1 is_stmt 0 view .LVU4173
  23289. 11313 0000 F0B5 push {r4, r5, r6, r7, lr}
  23290. 11314 .LCFI157:
  23291. 11315 .cfi_def_cfa_offset 20
  23292. 11316 .cfi_offset 4, -20
  23293. 11317 .cfi_offset 5, -16
  23294. 11318 .cfi_offset 6, -12
  23295. 11319 .cfi_offset 7, -8
  23296. 11320 .cfi_offset 14, -4
  23297. 11321 0002 1546 mov r5, r2
  23298. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23299. 11322 .loc 1 4345 3 view .LVU4174
  23300. 11323 0004 33F08072 bics r2, r3, #16777216
  23301. 11324 .LVL722:
  23302. 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  23303. 11325 .loc 1 4339 1 view .LVU4175
  23304. 11326 0008 83B0 sub sp, sp, #12
  23305. 11327 .LCFI158:
  23306. 11328 .cfi_def_cfa_offset 32
  23307. 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  23308. 11329 .loc 1 4339 1 view .LVU4176
  23309. 11330 000a 0446 mov r4, r0
  23310. 11331 000c 0E46 mov r6, r1
  23311. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23312. 11332 .loc 1 4345 3 view .LVU4177
  23313. 11333 000e 0ED0 beq .L927
  23314. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23315. 11334 .loc 1 4345 3 discriminator 2 view .LVU4178
  23316. 11335 0010 B3F1007F cmp r3, #33554432
  23317. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 403
  23318. 11336 0014 0BD0 beq .L927
  23319. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23320. 11337 .loc 1 4345 3 discriminator 4 view .LVU4179
  23321. 11338 0016 AA2B cmp r3, #170
  23322. 11339 0018 09D0 beq .L927
  23323. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23324. 11340 .loc 1 4345 3 discriminator 5 view .LVU4180
  23325. 11341 001a B3F52A4F cmp r3, #43520
  23326. 11342 001e 06D0 beq .L927
  23327. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23328. 11343 .loc 1 4345 3 discriminator 6 view .LVU4181
  23329. 11344 0020 6C48 ldr r0, .L979
  23330. 11345 .LVL723:
  23331. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23332. 11346 .loc 1 4345 3 discriminator 6 view .LVU4182
  23333. 11347 0022 0193 str r3, [sp, #4]
  23334. 11348 0024 41F2F901 movw r1, #4345
  23335. 11349 .LVL724:
  23336. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23337. 11350 .loc 1 4345 3 discriminator 6 view .LVU4183
  23338. 11351 0028 FFF7FEFF bl assert_failed
  23339. 11352 .LVL725:
  23340. 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23341. 11353 .loc 1 4345 3 discriminator 6 view .LVU4184
  23342. 11354 002c 019B ldr r3, [sp, #4]
  23343. 11355 .LVL726:
  23344. 11356 .L927:
  23345. 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23346. 11357 .loc 1 4347 3 is_stmt 1 view .LVU4185
  23347. 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23348. 11358 .loc 1 4347 22 is_stmt 0 view .LVU4186
  23349. 11359 002e 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  23350. 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23351. 11360 .loc 1 4347 6 view .LVU4187
  23352. 11361 0032 00F02800 and r0, r0, #40
  23353. 11362 0036 2828 cmp r0, #40
  23354. 11363 0038 59D1 bne .L946
  23355. 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23356. 11364 .loc 1 4349 5 is_stmt 1 view .LVU4188
  23357. 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23358. 11365 .loc 1 4349 8 is_stmt 0 view .LVU4189
  23359. 11366 003a 002E cmp r6, #0
  23360. 11367 003c 5AD0 beq .L929
  23361. 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23362. 11368 .loc 1 4349 25 discriminator 1 view .LVU4190
  23363. 11369 003e 002D cmp r5, #0
  23364. 11370 0040 58D0 beq .L929
  23365. 4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23366. 11371 .loc 1 4356 5 is_stmt 1 view .LVU4191
  23367. 11372 .LVL727:
  23368. 11373 .LBB476:
  23369. 11374 .LBI476:
  23370. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23371. 11375 .loc 1 7451 13 view .LVU4192
  23372. 11376 .LBB477:
  23373. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23374. 11377 .loc 1 7453 3 view .LVU4193
  23375. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 404
  23376. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23377. 11378 .loc 1 7455 3 view .LVU4194
  23378. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23379. 11379 .loc 1 7467 3 view .LVU4195
  23380. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23381. 11380 .loc 1 7470 5 view .LVU4196
  23382. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23383. 11381 .loc 1 7472 5 view .LVU4197
  23384. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23385. 11382 .loc 1 7506 3 is_stmt 0 view .LVU4198
  23386. 11383 0042 2168 ldr r1, [r4]
  23387. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23388. 11384 .loc 1 7472 24 view .LVU4199
  23389. 11385 0044 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  23390. 11386 .LVL728:
  23391. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23392. 11387 .loc 1 7479 3 is_stmt 1 view .LVU4200
  23393. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23394. 11388 .loc 1 7482 5 view .LVU4201
  23395. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23396. 11389 .loc 1 7485 3 view .LVU4202
  23397. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23398. 11390 .loc 1 7491 3 view .LVU4203
  23399. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23400. 11391 .loc 1 7497 3 view .LVU4204
  23401. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23402. 11392 .loc 1 7506 3 view .LVU4205
  23403. 11393 0048 0A68 ldr r2, [r1]
  23404. 11394 004a 22F0FC02 bic r2, r2, #252
  23405. 11395 004e 0A60 str r2, [r1]
  23406. 11396 .LVL729:
  23407. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23408. 11397 .loc 1 7506 3 is_stmt 0 view .LVU4206
  23409. 11398 .LBE477:
  23410. 11399 .LBE476:
  23411. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23412. 11400 .loc 1 4359 5 is_stmt 1 view .LVU4207
  23413. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23414. 11401 .loc 1 4359 5 view .LVU4208
  23415. 11402 0050 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2
  23416. 11403 0054 012A cmp r2, #1
  23417. 11404 0056 00F0A480 beq .L947
  23418. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23419. 11405 .loc 1 4359 5 discriminator 2 view .LVU4209
  23420. 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23421. 11406 .loc 1 4363 13 is_stmt 0 discriminator 2 view .LVU4210
  23422. 11407 005a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  23423. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23424. 11408 .loc 1 4359 5 discriminator 2 view .LVU4211
  23425. 11409 005e 0120 movs r0, #1
  23426. 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23427. 11410 .loc 1 4363 8 discriminator 2 view .LVU4212
  23428. 11411 0060 292A cmp r2, #41
  23429. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23430. 11412 .loc 1 4359 5 discriminator 2 view .LVU4213
  23431. 11413 0062 84F84000 strb r0, [r4, #64]
  23432. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23433. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 405
  23434. 11414 .loc 1 4359 5 is_stmt 1 discriminator 2 view .LVU4214
  23435. 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23436. 11415 .loc 1 4363 5 discriminator 2 view .LVU4215
  23437. 11416 .LBB478:
  23438. 11417 .LBB479:
  23439. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23440. 11418 .loc 1 7460 24 is_stmt 0 discriminator 2 view .LVU4216
  23441. 11419 0066 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  23442. 11420 .LBE479:
  23443. 11421 .LBE478:
  23444. 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23445. 11422 .loc 1 4363 8 discriminator 2 view .LVU4217
  23446. 11423 006a 56D0 beq .L977
  23447. 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23448. 11424 .loc 1 4388 10 is_stmt 1 view .LVU4218
  23449. 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23450. 11425 .loc 1 4388 13 is_stmt 0 view .LVU4219
  23451. 11426 006c 2A2A cmp r2, #42
  23452. 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23453. 11427 .loc 1 4388 18 view .LVU4220
  23454. 11428 006e D7B2 uxtb r7, r2
  23455. 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23456. 11429 .loc 1 4388 13 view .LVU4221
  23457. 11430 0070 00F09980 beq .L937
  23458. 11431 .L974:
  23459. 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23460. 11432 .loc 1 4429 13 view .LVU4222
  23461. 11433 0074 E06B ldr r0, [r4, #60]
  23462. 11434 .L934:
  23463. 4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23464. 11435 .loc 1 4413 5 is_stmt 1 view .LVU4223
  23465. 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  23466. 11436 .loc 1 4415 5 view .LVU4224
  23467. 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  23468. 11437 .loc 1 4415 21 is_stmt 0 view .LVU4225
  23469. 11438 0076 2A22 movs r2, #42
  23470. 11439 0078 84F84120 strb r2, [r4, #65]
  23471. 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  23472. 11440 .loc 1 4416 5 is_stmt 1 view .LVU4226
  23473. 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23474. 11441 .loc 1 4417 21 is_stmt 0 view .LVU4227
  23475. 11442 007c 0027 movs r7, #0
  23476. 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  23477. 11443 .loc 1 4416 21 view .LVU4228
  23478. 11444 007e 2022 movs r2, #32
  23479. 11445 0080 84F84220 strb r2, [r4, #66]
  23480. 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23481. 11446 .loc 1 4417 5 is_stmt 1 view .LVU4229
  23482. 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23483. 11447 .loc 1 4417 21 is_stmt 0 view .LVU4230
  23484. 11448 0084 6764 str r7, [r4, #68]
  23485. 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23486. 11449 .loc 1 4420 5 is_stmt 1 view .LVU4231
  23487. 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23488. 11450 .loc 1 4420 25 is_stmt 0 view .LVU4232
  23489. 11451 0086 4A68 ldr r2, [r1, #4]
  23490. 11452 0088 22F40042 bic r2, r2, #32768
  23491. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 406
  23492. 11453 008c 4A60 str r2, [r1, #4]
  23493. 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  23494. 11454 .loc 1 4423 5 is_stmt 1 view .LVU4233
  23495. 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  23496. 11455 .loc 1 4424 23 is_stmt 0 view .LVU4234
  23497. 11456 008e 6585 strh r5, [r4, #42] @ movhi
  23498. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23499. 11457 .loc 1 4425 29 view .LVU4235
  23500. 11458 0090 628D ldrh r2, [r4, #42]
  23501. 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  23502. 11459 .loc 1 4426 23 view .LVU4236
  23503. 11460 0092 E362 str r3, [r4, #44]
  23504. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23505. 11461 .loc 1 4425 29 view .LVU4237
  23506. 11462 0094 93B2 uxth r3, r2
  23507. 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23508. 11463 .loc 1 4427 23 view .LVU4238
  23509. 11464 0096 504A ldr r2, .L979+4
  23510. 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  23511. 11465 .loc 1 4423 23 view .LVU4239
  23512. 11466 0098 6662 str r6, [r4, #36]
  23513. 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  23514. 11467 .loc 1 4424 5 is_stmt 1 view .LVU4240
  23515. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23516. 11468 .loc 1 4425 5 view .LVU4241
  23517. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23518. 11469 .loc 1 4425 23 is_stmt 0 view .LVU4242
  23519. 11470 009a 2385 strh r3, [r4, #40] @ movhi
  23520. 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  23521. 11471 .loc 1 4426 5 is_stmt 1 view .LVU4243
  23522. 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23523. 11472 .loc 1 4427 5 view .LVU4244
  23524. 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23525. 11473 .loc 1 4427 23 is_stmt 0 view .LVU4245
  23526. 11474 009c 6263 str r2, [r4, #52]
  23527. 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23528. 11475 .loc 1 4429 5 is_stmt 1 view .LVU4246
  23529. 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23530. 11476 .loc 1 4429 8 is_stmt 0 view .LVU4247
  23531. 11477 009e 0028 cmp r0, #0
  23532. 11478 00a0 71D0 beq .L941
  23533. 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23534. 11479 .loc 1 4432 7 is_stmt 1 view .LVU4248
  23535. 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23536. 11480 .loc 1 4432 38 is_stmt 0 view .LVU4249
  23537. 11481 00a2 4E4D ldr r5, .L979+8
  23538. 11482 00a4 8562 str r5, [r0, #40]
  23539. 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23540. 11483 .loc 1 4435 7 is_stmt 1 view .LVU4250
  23541. 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23542. 11484 .loc 1 4435 39 is_stmt 0 view .LVU4251
  23543. 11485 00a6 4E4D ldr r5, .L979+12
  23544. 4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  23545. 11486 .loc 1 4438 42 view .LVU4252
  23546. 11487 00a8 C762 str r7, [r0, #44]
  23547. 4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23548. 11488 .loc 1 4439 39 view .LVU4253
  23549. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 407
  23550. 11489 00aa 4763 str r7, [r0, #52]
  23551. 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
  23552. 11490 .loc 1 4442 23 view .LVU4254
  23553. 11491 00ac 3246 mov r2, r6
  23554. 11492 00ae 2431 adds r1, r1, #36
  23555. 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23556. 11493 .loc 1 4435 39 view .LVU4255
  23557. 11494 00b0 0563 str r5, [r0, #48]
  23558. 4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
  23559. 11495 .loc 1 4438 7 is_stmt 1 view .LVU4256
  23560. 4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23561. 11496 .loc 1 4439 7 view .LVU4257
  23562. 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
  23563. 11497 .loc 1 4442 7 view .LVU4258
  23564. 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize);
  23565. 11498 .loc 1 4442 23 is_stmt 0 view .LVU4259
  23566. 11499 00b2 FFF7FEFF bl HAL_DMA_Start_IT
  23567. 11500 .LVL730:
  23568. 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23569. 11501 .loc 1 4460 5 is_stmt 1 view .LVU4260
  23570. 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23571. 11502 .loc 1 4460 8 is_stmt 0 view .LVU4261
  23572. 11503 00b6 18BB cbnz r0, .L978
  23573. 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23574. 11504 .loc 1 4463 7 is_stmt 1 view .LVU4262
  23575. 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23576. 11505 .loc 1 4463 23 is_stmt 0 view .LVU4263
  23577. 11506 00b8 628D ldrh r2, [r4, #42]
  23578. 11507 00ba 218D ldrh r1, [r4, #40]
  23579. 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
  23580. 11508 .loc 1 4483 11 view .LVU4264
  23581. 11509 00bc 2368 ldr r3, [r4]
  23582. 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23583. 11510 .loc 1 4463 23 view .LVU4265
  23584. 11511 00be 521A subs r2, r2, r1
  23585. 11512 00c0 92B2 uxth r2, r2
  23586. 11513 00c2 6285 strh r2, [r4, #42] @ movhi
  23587. 4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23588. 11514 .loc 1 4466 7 is_stmt 1 view .LVU4266
  23589. 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
  23590. 11515 .loc 1 4483 11 is_stmt 0 view .LVU4267
  23591. 11516 00c4 9969 ldr r1, [r3, #24]
  23592. 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23593. 11517 .loc 1 4484 10 view .LVU4268
  23594. 11518 00c6 9A69 ldr r2, [r3, #24]
  23595. 4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23596. 11519 .loc 1 4466 22 view .LVU4269
  23597. 11520 00c8 2085 strh r0, [r4, #40] @ movhi
  23598. 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET))
  23599. 11521 .loc 1 4483 5 is_stmt 1 view .LVU4270
  23600. 11522 .LVL731:
  23601. 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23602. 11523 .loc 1 4484 5 view .LVU4271
  23603. 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23604. 11524 .loc 1 4484 8 is_stmt 0 view .LVU4272
  23605. 11525 00ca D503 lsls r5, r2, #15
  23606. 11526 00cc 03D4 bmi .L945
  23607. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 408
  23608. 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23609. 11527 .loc 1 4484 55 discriminator 1 view .LVU4273
  23610. 11528 00ce 0A07 lsls r2, r1, #28
  23611. 4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23612. 11529 .loc 1 4488 7 is_stmt 1 discriminator 1 view .LVU4274
  23613. 11530 00d0 44BF itt mi
  23614. 11531 00d2 0822 movmi r2, #8
  23615. 11532 00d4 DA61 strmi r2, [r3, #28]
  23616. 11533 .L945:
  23617. 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23618. 11534 .loc 1 4492 5 view .LVU4275
  23619. 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23620. 11535 .loc 1 4492 5 view .LVU4276
  23621. 11536 00d6 0022 movs r2, #0
  23622. 11537 00d8 84F84020 strb r2, [r4, #64]
  23623. 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23624. 11538 .loc 1 4492 5 view .LVU4277
  23625. 4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23626. 11539 .loc 1 4495 5 view .LVU4278
  23627. 4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23628. 11540 .loc 1 4495 25 is_stmt 0 view .LVU4279
  23629. 11541 00dc 1A68 ldr r2, [r3]
  23630. 11542 00de 42F40042 orr r2, r2, #32768
  23631. 11543 00e2 1A60 str r2, [r3]
  23632. 4501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23633. 11544 .loc 1 4501 5 is_stmt 1 view .LVU4280
  23634. 11545 .LVL732:
  23635. 11546 .LBB481:
  23636. 11547 .LBI481:
  23637. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23638. 11548 .loc 1 7360 13 view .LVU4281
  23639. 11549 .LBB482:
  23640. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23641. 11550 .loc 1 7362 3 view .LVU4282
  23642. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  23643. 11551 .loc 1 7364 3 view .LVU4283
  23644. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23645. 11552 .loc 1 7441 3 view .LVU4284
  23646. 11553 00e4 1A68 ldr r2, [r3]
  23647. 11554 00e6 42F0FC02 orr r2, r2, #252
  23648. 11555 00ea 1A60 str r2, [r3]
  23649. 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23650. 11556 .loc 1 7442 1 is_stmt 0 view .LVU4285
  23651. 11557 00ec 00E0 b .L970
  23652. 11558 .LVL733:
  23653. 11559 .L946:
  23654. 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23655. 11560 .loc 1 7442 1 view .LVU4286
  23656. 11561 .LBE482:
  23657. 11562 .LBE481:
  23658. 4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23659. 11563 .loc 1 4507 12 view .LVU4287
  23660. 11564 00ee 0120 movs r0, #1
  23661. 11565 .L970:
  23662. 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23663. 11566 .loc 1 4509 1 view .LVU4288
  23664. 11567 00f0 03B0 add sp, sp, #12
  23665. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 409
  23666. 11568 .LCFI159:
  23667. 11569 .cfi_remember_state
  23668. 11570 .cfi_def_cfa_offset 20
  23669. 11571 @ sp needed
  23670. 11572 00f2 F0BD pop {r4, r5, r6, r7, pc}
  23671. 11573 .LVL734:
  23672. 11574 .L929:
  23673. 11575 .LCFI160:
  23674. 11576 .cfi_restore_state
  23675. 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  23676. 11577 .loc 1 4351 7 is_stmt 1 view .LVU4289
  23677. 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  23678. 11578 .loc 1 4351 23 is_stmt 0 view .LVU4290
  23679. 11579 00f4 4FF40073 mov r3, #512
  23680. 4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23681. 11580 .loc 1 4352 15 view .LVU4291
  23682. 11581 00f8 0120 movs r0, #1
  23683. 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR;
  23684. 11582 .loc 1 4351 23 view .LVU4292
  23685. 11583 00fa 6364 str r3, [r4, #68]
  23686. 4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23687. 11584 .loc 1 4352 7 is_stmt 1 view .LVU4293
  23688. 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23689. 11585 .loc 1 4509 1 is_stmt 0 view .LVU4294
  23690. 11586 00fc 03B0 add sp, sp, #12
  23691. 11587 .LCFI161:
  23692. 11588 .cfi_remember_state
  23693. 11589 .cfi_def_cfa_offset 20
  23694. 11590 @ sp needed
  23695. 11591 00fe F0BD pop {r4, r5, r6, r7, pc}
  23696. 11592 .LVL735:
  23697. 11593 .L978:
  23698. 11594 .LCFI162:
  23699. 11595 .cfi_restore_state
  23700. 4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  23701. 11596 .loc 1 4471 7 is_stmt 1 view .LVU4295
  23702. 4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  23703. 11597 .loc 1 4471 23 is_stmt 0 view .LVU4296
  23704. 11598 0100 2823 movs r3, #40
  23705. 11599 0102 84F84130 strb r3, [r4, #65]
  23706. 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23707. 11600 .loc 1 4472 7 is_stmt 1 view .LVU4297
  23708. 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23709. 11601 .loc 1 4472 23 is_stmt 0 view .LVU4298
  23710. 11602 0106 84F84270 strb r7, [r4, #66]
  23711. 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23712. 11603 .loc 1 4475 7 is_stmt 1 view .LVU4299
  23713. 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23714. 11604 .loc 1 4475 23 is_stmt 0 view .LVU4300
  23715. 11605 010a 636C ldr r3, [r4, #68]
  23716. 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23717. 11606 .loc 1 4478 7 view .LVU4301
  23718. 11607 010c 84F84070 strb r7, [r4, #64]
  23719. 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23720. 11608 .loc 1 4475 23 view .LVU4302
  23721. 11609 0110 43F01003 orr r3, r3, #16
  23722. 11610 0114 6364 str r3, [r4, #68]
  23723. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 410
  23724. 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23725. 11611 .loc 1 4478 7 is_stmt 1 view .LVU4303
  23726. 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23727. 11612 .loc 1 4478 7 view .LVU4304
  23728. 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23729. 11613 .loc 1 4478 7 view .LVU4305
  23730. 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23731. 11614 .loc 1 4480 7 view .LVU4306
  23732. 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23733. 11615 .loc 1 4480 14 is_stmt 0 view .LVU4307
  23734. 11616 0116 0120 movs r0, #1
  23735. 11617 .LVL736:
  23736. 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23737. 11618 .loc 1 4480 14 view .LVU4308
  23738. 11619 0118 EAE7 b .L970
  23739. 11620 .L977:
  23740. 4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23741. 11621 .loc 1 4366 7 is_stmt 1 view .LVU4309
  23742. 11622 .LVL737:
  23743. 11623 .LBB483:
  23744. 11624 .LBI478:
  23745. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23746. 11625 .loc 1 7451 13 view .LVU4310
  23747. 11626 .LBB480:
  23748. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23749. 11627 .loc 1 7453 3 view .LVU4311
  23750. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23751. 11628 .loc 1 7455 3 view .LVU4312
  23752. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23753. 11629 .loc 1 7458 5 view .LVU4313
  23754. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23755. 11630 .loc 1 7460 5 view .LVU4314
  23756. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23757. 11631 .loc 1 7460 8 is_stmt 0 view .LVU4315
  23758. 11632 011a 02F02802 and r2, r2, #40
  23759. 11633 011e 282A cmp r2, #40
  23760. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23761. 11634 .loc 1 7506 3 view .LVU4316
  23762. 11635 0120 0A68 ldr r2, [r1]
  23763. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23764. 11636 .loc 1 7460 8 view .LVU4317
  23765. 11637 0122 0CBF ite eq
  23766. 11638 0124 6FF04200 mvneq r0, #66
  23767. 11639 0128 6FF0F200 mvnne r0, #242
  23768. 11640 .LVL738:
  23769. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23770. 11641 .loc 1 7467 3 is_stmt 1 view .LVU4318
  23771. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23772. 11642 .loc 1 7479 3 view .LVU4319
  23773. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23774. 11643 .loc 1 7485 3 view .LVU4320
  23775. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23776. 11644 .loc 1 7491 3 view .LVU4321
  23777. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23778. 11645 .loc 1 7497 3 view .LVU4322
  23779. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23780. 11646 .loc 1 7506 3 view .LVU4323
  23781. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 411
  23782. 11647 012c 0240 ands r2, r2, r0
  23783. 11648 012e 0A60 str r2, [r1]
  23784. 11649 .LVL739:
  23785. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23786. 11650 .loc 1 7506 3 is_stmt 0 view .LVU4324
  23787. 11651 .LBE480:
  23788. 11652 .LBE483:
  23789. 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23790. 11653 .loc 1 4368 7 is_stmt 1 view .LVU4325
  23791. 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23792. 11654 .loc 1 4368 26 is_stmt 0 view .LVU4326
  23793. 11655 0130 0A68 ldr r2, [r1]
  23794. 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23795. 11656 .loc 1 4368 10 view .LVU4327
  23796. 11657 0132 5004 lsls r0, r2, #17
  23797. 11658 0134 9ED5 bpl .L974
  23798. 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23799. 11659 .loc 1 4371 9 is_stmt 1 view .LVU4328
  23800. 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23801. 11660 .loc 1 4371 17 is_stmt 0 view .LVU4329
  23802. 11661 0136 A06B ldr r0, [r4, #56]
  23803. 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23804. 11662 .loc 1 4371 12 view .LVU4330
  23805. 11663 0138 0028 cmp r0, #0
  23806. 11664 013a 9BD0 beq .L974
  23807. 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23808. 11665 .loc 1 4373 11 is_stmt 1 view .LVU4331
  23809. 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23810. 11666 .loc 1 4373 31 is_stmt 0 view .LVU4332
  23811. 11667 013c 0A68 ldr r2, [r1]
  23812. 11668 013e 0193 str r3, [sp, #4]
  23813. 11669 0140 22F48042 bic r2, r2, #16384
  23814. 11670 0144 0A60 str r2, [r1]
  23815. 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23816. 11671 .loc 1 4377 11 is_stmt 1 view .LVU4333
  23817. 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23818. 11672 .loc 1 4377 43 is_stmt 0 view .LVU4334
  23819. 11673 0146 274A ldr r2, .L979+16
  23820. 11674 0148 4263 str r2, [r0, #52]
  23821. 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23822. 11675 .loc 1 4380 11 is_stmt 1 view .LVU4335
  23823. 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23824. 11676 .loc 1 4380 15 is_stmt 0 view .LVU4336
  23825. 11677 014a FFF7FEFF bl HAL_DMA_Abort_IT
  23826. 11678 .LVL740:
  23827. 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23828. 11679 .loc 1 4380 14 view .LVU4337
  23829. 11680 014e 019B ldr r3, [sp, #4]
  23830. 11681 0150 0028 cmp r0, #0
  23831. 11682 0152 3DD0 beq .L976
  23832. 4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23833. 11683 .loc 1 4383 17 view .LVU4338
  23834. 11684 0154 A06B ldr r0, [r4, #56]
  23835. 11685 0156 0193 str r3, [sp, #4]
  23836. 4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23837. 11686 .loc 1 4383 13 is_stmt 1 view .LVU4339
  23838. 11687 .L975:
  23839. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 412
  23840. 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23841. 11688 .loc 1 4405 13 is_stmt 0 view .LVU4340
  23842. 11689 0158 426B ldr r2, [r0, #52]
  23843. 11690 015a 9047 blx r2
  23844. 11691 .LVL741:
  23845. 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23846. 11692 .loc 1 4420 9 view .LVU4341
  23847. 11693 015c 2168 ldr r1, [r4]
  23848. 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23849. 11694 .loc 1 4429 13 view .LVU4342
  23850. 11695 015e E06B ldr r0, [r4, #60]
  23851. 11696 0160 019B ldr r3, [sp, #4]
  23852. 11697 0162 88E7 b .L934
  23853. 11698 .L939:
  23854. 4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23855. 11699 .loc 1 4413 5 is_stmt 1 view .LVU4343
  23856. 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  23857. 11700 .loc 1 4415 5 view .LVU4344
  23858. 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  23859. 11701 .loc 1 4416 21 is_stmt 0 view .LVU4345
  23860. 11702 0164 2022 movs r2, #32
  23861. 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
  23862. 11703 .loc 1 4415 21 view .LVU4346
  23863. 11704 0166 84F84170 strb r7, [r4, #65]
  23864. 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  23865. 11705 .loc 1 4416 5 is_stmt 1 view .LVU4347
  23866. 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
  23867. 11706 .loc 1 4416 21 is_stmt 0 view .LVU4348
  23868. 11707 016a 84F84220 strb r2, [r4, #66]
  23869. 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23870. 11708 .loc 1 4417 5 is_stmt 1 view .LVU4349
  23871. 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23872. 11709 .loc 1 4417 21 is_stmt 0 view .LVU4350
  23873. 11710 016e 6064 str r0, [r4, #68]
  23874. 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23875. 11711 .loc 1 4420 5 is_stmt 1 view .LVU4351
  23876. 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23877. 11712 .loc 1 4420 25 is_stmt 0 view .LVU4352
  23878. 11713 0170 4A68 ldr r2, [r1, #4]
  23879. 11714 0172 22F40042 bic r2, r2, #32768
  23880. 11715 0176 4A60 str r2, [r1, #4]
  23881. 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  23882. 11716 .loc 1 4423 5 is_stmt 1 view .LVU4353
  23883. 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  23884. 11717 .loc 1 4424 23 is_stmt 0 view .LVU4354
  23885. 11718 0178 6585 strh r5, [r4, #42] @ movhi
  23886. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23887. 11719 .loc 1 4425 29 view .LVU4355
  23888. 11720 017a 618D ldrh r1, [r4, #42]
  23889. 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23890. 11721 .loc 1 4427 23 view .LVU4356
  23891. 11722 017c 164A ldr r2, .L979+4
  23892. 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size;
  23893. 11723 .loc 1 4423 23 view .LVU4357
  23894. 11724 017e 6662 str r6, [r4, #36]
  23895. 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
  23896. 11725 .loc 1 4424 5 is_stmt 1 view .LVU4358
  23897. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 413
  23898. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23899. 11726 .loc 1 4425 5 view .LVU4359
  23900. 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
  23901. 11727 .loc 1 4425 23 is_stmt 0 view .LVU4360
  23902. 11728 0180 2185 strh r1, [r4, #40] @ movhi
  23903. 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  23904. 11729 .loc 1 4426 5 is_stmt 1 view .LVU4361
  23905. 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
  23906. 11730 .loc 1 4426 23 is_stmt 0 view .LVU4362
  23907. 11731 0182 E362 str r3, [r4, #44]
  23908. 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23909. 11732 .loc 1 4427 5 is_stmt 1 view .LVU4363
  23910. 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23911. 11733 .loc 1 4427 23 is_stmt 0 view .LVU4364
  23912. 11734 0184 6263 str r2, [r4, #52]
  23913. 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23914. 11735 .loc 1 4429 5 is_stmt 1 view .LVU4365
  23915. 11736 .L941:
  23916. 4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  23917. 11737 .loc 1 4448 7 view .LVU4366
  23918. 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23919. 11738 .loc 1 4449 23 is_stmt 0 view .LVU4367
  23920. 11739 0186 0022 movs r2, #0
  23921. 4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  23922. 11740 .loc 1 4448 23 view .LVU4368
  23923. 11741 0188 2823 movs r3, #40
  23924. 11742 018a 84F84130 strb r3, [r4, #65]
  23925. 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23926. 11743 .loc 1 4449 7 is_stmt 1 view .LVU4369
  23927. 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23928. 11744 .loc 1 4449 23 is_stmt 0 view .LVU4370
  23929. 11745 018e 84F84220 strb r2, [r4, #66]
  23930. 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23931. 11746 .loc 1 4452 7 is_stmt 1 view .LVU4371
  23932. 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23933. 11747 .loc 1 4452 23 is_stmt 0 view .LVU4372
  23934. 11748 0192 636C ldr r3, [r4, #68]
  23935. 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23936. 11749 .loc 1 4455 7 view .LVU4373
  23937. 11750 0194 84F84020 strb r2, [r4, #64]
  23938. 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23939. 11751 .loc 1 4452 23 view .LVU4374
  23940. 11752 0198 43F08003 orr r3, r3, #128
  23941. 11753 019c 6364 str r3, [r4, #68]
  23942. 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23943. 11754 .loc 1 4455 7 is_stmt 1 view .LVU4375
  23944. 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23945. 11755 .loc 1 4455 7 view .LVU4376
  23946. 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23947. 11756 .loc 1 4455 7 view .LVU4377
  23948. 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23949. 11757 .loc 1 4457 7 view .LVU4378
  23950. 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  23951. 11758 .loc 1 4457 14 is_stmt 0 view .LVU4379
  23952. 11759 019e 0120 movs r0, #1
  23953. 11760 01a0 A6E7 b .L970
  23954. 11761 .L947:
  23955. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 414
  23956. 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23957. 11762 .loc 1 4359 5 view .LVU4380
  23958. 11763 01a2 0220 movs r0, #2
  23959. 11764 01a4 A4E7 b .L970
  23960. 11765 .L937:
  23961. 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23962. 11766 .loc 1 4390 7 is_stmt 1 view .LVU4381
  23963. 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23964. 11767 .loc 1 4390 26 is_stmt 0 view .LVU4382
  23965. 11768 01a6 0A68 ldr r2, [r1]
  23966. 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23967. 11769 .loc 1 4390 10 view .LVU4383
  23968. 11770 01a8 1204 lsls r2, r2, #16
  23969. 11771 01aa 7FF563AF bpl .L974
  23970. 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23971. 11772 .loc 1 4392 9 is_stmt 1 view .LVU4384
  23972. 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23973. 11773 .loc 1 4392 29 is_stmt 0 view .LVU4385
  23974. 11774 01ae 0A68 ldr r2, [r1]
  23975. 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23976. 11775 .loc 1 4395 17 view .LVU4386
  23977. 11776 01b0 E06B ldr r0, [r4, #60]
  23978. 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23979. 11777 .loc 1 4392 29 view .LVU4387
  23980. 11778 01b2 22F40042 bic r2, r2, #32768
  23981. 11779 01b6 0A60 str r2, [r1]
  23982. 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23983. 11780 .loc 1 4395 9 is_stmt 1 view .LVU4388
  23984. 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23985. 11781 .loc 1 4395 12 is_stmt 0 view .LVU4389
  23986. 11782 01b8 0028 cmp r0, #0
  23987. 11783 01ba D3D0 beq .L939
  23988. 4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23989. 11784 .loc 1 4399 11 is_stmt 1 view .LVU4390
  23990. 4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  23991. 11785 .loc 1 4399 43 is_stmt 0 view .LVU4391
  23992. 11786 01bc 094A ldr r2, .L979+16
  23993. 11787 01be 4263 str r2, [r0, #52]
  23994. 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23995. 11788 .loc 1 4402 11 is_stmt 1 view .LVU4392
  23996. 11789 01c0 0193 str r3, [sp, #4]
  23997. 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  23998. 11790 .loc 1 4402 15 is_stmt 0 view .LVU4393
  23999. 11791 01c2 FFF7FEFF bl HAL_DMA_Abort_IT
  24000. 11792 .LVL742:
  24001. 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24002. 11793 .loc 1 4402 14 view .LVU4394
  24003. 11794 01c6 019B ldr r3, [sp, #4]
  24004. 11795 01c8 10B1 cbz r0, .L976
  24005. 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24006. 11796 .loc 1 4405 17 view .LVU4395
  24007. 11797 01ca E06B ldr r0, [r4, #60]
  24008. 11798 01cc 0193 str r3, [sp, #4]
  24009. 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24010. 11799 .loc 1 4405 13 is_stmt 1 view .LVU4396
  24011. 11800 01ce C3E7 b .L975
  24012. 11801 .L976:
  24013. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 415
  24014. 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24015. 11802 .loc 1 4420 9 is_stmt 0 view .LVU4397
  24016. 11803 01d0 2168 ldr r1, [r4]
  24017. 11804 01d2 4FE7 b .L974
  24018. 11805 .L980:
  24019. 11806 .align 2
  24020. 11807 .L979:
  24021. 11808 01d4 00000000 .word .LC0
  24022. 11809 01d8 00000000 .word I2C_Slave_ISR_DMA
  24023. 11810 01dc 00000000 .word I2C_DMASlaveReceiveCplt
  24024. 11811 01e0 00000000 .word I2C_DMAError
  24025. 11812 01e4 00000000 .word I2C_DMAAbort
  24026. 11813 .cfi_endproc
  24027. 11814 .LFE160:
  24028. 11816 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
  24029. 11817 .align 1
  24030. 11818 .p2align 2,,3
  24031. 11819 .global HAL_I2C_EnableListen_IT
  24032. 11820 .syntax unified
  24033. 11821 .thumb
  24034. 11822 .thumb_func
  24035. 11824 HAL_I2C_EnableListen_IT:
  24036. 11825 .LVL743:
  24037. 11826 .LFB161:
  24038. 4518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
  24039. 11827 .loc 1 4518 1 is_stmt 1 view -0
  24040. 11828 .cfi_startproc
  24041. 11829 @ args = 0, pretend = 0, frame = 0
  24042. 11830 @ frame_needed = 0, uses_anonymous_args = 0
  24043. 11831 @ link register save eliminated.
  24044. 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24045. 11832 .loc 1 4519 3 view .LVU4399
  24046. 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24047. 11833 .loc 1 4519 11 is_stmt 0 view .LVU4400
  24048. 11834 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  24049. 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24050. 11835 .loc 1 4519 6 view .LVU4401
  24051. 11836 0004 202B cmp r3, #32
  24052. 11837 0006 01D0 beq .L984
  24053. 4531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24054. 11838 .loc 1 4531 12 view .LVU4402
  24055. 11839 0008 0220 movs r0, #2
  24056. 11840 .LVL744:
  24057. 4533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24058. 11841 .loc 1 4533 1 view .LVU4403
  24059. 11842 000a 7047 bx lr
  24060. 11843 .LVL745:
  24061. 11844 .L984:
  24062. 4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  24063. 11845 .loc 1 4521 5 is_stmt 1 view .LVU4404
  24064. 11846 .LBB486:
  24065. 11847 .LBB487:
  24066. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24067. 11848 .loc 1 7441 3 is_stmt 0 view .LVU4405
  24068. 11849 000c 0268 ldr r2, [r0]
  24069. 11850 .LBE487:
  24070. 11851 .LBE486:
  24071. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 416
  24072. 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24073. 11852 .loc 1 4522 19 view .LVU4406
  24074. 11853 000e 0549 ldr r1, .L985
  24075. 4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  24076. 11854 .loc 1 4521 17 view .LVU4407
  24077. 11855 0010 2823 movs r3, #40
  24078. 11856 0012 80F84130 strb r3, [r0, #65]
  24079. 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24080. 11857 .loc 1 4522 5 is_stmt 1 view .LVU4408
  24081. 11858 .LBB492:
  24082. 11859 .LBB488:
  24083. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24084. 11860 .loc 1 7441 3 is_stmt 0 view .LVU4409
  24085. 11861 0016 1368 ldr r3, [r2]
  24086. 11862 .LBE488:
  24087. 11863 .LBE492:
  24088. 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24089. 11864 .loc 1 4522 19 view .LVU4410
  24090. 11865 0018 4163 str r1, [r0, #52]
  24091. 11866 .LBB493:
  24092. 11867 .LBB489:
  24093. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24094. 11868 .loc 1 7441 3 view .LVU4411
  24095. 11869 001a 43F0B803 orr r3, r3, #184
  24096. 11870 .LBE489:
  24097. 11871 .LBE493:
  24098. 4525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24099. 11872 .loc 1 4525 5 is_stmt 1 view .LVU4412
  24100. 11873 .LVL746:
  24101. 11874 .LBB494:
  24102. 11875 .LBI486:
  24103. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24104. 11876 .loc 1 7360 13 view .LVU4413
  24105. 11877 .LBB490:
  24106. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24107. 11878 .loc 1 7362 3 view .LVU4414
  24108. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  24109. 11879 .loc 1 7364 3 view .LVU4415
  24110. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24111. 11880 .loc 1 7441 3 view .LVU4416
  24112. 11881 .LBE490:
  24113. 11882 .LBE494:
  24114. 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24115. 11883 .loc 1 4527 12 is_stmt 0 view .LVU4417
  24116. 11884 001e 0020 movs r0, #0
  24117. 11885 .LVL747:
  24118. 11886 .LBB495:
  24119. 11887 .LBB491:
  24120. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24121. 11888 .loc 1 7441 3 view .LVU4418
  24122. 11889 0020 1360 str r3, [r2]
  24123. 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24124. 11890 .loc 1 7442 1 view .LVU4419
  24125. 11891 0022 7047 bx lr
  24126. 11892 .L986:
  24127. 11893 .align 2
  24128. 11894 .L985:
  24129. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 417
  24130. 11895 0024 00000000 .word I2C_Slave_ISR_IT
  24131. 11896 .LBE491:
  24132. 11897 .LBE495:
  24133. 11898 .cfi_endproc
  24134. 11899 .LFE161:
  24135. 11901 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
  24136. 11902 .align 1
  24137. 11903 .p2align 2,,3
  24138. 11904 .global HAL_I2C_DisableListen_IT
  24139. 11905 .syntax unified
  24140. 11906 .thumb
  24141. 11907 .thumb_func
  24142. 11909 HAL_I2C_DisableListen_IT:
  24143. 11910 .LVL748:
  24144. 11911 .LFB162:
  24145. 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  24146. 11912 .loc 1 4542 1 is_stmt 1 view -0
  24147. 11913 .cfi_startproc
  24148. 11914 @ args = 0, pretend = 0, frame = 0
  24149. 11915 @ frame_needed = 0, uses_anonymous_args = 0
  24150. 11916 @ link register save eliminated.
  24151. 4544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24152. 11917 .loc 1 4544 3 view .LVU4421
  24153. 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24154. 11918 .loc 1 4547 3 view .LVU4422
  24155. 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24156. 11919 .loc 1 4547 11 is_stmt 0 view .LVU4423
  24157. 11920 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  24158. 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24159. 11921 .loc 1 4547 6 view .LVU4424
  24160. 11922 0004 282B cmp r3, #40
  24161. 11923 0006 01D0 beq .L994
  24162. 4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24163. 11924 .loc 1 4562 12 view .LVU4425
  24164. 11925 0008 0220 movs r0, #2
  24165. 11926 .LVL749:
  24166. 4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24167. 11927 .loc 1 4564 1 view .LVU4426
  24168. 11928 000a 7047 bx lr
  24169. 11929 .LVL750:
  24170. 11930 .L994:
  24171. 4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
  24172. 11931 .loc 1 4549 5 is_stmt 1 view .LVU4427
  24173. 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
  24174. 11932 .loc 1 4542 1 is_stmt 0 view .LVU4428
  24175. 11933 000c 10B4 push {r4}
  24176. 11934 .LCFI163:
  24177. 11935 .cfi_def_cfa_offset 4
  24178. 11936 .cfi_offset 4, -4
  24179. 4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
  24180. 11937 .loc 1 4549 26 view .LVU4429
  24181. 11938 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2
  24182. 11939 .LVL751:
  24183. 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  24184. 11940 .loc 1 4550 5 is_stmt 1 view .LVU4430
  24185. 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  24186. 11941 .loc 1 4550 48 is_stmt 0 view .LVU4431
  24187. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 418
  24188. 11942 0012 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2
  24189. 11943 .LBB496:
  24190. 11944 .LBB497:
  24191. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24192. 11945 .loc 1 7506 3 view .LVU4432
  24193. 11946 0016 0468 ldr r4, [r0]
  24194. 11947 .LBE497:
  24195. 11948 .LBE496:
  24196. 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  24197. 11949 .loc 1 4550 31 view .LVU4433
  24198. 11950 0018 01F00301 and r1, r1, #3
  24199. 11951 .LVL752:
  24200. 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24201. 11952 .loc 1 4552 16 view .LVU4434
  24202. 11953 001c 0023 movs r3, #0
  24203. 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  24204. 11954 .loc 1 4550 31 view .LVU4435
  24205. 11955 001e 0A43 orrs r2, r2, r1
  24206. 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  24207. 11956 .loc 1 4551 17 view .LVU4436
  24208. 11957 0020 2021 movs r1, #32
  24209. 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  24210. 11958 .loc 1 4550 25 view .LVU4437
  24211. 11959 0022 0263 str r2, [r0, #48]
  24212. 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  24213. 11960 .loc 1 4551 5 is_stmt 1 view .LVU4438
  24214. 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  24215. 11961 .loc 1 4551 17 is_stmt 0 view .LVU4439
  24216. 11962 0024 80F84110 strb r1, [r0, #65]
  24217. 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24218. 11963 .loc 1 4552 5 is_stmt 1 view .LVU4440
  24219. 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24220. 11964 .loc 1 4552 16 is_stmt 0 view .LVU4441
  24221. 11965 0028 80F84230 strb r3, [r0, #66]
  24222. 4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24223. 11966 .loc 1 4553 5 is_stmt 1 view .LVU4442
  24224. 11967 .LBB500:
  24225. 11968 .LBB498:
  24226. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24227. 11969 .loc 1 7506 3 is_stmt 0 view .LVU4443
  24228. 11970 002c 2268 ldr r2, [r4]
  24229. 11971 .LBE498:
  24230. 11972 .LBE500:
  24231. 4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24232. 11973 .loc 1 4553 19 view .LVU4444
  24233. 11974 002e 4363 str r3, [r0, #52]
  24234. 4556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24235. 11975 .loc 1 4556 5 is_stmt 1 view .LVU4445
  24236. 11976 .LVL753:
  24237. 11977 .LBB501:
  24238. 11978 .LBI496:
  24239. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24240. 11979 .loc 1 7451 13 view .LVU4446
  24241. 11980 .LBB499:
  24242. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24243. 11981 .loc 1 7453 3 view .LVU4447
  24244. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24245. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 419
  24246. 11982 .loc 1 7455 3 view .LVU4448
  24247. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24248. 11983 .loc 1 7467 3 view .LVU4449
  24249. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24250. 11984 .loc 1 7479 3 view .LVU4450
  24251. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24252. 11985 .loc 1 7482 5 view .LVU4451
  24253. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24254. 11986 .loc 1 7485 3 view .LVU4452
  24255. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24256. 11987 .loc 1 7491 3 view .LVU4453
  24257. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24258. 11988 .loc 1 7497 3 view .LVU4454
  24259. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24260. 11989 .loc 1 7506 3 view .LVU4455
  24261. 11990 0030 22F0B802 bic r2, r2, #184
  24262. 11991 0034 2260 str r2, [r4]
  24263. 11992 .LVL754:
  24264. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24265. 11993 .loc 1 7506 3 is_stmt 0 view .LVU4456
  24266. 11994 .LBE499:
  24267. 11995 .LBE501:
  24268. 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24269. 11996 .loc 1 4558 5 is_stmt 1 view .LVU4457
  24270. 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24271. 11997 .loc 1 4558 12 is_stmt 0 view .LVU4458
  24272. 11998 0036 1846 mov r0, r3
  24273. 11999 .LVL755:
  24274. 4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24275. 12000 .loc 1 4564 1 view .LVU4459
  24276. 12001 0038 5DF8044B ldr r4, [sp], #4
  24277. 12002 .LCFI164:
  24278. 12003 .cfi_restore 4
  24279. 12004 .cfi_def_cfa_offset 0
  24280. 12005 003c 7047 bx lr
  24281. 12006 .cfi_endproc
  24282. 12007 .LFE162:
  24283. 12009 003e 00BF .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
  24284. 12010 .align 1
  24285. 12011 .p2align 2,,3
  24286. 12012 .global HAL_I2C_Master_Abort_IT
  24287. 12013 .syntax unified
  24288. 12014 .thumb
  24289. 12015 .thumb_func
  24290. 12017 HAL_I2C_Master_Abort_IT:
  24291. 12018 .LVL756:
  24292. 12019 .LFB163:
  24293. 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode;
  24294. 12020 .loc 1 4575 1 is_stmt 1 view -0
  24295. 12021 .cfi_startproc
  24296. 12022 @ args = 0, pretend = 0, frame = 0
  24297. 12023 @ frame_needed = 0, uses_anonymous_args = 0
  24298. 4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24299. 12024 .loc 1 4576 3 view .LVU4461
  24300. 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode;
  24301. 12025 .loc 1 4575 1 is_stmt 0 view .LVU4462
  24302. 12026 0000 70B5 push {r4, r5, r6, lr}
  24303. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 420
  24304. 12027 .LCFI165:
  24305. 12028 .cfi_def_cfa_offset 16
  24306. 12029 .cfi_offset 4, -16
  24307. 12030 .cfi_offset 5, -12
  24308. 12031 .cfi_offset 6, -8
  24309. 12032 .cfi_offset 14, -4
  24310. 4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24311. 12033 .loc 1 4576 23 view .LVU4463
  24312. 12034 0002 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2
  24313. 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24314. 12035 .loc 1 4578 6 view .LVU4464
  24315. 12036 0006 102A cmp r2, #16
  24316. 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode;
  24317. 12037 .loc 1 4575 1 view .LVU4465
  24318. 12038 0008 0446 mov r4, r0
  24319. 12039 000a 0D46 mov r5, r1
  24320. 12040 .LVL757:
  24321. 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24322. 12041 .loc 1 4578 3 is_stmt 1 view .LVU4466
  24323. 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24324. 12042 .loc 1 4578 6 is_stmt 0 view .LVU4467
  24325. 12043 000c 02D0 beq .L996
  24326. 12044 000e D3B2 uxtb r3, r2
  24327. 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24328. 12045 .loc 1 4578 41 discriminator 1 view .LVU4468
  24329. 12046 0010 402B cmp r3, #64
  24330. 12047 0012 3ED1 bne .L1005
  24331. 12048 .L996:
  24332. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24333. 12049 .loc 1 4581 5 is_stmt 1 view .LVU4469
  24334. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24335. 12050 .loc 1 4581 5 view .LVU4470
  24336. 12051 0014 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2
  24337. 12052 0018 012B cmp r3, #1
  24338. 12053 001a 4FD0 beq .L1006
  24339. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24340. 12054 .loc 1 4581 5 discriminator 2 view .LVU4471
  24341. 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24342. 12055 .loc 1 4584 13 is_stmt 0 discriminator 2 view .LVU4472
  24343. 12056 001c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  24344. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24345. 12057 .loc 1 4581 5 discriminator 2 view .LVU4473
  24346. 12058 0020 0122 movs r2, #1
  24347. 12059 .LVL758:
  24348. 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24349. 12060 .loc 1 4584 8 discriminator 2 view .LVU4474
  24350. 12061 0022 212B cmp r3, #33
  24351. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24352. 12062 .loc 1 4581 5 discriminator 2 view .LVU4475
  24353. 12063 0024 84F84020 strb r2, [r4, #64]
  24354. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24355. 12064 .loc 1 4581 5 is_stmt 1 discriminator 2 view .LVU4476
  24356. 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24357. 12065 .loc 1 4584 5 discriminator 2 view .LVU4477
  24358. 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24359. 12066 .loc 1 4584 8 is_stmt 0 discriminator 2 view .LVU4478
  24360. 12067 0028 37D0 beq .L1016
  24361. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 421
  24362. 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24363. 12068 .loc 1 4589 10 is_stmt 1 view .LVU4479
  24364. 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24365. 12069 .loc 1 4589 18 is_stmt 0 view .LVU4480
  24366. 12070 002a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  24367. 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24368. 12071 .loc 1 4589 13 view .LVU4481
  24369. 12072 002e 222B cmp r3, #34
  24370. 12073 0030 46D0 beq .L1001
  24371. 12074 .LBB510:
  24372. 12075 .LBB511:
  24373. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24374. 12076 .loc 1 7506 3 view .LVU4482
  24375. 12077 0032 2668 ldr r6, [r4]
  24376. 12078 .L1000:
  24377. 12079 .LBE511:
  24378. 12080 .LBE510:
  24379. 4597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24380. 12081 .loc 1 4597 5 is_stmt 1 view .LVU4483
  24381. 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24382. 12082 .loc 1 4600 5 view .LVU4484
  24383. 12083 .LBB514:
  24384. 12084 .LBB515:
  24385. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  24386. 12085 .loc 1 7337 3 is_stmt 0 view .LVU4485
  24387. 12086 0034 2B4B ldr r3, .L1017
  24388. 12087 .LBE515:
  24389. 12088 .LBE514:
  24390. 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24391. 12089 .loc 1 4600 17 view .LVU4486
  24392. 12090 0036 6022 movs r2, #96
  24393. 12091 .LBB520:
  24394. 12092 .LBB516:
  24395. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  24396. 12093 .loc 1 7337 3 view .LVU4487
  24397. 12094 0038 9E42 cmp r6, r3
  24398. 12095 .LBE516:
  24399. 12096 .LBE520:
  24400. 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24401. 12097 .loc 1 4600 17 view .LVU4488
  24402. 12098 003a 84F84120 strb r2, [r4, #65]
  24403. 4604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24404. 12099 .loc 1 4604 5 is_stmt 1 view .LVU4489
  24405. 12100 .LVL759:
  24406. 12101 .LBB521:
  24407. 12102 .LBI514:
  24408. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  24409. 12103 .loc 1 7333 13 view .LVU4490
  24410. 12104 .LBB517:
  24411. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  24412. 12105 .loc 1 7337 3 view .LVU4491
  24413. 12106 003e 09D0 beq .L1003
  24414. 12107 0040 03F58063 add r3, r3, #1024
  24415. 12108 0044 9E42 cmp r6, r3
  24416. 12109 0046 05D0 beq .L1003
  24417. 12110 0048 2748 ldr r0, .L1017+4
  24418. 12111 .LVL760:
  24419. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 422
  24420. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  24421. 12112 .loc 1 7337 3 is_stmt 0 view .LVU4492
  24422. 12113 004a 41F6A941 movw r1, #7337
  24423. 12114 .LVL761:
  24424. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  24425. 12115 .loc 1 7337 3 view .LVU4493
  24426. 12116 004e FFF7FEFF bl assert_failed
  24427. 12117 .LVL762:
  24428. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  24429. 12118 .loc 1 7347 3 view .LVU4494
  24430. 12119 0052 2668 ldr r6, [r4]
  24431. 12120 .L1003:
  24432. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  24433. 12121 .loc 1 7338 3 is_stmt 1 view .LVU4495
  24434. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24435. 12122 .loc 1 7339 3 view .LVU4496
  24436. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  24437. 12123 .loc 1 7342 3 view .LVU4497
  24438. 12124 .LVL763:
  24439. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  24440. 12125 .loc 1 7347 3 view .LVU4498
  24441. 12126 0054 7268 ldr r2, [r6, #4]
  24442. 12127 0056 2549 ldr r1, .L1017+8
  24443. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  24444. 12128 .loc 1 7342 52 is_stmt 0 view .LVU4499
  24445. 12129 0058 C5F30903 ubfx r3, r5, #0, #10
  24446. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  24447. 12130 .loc 1 7347 3 view .LVU4500
  24448. 12131 005c 1140 ands r1, r1, r2
  24449. 12132 005e 0B43 orrs r3, r3, r1
  24450. 12133 .LBE517:
  24451. 12134 .LBE521:
  24452. 12135 .LBB522:
  24453. 12136 .LBB523:
  24454. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  24455. 12137 .loc 1 7364 12 view .LVU4501
  24456. 12138 0060 626B ldr r2, [r4, #52]
  24457. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  24458. 12139 .loc 1 7364 6 view .LVU4502
  24459. 12140 0062 2349 ldr r1, .L1017+12
  24460. 12141 .LBE523:
  24461. 12142 .LBE522:
  24462. 12143 .LBB528:
  24463. 12144 .LBB518:
  24464. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  24465. 12145 .loc 1 7347 3 view .LVU4503
  24466. 12146 0064 43F00073 orr r3, r3, #33554432
  24467. 12147 0068 43F4A033 orr r3, r3, #81920
  24468. 12148 .LBE518:
  24469. 12149 .LBE528:
  24470. 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24471. 12150 .loc 1 4607 5 view .LVU4504
  24472. 12151 006c 0020 movs r0, #0
  24473. 12152 .LBB529:
  24474. 12153 .LBB524:
  24475. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  24476. 12154 .loc 1 7364 6 view .LVU4505
  24477. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 423
  24478. 12155 006e 8A42 cmp r2, r1
  24479. 12156 .LBE524:
  24480. 12157 .LBE529:
  24481. 12158 .LBB530:
  24482. 12159 .LBB519:
  24483. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  24484. 12160 .loc 1 7347 3 view .LVU4506
  24485. 12161 0070 7360 str r3, [r6, #4]
  24486. 12162 .LVL764:
  24487. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  24488. 12163 .loc 1 7347 3 view .LVU4507
  24489. 12164 .LBE519:
  24490. 12165 .LBE530:
  24491. 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24492. 12166 .loc 1 4607 5 is_stmt 1 view .LVU4508
  24493. 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24494. 12167 .loc 1 4607 5 view .LVU4509
  24495. 12168 0072 84F84000 strb r0, [r4, #64]
  24496. 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24497. 12169 .loc 1 4607 5 view .LVU4510
  24498. 4612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24499. 12170 .loc 1 4612 5 view .LVU4511
  24500. 12171 .LVL765:
  24501. 12172 .LBB531:
  24502. 12173 .LBI522:
  24503. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24504. 12174 .loc 1 7360 13 view .LVU4512
  24505. 12175 .LBB525:
  24506. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24507. 12176 .loc 1 7362 3 view .LVU4513
  24508. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  24509. 12177 .loc 1 7364 3 view .LVU4514
  24510. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  24511. 12178 .loc 1 7364 6 is_stmt 0 view .LVU4515
  24512. 12179 0076 0ED0 beq .L1010
  24513. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  24514. 12180 .loc 1 7364 45 view .LVU4516
  24515. 12181 0078 1E4B ldr r3, .L1017+16
  24516. 12182 007a 9A42 cmp r2, r3
  24517. 12183 007c 0BD0 beq .L1010
  24518. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  24519. 12184 .loc 1 7365 44 view .LVU4517
  24520. 12185 007e 1E4B ldr r3, .L1017+20
  24521. 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24522. 12186 .loc 1 7395 14 view .LVU4518
  24523. 12187 0080 9A42 cmp r2, r3
  24524. 12188 0082 0CBF ite eq
  24525. 12189 0084 6022 moveq r2, #96
  24526. 12190 0086 2022 movne r2, #32
  24527. 12191 .L1004:
  24528. 12192 .LVL766:
  24529. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24530. 12193 .loc 1 7441 3 is_stmt 1 view .LVU4519
  24531. 12194 0088 3368 ldr r3, [r6]
  24532. 12195 008a 1A43 orrs r2, r2, r3
  24533. 12196 .LVL767:
  24534. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24535. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 424
  24536. 12197 .loc 1 7441 3 is_stmt 0 view .LVU4520
  24537. 12198 .LBE525:
  24538. 12199 .LBE531:
  24539. 4614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24540. 12200 .loc 1 4614 12 view .LVU4521
  24541. 12201 008c 0020 movs r0, #0
  24542. 12202 .LBB532:
  24543. 12203 .LBB526:
  24544. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24545. 12204 .loc 1 7441 3 view .LVU4522
  24546. 12205 008e 3260 str r2, [r6]
  24547. 12206 .LVL768:
  24548. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24549. 12207 .loc 1 7441 3 view .LVU4523
  24550. 12208 .LBE526:
  24551. 12209 .LBE532:
  24552. 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24553. 12210 .loc 1 4622 1 view .LVU4524
  24554. 12211 0090 70BD pop {r4, r5, r6, pc}
  24555. 12212 .LVL769:
  24556. 12213 .L1005:
  24557. 4620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24558. 12214 .loc 1 4620 12 view .LVU4525
  24559. 12215 0092 0120 movs r0, #1
  24560. 12216 .LVL770:
  24561. 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24562. 12217 .loc 1 4622 1 view .LVU4526
  24563. 12218 0094 70BD pop {r4, r5, r6, pc}
  24564. 12219 .LVL771:
  24565. 12220 .L1010:
  24566. 12221 .LBB533:
  24567. 12222 .LBB527:
  24568. 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24569. 12223 .loc 1 4622 1 view .LVU4527
  24570. 12224 0096 6022 movs r2, #96
  24571. 12225 0098 F6E7 b .L1004
  24572. 12226 .LVL772:
  24573. 12227 .L1016:
  24574. 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24575. 12228 .loc 1 4622 1 view .LVU4528
  24576. 12229 .LBE527:
  24577. 12230 .LBE533:
  24578. 4586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  24579. 12231 .loc 1 4586 7 is_stmt 1 view .LVU4529
  24580. 12232 .LBB534:
  24581. 12233 .LBI510:
  24582. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24583. 12234 .loc 1 7451 13 view .LVU4530
  24584. 12235 .LBB512:
  24585. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24586. 12236 .loc 1 7453 3 view .LVU4531
  24587. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24588. 12237 .loc 1 7455 3 view .LVU4532
  24589. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24590. 12238 .loc 1 7458 5 view .LVU4533
  24591. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24592. 12239 .loc 1 7460 5 view .LVU4534
  24593. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 425
  24594. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24595. 12240 .loc 1 7460 24 is_stmt 0 view .LVU4535
  24596. 12241 009a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  24597. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24598. 12242 .loc 1 7506 3 view .LVU4536
  24599. 12243 009e 2668 ldr r6, [r4]
  24600. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24601. 12244 .loc 1 7460 8 view .LVU4537
  24602. 12245 00a0 02F02802 and r2, r2, #40
  24603. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24604. 12246 .loc 1 7506 3 view .LVU4538
  24605. 12247 00a4 3368 ldr r3, [r6]
  24606. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24607. 12248 .loc 1 7460 8 view .LVU4539
  24608. 12249 00a6 282A cmp r2, #40
  24609. 12250 00a8 0CBF ite eq
  24610. 12251 00aa 6FF04202 mvneq r2, #66
  24611. 12252 00ae 6FF0F202 mvnne r2, #242
  24612. 12253 .LVL773:
  24613. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24614. 12254 .loc 1 7467 3 is_stmt 1 view .LVU4540
  24615. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24616. 12255 .loc 1 7479 3 view .LVU4541
  24617. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24618. 12256 .loc 1 7485 3 view .LVU4542
  24619. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24620. 12257 .loc 1 7491 3 view .LVU4543
  24621. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24622. 12258 .loc 1 7497 3 view .LVU4544
  24623. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24624. 12259 .loc 1 7506 3 view .LVU4545
  24625. 12260 00b2 1340 ands r3, r3, r2
  24626. 12261 .LBE512:
  24627. 12262 .LBE534:
  24628. 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24629. 12263 .loc 1 4587 27 is_stmt 0 view .LVU4546
  24630. 12264 00b4 1122 movs r2, #17
  24631. 12265 .LBB535:
  24632. 12266 .LBB513:
  24633. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24634. 12267 .loc 1 7506 3 view .LVU4547
  24635. 12268 00b6 3360 str r3, [r6]
  24636. 12269 .LVL774:
  24637. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24638. 12270 .loc 1 7506 3 view .LVU4548
  24639. 12271 .LBE513:
  24640. 12272 .LBE535:
  24641. 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24642. 12273 .loc 1 4587 7 is_stmt 1 view .LVU4549
  24643. 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24644. 12274 .loc 1 4587 27 is_stmt 0 view .LVU4550
  24645. 12275 00b8 2263 str r2, [r4, #48]
  24646. 12276 00ba BBE7 b .L1000
  24647. 12277 .LVL775:
  24648. 12278 .L1006:
  24649. 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24650. 12279 .loc 1 4581 5 view .LVU4551
  24651. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 426
  24652. 12280 00bc 0220 movs r0, #2
  24653. 12281 .LVL776:
  24654. 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24655. 12282 .loc 1 4622 1 view .LVU4552
  24656. 12283 00be 70BD pop {r4, r5, r6, pc}
  24657. 12284 .LVL777:
  24658. 12285 .L1001:
  24659. 4591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
  24660. 12286 .loc 1 4591 7 is_stmt 1 view .LVU4553
  24661. 12287 .LBB536:
  24662. 12288 .LBI536:
  24663. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24664. 12289 .loc 1 7451 13 view .LVU4554
  24665. 12290 .LBB537:
  24666. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24667. 12291 .loc 1 7453 3 view .LVU4555
  24668. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24669. 12292 .loc 1 7455 3 view .LVU4556
  24670. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24671. 12293 .loc 1 7467 3 view .LVU4557
  24672. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24673. 12294 .loc 1 7470 5 view .LVU4558
  24674. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24675. 12295 .loc 1 7472 5 view .LVU4559
  24676. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24677. 12296 .loc 1 7472 24 is_stmt 0 view .LVU4560
  24678. 12297 00c0 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  24679. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24680. 12298 .loc 1 7506 3 view .LVU4561
  24681. 12299 00c4 2668 ldr r6, [r4]
  24682. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24683. 12300 .loc 1 7472 8 view .LVU4562
  24684. 12301 00c6 02F02802 and r2, r2, #40
  24685. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24686. 12302 .loc 1 7506 3 view .LVU4563
  24687. 12303 00ca 3368 ldr r3, [r6]
  24688. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24689. 12304 .loc 1 7472 8 view .LVU4564
  24690. 12305 00cc 282A cmp r2, #40
  24691. 12306 00ce 0CBF ite eq
  24692. 12307 00d0 6FF04402 mvneq r2, #68
  24693. 12308 00d4 6FF0F402 mvnne r2, #244
  24694. 12309 .LVL778:
  24695. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24696. 12310 .loc 1 7479 3 is_stmt 1 view .LVU4565
  24697. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24698. 12311 .loc 1 7485 3 view .LVU4566
  24699. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24700. 12312 .loc 1 7491 3 view .LVU4567
  24701. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24702. 12313 .loc 1 7497 3 view .LVU4568
  24703. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24704. 12314 .loc 1 7506 3 view .LVU4569
  24705. 12315 00d8 1340 ands r3, r3, r2
  24706. 12316 .LBE537:
  24707. 12317 .LBE536:
  24708. 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24709. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 427
  24710. 12318 .loc 1 4592 27 is_stmt 0 view .LVU4570
  24711. 12319 00da 1222 movs r2, #18
  24712. 12320 .LBB539:
  24713. 12321 .LBB538:
  24714. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24715. 12322 .loc 1 7506 3 view .LVU4571
  24716. 12323 00dc 3360 str r3, [r6]
  24717. 12324 .LVL779:
  24718. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24719. 12325 .loc 1 7506 3 view .LVU4572
  24720. 12326 .LBE538:
  24721. 12327 .LBE539:
  24722. 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24723. 12328 .loc 1 4592 7 is_stmt 1 view .LVU4573
  24724. 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24725. 12329 .loc 1 4592 27 is_stmt 0 view .LVU4574
  24726. 12330 00de 2263 str r2, [r4, #48]
  24727. 12331 00e0 A8E7 b .L1000
  24728. 12332 .L1018:
  24729. 12333 00e2 00BF .align 2
  24730. 12334 .L1017:
  24731. 12335 00e4 00540040 .word 1073763328
  24732. 12336 00e8 00000000 .word .LC0
  24733. 12337 00ec 009800FC .word -67069952
  24734. 12338 00f0 00000000 .word I2C_Master_ISR_DMA
  24735. 12339 00f4 00000000 .word I2C_Slave_ISR_DMA
  24736. 12340 00f8 00000000 .word I2C_Mem_ISR_DMA
  24737. 12341 .cfi_endproc
  24738. 12342 .LFE163:
  24739. 12344 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
  24740. 12345 .align 1
  24741. 12346 .p2align 2,,3
  24742. 12347 .global HAL_I2C_EV_IRQHandler
  24743. 12348 .syntax unified
  24744. 12349 .thumb
  24745. 12350 .thumb_func
  24746. 12352 HAL_I2C_EV_IRQHandler:
  24747. 12353 .LVL780:
  24748. 12354 .LFB164:
  24749. 4639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
  24750. 12355 .loc 1 4639 1 is_stmt 1 view -0
  24751. 12356 .cfi_startproc
  24752. 12357 @ args = 0, pretend = 0, frame = 0
  24753. 12358 @ frame_needed = 0, uses_anonymous_args = 0
  24754. 12359 @ link register save eliminated.
  24755. 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  24756. 12360 .loc 1 4641 3 view .LVU4576
  24757. 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  24758. 12361 .loc 1 4641 24 is_stmt 0 view .LVU4577
  24759. 12362 0000 0268 ldr r2, [r0]
  24760. 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24761. 12363 .loc 1 4645 11 view .LVU4578
  24762. 12364 0002 436B ldr r3, [r0, #52]
  24763. 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  24764. 12365 .loc 1 4641 12 view .LVU4579
  24765. 12366 0004 9169 ldr r1, [r2, #24]
  24766. 12367 .LVL781:
  24767. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 428
  24768. 4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24769. 12368 .loc 1 4642 3 is_stmt 1 view .LVU4580
  24770. 4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24771. 12369 .loc 1 4642 12 is_stmt 0 view .LVU4581
  24772. 12370 0006 1268 ldr r2, [r2]
  24773. 12371 .LVL782:
  24774. 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24775. 12372 .loc 1 4645 3 is_stmt 1 view .LVU4582
  24776. 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24777. 12373 .loc 1 4645 6 is_stmt 0 view .LVU4583
  24778. 12374 0008 03B1 cbz r3, .L1019
  24779. 4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24780. 12375 .loc 1 4647 5 is_stmt 1 view .LVU4584
  24781. 12376 000a 1847 bx r3
  24782. 12377 .LVL783:
  24783. 12378 .L1019:
  24784. 4649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24785. 12379 .loc 1 4649 1 is_stmt 0 view .LVU4585
  24786. 12380 000c 7047 bx lr
  24787. 12381 .cfi_endproc
  24788. 12382 .LFE164:
  24789. 12384 000e 00BF .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
  24790. 12385 .align 1
  24791. 12386 .p2align 2,,3
  24792. 12387 .weak HAL_I2C_MasterTxCpltCallback
  24793. 12388 .syntax unified
  24794. 12389 .thumb
  24795. 12390 .thumb_func
  24796. 12392 HAL_I2C_MasterTxCpltCallback:
  24797. 12393 .LFB218:
  24798. 12394 .cfi_startproc
  24799. 12395 @ args = 0, pretend = 0, frame = 0
  24800. 12396 @ frame_needed = 0, uses_anonymous_args = 0
  24801. 12397 @ link register save eliminated.
  24802. 12398 0000 7047 bx lr
  24803. 12399 .cfi_endproc
  24804. 12400 .LFE218:
  24805. 12402 0002 00BF .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
  24806. 12403 .align 1
  24807. 12404 .p2align 2,,3
  24808. 12405 .weak HAL_I2C_MasterRxCpltCallback
  24809. 12406 .syntax unified
  24810. 12407 .thumb
  24811. 12408 .thumb_func
  24812. 12410 HAL_I2C_MasterRxCpltCallback:
  24813. 12411 .LFB220:
  24814. 12412 .cfi_startproc
  24815. 12413 @ args = 0, pretend = 0, frame = 0
  24816. 12414 @ frame_needed = 0, uses_anonymous_args = 0
  24817. 12415 @ link register save eliminated.
  24818. 12416 0000 7047 bx lr
  24819. 12417 .cfi_endproc
  24820. 12418 .LFE220:
  24821. 12420 0002 00BF .section .text.I2C_ITMasterSeqCplt,"ax",%progbits
  24822. 12421 .align 1
  24823. 12422 .p2align 2,,3
  24824. 12423 .syntax unified
  24825. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 429
  24826. 12424 .thumb
  24827. 12425 .thumb_func
  24828. 12427 I2C_ITMasterSeqCplt:
  24829. 12428 .LVL784:
  24830. 12429 .LFB188:
  24831. 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
  24832. 12430 .loc 1 6053 1 is_stmt 1 view -0
  24833. 12431 .cfi_startproc
  24834. 12432 @ args = 0, pretend = 0, frame = 0
  24835. 12433 @ frame_needed = 0, uses_anonymous_args = 0
  24836. 6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24837. 12434 .loc 1 6055 3 view .LVU4587
  24838. 6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24839. 12435 .loc 1 6055 14 is_stmt 0 view .LVU4588
  24840. 12436 0000 0021 movs r1, #0
  24841. 12437 0002 80F84210 strb r1, [r0, #66]
  24842. 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24843. 12438 .loc 1 6059 3 is_stmt 1 view .LVU4589
  24844. 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24845. 12439 .loc 1 6059 11 is_stmt 0 view .LVU4590
  24846. 12440 0006 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  24847. 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24848. 12441 .loc 1 6059 6 view .LVU4591
  24849. 12442 000a 212A cmp r2, #33
  24850. 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */
  24851. 12443 .loc 1 6053 1 view .LVU4592
  24852. 12444 000c 38B5 push {r3, r4, r5, lr}
  24853. 12445 .LCFI166:
  24854. 12446 .cfi_def_cfa_offset 16
  24855. 12447 .cfi_offset 3, -16
  24856. 12448 .cfi_offset 4, -12
  24857. 12449 .cfi_offset 5, -8
  24858. 12450 .cfi_offset 14, -4
  24859. 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  24860. 12451 .loc 1 6061 25 view .LVU4593
  24861. 12452 000e 4FF02004 mov r4, #32
  24862. 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24863. 12453 .loc 1 6059 6 view .LVU4594
  24864. 12454 0012 18D1 bne .L1024
  24865. 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  24866. 12455 .loc 1 6061 5 is_stmt 1 view .LVU4595
  24867. 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24868. 12456 .loc 1 6062 25 is_stmt 0 view .LVU4596
  24869. 12457 0014 1122 movs r2, #17
  24870. 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  24871. 12458 .loc 1 6061 25 view .LVU4597
  24872. 12459 0016 80F84140 strb r4, [r0, #65]
  24873. 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24874. 12460 .loc 1 6062 5 is_stmt 1 view .LVU4598
  24875. 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24876. 12461 .loc 1 6062 25 is_stmt 0 view .LVU4599
  24877. 12462 001a 0263 str r2, [r0, #48]
  24878. 6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24879. 12463 .loc 1 6063 5 is_stmt 1 view .LVU4600
  24880. 12464 .LBB548:
  24881. 12465 .LBB549:
  24882. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24883. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 430
  24884. 12466 .loc 1 7460 24 is_stmt 0 view .LVU4601
  24885. 12467 001c 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  24886. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24887. 12468 .loc 1 7506 3 view .LVU4602
  24888. 12469 0020 0468 ldr r4, [r0]
  24889. 12470 .LBE549:
  24890. 12471 .LBE548:
  24891. 6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24892. 12472 .loc 1 6063 25 view .LVU4603
  24893. 12473 0022 4163 str r1, [r0, #52]
  24894. 6066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24895. 12474 .loc 1 6066 5 is_stmt 1 view .LVU4604
  24896. 12475 .LVL785:
  24897. 12476 .LBB551:
  24898. 12477 .LBI548:
  24899. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24900. 12478 .loc 1 7451 13 view .LVU4605
  24901. 12479 .LBB550:
  24902. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24903. 12480 .loc 1 7453 3 view .LVU4606
  24904. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24905. 12481 .loc 1 7455 3 view .LVU4607
  24906. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24907. 12482 .loc 1 7458 5 view .LVU4608
  24908. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24909. 12483 .loc 1 7460 5 view .LVU4609
  24910. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24911. 12484 .loc 1 7467 3 view .LVU4610
  24912. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24913. 12485 .loc 1 7479 3 view .LVU4611
  24914. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24915. 12486 .loc 1 7485 3 view .LVU4612
  24916. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24917. 12487 .loc 1 7491 3 view .LVU4613
  24918. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24919. 12488 .loc 1 7497 3 view .LVU4614
  24920. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24921. 12489 .loc 1 7506 3 view .LVU4615
  24922. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24923. 12490 .loc 1 7460 8 is_stmt 0 view .LVU4616
  24924. 12491 0024 02F02802 and r2, r2, #40
  24925. 12492 0028 282A cmp r2, #40
  24926. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24927. 12493 .loc 1 7506 3 view .LVU4617
  24928. 12494 002a 2268 ldr r2, [r4]
  24929. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24930. 12495 .loc 1 7460 8 view .LVU4618
  24931. 12496 002c 0CBF ite eq
  24932. 12497 002e 6FF0420C mvneq ip, #66
  24933. 12498 0032 6FF0F20C mvnne ip, #242
  24934. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24935. 12499 .loc 1 7506 3 view .LVU4619
  24936. 12500 0036 02EA0C02 and r2, r2, ip
  24937. 12501 003a 2260 str r2, [r4]
  24938. 12502 .LVL786:
  24939. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24940. 12503 .loc 1 7506 3 view .LVU4620
  24941. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 431
  24942. 12504 .LBE550:
  24943. 12505 .LBE551:
  24944. 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24945. 12506 .loc 1 6069 5 is_stmt 1 view .LVU4621
  24946. 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24947. 12507 .loc 1 6069 5 view .LVU4622
  24948. 12508 003c 80F84010 strb r1, [r0, #64]
  24949. 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24950. 12509 .loc 1 6069 5 view .LVU4623
  24951. 6075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  24952. 12510 .loc 1 6075 5 view .LVU4624
  24953. 12511 0040 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
  24954. 12512 .LVL787:
  24955. 6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24956. 12513 .loc 1 6098 1 is_stmt 0 view .LVU4625
  24957. 12514 0044 38BD pop {r3, r4, r5, pc}
  24958. 12515 .LVL788:
  24959. 12516 .L1024:
  24960. 12517 .LBB552:
  24961. 12518 .LBI552:
  24962. 6052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24963. 12519 .loc 1 6052 13 is_stmt 1 view .LVU4626
  24964. 12520 .LBB553:
  24965. 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
  24966. 12521 .loc 1 6081 5 view .LVU4627
  24967. 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24968. 12522 .loc 1 6082 25 is_stmt 0 view .LVU4628
  24969. 12523 0046 1222 movs r2, #18
  24970. 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
  24971. 12524 .loc 1 6081 25 view .LVU4629
  24972. 12525 0048 80F84140 strb r4, [r0, #65]
  24973. 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24974. 12526 .loc 1 6082 5 is_stmt 1 view .LVU4630
  24975. 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  24976. 12527 .loc 1 6082 25 is_stmt 0 view .LVU4631
  24977. 12528 004c 0263 str r2, [r0, #48]
  24978. 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24979. 12529 .loc 1 6083 5 is_stmt 1 view .LVU4632
  24980. 12530 .LBB554:
  24981. 12531 .LBB555:
  24982. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24983. 12532 .loc 1 7472 24 is_stmt 0 view .LVU4633
  24984. 12533 004e 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  24985. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  24986. 12534 .loc 1 7506 3 view .LVU4634
  24987. 12535 0052 0468 ldr r4, [r0]
  24988. 12536 .LBE555:
  24989. 12537 .LBE554:
  24990. 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24991. 12538 .loc 1 6083 25 view .LVU4635
  24992. 12539 0054 4163 str r1, [r0, #52]
  24993. 6086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  24994. 12540 .loc 1 6086 5 is_stmt 1 view .LVU4636
  24995. 12541 .LVL789:
  24996. 12542 .LBB557:
  24997. 12543 .LBI554:
  24998. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  24999. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 432
  25000. 12544 .loc 1 7451 13 view .LVU4637
  25001. 12545 .LBB556:
  25002. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25003. 12546 .loc 1 7453 3 view .LVU4638
  25004. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25005. 12547 .loc 1 7455 3 view .LVU4639
  25006. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25007. 12548 .loc 1 7467 3 view .LVU4640
  25008. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25009. 12549 .loc 1 7470 5 view .LVU4641
  25010. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25011. 12550 .loc 1 7472 5 view .LVU4642
  25012. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25013. 12551 .loc 1 7479 3 view .LVU4643
  25014. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25015. 12552 .loc 1 7485 3 view .LVU4644
  25016. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25017. 12553 .loc 1 7491 3 view .LVU4645
  25018. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25019. 12554 .loc 1 7497 3 view .LVU4646
  25020. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25021. 12555 .loc 1 7506 3 view .LVU4647
  25022. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25023. 12556 .loc 1 7472 8 is_stmt 0 view .LVU4648
  25024. 12557 0056 02F02802 and r2, r2, #40
  25025. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25026. 12558 .loc 1 7506 3 view .LVU4649
  25027. 12559 005a 2568 ldr r5, [r4]
  25028. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25029. 12560 .loc 1 7472 8 view .LVU4650
  25030. 12561 005c 282A cmp r2, #40
  25031. 12562 005e 0CBF ite eq
  25032. 12563 0060 6FF04402 mvneq r2, #68
  25033. 12564 0064 6FF0F402 mvnne r2, #244
  25034. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25035. 12565 .loc 1 7506 3 view .LVU4651
  25036. 12566 0068 2A40 ands r2, r2, r5
  25037. 12567 006a 2260 str r2, [r4]
  25038. 12568 .LVL790:
  25039. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25040. 12569 .loc 1 7506 3 view .LVU4652
  25041. 12570 .LBE556:
  25042. 12571 .LBE557:
  25043. 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25044. 12572 .loc 1 6089 5 is_stmt 1 view .LVU4653
  25045. 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25046. 12573 .loc 1 6089 5 view .LVU4654
  25047. 12574 006c 80F84010 strb r1, [r0, #64]
  25048. 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25049. 12575 .loc 1 6089 5 view .LVU4655
  25050. 6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  25051. 12576 .loc 1 6095 5 view .LVU4656
  25052. 12577 0070 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
  25053. 12578 .LVL791:
  25054. 6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  25055. 12579 .loc 1 6095 5 is_stmt 0 view .LVU4657
  25056. 12580 .LBE553:
  25057. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 433
  25058. 12581 .LBE552:
  25059. 6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25060. 12582 .loc 1 6098 1 view .LVU4658
  25061. 12583 0074 38BD pop {r3, r4, r5, pc}
  25062. 12584 .cfi_endproc
  25063. 12585 .LFE188:
  25064. 12587 0076 00BF .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
  25065. 12588 .align 1
  25066. 12589 .p2align 2,,3
  25067. 12590 .weak HAL_I2C_SlaveTxCpltCallback
  25068. 12591 .syntax unified
  25069. 12592 .thumb
  25070. 12593 .thumb_func
  25071. 12595 HAL_I2C_SlaveTxCpltCallback:
  25072. 12596 .LFB222:
  25073. 12597 .cfi_startproc
  25074. 12598 @ args = 0, pretend = 0, frame = 0
  25075. 12599 @ frame_needed = 0, uses_anonymous_args = 0
  25076. 12600 @ link register save eliminated.
  25077. 12601 0000 7047 bx lr
  25078. 12602 .cfi_endproc
  25079. 12603 .LFE222:
  25080. 12605 0002 00BF .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
  25081. 12606 .align 1
  25082. 12607 .p2align 2,,3
  25083. 12608 .weak HAL_I2C_SlaveRxCpltCallback
  25084. 12609 .syntax unified
  25085. 12610 .thumb
  25086. 12611 .thumb_func
  25087. 12613 HAL_I2C_SlaveRxCpltCallback:
  25088. 12614 .LFB224:
  25089. 12615 .cfi_startproc
  25090. 12616 @ args = 0, pretend = 0, frame = 0
  25091. 12617 @ frame_needed = 0, uses_anonymous_args = 0
  25092. 12618 @ link register save eliminated.
  25093. 12619 0000 7047 bx lr
  25094. 12620 .cfi_endproc
  25095. 12621 .LFE224:
  25096. 12623 0002 00BF .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits
  25097. 12624 .align 1
  25098. 12625 .p2align 2,,3
  25099. 12626 .syntax unified
  25100. 12627 .thumb
  25101. 12628 .thumb_func
  25102. 12630 I2C_ITSlaveSeqCplt:
  25103. 12631 .LVL792:
  25104. 12632 .LFB189:
  25105. 6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  25106. 12633 .loc 1 6106 1 is_stmt 1 view -0
  25107. 12634 .cfi_startproc
  25108. 12635 @ args = 0, pretend = 0, frame = 0
  25109. 12636 @ frame_needed = 0, uses_anonymous_args = 0
  25110. 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25111. 12637 .loc 1 6107 3 view .LVU4660
  25112. 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25113. 12638 .loc 1 6107 26 is_stmt 0 view .LVU4661
  25114. 12639 0000 0168 ldr r1, [r0]
  25115. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 434
  25116. 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25117. 12640 .loc 1 6107 12 view .LVU4662
  25118. 12641 0002 0B68 ldr r3, [r1]
  25119. 12642 .LVL793:
  25120. 6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25121. 12643 .loc 1 6110 3 is_stmt 1 view .LVU4663
  25122. 6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25123. 12644 .loc 1 6110 14 is_stmt 0 view .LVU4664
  25124. 12645 0004 0022 movs r2, #0
  25125. 12646 0006 80F84220 strb r2, [r0, #66]
  25126. 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25127. 12647 .loc 1 6113 3 is_stmt 1 view .LVU4665
  25128. 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25129. 12648 .loc 1 6113 6 is_stmt 0 view .LVU4666
  25130. 12649 000a 5A04 lsls r2, r3, #17
  25131. 6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  25132. 12650 .loc 1 6106 1 view .LVU4667
  25133. 12651 000c 10B5 push {r4, lr}
  25134. 12652 .LCFI167:
  25135. 12653 .cfi_def_cfa_offset 8
  25136. 12654 .cfi_offset 4, -8
  25137. 12655 .cfi_offset 14, -4
  25138. 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25139. 12656 .loc 1 6113 6 view .LVU4668
  25140. 12657 000e 0CD5 bpl .L1034
  25141. 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25142. 12658 .loc 1 6116 5 is_stmt 1 view .LVU4669
  25143. 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25144. 12659 .loc 1 6116 25 is_stmt 0 view .LVU4670
  25145. 12660 0010 0B68 ldr r3, [r1]
  25146. 12661 .LVL794:
  25147. 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25148. 12662 .loc 1 6116 25 view .LVU4671
  25149. 12663 0012 23F48043 bic r3, r3, #16384
  25150. 12664 0016 0B60 str r3, [r1]
  25151. 12665 .L1035:
  25152. 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25153. 12666 .loc 1 6126 3 is_stmt 1 view .LVU4672
  25154. 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25155. 12667 .loc 1 6128 3 view .LVU4673
  25156. 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25157. 12668 .loc 1 6128 11 is_stmt 0 view .LVU4674
  25158. 12669 0018 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  25159. 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25160. 12670 .loc 1 6128 6 view .LVU4675
  25161. 12671 001c 292B cmp r3, #41
  25162. 12672 001e 0ED0 beq .L1046
  25163. 12673 .L1036:
  25164. 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25165. 12674 .loc 1 6148 8 is_stmt 1 view .LVU4676
  25166. 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25167. 12675 .loc 1 6148 16 is_stmt 0 view .LVU4677
  25168. 12676 0020 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  25169. 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25170. 12677 .loc 1 6148 11 view .LVU4678
  25171. 12678 0024 2A2B cmp r3, #42
  25172. 12679 0026 22D0 beq .L1047
  25173. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 435
  25174. 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25175. 12680 .loc 1 6171 1 view .LVU4679
  25176. 12681 0028 10BD pop {r4, pc}
  25177. 12682 .LVL795:
  25178. 12683 .L1034:
  25179. 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25180. 12684 .loc 1 6118 8 is_stmt 1 view .LVU4680
  25181. 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25182. 12685 .loc 1 6118 11 is_stmt 0 view .LVU4681
  25183. 12686 002a 1B04 lsls r3, r3, #16
  25184. 12687 .LVL796:
  25185. 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25186. 12688 .loc 1 6118 11 view .LVU4682
  25187. 12689 002c F4D5 bpl .L1035
  25188. 6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25189. 12690 .loc 1 6121 5 is_stmt 1 view .LVU4683
  25190. 6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25191. 12691 .loc 1 6121 25 is_stmt 0 view .LVU4684
  25192. 12692 002e 0B68 ldr r3, [r1]
  25193. 12693 0030 23F40043 bic r3, r3, #32768
  25194. 12694 0034 0B60 str r3, [r1]
  25195. 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25196. 12695 .loc 1 6126 3 is_stmt 1 view .LVU4685
  25197. 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25198. 12696 .loc 1 6128 3 view .LVU4686
  25199. 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25200. 12697 .loc 1 6128 11 is_stmt 0 view .LVU4687
  25201. 12698 0036 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  25202. 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25203. 12699 .loc 1 6128 6 view .LVU4688
  25204. 12700 003a 292B cmp r3, #41
  25205. 12701 003c F0D1 bne .L1036
  25206. 12702 .L1046:
  25207. 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
  25208. 12703 .loc 1 6131 5 is_stmt 1 view .LVU4689
  25209. 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
  25210. 12704 .loc 1 6131 25 is_stmt 0 view .LVU4690
  25211. 12705 003e 2822 movs r2, #40
  25212. 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25213. 12706 .loc 1 6132 25 view .LVU4691
  25214. 12707 0040 2123 movs r3, #33
  25215. 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
  25216. 12708 .loc 1 6131 25 view .LVU4692
  25217. 12709 0042 80F84120 strb r2, [r0, #65]
  25218. 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25219. 12710 .loc 1 6132 5 is_stmt 1 view .LVU4693
  25220. 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25221. 12711 .loc 1 6132 25 is_stmt 0 view .LVU4694
  25222. 12712 0046 0363 str r3, [r0, #48]
  25223. 6135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25224. 12713 .loc 1 6135 5 is_stmt 1 view .LVU4695
  25225. 12714 .LVL797:
  25226. 12715 .LBB562:
  25227. 12716 .LBI562:
  25228. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25229. 12717 .loc 1 7451 13 view .LVU4696
  25230. 12718 .LBB563:
  25231. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 436
  25232. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25233. 12719 .loc 1 7453 3 view .LVU4697
  25234. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25235. 12720 .loc 1 7455 3 view .LVU4698
  25236. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25237. 12721 .loc 1 7458 5 view .LVU4699
  25238. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25239. 12722 .loc 1 7460 5 view .LVU4700
  25240. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25241. 12723 .loc 1 7460 24 is_stmt 0 view .LVU4701
  25242. 12724 0048 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  25243. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25244. 12725 .loc 1 7506 3 view .LVU4702
  25245. 12726 004c 0B68 ldr r3, [r1]
  25246. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25247. 12727 .loc 1 7460 8 view .LVU4703
  25248. 12728 004e 02F02802 and r2, r2, #40
  25249. 12729 0052 282A cmp r2, #40
  25250. 12730 0054 0CBF ite eq
  25251. 12731 0056 6FF04202 mvneq r2, #66
  25252. 12732 005a 6FF0F202 mvnne r2, #242
  25253. 12733 .LVL798:
  25254. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25255. 12734 .loc 1 7467 3 is_stmt 1 view .LVU4704
  25256. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25257. 12735 .loc 1 7479 3 view .LVU4705
  25258. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25259. 12736 .loc 1 7485 3 view .LVU4706
  25260. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25261. 12737 .loc 1 7491 3 view .LVU4707
  25262. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25263. 12738 .loc 1 7497 3 view .LVU4708
  25264. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25265. 12739 .loc 1 7506 3 view .LVU4709
  25266. 12740 005e 1340 ands r3, r3, r2
  25267. 12741 .LBE563:
  25268. 12742 .LBE562:
  25269. 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25270. 12743 .loc 1 6138 5 is_stmt 0 view .LVU4710
  25271. 12744 0060 0022 movs r2, #0
  25272. 12745 .LBB565:
  25273. 12746 .LBB564:
  25274. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25275. 12747 .loc 1 7506 3 view .LVU4711
  25276. 12748 0062 0B60 str r3, [r1]
  25277. 12749 .LVL799:
  25278. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25279. 12750 .loc 1 7506 3 view .LVU4712
  25280. 12751 .LBE564:
  25281. 12752 .LBE565:
  25282. 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25283. 12753 .loc 1 6138 5 is_stmt 1 view .LVU4713
  25284. 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25285. 12754 .loc 1 6138 5 view .LVU4714
  25286. 12755 0064 80F84020 strb r2, [r0, #64]
  25287. 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25288. 12756 .loc 1 6138 5 view .LVU4715
  25289. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 437
  25290. 6144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  25291. 12757 .loc 1 6144 5 view .LVU4716
  25292. 12758 0068 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
  25293. 12759 .LVL800:
  25294. 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25295. 12760 .loc 1 6171 1 is_stmt 0 view .LVU4717
  25296. 12761 006c 10BD pop {r4, pc}
  25297. 12762 .LVL801:
  25298. 12763 .L1047:
  25299. 6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
  25300. 12764 .loc 1 6151 5 is_stmt 1 view .LVU4718
  25301. 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25302. 12765 .loc 1 6152 25 is_stmt 0 view .LVU4719
  25303. 12766 006e 2223 movs r3, #34
  25304. 6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
  25305. 12767 .loc 1 6151 25 view .LVU4720
  25306. 12768 0070 2822 movs r2, #40
  25307. 12769 0072 80F84120 strb r2, [r0, #65]
  25308. 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25309. 12770 .loc 1 6152 5 is_stmt 1 view .LVU4721
  25310. 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25311. 12771 .loc 1 6152 25 is_stmt 0 view .LVU4722
  25312. 12772 0076 0363 str r3, [r0, #48]
  25313. 6155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25314. 12773 .loc 1 6155 5 is_stmt 1 view .LVU4723
  25315. 12774 .LVL802:
  25316. 12775 .LBB566:
  25317. 12776 .LBI566:
  25318. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25319. 12777 .loc 1 7451 13 view .LVU4724
  25320. 12778 .LBB567:
  25321. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25322. 12779 .loc 1 7453 3 view .LVU4725
  25323. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25324. 12780 .loc 1 7455 3 view .LVU4726
  25325. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25326. 12781 .loc 1 7467 3 view .LVU4727
  25327. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25328. 12782 .loc 1 7470 5 view .LVU4728
  25329. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25330. 12783 .loc 1 7472 5 view .LVU4729
  25331. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25332. 12784 .loc 1 7472 24 is_stmt 0 view .LVU4730
  25333. 12785 0078 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  25334. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25335. 12786 .loc 1 7506 3 view .LVU4731
  25336. 12787 007c 0C68 ldr r4, [r1]
  25337. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25338. 12788 .loc 1 7472 8 view .LVU4732
  25339. 12789 007e 02F02802 and r2, r2, #40
  25340. 12790 0082 282A cmp r2, #40
  25341. 12791 0084 0CBF ite eq
  25342. 12792 0086 6FF04403 mvneq r3, #68
  25343. 12793 008a 6FF0F403 mvnne r3, #244
  25344. 12794 .LVL803:
  25345. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25346. 12795 .loc 1 7479 3 is_stmt 1 view .LVU4733
  25347. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 438
  25348. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25349. 12796 .loc 1 7485 3 view .LVU4734
  25350. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25351. 12797 .loc 1 7491 3 view .LVU4735
  25352. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25353. 12798 .loc 1 7497 3 view .LVU4736
  25354. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25355. 12799 .loc 1 7506 3 view .LVU4737
  25356. 12800 008e 2340 ands r3, r3, r4
  25357. 12801 .LBE567:
  25358. 12802 .LBE566:
  25359. 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25360. 12803 .loc 1 6158 5 is_stmt 0 view .LVU4738
  25361. 12804 0090 0022 movs r2, #0
  25362. 12805 .LBB569:
  25363. 12806 .LBB568:
  25364. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25365. 12807 .loc 1 7506 3 view .LVU4739
  25366. 12808 0092 0B60 str r3, [r1]
  25367. 12809 .LVL804:
  25368. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25369. 12810 .loc 1 7506 3 view .LVU4740
  25370. 12811 .LBE568:
  25371. 12812 .LBE569:
  25372. 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25373. 12813 .loc 1 6158 5 is_stmt 1 view .LVU4741
  25374. 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25375. 12814 .loc 1 6158 5 view .LVU4742
  25376. 12815 0094 80F84020 strb r2, [r0, #64]
  25377. 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25378. 12816 .loc 1 6158 5 view .LVU4743
  25379. 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  25380. 12817 .loc 1 6164 5 view .LVU4744
  25381. 12818 0098 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
  25382. 12819 .LVL805:
  25383. 6170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25384. 12820 .loc 1 6170 3 view .LVU4745
  25385. 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25386. 12821 .loc 1 6171 1 is_stmt 0 view .LVU4746
  25387. 12822 009c 10BD pop {r4, pc}
  25388. 12823 .cfi_endproc
  25389. 12824 .LFE189:
  25390. 12826 009e 00BF .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
  25391. 12827 .align 1
  25392. 12828 .p2align 2,,3
  25393. 12829 .syntax unified
  25394. 12830 .thumb
  25395. 12831 .thumb_func
  25396. 12833 I2C_DMASlaveTransmitCplt:
  25397. 12834 .LVL806:
  25398. 12835 .LFB197:
  25399. 6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  25400. 12836 .loc 1 6831 1 is_stmt 1 view -0
  25401. 12837 .cfi_startproc
  25402. 12838 @ args = 0, pretend = 0, frame = 0
  25403. 12839 @ frame_needed = 0, uses_anonymous_args = 0
  25404. 12840 @ link register save eliminated.
  25405. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 439
  25406. 6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  25407. 12841 .loc 1 6833 3 view .LVU4748
  25408. 6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  25409. 12842 .loc 1 6833 22 is_stmt 0 view .LVU4749
  25410. 12843 0000 406A ldr r0, [r0, #36]
  25411. 12844 .LVL807:
  25412. 6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25413. 12845 .loc 1 6834 3 is_stmt 1 view .LVU4750
  25414. 6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25415. 12846 .loc 1 6834 12 is_stmt 0 view .LVU4751
  25416. 12847 0002 C36A ldr r3, [r0, #44]
  25417. 12848 .LVL808:
  25418. 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25419. 12849 .loc 1 6836 3 is_stmt 1 view .LVU4752
  25420. 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25421. 12850 .loc 1 6836 38 is_stmt 0 view .LVU4753
  25422. 12851 0004 33F08073 bics r3, r3, #16777216
  25423. 12852 .LVL809:
  25424. 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25425. 12853 .loc 1 6836 38 view .LVU4754
  25426. 12854 0008 00D0 beq .L1050
  25427. 6851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25428. 12855 .loc 1 6851 1 view .LVU4755
  25429. 12856 000a 7047 bx lr
  25430. 12857 .L1050:
  25431. 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25432. 12858 .loc 1 6839 5 is_stmt 1 view .LVU4756
  25433. 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25434. 12859 .loc 1 6839 9 is_stmt 0 view .LVU4757
  25435. 12860 000c 0268 ldr r2, [r0]
  25436. 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25437. 12861 .loc 1 6839 25 view .LVU4758
  25438. 12862 000e 1368 ldr r3, [r2]
  25439. 12863 0010 23F48043 bic r3, r3, #16384
  25440. 12864 0014 1360 str r3, [r2]
  25441. 6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25442. 12865 .loc 1 6843 5 is_stmt 1 view .LVU4759
  25443. 12866 0016 FFF7FEBF b I2C_ITSlaveSeqCplt
  25444. 12867 .LVL810:
  25445. 6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25446. 12868 .loc 1 6843 5 is_stmt 0 view .LVU4760
  25447. 12869 .cfi_endproc
  25448. 12870 .LFE197:
  25449. 12872 001a 00BF .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
  25450. 12873 .align 1
  25451. 12874 .p2align 2,,3
  25452. 12875 .syntax unified
  25453. 12876 .thumb
  25454. 12877 .thumb_func
  25455. 12879 I2C_DMASlaveReceiveCplt:
  25456. 12880 .LVL811:
  25457. 12881 .LFB199:
  25458. 6919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  25459. 12882 .loc 1 6919 1 is_stmt 1 view -0
  25460. 12883 .cfi_startproc
  25461. 12884 @ args = 0, pretend = 0, frame = 0
  25462. 12885 @ frame_needed = 0, uses_anonymous_args = 0
  25463. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 440
  25464. 12886 @ link register save eliminated.
  25465. 6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  25466. 12887 .loc 1 6921 3 view .LVU4762
  25467. 6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  25468. 12888 .loc 1 6921 22 is_stmt 0 view .LVU4763
  25469. 12889 0000 406A ldr r0, [r0, #36]
  25470. 12890 .LVL812:
  25471. 6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25472. 12891 .loc 1 6922 3 is_stmt 1 view .LVU4764
  25473. 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  25474. 12892 .loc 1 6924 8 is_stmt 0 view .LVU4765
  25475. 12893 0002 C36B ldr r3, [r0, #60]
  25476. 6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25477. 12894 .loc 1 6922 12 view .LVU4766
  25478. 12895 0004 C26A ldr r2, [r0, #44]
  25479. 12896 .LVL813:
  25480. 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  25481. 12897 .loc 1 6924 3 is_stmt 1 view .LVU4767
  25482. 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  25483. 12898 .loc 1 6924 8 is_stmt 0 view .LVU4768
  25484. 12899 0006 1B68 ldr r3, [r3]
  25485. 12900 0008 5B68 ldr r3, [r3, #4]
  25486. 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  25487. 12901 .loc 1 6924 6 view .LVU4769
  25488. 12902 000a 13B9 cbnz r3, .L1051
  25489. 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  25490. 12903 .loc 1 6924 53 discriminator 1 view .LVU4770
  25491. 12904 000c 12F5803F cmn r2, #65536
  25492. 12905 0010 00D1 bne .L1056
  25493. 12906 .L1051:
  25494. 6939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25495. 12907 .loc 1 6939 1 view .LVU4771
  25496. 12908 0012 7047 bx lr
  25497. 12909 .L1056:
  25498. 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25499. 12910 .loc 1 6928 5 is_stmt 1 view .LVU4772
  25500. 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25501. 12911 .loc 1 6928 9 is_stmt 0 view .LVU4773
  25502. 12912 0014 0268 ldr r2, [r0]
  25503. 12913 .LVL814:
  25504. 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25505. 12914 .loc 1 6928 25 view .LVU4774
  25506. 12915 0016 1368 ldr r3, [r2]
  25507. 12916 0018 23F40043 bic r3, r3, #32768
  25508. 12917 001c 1360 str r3, [r2]
  25509. 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25510. 12918 .loc 1 6931 5 is_stmt 1 view .LVU4775
  25511. 12919 001e FFF7FEBF b I2C_ITSlaveSeqCplt
  25512. 12920 .LVL815:
  25513. 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25514. 12921 .loc 1 6931 5 is_stmt 0 view .LVU4776
  25515. 12922 .cfi_endproc
  25516. 12923 .LFE199:
  25517. 12925 0022 00BF .section .text.HAL_I2C_AddrCallback,"ax",%progbits
  25518. 12926 .align 1
  25519. 12927 .p2align 2,,3
  25520. 12928 .weak HAL_I2C_AddrCallback
  25521. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 441
  25522. 12929 .syntax unified
  25523. 12930 .thumb
  25524. 12931 .thumb_func
  25525. 12933 HAL_I2C_AddrCallback:
  25526. 12934 .LVL816:
  25527. 12935 .LFB170:
  25528. 4775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
  25529. 12936 .loc 1 4775 1 is_stmt 1 view -0
  25530. 12937 .cfi_startproc
  25531. 12938 @ args = 0, pretend = 0, frame = 0
  25532. 12939 @ frame_needed = 0, uses_anonymous_args = 0
  25533. 12940 @ link register save eliminated.
  25534. 4777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection);
  25535. 12941 .loc 1 4777 3 view .LVU4778
  25536. 4778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode);
  25537. 12942 .loc 1 4778 3 view .LVU4779
  25538. 4779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25539. 12943 .loc 1 4779 3 view .LVU4780
  25540. 4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25541. 12944 .loc 1 4784 1 is_stmt 0 view .LVU4781
  25542. 12945 0000 7047 bx lr
  25543. 12946 .cfi_endproc
  25544. 12947 .LFE170:
  25545. 12949 0002 00BF .section .text.I2C_ITAddrCplt.part.0,"ax",%progbits
  25546. 12950 .align 1
  25547. 12951 .p2align 2,,3
  25548. 12952 .syntax unified
  25549. 12953 .thumb
  25550. 12954 .thumb_func
  25551. 12956 I2C_ITAddrCplt.part.0:
  25552. 12957 .LVL817:
  25553. 12958 .LFB213:
  25554. 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25555. 12959 .loc 1 5957 13 is_stmt 1 view -0
  25556. 12960 .cfi_startproc
  25557. 12961 @ args = 0, pretend = 0, frame = 0
  25558. 12962 @ frame_needed = 0, uses_anonymous_args = 0
  25559. 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
  25560. 12963 .loc 1 5970 5 view .LVU4783
  25561. 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25562. 12964 .loc 1 5957 13 is_stmt 0 view .LVU4784
  25563. 12965 0000 70B5 push {r4, r5, r6, lr}
  25564. 12966 .LCFI168:
  25565. 12967 .cfi_def_cfa_offset 16
  25566. 12968 .cfi_offset 4, -16
  25567. 12969 .cfi_offset 5, -12
  25568. 12970 .cfi_offset 6, -8
  25569. 12971 .cfi_offset 14, -4
  25570. 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
  25571. 12972 .loc 1 5970 25 view .LVU4785
  25572. 12973 0002 0468 ldr r4, [r0]
  25573. 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25574. 12974 .loc 1 5976 8 view .LVU4786
  25575. 12975 0004 C368 ldr r3, [r0, #12]
  25576. 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
  25577. 12976 .loc 1 5970 25 view .LVU4787
  25578. 12977 0006 A169 ldr r1, [r4, #24]
  25579. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 442
  25580. 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
  25581. 12978 .loc 1 5971 25 view .LVU4788
  25582. 12979 0008 A269 ldr r2, [r4, #24]
  25583. 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
  25584. 12980 .loc 1 5972 25 view .LVU4789
  25585. 12981 000a A568 ldr r5, [r4, #8]
  25586. 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25587. 12982 .loc 1 5973 25 view .LVU4790
  25588. 12983 000c E668 ldr r6, [r4, #12]
  25589. 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
  25590. 12984 .loc 1 5971 25 view .LVU4791
  25591. 12985 000e 120C lsrs r2, r2, #16
  25592. 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25593. 12986 .loc 1 5976 8 view .LVU4792
  25594. 12987 0010 022B cmp r3, #2
  25595. 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25596. 12988 .loc 1 5957 13 view .LVU4793
  25597. 12989 0012 8446 mov ip, r0
  25598. 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
  25599. 12990 .loc 1 5970 23 view .LVU4794
  25600. 12991 0014 C1F30041 ubfx r1, r1, #16, #1
  25601. 12992 .LVL818:
  25602. 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
  25603. 12993 .loc 1 5971 5 is_stmt 1 view .LVU4795
  25604. 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
  25605. 12994 .loc 1 5971 23 is_stmt 0 view .LVU4796
  25606. 12995 0018 02F0FE02 and r2, r2, #254
  25607. 12996 .LVL819:
  25608. 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
  25609. 12997 .loc 1 5972 5 is_stmt 1 view .LVU4797
  25610. 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25611. 12998 .loc 1 5973 5 view .LVU4798
  25612. 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25613. 12999 .loc 1 5976 5 view .LVU4799
  25614. 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25615. 13000 .loc 1 5976 8 is_stmt 0 view .LVU4800
  25616. 13001 001c 0FD1 bne .L1059
  25617. 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25618. 13002 .loc 1 5978 44 view .LVU4801
  25619. 13003 001e 82EAD513 eor r3, r2, r5, lsr #7
  25620. 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25621. 13004 .loc 1 5978 10 view .LVU4802
  25622. 13005 0022 13F00603 ands r3, r3, #6
  25623. 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
  25624. 13006 .loc 1 5972 23 view .LVU4803
  25625. 13007 0026 C5F30902 ubfx r2, r5, #0, #10
  25626. 13008 .LVL820:
  25627. 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25628. 13009 .loc 1 5978 7 is_stmt 1 view .LVU4804
  25629. 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25630. 13010 .loc 1 5978 10 is_stmt 0 view .LVU4805
  25631. 13011 002a 06D1 bne .L1060
  25632. 5980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++;
  25633. 13012 .loc 1 5980 9 is_stmt 1 view .LVU4806
  25634. 13013 .LVL821:
  25635. 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
  25636. 13014 .loc 1 5981 9 view .LVU4807
  25637. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 443
  25638. 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
  25639. 13015 .loc 1 5981 13 is_stmt 0 view .LVU4808
  25640. 13016 002c 856C ldr r5, [r0, #72]
  25641. 13017 .LVL822:
  25642. 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
  25643. 13018 .loc 1 5981 29 view .LVU4809
  25644. 13019 002e 0135 adds r5, r5, #1
  25645. 13020 0030 8564 str r5, [r0, #72]
  25646. 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25647. 13021 .loc 1 5982 9 is_stmt 1 view .LVU4810
  25648. 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25649. 13022 .loc 1 5982 17 is_stmt 0 view .LVU4811
  25650. 13023 0032 856C ldr r5, [r0, #72]
  25651. 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25652. 13024 .loc 1 5982 12 view .LVU4812
  25653. 13025 0034 022D cmp r5, #2
  25654. 13026 0036 0CD0 beq .L1063
  25655. 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25656. 13027 .loc 1 6045 1 view .LVU4813
  25657. 13028 0038 70BD pop {r4, r5, r6, pc}
  25658. 13029 .LVL823:
  25659. 13030 .L1060:
  25660. 6003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25661. 13031 .loc 1 6003 9 is_stmt 1 view .LVU4814
  25662. 6006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25663. 13032 .loc 1 6006 9 view .LVU4815
  25664. 13033 .LBB570:
  25665. 13034 .LBI570:
  25666. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25667. 13035 .loc 1 7451 13 view .LVU4816
  25668. 13036 .LBB571:
  25669. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25670. 13037 .loc 1 7453 3 view .LVU4817
  25671. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25672. 13038 .loc 1 7455 3 view .LVU4818
  25673. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25674. 13039 .loc 1 7467 3 view .LVU4819
  25675. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25676. 13040 .loc 1 7479 3 view .LVU4820
  25677. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25678. 13041 .loc 1 7482 5 view .LVU4821
  25679. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25680. 13042 .loc 1 7485 3 view .LVU4822
  25681. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25682. 13043 .loc 1 7491 3 view .LVU4823
  25683. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25684. 13044 .loc 1 7497 3 view .LVU4824
  25685. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25686. 13045 .loc 1 7506 3 view .LVU4825
  25687. 13046 .LBE571:
  25688. 13047 .LBE570:
  25689. 6015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  25690. 13048 .loc 1 6015 9 is_stmt 0 view .LVU4826
  25691. 13049 003a 06F0FE02 and r2, r6, #254
  25692. 13050 .LVL824:
  25693. 13051 .L1059:
  25694. 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25695. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 444
  25696. 13052 .loc 1 6023 7 is_stmt 1 view .LVU4827
  25697. 13053 .LBB572:
  25698. 13054 .LBI572:
  25699. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25700. 13055 .loc 1 7451 13 view .LVU4828
  25701. 13056 .LBB573:
  25702. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25703. 13057 .loc 1 7453 3 view .LVU4829
  25704. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25705. 13058 .loc 1 7455 3 view .LVU4830
  25706. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25707. 13059 .loc 1 7467 3 view .LVU4831
  25708. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25709. 13060 .loc 1 7479 3 view .LVU4832
  25710. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25711. 13061 .loc 1 7482 5 view .LVU4833
  25712. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25713. 13062 .loc 1 7485 3 view .LVU4834
  25714. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25715. 13063 .loc 1 7491 3 view .LVU4835
  25716. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25717. 13064 .loc 1 7497 3 view .LVU4836
  25718. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25719. 13065 .loc 1 7506 3 view .LVU4837
  25720. 13066 003e 2368 ldr r3, [r4]
  25721. 13067 0040 23F0B803 bic r3, r3, #184
  25722. 13068 0044 2360 str r3, [r4]
  25723. 13069 .LVL825:
  25724. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25725. 13070 .loc 1 7506 3 is_stmt 0 view .LVU4838
  25726. 13071 .LBE573:
  25727. 13072 .LBE572:
  25728. 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25729. 13073 .loc 1 6026 7 is_stmt 1 view .LVU4839
  25730. 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25731. 13074 .loc 1 6026 7 view .LVU4840
  25732. 13075 0046 0023 movs r3, #0
  25733. 13076 0048 8CF84030 strb r3, [ip, #64]
  25734. 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25735. 13077 .loc 1 6026 7 view .LVU4841
  25736. 6032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  25737. 13078 .loc 1 6032 7 view .LVU4842
  25738. 13079 004c FFF7FEFF bl HAL_I2C_AddrCallback
  25739. 13080 .LVL826:
  25740. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25741. 13081 .loc 1 6043 5 view .LVU4843
  25742. 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25743. 13082 .loc 1 6045 1 is_stmt 0 view .LVU4844
  25744. 13083 0050 70BD pop {r4, r5, r6, pc}
  25745. 13084 .LVL827:
  25746. 13085 .L1063:
  25747. 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25748. 13086 .loc 1 5985 11 is_stmt 1 view .LVU4845
  25749. 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25750. 13087 .loc 1 5988 11 is_stmt 0 view .LVU4846
  25751. 13088 0052 0825 movs r5, #8
  25752. 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25753. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 445
  25754. 13089 .loc 1 5985 32 view .LVU4847
  25755. 13090 0054 8364 str r3, [r0, #72]
  25756. 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25757. 13091 .loc 1 5988 11 is_stmt 1 view .LVU4848
  25758. 13092 0056 E561 str r5, [r4, #28]
  25759. 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25760. 13093 .loc 1 5991 11 view .LVU4849
  25761. 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25762. 13094 .loc 1 5991 11 view .LVU4850
  25763. 13095 0058 80F84030 strb r3, [r0, #64]
  25764. 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25765. 13096 .loc 1 5991 11 view .LVU4851
  25766. 5997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  25767. 13097 .loc 1 5997 11 view .LVU4852
  25768. 13098 005c FFF7FEFF bl HAL_I2C_AddrCallback
  25769. 13099 .LVL828:
  25770. 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25771. 13100 .loc 1 6045 1 is_stmt 0 view .LVU4853
  25772. 13101 0060 70BD pop {r4, r5, r6, pc}
  25773. 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25774. 13102 .loc 1 6045 1 view .LVU4854
  25775. 13103 .cfi_endproc
  25776. 13104 .LFE213:
  25777. 13106 0062 00BF .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
  25778. 13107 .align 1
  25779. 13108 .p2align 2,,3
  25780. 13109 .weak HAL_I2C_ListenCpltCallback
  25781. 13110 .syntax unified
  25782. 13111 .thumb
  25783. 13112 .thumb_func
  25784. 13114 HAL_I2C_ListenCpltCallback:
  25785. 13115 .LFB226:
  25786. 13116 .cfi_startproc
  25787. 13117 @ args = 0, pretend = 0, frame = 0
  25788. 13118 @ frame_needed = 0, uses_anonymous_args = 0
  25789. 13119 @ link register save eliminated.
  25790. 13120 0000 7047 bx lr
  25791. 13121 .cfi_endproc
  25792. 13122 .LFE226:
  25793. 13124 0002 00BF .section .text.I2C_ITListenCplt,"ax",%progbits
  25794. 13125 .align 1
  25795. 13126 .p2align 2,,3
  25796. 13127 .syntax unified
  25797. 13128 .thumb
  25798. 13129 .thumb_func
  25799. 13131 I2C_ITListenCplt:
  25800. 13132 .LVL829:
  25801. 13133 .LFB192:
  25802. 6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
  25803. 13134 .loc 1 6539 1 is_stmt 1 view -0
  25804. 13135 .cfi_startproc
  25805. 13136 @ args = 0, pretend = 0, frame = 0
  25806. 13137 @ frame_needed = 0, uses_anonymous_args = 0
  25807. 6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  25808. 13138 .loc 1 6541 3 view .LVU4856
  25809. 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  25810. 13139 .loc 1 6542 23 is_stmt 0 view .LVU4857
  25811. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 446
  25812. 13140 0000 0023 movs r3, #0
  25813. 6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */
  25814. 13141 .loc 1 6539 1 view .LVU4858
  25815. 13142 0002 10B5 push {r4, lr}
  25816. 13143 .LCFI169:
  25817. 13144 .cfi_def_cfa_offset 8
  25818. 13145 .cfi_offset 4, -8
  25819. 13146 .cfi_offset 14, -4
  25820. 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  25821. 13147 .loc 1 6543 15 view .LVU4859
  25822. 13148 0004 2022 movs r2, #32
  25823. 6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  25824. 13149 .loc 1 6541 21 view .LVU4860
  25825. 13150 0006 174C ldr r4, .L1073
  25826. 13151 0008 C462 str r4, [r0, #44]
  25827. 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  25828. 13152 .loc 1 6542 3 is_stmt 1 view .LVU4861
  25829. 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25830. 13153 .loc 1 6545 17 is_stmt 0 view .LVU4862
  25831. 13154 000a 4363 str r3, [r0, #52]
  25832. 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  25833. 13155 .loc 1 6542 23 view .LVU4863
  25834. 13156 000c 0363 str r3, [r0, #48]
  25835. 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  25836. 13157 .loc 1 6543 3 is_stmt 1 view .LVU4864
  25837. 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
  25838. 13158 .loc 1 6543 15 is_stmt 0 view .LVU4865
  25839. 13159 000e 80F84120 strb r2, [r0, #65]
  25840. 6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  25841. 13160 .loc 1 6544 3 is_stmt 1 view .LVU4866
  25842. 6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  25843. 13161 .loc 1 6544 14 is_stmt 0 view .LVU4867
  25844. 13162 0012 80F84230 strb r3, [r0, #66]
  25845. 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25846. 13163 .loc 1 6545 3 is_stmt 1 view .LVU4868
  25847. 6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25848. 13164 .loc 1 6548 3 view .LVU4869
  25849. 6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25850. 13165 .loc 1 6548 6 is_stmt 0 view .LVU4870
  25851. 13166 0016 4B07 lsls r3, r1, #29
  25852. 13167 0018 12D5 bpl .L1067
  25853. 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25854. 13168 .loc 1 6551 5 is_stmt 1 view .LVU4871
  25855. 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25856. 13169 .loc 1 6551 36 is_stmt 0 view .LVU4872
  25857. 13170 001a 0268 ldr r2, [r0]
  25858. 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25859. 13171 .loc 1 6551 10 view .LVU4873
  25860. 13172 001c 436A ldr r3, [r0, #36]
  25861. 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25862. 13173 .loc 1 6551 46 view .LVU4874
  25863. 13174 001e 526A ldr r2, [r2, #36]
  25864. 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25865. 13175 .loc 1 6551 23 view .LVU4875
  25866. 13176 0020 1A70 strb r2, [r3]
  25867. 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25868. 13177 .loc 1 6554 5 is_stmt 1 view .LVU4876
  25869. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 447
  25870. 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25871. 13178 .loc 1 6554 19 is_stmt 0 view .LVU4877
  25872. 13179 0022 436A ldr r3, [r0, #36]
  25873. 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25874. 13180 .loc 1 6556 14 view .LVU4878
  25875. 13181 0024 028D ldrh r2, [r0, #40]
  25876. 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25877. 13182 .loc 1 6554 19 view .LVU4879
  25878. 13183 0026 0133 adds r3, r3, #1
  25879. 13184 0028 4362 str r3, [r0, #36]
  25880. 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25881. 13185 .loc 1 6556 5 is_stmt 1 view .LVU4880
  25882. 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25883. 13186 .loc 1 6556 8 is_stmt 0 view .LVU4881
  25884. 13187 002a 4AB1 cbz r2, .L1067
  25885. 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  25886. 13188 .loc 1 6558 7 is_stmt 1 view .LVU4882
  25887. 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25888. 13189 .loc 1 6559 11 is_stmt 0 view .LVU4883
  25889. 13190 002c 438D ldrh r3, [r0, #42]
  25890. 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25891. 13191 .loc 1 6559 22 view .LVU4884
  25892. 13192 002e 013B subs r3, r3, #1
  25893. 13193 0030 9BB2 uxth r3, r3
  25894. 13194 0032 4385 strh r3, [r0, #42] @ movhi
  25895. 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25896. 13195 .loc 1 6562 23 view .LVU4885
  25897. 13196 0034 436C ldr r3, [r0, #68]
  25898. 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  25899. 13197 .loc 1 6558 21 view .LVU4886
  25900. 13198 0036 013A subs r2, r2, #1
  25901. 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25902. 13199 .loc 1 6562 23 view .LVU4887
  25903. 13200 0038 43F00403 orr r3, r3, #4
  25904. 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  25905. 13201 .loc 1 6558 21 view .LVU4888
  25906. 13202 003c 0285 strh r2, [r0, #40] @ movhi
  25907. 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25908. 13203 .loc 1 6559 7 is_stmt 1 view .LVU4889
  25909. 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25910. 13204 .loc 1 6562 7 view .LVU4890
  25911. 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25912. 13205 .loc 1 6562 23 is_stmt 0 view .LVU4891
  25913. 13206 003e 4364 str r3, [r0, #68]
  25914. 13207 .L1067:
  25915. 6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25916. 13208 .loc 1 6567 3 is_stmt 1 view .LVU4892
  25917. 13209 .LVL830:
  25918. 13210 .LBB576:
  25919. 13211 .LBI576:
  25920. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25921. 13212 .loc 1 7451 13 view .LVU4893
  25922. 13213 .LBB577:
  25923. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25924. 13214 .loc 1 7453 3 view .LVU4894
  25925. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25926. 13215 .loc 1 7455 3 view .LVU4895
  25927. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 448
  25928. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25929. 13216 .loc 1 7458 5 view .LVU4896
  25930. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25931. 13217 .loc 1 7460 5 view .LVU4897
  25932. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25933. 13218 .loc 1 7506 3 is_stmt 0 view .LVU4898
  25934. 13219 0040 0368 ldr r3, [r0]
  25935. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25936. 13220 .loc 1 7460 24 view .LVU4899
  25937. 13221 0042 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  25938. 13222 .LVL831:
  25939. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25940. 13223 .loc 1 7467 3 is_stmt 1 view .LVU4900
  25941. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25942. 13224 .loc 1 7470 5 view .LVU4901
  25943. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25944. 13225 .loc 1 7472 5 view .LVU4902
  25945. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25946. 13226 .loc 1 7472 24 is_stmt 0 view .LVU4903
  25947. 13227 0046 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  25948. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25949. 13228 .loc 1 7479 3 is_stmt 1 view .LVU4904
  25950. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25951. 13229 .loc 1 7482 5 view .LVU4905
  25952. 13230 .LVL832:
  25953. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25954. 13231 .loc 1 7485 3 view .LVU4906
  25955. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25956. 13232 .loc 1 7491 3 view .LVU4907
  25957. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  25958. 13233 .loc 1 7497 3 view .LVU4908
  25959. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25960. 13234 .loc 1 7506 3 view .LVU4909
  25961. 13235 004a 1A68 ldr r2, [r3]
  25962. 13236 .LBE577:
  25963. 13237 .LBE576:
  25964. 6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25965. 13238 .loc 1 6570 3 is_stmt 0 view .LVU4910
  25966. 13239 004c 1024 movs r4, #16
  25967. 13240 .LBB580:
  25968. 13241 .LBB578:
  25969. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25970. 13242 .loc 1 7506 3 view .LVU4911
  25971. 13243 004e 22F0FE02 bic r2, r2, #254
  25972. 13244 .LBE578:
  25973. 13245 .LBE580:
  25974. 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25975. 13246 .loc 1 6573 3 view .LVU4912
  25976. 13247 0052 0021 movs r1, #0
  25977. 13248 .LVL833:
  25978. 13249 .LBB581:
  25979. 13250 .LBB579:
  25980. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25981. 13251 .loc 1 7506 3 view .LVU4913
  25982. 13252 0054 1A60 str r2, [r3]
  25983. 13253 .LVL834:
  25984. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  25985. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 449
  25986. 13254 .loc 1 7506 3 view .LVU4914
  25987. 13255 .LBE579:
  25988. 13256 .LBE581:
  25989. 6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25990. 13257 .loc 1 6570 3 is_stmt 1 view .LVU4915
  25991. 13258 0056 DC61 str r4, [r3, #28]
  25992. 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25993. 13259 .loc 1 6573 3 view .LVU4916
  25994. 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25995. 13260 .loc 1 6573 3 view .LVU4917
  25996. 13261 0058 80F84010 strb r1, [r0, #64]
  25997. 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  25998. 13262 .loc 1 6573 3 view .LVU4918
  25999. 6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26000. 13263 .loc 1 6579 3 view .LVU4919
  26001. 13264 005c FFF7FEFF bl HAL_I2C_ListenCpltCallback
  26002. 13265 .LVL835:
  26003. 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26004. 13266 .loc 1 6581 1 is_stmt 0 view .LVU4920
  26005. 13267 0060 10BD pop {r4, pc}
  26006. 13268 .L1074:
  26007. 13269 0062 00BF .align 2
  26008. 13270 .L1073:
  26009. 13271 0064 0000FFFF .word -65536
  26010. 13272 .cfi_endproc
  26011. 13273 .LFE192:
  26012. 13275 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
  26013. 13276 .align 1
  26014. 13277 .p2align 2,,3
  26015. 13278 .weak HAL_I2C_MemTxCpltCallback
  26016. 13279 .syntax unified
  26017. 13280 .thumb
  26018. 13281 .thumb_func
  26019. 13283 HAL_I2C_MemTxCpltCallback:
  26020. 13284 .LFB228:
  26021. 13285 .cfi_startproc
  26022. 13286 @ args = 0, pretend = 0, frame = 0
  26023. 13287 @ frame_needed = 0, uses_anonymous_args = 0
  26024. 13288 @ link register save eliminated.
  26025. 13289 0000 7047 bx lr
  26026. 13290 .cfi_endproc
  26027. 13291 .LFE228:
  26028. 13293 0002 00BF .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
  26029. 13294 .align 1
  26030. 13295 .p2align 2,,3
  26031. 13296 .weak HAL_I2C_MemRxCpltCallback
  26032. 13297 .syntax unified
  26033. 13298 .thumb
  26034. 13299 .thumb_func
  26035. 13301 HAL_I2C_MemRxCpltCallback:
  26036. 13302 .LFB230:
  26037. 13303 .cfi_startproc
  26038. 13304 @ args = 0, pretend = 0, frame = 0
  26039. 13305 @ frame_needed = 0, uses_anonymous_args = 0
  26040. 13306 @ link register save eliminated.
  26041. 13307 0000 7047 bx lr
  26042. 13308 .cfi_endproc
  26043. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 450
  26044. 13309 .LFE230:
  26045. 13311 0002 00BF .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
  26046. 13312 .align 1
  26047. 13313 .p2align 2,,3
  26048. 13314 .weak HAL_I2C_ErrorCallback
  26049. 13315 .syntax unified
  26050. 13316 .thumb
  26051. 13317 .thumb_func
  26052. 13319 HAL_I2C_ErrorCallback:
  26053. 13320 .LFB232:
  26054. 13321 .cfi_startproc
  26055. 13322 @ args = 0, pretend = 0, frame = 0
  26056. 13323 @ frame_needed = 0, uses_anonymous_args = 0
  26057. 13324 @ link register save eliminated.
  26058. 13325 0000 7047 bx lr
  26059. 13326 .cfi_endproc
  26060. 13327 .LFE232:
  26061. 13329 0002 00BF .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
  26062. 13330 .align 1
  26063. 13331 .p2align 2,,3
  26064. 13332 .weak HAL_I2C_AbortCpltCallback
  26065. 13333 .syntax unified
  26066. 13334 .thumb
  26067. 13335 .thumb_func
  26068. 13337 HAL_I2C_AbortCpltCallback:
  26069. 13338 .LFB234:
  26070. 13339 .cfi_startproc
  26071. 13340 @ args = 0, pretend = 0, frame = 0
  26072. 13341 @ frame_needed = 0, uses_anonymous_args = 0
  26073. 13342 @ link register save eliminated.
  26074. 13343 0000 7047 bx lr
  26075. 13344 .cfi_endproc
  26076. 13345 .LFE234:
  26077. 13347 0002 00BF .section .text.I2C_DMAAbort,"ax",%progbits
  26078. 13348 .align 1
  26079. 13349 .p2align 2,,3
  26080. 13350 .syntax unified
  26081. 13351 .thumb
  26082. 13352 .thumb_func
  26083. 13354 I2C_DMAAbort:
  26084. 13355 .LVL836:
  26085. 13356 .LFB201:
  26086. 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  26087. 13357 .loc 1 6967 1 is_stmt 1 view -0
  26088. 13358 .cfi_startproc
  26089. 13359 @ args = 0, pretend = 0, frame = 0
  26090. 13360 @ frame_needed = 0, uses_anonymous_args = 0
  26091. 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26092. 13361 .loc 1 6969 3 view .LVU4922
  26093. 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26094. 13362 .loc 1 6969 22 is_stmt 0 view .LVU4923
  26095. 13363 0000 406A ldr r0, [r0, #36]
  26096. 13364 .LVL837:
  26097. 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26098. 13365 .loc 1 6972 3 is_stmt 1 view .LVU4924
  26099. 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  26100. 13366 .loc 1 6967 1 is_stmt 0 view .LVU4925
  26101. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 451
  26102. 13367 0002 08B5 push {r3, lr}
  26103. 13368 .LCFI170:
  26104. 13369 .cfi_def_cfa_offset 8
  26105. 13370 .cfi_offset 3, -8
  26106. 13371 .cfi_offset 14, -4
  26107. 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26108. 13372 .loc 1 6972 11 view .LVU4926
  26109. 13373 0004 836B ldr r3, [r0, #56]
  26110. 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26111. 13374 .loc 1 6972 6 view .LVU4927
  26112. 13375 0006 0BB1 cbz r3, .L1080
  26113. 6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26114. 13376 .loc 1 6974 5 is_stmt 1 view .LVU4928
  26115. 6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26116. 13377 .loc 1 6974 37 is_stmt 0 view .LVU4929
  26117. 13378 0008 0022 movs r2, #0
  26118. 13379 000a 5A63 str r2, [r3, #52]
  26119. 13380 .L1080:
  26120. 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26121. 13381 .loc 1 6976 3 is_stmt 1 view .LVU4930
  26122. 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26123. 13382 .loc 1 6976 11 is_stmt 0 view .LVU4931
  26124. 13383 000c C36B ldr r3, [r0, #60]
  26125. 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26126. 13384 .loc 1 6976 6 view .LVU4932
  26127. 13385 000e 0BB1 cbz r3, .L1081
  26128. 6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26129. 13386 .loc 1 6978 5 is_stmt 1 view .LVU4933
  26130. 6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26131. 13387 .loc 1 6978 37 is_stmt 0 view .LVU4934
  26132. 13388 0010 0022 movs r2, #0
  26133. 13389 0012 5A63 str r2, [r3, #52]
  26134. 13390 .L1081:
  26135. 6981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26136. 13391 .loc 1 6981 3 is_stmt 1 view .LVU4935
  26137. 13392 .LVL838:
  26138. 13393 .LBB586:
  26139. 13394 .LBI586:
  26140. 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26141. 13395 .loc 1 6720 13 view .LVU4936
  26142. 13396 .LBB587:
  26143. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26144. 13397 .loc 1 6722 3 view .LVU4937
  26145. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26146. 13398 .loc 1 6722 11 is_stmt 0 view .LVU4938
  26147. 13399 0014 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
  26148. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26149. 13400 .loc 1 6722 6 view .LVU4939
  26150. 13401 0018 602B cmp r3, #96
  26151. 13402 .LBB588:
  26152. 13403 .LBB589:
  26153. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26154. 13404 .loc 1 6725 25 view .LVU4940
  26155. 13405 001a 4FF00003 mov r3, #0
  26156. 13406 .LBE589:
  26157. 13407 .LBE588:
  26158. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26159. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 452
  26160. 13408 .loc 1 6722 6 view .LVU4941
  26161. 13409 001e 05D0 beq .L1091
  26162. 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26163. 13410 .loc 1 6739 5 is_stmt 1 view .LVU4942
  26164. 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26165. 13411 .loc 1 6739 25 is_stmt 0 view .LVU4943
  26166. 13412 0020 0363 str r3, [r0, #48]
  26167. 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26168. 13413 .loc 1 6742 5 is_stmt 1 view .LVU4944
  26169. 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26170. 13414 .loc 1 6742 5 view .LVU4945
  26171. 13415 0022 80F84030 strb r3, [r0, #64]
  26172. 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26173. 13416 .loc 1 6742 5 view .LVU4946
  26174. 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26175. 13417 .loc 1 6748 5 view .LVU4947
  26176. 13418 0026 FFF7FEFF bl HAL_I2C_ErrorCallback
  26177. 13419 .LVL839:
  26178. 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26179. 13420 .loc 1 6748 5 is_stmt 0 view .LVU4948
  26180. 13421 .LBE587:
  26181. 13422 .LBE586:
  26182. 6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26183. 13423 .loc 1 6982 1 view .LVU4949
  26184. 13424 002a 08BD pop {r3, pc}
  26185. 13425 .LVL840:
  26186. 13426 .L1091:
  26187. 13427 .LBB593:
  26188. 13428 .LBB592:
  26189. 13429 .LBB591:
  26190. 13430 .LBI588:
  26191. 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26192. 13431 .loc 1 6720 13 is_stmt 1 view .LVU4950
  26193. 13432 .LBB590:
  26194. 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  26195. 13433 .loc 1 6724 5 view .LVU4951
  26196. 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  26197. 13434 .loc 1 6724 17 is_stmt 0 view .LVU4952
  26198. 13435 002c 2022 movs r2, #32
  26199. 13436 002e 80F84120 strb r2, [r0, #65]
  26200. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26201. 13437 .loc 1 6725 5 is_stmt 1 view .LVU4953
  26202. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26203. 13438 .loc 1 6728 5 is_stmt 0 view .LVU4954
  26204. 13439 0032 80F84030 strb r3, [r0, #64]
  26205. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26206. 13440 .loc 1 6725 25 view .LVU4955
  26207. 13441 0036 0363 str r3, [r0, #48]
  26208. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26209. 13442 .loc 1 6728 5 is_stmt 1 view .LVU4956
  26210. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26211. 13443 .loc 1 6728 5 view .LVU4957
  26212. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26213. 13444 .loc 1 6728 5 view .LVU4958
  26214. 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26215. 13445 .loc 1 6734 5 view .LVU4959
  26216. 13446 0038 FFF7FEFF bl HAL_I2C_AbortCpltCallback
  26217. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 453
  26218. 13447 .LVL841:
  26219. 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26220. 13448 .loc 1 6734 5 is_stmt 0 view .LVU4960
  26221. 13449 .LBE590:
  26222. 13450 .LBE591:
  26223. 13451 .LBE592:
  26224. 13452 .LBE593:
  26225. 6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26226. 13453 .loc 1 6982 1 view .LVU4961
  26227. 13454 003c 08BD pop {r3, pc}
  26228. 13455 .cfi_endproc
  26229. 13456 .LFE201:
  26230. 13458 003e 00BF .section .text.I2C_ITError,"ax",%progbits
  26231. 13459 .align 1
  26232. 13460 .p2align 2,,3
  26233. 13461 .syntax unified
  26234. 13462 .thumb
  26235. 13463 .thumb_func
  26236. 13465 I2C_ITError:
  26237. 13466 .LVL842:
  26238. 13467 .LFB193:
  26239. 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
  26240. 13468 .loc 1 6590 1 is_stmt 1 view -0
  26241. 13469 .cfi_startproc
  26242. 13470 @ args = 0, pretend = 0, frame = 0
  26243. 13471 @ frame_needed = 0, uses_anonymous_args = 0
  26244. 6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26245. 13472 .loc 1 6591 3 view .LVU4963
  26246. 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
  26247. 13473 .loc 1 6590 1 is_stmt 0 view .LVU4964
  26248. 13474 0000 10B5 push {r4, lr}
  26249. 13475 .LCFI171:
  26250. 13476 .cfi_def_cfa_offset 8
  26251. 13477 .cfi_offset 4, -8
  26252. 13478 .cfi_offset 14, -4
  26253. 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
  26254. 13479 .loc 1 6590 1 view .LVU4965
  26255. 13480 0002 0446 mov r4, r0
  26256. 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
  26257. 13481 .loc 1 6597 23 view .LVU4966
  26258. 13482 0004 564A ldr r2, .L1155
  26259. 6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26260. 13483 .loc 1 6591 24 view .LVU4967
  26261. 13484 0006 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  26262. 13485 .LVL843:
  26263. 6593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26264. 13486 .loc 1 6593 3 is_stmt 1 view .LVU4968
  26265. 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  26266. 13487 .loc 1 6596 3 view .LVU4969
  26267. 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  26268. 13488 .loc 1 6596 23 is_stmt 0 view .LVU4970
  26269. 13489 000a 0020 movs r0, #0
  26270. 13490 .LVL844:
  26271. 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  26272. 13491 .loc 1 6596 23 view .LVU4971
  26273. 13492 000c 84F84200 strb r0, [r4, #66]
  26274. 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
  26275. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 454
  26276. 13493 .loc 1 6597 3 is_stmt 1 view .LVU4972
  26277. 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U;
  26278. 13494 .loc 1 6597 23 is_stmt 0 view .LVU4973
  26279. 13495 0010 E262 str r2, [r4, #44]
  26280. 6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26281. 13496 .loc 1 6598 3 is_stmt 1 view .LVU4974
  26282. 6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26283. 13497 .loc 1 6598 23 is_stmt 0 view .LVU4975
  26284. 13498 0012 6085 strh r0, [r4, #42] @ movhi
  26285. 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26286. 13499 .loc 1 6601 3 is_stmt 1 view .LVU4976
  26287. 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26288. 13500 .loc 1 6601 19 is_stmt 0 view .LVU4977
  26289. 13501 0014 626C ldr r2, [r4, #68]
  26290. 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
  26291. 13502 .loc 1 6604 6 view .LVU4978
  26292. 13503 0016 283B subs r3, r3, #40
  26293. 13504 .LVL845:
  26294. 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26295. 13505 .loc 1 6601 19 view .LVU4979
  26296. 13506 0018 1143 orrs r1, r1, r2
  26297. 13507 .LVL846:
  26298. 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
  26299. 13508 .loc 1 6604 6 view .LVU4980
  26300. 13509 001a 022B cmp r3, #2
  26301. 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26302. 13510 .loc 1 6601 19 view .LVU4981
  26303. 13511 001c 6164 str r1, [r4, #68]
  26304. 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
  26305. 13512 .loc 1 6604 3 is_stmt 1 view .LVU4982
  26306. 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
  26307. 13513 .loc 1 6604 6 is_stmt 0 view .LVU4983
  26308. 13514 001e 64D8 bhi .L1093
  26309. 6609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26310. 13515 .loc 1 6609 5 is_stmt 1 view .LVU4984
  26311. 13516 .LVL847:
  26312. 13517 .LBB612:
  26313. 13518 .LBI612:
  26314. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26315. 13519 .loc 1 7451 13 view .LVU4985
  26316. 13520 .LBB613:
  26317. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26318. 13521 .loc 1 7453 3 view .LVU4986
  26319. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26320. 13522 .loc 1 7455 3 view .LVU4987
  26321. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26322. 13523 .loc 1 7458 5 view .LVU4988
  26323. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26324. 13524 .loc 1 7460 5 view .LVU4989
  26325. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26326. 13525 .loc 1 7460 24 is_stmt 0 view .LVU4990
  26327. 13526 0020 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  26328. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26329. 13527 .loc 1 7472 24 view .LVU4991
  26330. 13528 0024 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  26331. 13529 .LBE613:
  26332. 13530 .LBE612:
  26333. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 455
  26334. 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26335. 13531 .loc 1 6613 25 view .LVU4992
  26336. 13532 0028 4E48 ldr r0, .L1155+4
  26337. 13533 .LBB616:
  26338. 13534 .LBB614:
  26339. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26340. 13535 .loc 1 7460 8 view .LVU4993
  26341. 13536 002a 02F02802 and r2, r2, #40
  26342. 13537 002e 282A cmp r2, #40
  26343. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26344. 13538 .loc 1 7472 8 view .LVU4994
  26345. 13539 0030 03F02803 and r3, r3, #40
  26346. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26347. 13540 .loc 1 7460 8 view .LVU4995
  26348. 13541 0034 0CBF ite eq
  26349. 13542 0036 4622 moveq r2, #70
  26350. 13543 0038 F622 movne r2, #246
  26351. 13544 .LVL848:
  26352. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26353. 13545 .loc 1 7467 3 is_stmt 1 view .LVU4996
  26354. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26355. 13546 .loc 1 7470 5 view .LVU4997
  26356. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26357. 13547 .loc 1 7472 5 view .LVU4998
  26358. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26359. 13548 .loc 1 7472 8 is_stmt 0 view .LVU4999
  26360. 13549 003a 282B cmp r3, #40
  26361. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26362. 13550 .loc 1 7506 3 view .LVU5000
  26363. 13551 003c 2368 ldr r3, [r4]
  26364. 13552 003e 08BF it eq
  26365. 13553 0040 D143 mvneq r1, r2
  26366. 13554 0042 1A68 ldr r2, [r3]
  26367. 13555 0044 18BF it ne
  26368. 13556 0046 6FF0F601 mvnne r1, #246
  26369. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26370. 13557 .loc 1 7479 3 is_stmt 1 view .LVU5001
  26371. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26372. 13558 .loc 1 7485 3 view .LVU5002
  26373. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26374. 13559 .loc 1 7491 3 view .LVU5003
  26375. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26376. 13560 .loc 1 7497 3 view .LVU5004
  26377. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26378. 13561 .loc 1 7506 3 view .LVU5005
  26379. 13562 004a 0A40 ands r2, r2, r1
  26380. 13563 .LBE614:
  26381. 13564 .LBE616:
  26382. 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  26383. 13565 .loc 1 6612 25 is_stmt 0 view .LVU5006
  26384. 13566 004c 2821 movs r1, #40
  26385. 13567 .LBB617:
  26386. 13568 .LBB615:
  26387. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26388. 13569 .loc 1 7506 3 view .LVU5007
  26389. 13570 004e 1A60 str r2, [r3]
  26390. 13571 .LVL849:
  26391. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 456
  26392. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26393. 13572 .loc 1 7506 3 view .LVU5008
  26394. 13573 .LBE615:
  26395. 13574 .LBE617:
  26396. 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  26397. 13575 .loc 1 6612 5 is_stmt 1 view .LVU5009
  26398. 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
  26399. 13576 .loc 1 6612 25 is_stmt 0 view .LVU5010
  26400. 13577 0050 84F84110 strb r1, [r4, #65]
  26401. 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26402. 13578 .loc 1 6613 5 is_stmt 1 view .LVU5011
  26403. 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26404. 13579 .loc 1 6613 25 is_stmt 0 view .LVU5012
  26405. 13580 0054 6063 str r0, [r4, #52]
  26406. 13581 .L1096:
  26407. 6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26408. 13582 .loc 1 6648 3 is_stmt 1 view .LVU5013
  26409. 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
  26410. 13583 .loc 1 6650 12 is_stmt 0 view .LVU5014
  26411. 13584 0056 A06B ldr r0, [r4, #56]
  26412. 6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26413. 13585 .loc 1 6648 20 view .LVU5015
  26414. 13586 0058 226B ldr r2, [r4, #48]
  26415. 13587 .LVL850:
  26416. 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
  26417. 13588 .loc 1 6650 3 is_stmt 1 view .LVU5016
  26418. 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
  26419. 13589 .loc 1 6650 6 is_stmt 0 view .LVU5017
  26420. 13590 005a 18B1 cbz r0, .L1103
  26421. 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
  26422. 13591 .loc 1 6650 30 discriminator 1 view .LVU5018
  26423. 13592 005c 112A cmp r2, #17
  26424. 13593 005e 14D0 beq .L1104
  26425. 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX)))
  26426. 13594 .loc 1 6650 81 discriminator 2 view .LVU5019
  26427. 13595 0060 212A cmp r2, #33
  26428. 13596 0062 12D0 beq .L1104
  26429. 13597 .L1103:
  26430. 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
  26431. 13598 .loc 1 6680 8 is_stmt 1 view .LVU5020
  26432. 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
  26433. 13599 .loc 1 6680 17 is_stmt 0 view .LVU5021
  26434. 13600 0064 E06B ldr r0, [r4, #60]
  26435. 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
  26436. 13601 .loc 1 6680 11 view .LVU5022
  26437. 13602 0066 18B1 cbz r0, .L1110
  26438. 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
  26439. 13603 .loc 1 6680 35 discriminator 1 view .LVU5023
  26440. 13604 0068 122A cmp r2, #18
  26441. 13605 006a 24D0 beq .L1111
  26442. 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX)))
  26443. 13606 .loc 1 6680 86 discriminator 2 view .LVU5024
  26444. 13607 006c 222A cmp r2, #34
  26445. 13608 006e 22D0 beq .L1111
  26446. 13609 .LVL851:
  26447. 13610 .L1110:
  26448. 6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26449. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 457
  26450. 13611 .loc 1 6711 5 is_stmt 1 view .LVU5025
  26451. 13612 .LBB618:
  26452. 13613 .LBI618:
  26453. 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26454. 13614 .loc 1 6720 13 view .LVU5026
  26455. 13615 .LBB619:
  26456. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26457. 13616 .loc 1 6722 3 view .LVU5027
  26458. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26459. 13617 .loc 1 6722 11 is_stmt 0 view .LVU5028
  26460. 13618 0070 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  26461. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26462. 13619 .loc 1 6722 6 view .LVU5029
  26463. 13620 0074 602B cmp r3, #96
  26464. 13621 .LBB620:
  26465. 13622 .LBB621:
  26466. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26467. 13623 .loc 1 6725 25 view .LVU5030
  26468. 13624 0076 4FF00003 mov r3, #0
  26469. 13625 .LBE621:
  26470. 13626 .LBE620:
  26471. 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26472. 13627 .loc 1 6722 6 view .LVU5031
  26473. 13628 007a 67D0 beq .L1153
  26474. 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26475. 13629 .loc 1 6739 5 is_stmt 1 view .LVU5032
  26476. 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26477. 13630 .loc 1 6739 25 is_stmt 0 view .LVU5033
  26478. 13631 007c 2363 str r3, [r4, #48]
  26479. 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26480. 13632 .loc 1 6742 5 is_stmt 1 view .LVU5034
  26481. 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26482. 13633 .loc 1 6742 5 view .LVU5035
  26483. 13634 007e 84F84030 strb r3, [r4, #64]
  26484. 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26485. 13635 .loc 1 6742 5 view .LVU5036
  26486. 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26487. 13636 .loc 1 6748 5 view .LVU5037
  26488. 13637 0082 2046 mov r0, r4
  26489. 13638 0084 FFF7FEFF bl HAL_I2C_ErrorCallback
  26490. 13639 .LVL852:
  26491. 13640 .L1092:
  26492. 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26493. 13641 .loc 1 6748 5 is_stmt 0 view .LVU5038
  26494. 13642 .LBE619:
  26495. 13643 .LBE618:
  26496. 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26497. 13644 .loc 1 6713 1 view .LVU5039
  26498. 13645 0088 10BD pop {r4, pc}
  26499. 13646 .LVL853:
  26500. 13647 .L1104:
  26501. 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26502. 13648 .loc 1 6653 5 is_stmt 1 view .LVU5040
  26503. 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26504. 13649 .loc 1 6653 24 is_stmt 0 view .LVU5041
  26505. 13650 008a 1A68 ldr r2, [r3]
  26506. 13651 .LVL854:
  26507. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 458
  26508. 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26509. 13652 .loc 1 6653 8 view .LVU5042
  26510. 13653 008c 5104 lsls r1, r2, #17
  26511. 13654 008e 58D4 bmi .L1154
  26512. 13655 .L1105:
  26513. 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26514. 13656 .loc 1 6658 5 is_stmt 1 view .LVU5043
  26515. 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26516. 13657 .loc 1 6658 9 is_stmt 0 view .LVU5044
  26517. 13658 0090 FFF7FEFF bl HAL_DMA_GetState
  26518. 13659 .LVL855:
  26519. 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26520. 13660 .loc 1 6658 8 view .LVU5045
  26521. 13661 0094 0128 cmp r0, #1
  26522. 13662 0096 EBD0 beq .L1110
  26523. 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26524. 13663 .loc 1 6662 7 is_stmt 1 view .LVU5046
  26525. 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26526. 13664 .loc 1 6662 11 is_stmt 0 view .LVU5047
  26527. 13665 0098 A06B ldr r0, [r4, #56]
  26528. 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26529. 13666 .loc 1 6662 39 view .LVU5048
  26530. 13667 009a 334A ldr r2, .L1155+8
  26531. 13668 009c 4263 str r2, [r0, #52]
  26532. 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26533. 13669 .loc 1 6665 7 is_stmt 1 view .LVU5049
  26534. 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26535. 13670 .loc 1 6665 7 view .LVU5050
  26536. 13671 009e 0023 movs r3, #0
  26537. 13672 00a0 84F84030 strb r3, [r4, #64]
  26538. 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26539. 13673 .loc 1 6665 7 view .LVU5051
  26540. 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26541. 13674 .loc 1 6668 7 view .LVU5052
  26542. 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26543. 13675 .loc 1 6668 11 is_stmt 0 view .LVU5053
  26544. 13676 00a4 FFF7FEFF bl HAL_DMA_Abort_IT
  26545. 13677 .LVL856:
  26546. 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26547. 13678 .loc 1 6668 10 view .LVU5054
  26548. 13679 00a8 0028 cmp r0, #0
  26549. 13680 00aa EDD0 beq .L1092
  26550. 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26551. 13681 .loc 1 6671 9 is_stmt 1 view .LVU5055
  26552. 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26553. 13682 .loc 1 6671 13 is_stmt 0 view .LVU5056
  26554. 13683 00ac A06B ldr r0, [r4, #56]
  26555. 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26556. 13684 .loc 1 6713 1 view .LVU5057
  26557. 13685 00ae BDE81040 pop {r4, lr}
  26558. 13686 .LCFI172:
  26559. 13687 .cfi_remember_state
  26560. 13688 .cfi_restore 14
  26561. 13689 .cfi_restore 4
  26562. 13690 .cfi_def_cfa_offset 0
  26563. 13691 .LVL857:
  26564. 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26565. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 459
  26566. 13692 .loc 1 6671 9 view .LVU5058
  26567. 13693 00b2 436B ldr r3, [r0, #52]
  26568. 13694 00b4 1847 bx r3 @ indirect register sibling call
  26569. 13695 .LVL858:
  26570. 13696 .L1111:
  26571. 13697 .LCFI173:
  26572. 13698 .cfi_restore_state
  26573. 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26574. 13699 .loc 1 6683 5 is_stmt 1 view .LVU5059
  26575. 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26576. 13700 .loc 1 6683 24 is_stmt 0 view .LVU5060
  26577. 13701 00b6 1A68 ldr r2, [r3]
  26578. 13702 .LVL859:
  26579. 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26580. 13703 .loc 1 6683 8 view .LVU5061
  26581. 13704 00b8 1204 lsls r2, r2, #16
  26582. 13705 00ba 03D5 bpl .L1112
  26583. 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26584. 13706 .loc 1 6685 7 is_stmt 1 view .LVU5062
  26585. 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26586. 13707 .loc 1 6685 27 is_stmt 0 view .LVU5063
  26587. 13708 00bc 1A68 ldr r2, [r3]
  26588. 13709 00be 22F40042 bic r2, r2, #32768
  26589. 13710 00c2 1A60 str r2, [r3]
  26590. 13711 .L1112:
  26591. 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26592. 13712 .loc 1 6688 5 is_stmt 1 view .LVU5064
  26593. 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26594. 13713 .loc 1 6688 9 is_stmt 0 view .LVU5065
  26595. 13714 00c4 FFF7FEFF bl HAL_DMA_GetState
  26596. 13715 .LVL860:
  26597. 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26598. 13716 .loc 1 6688 8 view .LVU5066
  26599. 13717 00c8 0128 cmp r0, #1
  26600. 13718 00ca D1D0 beq .L1110
  26601. 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26602. 13719 .loc 1 6692 7 is_stmt 1 view .LVU5067
  26603. 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26604. 13720 .loc 1 6692 11 is_stmt 0 view .LVU5068
  26605. 13721 00cc E06B ldr r0, [r4, #60]
  26606. 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26607. 13722 .loc 1 6692 39 view .LVU5069
  26608. 13723 00ce 264A ldr r2, .L1155+8
  26609. 13724 00d0 4263 str r2, [r0, #52]
  26610. 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26611. 13725 .loc 1 6695 7 is_stmt 1 view .LVU5070
  26612. 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26613. 13726 .loc 1 6695 7 view .LVU5071
  26614. 13727 00d2 0023 movs r3, #0
  26615. 13728 00d4 84F84030 strb r3, [r4, #64]
  26616. 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26617. 13729 .loc 1 6695 7 view .LVU5072
  26618. 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26619. 13730 .loc 1 6698 7 view .LVU5073
  26620. 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26621. 13731 .loc 1 6698 11 is_stmt 0 view .LVU5074
  26622. 13732 00d8 FFF7FEFF bl HAL_DMA_Abort_IT
  26623. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 460
  26624. 13733 .LVL861:
  26625. 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26626. 13734 .loc 1 6698 10 view .LVU5075
  26627. 13735 00dc 0028 cmp r0, #0
  26628. 13736 00de D3D0 beq .L1092
  26629. 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26630. 13737 .loc 1 6701 9 is_stmt 1 view .LVU5076
  26631. 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26632. 13738 .loc 1 6701 13 is_stmt 0 view .LVU5077
  26633. 13739 00e0 E06B ldr r0, [r4, #60]
  26634. 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26635. 13740 .loc 1 6713 1 view .LVU5078
  26636. 13741 00e2 BDE81040 pop {r4, lr}
  26637. 13742 .LCFI174:
  26638. 13743 .cfi_remember_state
  26639. 13744 .cfi_restore 14
  26640. 13745 .cfi_restore 4
  26641. 13746 .cfi_def_cfa_offset 0
  26642. 13747 .LVL862:
  26643. 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26644. 13748 .loc 1 6701 9 view .LVU5079
  26645. 13749 00e6 436B ldr r3, [r0, #52]
  26646. 13750 00e8 1847 bx r3 @ indirect register sibling call
  26647. 13751 .LVL863:
  26648. 13752 .L1093:
  26649. 13753 .LCFI175:
  26650. 13754 .cfi_restore_state
  26651. 6618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26652. 13755 .loc 1 6618 5 is_stmt 1 view .LVU5080
  26653. 13756 .LBB625:
  26654. 13757 .LBI625:
  26655. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26656. 13758 .loc 1 7451 13 view .LVU5081
  26657. 13759 .LBB626:
  26658. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26659. 13760 .loc 1 7453 3 view .LVU5082
  26660. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26661. 13761 .loc 1 7455 3 view .LVU5083
  26662. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26663. 13762 .loc 1 7458 5 view .LVU5084
  26664. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26665. 13763 .loc 1 7460 5 view .LVU5085
  26666. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26667. 13764 .loc 1 7506 3 is_stmt 0 view .LVU5086
  26668. 13765 00ea 2368 ldr r3, [r4]
  26669. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26670. 13766 .loc 1 7460 24 view .LVU5087
  26671. 13767 00ec 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  26672. 13768 .LVL864:
  26673. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26674. 13769 .loc 1 7467 3 is_stmt 1 view .LVU5088
  26675. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26676. 13770 .loc 1 7470 5 view .LVU5089
  26677. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26678. 13771 .loc 1 7472 5 view .LVU5090
  26679. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26680. 13772 .loc 1 7472 24 is_stmt 0 view .LVU5091
  26681. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 461
  26682. 13773 00f0 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  26683. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26684. 13774 .loc 1 7479 3 is_stmt 1 view .LVU5092
  26685. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26686. 13775 .loc 1 7482 5 view .LVU5093
  26687. 13776 .LVL865:
  26688. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26689. 13777 .loc 1 7485 3 view .LVU5094
  26690. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26691. 13778 .loc 1 7491 3 view .LVU5095
  26692. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26693. 13779 .loc 1 7497 3 view .LVU5096
  26694. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26695. 13780 .loc 1 7506 3 view .LVU5097
  26696. 13781 00f4 1A68 ldr r2, [r3]
  26697. 13782 00f6 22F0FE02 bic r2, r2, #254
  26698. 13783 00fa 1A60 str r2, [r3]
  26699. 13784 .LVL866:
  26700. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26701. 13785 .loc 1 7506 3 is_stmt 0 view .LVU5098
  26702. 13786 .LBE626:
  26703. 13787 .LBE625:
  26704. 6621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26705. 13788 .loc 1 6621 5 is_stmt 1 view .LVU5099
  26706. 13789 .LBB627:
  26707. 13790 .LBI627:
  26708. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26709. 13791 .loc 1 6758 13 view .LVU5100
  26710. 13792 .LBB628:
  26711. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26712. 13793 .loc 1 6762 3 view .LVU5101
  26713. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26714. 13794 .loc 1 6762 7 is_stmt 0 view .LVU5102
  26715. 13795 00fc 9A69 ldr r2, [r3, #24]
  26716. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26717. 13796 .loc 1 6762 6 view .LVU5103
  26718. 13797 00fe 9207 lsls r2, r2, #30
  26719. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26720. 13798 .loc 1 6764 5 is_stmt 1 view .LVU5104
  26721. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26722. 13799 .loc 1 6768 3 view .LVU5105
  26723. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26724. 13800 .loc 1 6764 26 is_stmt 0 view .LVU5106
  26725. 13801 0100 48BF it mi
  26726. 13802 0102 9862 strmi r0, [r3, #40]
  26727. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26728. 13803 .loc 1 6768 7 view .LVU5107
  26729. 13804 0104 9A69 ldr r2, [r3, #24]
  26730. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26731. 13805 .loc 1 6768 6 view .LVU5108
  26732. 13806 0106 D107 lsls r1, r2, #31
  26733. 13807 0108 03D4 bmi .L1098
  26734. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26735. 13808 .loc 1 6770 5 is_stmt 1 view .LVU5109
  26736. 13809 010a 9A69 ldr r2, [r3, #24]
  26737. 13810 010c 42F00102 orr r2, r2, #1
  26738. 13811 0110 9A61 str r2, [r3, #24]
  26739. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 462
  26740. 13812 .L1098:
  26741. 13813 .LVL867:
  26742. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26743. 13814 .loc 1 6770 5 is_stmt 0 view .LVU5110
  26744. 13815 .LBE628:
  26745. 13816 .LBE627:
  26746. 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26747. 13817 .loc 1 6625 5 is_stmt 1 view .LVU5111
  26748. 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26749. 13818 .loc 1 6625 13 is_stmt 0 view .LVU5112
  26750. 13819 0112 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  26751. 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26752. 13820 .loc 1 6625 8 view .LVU5113
  26753. 13821 0116 602A cmp r2, #96
  26754. 13822 0118 10D0 beq .L1100
  26755. 6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26756. 13823 .loc 1 6628 7 is_stmt 1 view .LVU5114
  26757. 6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26758. 13824 .loc 1 6628 27 is_stmt 0 view .LVU5115
  26759. 13825 011a 2022 movs r2, #32
  26760. 13826 011c 84F84120 strb r2, [r4, #65]
  26761. 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26762. 13827 .loc 1 6631 7 is_stmt 1 view .LVU5116
  26763. 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26764. 13828 .loc 1 6631 11 is_stmt 0 view .LVU5117
  26765. 13829 0120 9A69 ldr r2, [r3, #24]
  26766. 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26767. 13830 .loc 1 6631 10 view .LVU5118
  26768. 13831 0122 9206 lsls r2, r2, #26
  26769. 13832 0124 0AD5 bpl .L1100
  26770. 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26771. 13833 .loc 1 6633 9 is_stmt 1 view .LVU5119
  26772. 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26773. 13834 .loc 1 6633 13 is_stmt 0 view .LVU5120
  26774. 13835 0126 9A69 ldr r2, [r3, #24]
  26775. 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26776. 13836 .loc 1 6633 12 view .LVU5121
  26777. 13837 0128 D006 lsls r0, r2, #27
  26778. 13838 012a 05D5 bpl .L1102
  26779. 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
  26780. 13839 .loc 1 6635 11 is_stmt 1 view .LVU5122
  26781. 13840 012c 1022 movs r2, #16
  26782. 13841 012e DA61 str r2, [r3, #28]
  26783. 6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26784. 13842 .loc 1 6636 11 view .LVU5123
  26785. 6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26786. 13843 .loc 1 6636 27 is_stmt 0 view .LVU5124
  26787. 13844 0130 626C ldr r2, [r4, #68]
  26788. 13845 0132 42F00402 orr r2, r2, #4
  26789. 13846 0136 6264 str r2, [r4, #68]
  26790. 13847 .L1102:
  26791. 6640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26792. 13848 .loc 1 6640 9 is_stmt 1 view .LVU5125
  26793. 13849 0138 2022 movs r2, #32
  26794. 13850 013a DA61 str r2, [r3, #28]
  26795. 13851 .L1100:
  26796. 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26797. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 463
  26798. 13852 .loc 1 6644 5 view .LVU5126
  26799. 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26800. 13853 .loc 1 6644 25 is_stmt 0 view .LVU5127
  26801. 13854 013c 0022 movs r2, #0
  26802. 13855 013e 6263 str r2, [r4, #52]
  26803. 13856 0140 89E7 b .L1096
  26804. 13857 .L1154:
  26805. 6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26806. 13858 .loc 1 6655 7 is_stmt 1 view .LVU5128
  26807. 6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26808. 13859 .loc 1 6655 27 is_stmt 0 view .LVU5129
  26809. 13860 0142 1A68 ldr r2, [r3]
  26810. 13861 0144 22F48042 bic r2, r2, #16384
  26811. 13862 0148 1A60 str r2, [r3]
  26812. 13863 014a A1E7 b .L1105
  26813. 13864 .LVL868:
  26814. 13865 .L1153:
  26815. 13866 .LBB629:
  26816. 13867 .LBB624:
  26817. 13868 .LBB623:
  26818. 13869 .LBI620:
  26819. 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26820. 13870 .loc 1 6720 13 is_stmt 1 view .LVU5130
  26821. 13871 .LBB622:
  26822. 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  26823. 13872 .loc 1 6724 5 view .LVU5131
  26824. 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  26825. 13873 .loc 1 6724 17 is_stmt 0 view .LVU5132
  26826. 13874 014c 2022 movs r2, #32
  26827. 13875 014e 84F84120 strb r2, [r4, #65]
  26828. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26829. 13876 .loc 1 6725 5 is_stmt 1 view .LVU5133
  26830. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26831. 13877 .loc 1 6728 5 is_stmt 0 view .LVU5134
  26832. 13878 0152 84F84030 strb r3, [r4, #64]
  26833. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26834. 13879 .loc 1 6725 25 view .LVU5135
  26835. 13880 0156 2363 str r3, [r4, #48]
  26836. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26837. 13881 .loc 1 6728 5 is_stmt 1 view .LVU5136
  26838. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26839. 13882 .loc 1 6728 5 view .LVU5137
  26840. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26841. 13883 .loc 1 6728 5 view .LVU5138
  26842. 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  26843. 13884 .loc 1 6734 5 view .LVU5139
  26844. 13885 0158 2046 mov r0, r4
  26845. 13886 015a FFF7FEFF bl HAL_I2C_AbortCpltCallback
  26846. 13887 .LVL869:
  26847. 13888 .LBE622:
  26848. 13889 .LBE623:
  26849. 13890 .LBE624:
  26850. 13891 .LBE629:
  26851. 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26852. 13892 .loc 1 6713 1 is_stmt 0 view .LVU5140
  26853. 13893 015e 10BD pop {r4, pc}
  26854. 13894 .LVL870:
  26855. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 464
  26856. 13895 .L1156:
  26857. 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26858. 13896 .loc 1 6713 1 view .LVU5141
  26859. 13897 .align 2
  26860. 13898 .L1155:
  26861. 13899 0160 0000FFFF .word -65536
  26862. 13900 0164 00000000 .word I2C_Slave_ISR_IT
  26863. 13901 0168 00000000 .word I2C_DMAAbort
  26864. 13902 .cfi_endproc
  26865. 13903 .LFE193:
  26866. 13905 .section .text.I2C_ITSlaveCplt,"ax",%progbits
  26867. 13906 .align 1
  26868. 13907 .p2align 2,,3
  26869. 13908 .syntax unified
  26870. 13909 .thumb
  26871. 13910 .thumb_func
  26872. 13912 I2C_ITSlaveCplt:
  26873. 13913 .LVL871:
  26874. 13914 .LFB191:
  26875. 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  26876. 13915 .loc 1 6323 1 is_stmt 1 view -0
  26877. 13916 .cfi_startproc
  26878. 13917 @ args = 0, pretend = 0, frame = 0
  26879. 13918 @ frame_needed = 0, uses_anonymous_args = 0
  26880. 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  26881. 13919 .loc 1 6324 3 view .LVU5143
  26882. 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  26883. 13920 .loc 1 6323 1 is_stmt 0 view .LVU5144
  26884. 13921 0000 70B5 push {r4, r5, r6, lr}
  26885. 13922 .LCFI176:
  26886. 13923 .cfi_def_cfa_offset 16
  26887. 13924 .cfi_offset 4, -16
  26888. 13925 .cfi_offset 5, -12
  26889. 13926 .cfi_offset 6, -8
  26890. 13927 .cfi_offset 14, -4
  26891. 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  26892. 13928 .loc 1 6324 26 view .LVU5145
  26893. 13929 0002 0368 ldr r3, [r0]
  26894. 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  26895. 13930 .loc 1 6323 1 view .LVU5146
  26896. 13931 0004 0446 mov r4, r0
  26897. 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  26898. 13932 .loc 1 6324 12 view .LVU5147
  26899. 13933 0006 1868 ldr r0, [r3]
  26900. 13934 .LVL872:
  26901. 6325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  26902. 13935 .loc 1 6325 3 is_stmt 1 view .LVU5148
  26903. 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
  26904. 13936 .loc 1 6326 12 is_stmt 0 view .LVU5149
  26905. 13937 0008 E66A ldr r6, [r4, #44]
  26906. 6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26907. 13938 .loc 1 6327 24 view .LVU5150
  26908. 13939 000a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  26909. 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
  26910. 13940 .loc 1 6323 1 view .LVU5151
  26911. 13941 000e 0D46 mov r5, r1
  26912. 13942 .LVL873:
  26913. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 465
  26914. 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
  26915. 13943 .loc 1 6326 3 is_stmt 1 view .LVU5152
  26916. 6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26917. 13944 .loc 1 6327 3 view .LVU5153
  26918. 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26919. 13945 .loc 1 6330 3 is_stmt 0 view .LVU5154
  26920. 13946 0010 2021 movs r1, #32
  26921. 13947 .LVL874:
  26922. 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26923. 13948 .loc 1 6330 3 view .LVU5155
  26924. 13949 0012 D961 str r1, [r3, #28]
  26925. 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26926. 13950 .loc 1 6333 6 view .LVU5156
  26927. 13951 0014 02F0F701 and r1, r2, #247
  26928. 13952 .LVL875:
  26929. 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26930. 13953 .loc 1 6330 3 is_stmt 1 view .LVU5157
  26931. 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26932. 13954 .loc 1 6333 3 view .LVU5158
  26933. 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26934. 13955 .loc 1 6333 6 is_stmt 0 view .LVU5159
  26935. 13956 0018 2129 cmp r1, #33
  26936. 13957 001a 10D0 beq .L1210
  26937. 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26938. 13958 .loc 1 6338 8 is_stmt 1 view .LVU5160
  26939. 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26940. 13959 .loc 1 6338 11 is_stmt 0 view .LVU5161
  26941. 13960 001c 2229 cmp r1, #34
  26942. 13961 001e 00F0A980 beq .L1211
  26943. 13962 0022 D2B2 uxtb r2, r2
  26944. 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26945. 13963 .loc 1 6343 8 is_stmt 1 view .LVU5162
  26946. 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26947. 13964 .loc 1 6343 11 is_stmt 0 view .LVU5163
  26948. 13965 0024 282A cmp r2, #40
  26949. 13966 0026 11D1 bne .L1159
  26950. 6345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  26951. 13967 .loc 1 6345 5 is_stmt 1 view .LVU5164
  26952. 13968 .LVL876:
  26953. 13969 .LBB640:
  26954. 13970 .LBI640:
  26955. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26956. 13971 .loc 1 7451 13 view .LVU5165
  26957. 13972 .LBB641:
  26958. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26959. 13973 .loc 1 7453 3 view .LVU5166
  26960. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26961. 13974 .loc 1 7455 3 view .LVU5167
  26962. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26963. 13975 .loc 1 7458 5 view .LVU5168
  26964. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26965. 13976 .loc 1 7460 5 view .LVU5169
  26966. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26967. 13977 .loc 1 7460 24 is_stmt 0 view .LVU5170
  26968. 13978 0028 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  26969. 13979 .LVL877:
  26970. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26971. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 466
  26972. 13980 .loc 1 7467 3 is_stmt 1 view .LVU5171
  26973. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  26974. 13981 .loc 1 7470 5 view .LVU5172
  26975. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26976. 13982 .loc 1 7472 5 view .LVU5173
  26977. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26978. 13983 .loc 1 7472 24 is_stmt 0 view .LVU5174
  26979. 13984 002c 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  26980. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26981. 13985 .loc 1 7479 3 is_stmt 1 view .LVU5175
  26982. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26983. 13986 .loc 1 7482 5 view .LVU5176
  26984. 13987 .LVL878:
  26985. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26986. 13988 .loc 1 7485 3 view .LVU5177
  26987. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26988. 13989 .loc 1 7491 3 view .LVU5178
  26989. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  26990. 13990 .loc 1 7497 3 view .LVU5179
  26991. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26992. 13991 .loc 1 7506 3 view .LVU5180
  26993. 13992 0030 1A68 ldr r2, [r3]
  26994. 13993 0032 22F0FE02 bic r2, r2, #254
  26995. 13994 0036 1A60 str r2, [r3]
  26996. 13995 .LVL879:
  26997. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  26998. 13996 .loc 1 7506 3 is_stmt 0 view .LVU5181
  26999. 13997 .LBE641:
  27000. 13998 .LBE640:
  27001. 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27002. 13999 .loc 1 6346 5 is_stmt 1 view .LVU5182
  27003. 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27004. 14000 .loc 1 6346 25 is_stmt 0 view .LVU5183
  27005. 14001 0038 0022 movs r2, #0
  27006. 14002 003a 2263 str r2, [r4, #48]
  27007. 14003 003c 06E0 b .L1159
  27008. 14004 .LVL880:
  27009. 14005 .L1210:
  27010. 6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
  27011. 14006 .loc 1 6335 5 is_stmt 1 view .LVU5184
  27012. 14007 .LBB642:
  27013. 14008 .LBI642:
  27014. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27015. 14009 .loc 1 7451 13 view .LVU5185
  27016. 14010 .LBB643:
  27017. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27018. 14011 .loc 1 7453 3 view .LVU5186
  27019. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27020. 14012 .loc 1 7455 3 view .LVU5187
  27021. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27022. 14013 .loc 1 7458 5 view .LVU5188
  27023. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27024. 14014 .loc 1 7460 5 view .LVU5189
  27025. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27026. 14015 .loc 1 7460 24 is_stmt 0 view .LVU5190
  27027. 14016 003e 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  27028. 14017 .LVL881:
  27029. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 467
  27030. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27031. 14018 .loc 1 7467 3 is_stmt 1 view .LVU5191
  27032. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27033. 14019 .loc 1 7479 3 view .LVU5192
  27034. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27035. 14020 .loc 1 7482 5 view .LVU5193
  27036. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27037. 14021 .loc 1 7485 3 view .LVU5194
  27038. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27039. 14022 .loc 1 7491 3 view .LVU5195
  27040. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27041. 14023 .loc 1 7497 3 view .LVU5196
  27042. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27043. 14024 .loc 1 7506 3 view .LVU5197
  27044. 14025 0042 1A68 ldr r2, [r3]
  27045. 14026 0044 22F0FA02 bic r2, r2, #250
  27046. 14027 0048 1A60 str r2, [r3]
  27047. 14028 .LVL882:
  27048. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27049. 14029 .loc 1 7506 3 is_stmt 0 view .LVU5198
  27050. 14030 .LBE643:
  27051. 14031 .LBE642:
  27052. 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27053. 14032 .loc 1 6336 5 is_stmt 1 view .LVU5199
  27054. 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27055. 14033 .loc 1 6336 25 is_stmt 0 view .LVU5200
  27056. 14034 004a 2163 str r1, [r4, #48]
  27057. 14035 .L1159:
  27058. 6351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27059. 14036 .loc 1 6351 3 is_stmt 1 view .LVU5201
  27060. 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27061. 14037 .loc 1 6354 3 view .LVU5202
  27062. 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27063. 14038 .loc 1 6354 23 is_stmt 0 view .LVU5203
  27064. 14039 004c 5A68 ldr r2, [r3, #4]
  27065. 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27066. 14040 .loc 1 6357 3 view .LVU5204
  27067. 14041 004e 6149 ldr r1, .L1218
  27068. 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27069. 14042 .loc 1 6354 23 view .LVU5205
  27070. 14043 0050 42F40042 orr r2, r2, #32768
  27071. 14044 0054 5A60 str r2, [r3, #4]
  27072. 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27073. 14045 .loc 1 6357 3 is_stmt 1 view .LVU5206
  27074. 14046 0056 5A68 ldr r2, [r3, #4]
  27075. 14047 0058 0A40 ands r2, r2, r1
  27076. 14048 005a 5A60 str r2, [r3, #4]
  27077. 6360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27078. 14049 .loc 1 6360 3 view .LVU5207
  27079. 14050 .LVL883:
  27080. 14051 .LBB644:
  27081. 14052 .LBI644:
  27082. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27083. 14053 .loc 1 6758 13 view .LVU5208
  27084. 14054 .LBB645:
  27085. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27086. 14055 .loc 1 6762 3 view .LVU5209
  27087. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 468
  27088. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27089. 14056 .loc 1 6762 7 is_stmt 0 view .LVU5210
  27090. 14057 005c 9A69 ldr r2, [r3, #24]
  27091. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27092. 14058 .loc 1 6762 6 view .LVU5211
  27093. 14059 005e 9207 lsls r2, r2, #30
  27094. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27095. 14060 .loc 1 6764 5 is_stmt 1 view .LVU5212
  27096. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27097. 14061 .loc 1 6768 3 view .LVU5213
  27098. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27099. 14062 .loc 1 6764 26 is_stmt 0 view .LVU5214
  27100. 14063 0060 44BF itt mi
  27101. 14064 0062 0022 movmi r2, #0
  27102. 14065 0064 9A62 strmi r2, [r3, #40]
  27103. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27104. 14066 .loc 1 6768 7 view .LVU5215
  27105. 14067 0066 9A69 ldr r2, [r3, #24]
  27106. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27107. 14068 .loc 1 6768 6 view .LVU5216
  27108. 14069 0068 D107 lsls r1, r2, #31
  27109. 14070 006a 03D4 bmi .L1162
  27110. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27111. 14071 .loc 1 6770 5 is_stmt 1 view .LVU5217
  27112. 14072 006c 9A69 ldr r2, [r3, #24]
  27113. 14073 006e 42F00102 orr r2, r2, #1
  27114. 14074 0072 9A61 str r2, [r3, #24]
  27115. 14075 .L1162:
  27116. 14076 .LVL884:
  27117. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27118. 14077 .loc 1 6770 5 is_stmt 0 view .LVU5218
  27119. 14078 .LBE645:
  27120. 14079 .LBE644:
  27121. 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27122. 14080 .loc 1 6363 3 is_stmt 1 view .LVU5219
  27123. 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27124. 14081 .loc 1 6363 6 is_stmt 0 view .LVU5220
  27125. 14082 0074 4204 lsls r2, r0, #17
  27126. 14083 0076 3BD5 bpl .L1163
  27127. 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27128. 14084 .loc 1 6366 5 is_stmt 1 view .LVU5221
  27129. 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27130. 14085 .loc 1 6366 25 is_stmt 0 view .LVU5222
  27131. 14086 0078 1A68 ldr r2, [r3]
  27132. 14087 007a 22F48042 bic r2, r2, #16384
  27133. 14088 007e 1A60 str r2, [r3]
  27134. 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27135. 14089 .loc 1 6368 5 is_stmt 1 view .LVU5223
  27136. 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27137. 14090 .loc 1 6368 13 is_stmt 0 view .LVU5224
  27138. 14091 0080 A26B ldr r2, [r4, #56]
  27139. 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27140. 14092 .loc 1 6368 8 view .LVU5225
  27141. 14093 0082 1AB1 cbz r2, .L1165
  27142. 14094 .L1209:
  27143. 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27144. 14095 .loc 1 6380 7 is_stmt 1 view .LVU5226
  27145. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 469
  27146. 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27147. 14096 .loc 1 6380 35 is_stmt 0 view .LVU5227
  27148. 14097 0084 1268 ldr r2, [r2]
  27149. 14098 0086 5268 ldr r2, [r2, #4]
  27150. 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27151. 14099 .loc 1 6380 25 view .LVU5228
  27152. 14100 0088 92B2 uxth r2, r2
  27153. 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27154. 14101 .loc 1 6380 23 view .LVU5229
  27155. 14102 008a 6285 strh r2, [r4, #42] @ movhi
  27156. 14103 .L1165:
  27157. 6386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27158. 14104 .loc 1 6386 3 is_stmt 1 view .LVU5230
  27159. 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27160. 14105 .loc 1 6389 3 view .LVU5231
  27161. 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27162. 14106 .loc 1 6389 6 is_stmt 0 view .LVU5232
  27163. 14107 008c 6A07 lsls r2, r5, #29
  27164. 14108 008e 0AD5 bpl .L1167
  27165. 6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27166. 14109 .loc 1 6392 5 is_stmt 1 view .LVU5233
  27167. 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27168. 14110 .loc 1 6395 46 is_stmt 0 view .LVU5234
  27169. 14111 0090 5A6A ldr r2, [r3, #36]
  27170. 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27171. 14112 .loc 1 6395 10 view .LVU5235
  27172. 14113 0092 636A ldr r3, [r4, #36]
  27173. 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27174. 14114 .loc 1 6395 23 view .LVU5236
  27175. 14115 0094 1A70 strb r2, [r3]
  27176. 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27177. 14116 .loc 1 6398 19 view .LVU5237
  27178. 14117 0096 636A ldr r3, [r4, #36]
  27179. 14118 0098 0133 adds r3, r3, #1
  27180. 14119 009a 6362 str r3, [r4, #36]
  27181. 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27182. 14120 .loc 1 6400 14 view .LVU5238
  27183. 14121 009c 238D ldrh r3, [r4, #40]
  27184. 6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27185. 14122 .loc 1 6392 16 view .LVU5239
  27186. 14123 009e 25F00405 bic r5, r5, #4
  27187. 14124 .LVL885:
  27188. 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27189. 14125 .loc 1 6395 5 is_stmt 1 view .LVU5240
  27190. 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27191. 14126 .loc 1 6398 5 view .LVU5241
  27192. 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27193. 14127 .loc 1 6400 5 view .LVU5242
  27194. 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27195. 14128 .loc 1 6400 8 is_stmt 0 view .LVU5243
  27196. 14129 00a2 002B cmp r3, #0
  27197. 14130 00a4 5FD1 bne .L1212
  27198. 14131 .L1167:
  27199. 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27200. 14132 .loc 1 6408 3 is_stmt 1 view .LVU5244
  27201. 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27202. 14133 .loc 1 6408 11 is_stmt 0 view .LVU5245
  27203. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 470
  27204. 14134 00a6 638D ldrh r3, [r4, #42]
  27205. 14135 00a8 9BB2 uxth r3, r3
  27206. 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27207. 14136 .loc 1 6408 6 view .LVU5246
  27208. 14137 00aa 1BB1 cbz r3, .L1168
  27209. 6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27210. 14138 .loc 1 6411 5 is_stmt 1 view .LVU5247
  27211. 6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27212. 14139 .loc 1 6411 21 is_stmt 0 view .LVU5248
  27213. 14140 00ac 636C ldr r3, [r4, #68]
  27214. 14141 00ae 43F00403 orr r3, r3, #4
  27215. 14142 00b2 6364 str r3, [r4, #68]
  27216. 14143 .L1168:
  27217. 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
  27218. 14144 .loc 1 6414 3 is_stmt 1 view .LVU5249
  27219. 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
  27220. 14145 .loc 1 6414 6 is_stmt 0 view .LVU5250
  27221. 14146 00b4 EB06 lsls r3, r5, #27
  27222. 14147 00b6 01D5 bpl .L1170
  27223. 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
  27224. 14148 .loc 1 6414 58 discriminator 1 view .LVU5251
  27225. 14149 00b8 C006 lsls r0, r0, #27
  27226. 14150 .LVL886:
  27227. 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET))
  27228. 14151 .loc 1 6414 58 discriminator 1 view .LVU5252
  27229. 14152 00ba 31D4 bmi .L1213
  27230. 14153 .L1170:
  27231. 6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  27232. 14154 .loc 1 6465 3 is_stmt 1 view .LVU5253
  27233. 6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL;
  27234. 14155 .loc 1 6465 14 is_stmt 0 view .LVU5254
  27235. 14156 00bc 0023 movs r3, #0
  27236. 14157 00be 84F84230 strb r3, [r4, #66]
  27237. 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27238. 14158 .loc 1 6466 3 is_stmt 1 view .LVU5255
  27239. 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27240. 14159 .loc 1 6468 11 is_stmt 0 view .LVU5256
  27241. 14160 00c2 666C ldr r6, [r4, #68]
  27242. 14161 .LVL887:
  27243. 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27244. 14162 .loc 1 6466 17 view .LVU5257
  27245. 14163 00c4 6363 str r3, [r4, #52]
  27246. 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27247. 14164 .loc 1 6468 3 is_stmt 1 view .LVU5258
  27248. 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27249. 14165 .loc 1 6468 6 is_stmt 0 view .LVU5259
  27250. 14166 00c6 002E cmp r6, #0
  27251. 14167 00c8 5CD1 bne .L1214
  27252. 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27253. 14168 .loc 1 6480 8 is_stmt 1 view .LVU5260
  27254. 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27255. 14169 .loc 1 6480 16 is_stmt 0 view .LVU5261
  27256. 14170 00ca E36A ldr r3, [r4, #44]
  27257. 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27258. 14171 .loc 1 6480 11 view .LVU5262
  27259. 14172 00cc 424D ldr r5, .L1218+4
  27260. 14173 .LVL888:
  27261. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 471
  27262. 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27263. 14174 .loc 1 6480 11 view .LVU5263
  27264. 14175 00ce AB42 cmp r3, r5
  27265. 14176 00d0 18D1 bne .L1215
  27266. 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27267. 14177 .loc 1 6500 8 is_stmt 1 view .LVU5264
  27268. 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27269. 14178 .loc 1 6500 16 is_stmt 0 view .LVU5265
  27270. 14179 00d2 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  27271. 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27272. 14180 .loc 1 6506 5 view .LVU5266
  27273. 14181 00d6 84F84060 strb r6, [r4, #64]
  27274. 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27275. 14182 .loc 1 6500 11 view .LVU5267
  27276. 14183 00da 222B cmp r3, #34
  27277. 6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  27278. 14184 .loc 1 6502 17 view .LVU5268
  27279. 14185 00dc 4FF02003 mov r3, #32
  27280. 14186 00e0 84F84130 strb r3, [r4, #65]
  27281. 6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27282. 14187 .loc 1 6503 5 is_stmt 1 view .LVU5269
  27283. 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  27284. 14188 .loc 1 6512 5 is_stmt 0 view .LVU5270
  27285. 14189 00e4 2046 mov r0, r4
  27286. 6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27287. 14190 .loc 1 6503 25 view .LVU5271
  27288. 14191 00e6 2663 str r6, [r4, #48]
  27289. 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27290. 14192 .loc 1 6506 5 is_stmt 1 view .LVU5272
  27291. 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27292. 14193 .loc 1 6506 5 view .LVU5273
  27293. 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27294. 14194 .loc 1 6506 5 view .LVU5274
  27295. 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  27296. 14195 .loc 1 6512 5 view .LVU5275
  27297. 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27298. 14196 .loc 1 6500 11 is_stmt 0 view .LVU5276
  27299. 14197 00e8 69D0 beq .L1216
  27300. 14198 .LVL889:
  27301. 6517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  27302. 14199 .loc 1 6517 5 is_stmt 1 view .LVU5277
  27303. 6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  27304. 14200 .loc 1 6527 5 is_stmt 0 view .LVU5278
  27305. 14201 00ea FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
  27306. 14202 .LVL890:
  27307. 14203 .L1157:
  27308. 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27309. 14204 .loc 1 6530 1 view .LVU5279
  27310. 14205 00ee 70BD pop {r4, r5, r6, pc}
  27311. 14206 .LVL891:
  27312. 14207 .L1163:
  27313. 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27314. 14208 .loc 1 6373 8 is_stmt 1 view .LVU5280
  27315. 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27316. 14209 .loc 1 6373 11 is_stmt 0 view .LVU5281
  27317. 14210 00f0 0104 lsls r1, r0, #16
  27318. 14211 00f2 CBD5 bpl .L1165
  27319. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 472
  27320. 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27321. 14212 .loc 1 6376 5 is_stmt 1 view .LVU5282
  27322. 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27323. 14213 .loc 1 6376 25 is_stmt 0 view .LVU5283
  27324. 14214 00f4 1A68 ldr r2, [r3]
  27325. 14215 00f6 22F40042 bic r2, r2, #32768
  27326. 14216 00fa 1A60 str r2, [r3]
  27327. 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27328. 14217 .loc 1 6378 5 is_stmt 1 view .LVU5284
  27329. 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27330. 14218 .loc 1 6378 13 is_stmt 0 view .LVU5285
  27331. 14219 00fc E26B ldr r2, [r4, #60]
  27332. 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27333. 14220 .loc 1 6378 8 view .LVU5286
  27334. 14221 00fe 002A cmp r2, #0
  27335. 14222 0100 C0D1 bne .L1209
  27336. 14223 0102 C3E7 b .L1165
  27337. 14224 .LVL892:
  27338. 14225 .L1215:
  27339. 6483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27340. 14226 .loc 1 6483 5 is_stmt 1 view .LVU5287
  27341. 14227 0104 2046 mov r0, r4
  27342. 14228 0106 FFF7FEFF bl I2C_ITSlaveSeqCplt
  27343. 14229 .LVL893:
  27344. 6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  27345. 14230 .loc 1 6485 5 view .LVU5288
  27346. 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  27347. 14231 .loc 1 6486 17 is_stmt 0 view .LVU5289
  27348. 14232 010a 2023 movs r3, #32
  27349. 6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
  27350. 14233 .loc 1 6485 23 view .LVU5290
  27351. 14234 010c E562 str r5, [r4, #44]
  27352. 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  27353. 14235 .loc 1 6486 5 is_stmt 1 view .LVU5291
  27354. 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27355. 14236 .loc 1 6490 5 is_stmt 0 view .LVU5292
  27356. 14237 010e 84F84060 strb r6, [r4, #64]
  27357. 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  27358. 14238 .loc 1 6486 17 view .LVU5293
  27359. 14239 0112 84F84130 strb r3, [r4, #65]
  27360. 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27361. 14240 .loc 1 6487 5 is_stmt 1 view .LVU5294
  27362. 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  27363. 14241 .loc 1 6496 5 is_stmt 0 view .LVU5295
  27364. 14242 0116 2046 mov r0, r4
  27365. 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27366. 14243 .loc 1 6487 25 view .LVU5296
  27367. 14244 0118 2663 str r6, [r4, #48]
  27368. 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27369. 14245 .loc 1 6490 5 is_stmt 1 view .LVU5297
  27370. 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27371. 14246 .loc 1 6490 5 view .LVU5298
  27372. 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27373. 14247 .loc 1 6490 5 view .LVU5299
  27374. 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  27375. 14248 .loc 1 6496 5 view .LVU5300
  27376. 14249 011a FFF7FEFF bl HAL_I2C_ListenCpltCallback
  27377. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 473
  27378. 14250 .LVL894:
  27379. 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27380. 14251 .loc 1 6530 1 is_stmt 0 view .LVU5301
  27381. 14252 011e 70BD pop {r4, r5, r6, pc}
  27382. 14253 .LVL895:
  27383. 14254 .L1213:
  27384. 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27385. 14255 .loc 1 6421 5 is_stmt 1 view .LVU5302
  27386. 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27387. 14256 .loc 1 6421 13 is_stmt 0 view .LVU5303
  27388. 14257 0120 638D ldrh r3, [r4, #42]
  27389. 14258 0122 9BB2 uxth r3, r3
  27390. 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27391. 14259 .loc 1 6421 8 view .LVU5304
  27392. 14260 0124 002B cmp r3, #0
  27393. 14261 0126 3BD1 bne .L1172
  27394. 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  27395. 14262 .loc 1 6423 7 is_stmt 1 view .LVU5305
  27396. 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  27397. 14263 .loc 1 6423 16 is_stmt 0 view .LVU5306
  27398. 14264 0128 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  27399. 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  27400. 14265 .loc 1 6423 10 view .LVU5307
  27401. 14266 012c 282B cmp r3, #40
  27402. 14267 012e 49D0 beq .L1217
  27403. 14268 .L1173:
  27404. 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27405. 14269 .loc 1 6430 12 is_stmt 1 view .LVU5308
  27406. 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27407. 14270 .loc 1 6430 21 is_stmt 0 view .LVU5309
  27408. 14271 0130 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  27409. 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27410. 14272 .loc 1 6430 15 view .LVU5310
  27411. 14273 0134 292B cmp r3, #41
  27412. 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27413. 14274 .loc 1 6433 9 view .LVU5311
  27414. 14275 0136 2368 ldr r3, [r4]
  27415. 14276 0138 4FF01002 mov r2, #16
  27416. 14277 013c DA61 str r2, [r3, #28]
  27417. 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27418. 14278 .loc 1 6430 15 view .LVU5312
  27419. 14279 013e BDD1 bne .L1170
  27420. 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27421. 14280 .loc 1 6430 62 discriminator 1 view .LVU5313
  27422. 14281 0140 16F5803F cmn r6, #65536
  27423. 14282 0144 BAD0 beq .L1170
  27424. 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27425. 14283 .loc 1 6433 9 is_stmt 1 view .LVU5314
  27426. 6436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27427. 14284 .loc 1 6436 9 view .LVU5315
  27428. 14285 .LVL896:
  27429. 14286 .LBB646:
  27430. 14287 .LBI646:
  27431. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27432. 14288 .loc 1 6758 13 view .LVU5316
  27433. 14289 .LBB647:
  27434. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27435. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 474
  27436. 14290 .loc 1 6762 3 view .LVU5317
  27437. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27438. 14291 .loc 1 6762 7 is_stmt 0 view .LVU5318
  27439. 14292 0146 9A69 ldr r2, [r3, #24]
  27440. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27441. 14293 .loc 1 6762 6 view .LVU5319
  27442. 14294 0148 9107 lsls r1, r2, #30
  27443. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27444. 14295 .loc 1 6764 5 is_stmt 1 view .LVU5320
  27445. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27446. 14296 .loc 1 6768 3 view .LVU5321
  27447. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27448. 14297 .loc 1 6764 26 is_stmt 0 view .LVU5322
  27449. 14298 014a 44BF itt mi
  27450. 14299 014c 0022 movmi r2, #0
  27451. 14300 014e 9A62 strmi r2, [r3, #40]
  27452. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27453. 14301 .loc 1 6768 7 view .LVU5323
  27454. 14302 0150 9A69 ldr r2, [r3, #24]
  27455. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27456. 14303 .loc 1 6768 6 view .LVU5324
  27457. 14304 0152 D207 lsls r2, r2, #31
  27458. 14305 0154 03D4 bmi .L1176
  27459. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27460. 14306 .loc 1 6770 5 is_stmt 1 view .LVU5325
  27461. 14307 0156 9A69 ldr r2, [r3, #24]
  27462. 14308 0158 42F00102 orr r2, r2, #1
  27463. 14309 015c 9A61 str r2, [r3, #24]
  27464. 14310 .L1176:
  27465. 14311 .LVL897:
  27466. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27467. 14312 .loc 1 6770 5 is_stmt 0 view .LVU5326
  27468. 14313 .LBE647:
  27469. 14314 .LBE646:
  27470. 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27471. 14315 .loc 1 6440 9 is_stmt 1 view .LVU5327
  27472. 14316 015e 2046 mov r0, r4
  27473. 14317 0160 FFF7FEFF bl I2C_ITSlaveSeqCplt
  27474. 14318 .LVL898:
  27475. 14319 0164 AAE7 b .L1170
  27476. 14320 .LVL899:
  27477. 14321 .L1212:
  27478. 6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  27479. 14322 .loc 1 6402 7 view .LVU5328
  27480. 6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  27481. 14323 .loc 1 6402 21 is_stmt 0 view .LVU5329
  27482. 14324 0166 013B subs r3, r3, #1
  27483. 14325 0168 2385 strh r3, [r4, #40] @ movhi
  27484. 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27485. 14326 .loc 1 6403 7 is_stmt 1 view .LVU5330
  27486. 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27487. 14327 .loc 1 6403 11 is_stmt 0 view .LVU5331
  27488. 14328 016a 638D ldrh r3, [r4, #42]
  27489. 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27490. 14329 .loc 1 6403 22 view .LVU5332
  27491. 14330 016c 013B subs r3, r3, #1
  27492. 14331 016e 9BB2 uxth r3, r3
  27493. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 475
  27494. 14332 0170 6385 strh r3, [r4, #42] @ movhi
  27495. 14333 0172 98E7 b .L1167
  27496. 14334 .LVL900:
  27497. 14335 .L1211:
  27498. 6340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
  27499. 14336 .loc 1 6340 5 is_stmt 1 view .LVU5333
  27500. 14337 .LBB648:
  27501. 14338 .LBI648:
  27502. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27503. 14339 .loc 1 7451 13 view .LVU5334
  27504. 14340 .LBB649:
  27505. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27506. 14341 .loc 1 7453 3 view .LVU5335
  27507. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27508. 14342 .loc 1 7455 3 view .LVU5336
  27509. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27510. 14343 .loc 1 7467 3 view .LVU5337
  27511. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27512. 14344 .loc 1 7470 5 view .LVU5338
  27513. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27514. 14345 .loc 1 7472 5 view .LVU5339
  27515. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27516. 14346 .loc 1 7472 24 is_stmt 0 view .LVU5340
  27517. 14347 0174 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  27518. 14348 .LVL901:
  27519. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27520. 14349 .loc 1 7479 3 is_stmt 1 view .LVU5341
  27521. 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27522. 14350 .loc 1 7482 5 view .LVU5342
  27523. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27524. 14351 .loc 1 7485 3 view .LVU5343
  27525. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27526. 14352 .loc 1 7491 3 view .LVU5344
  27527. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27528. 14353 .loc 1 7497 3 view .LVU5345
  27529. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27530. 14354 .loc 1 7506 3 view .LVU5346
  27531. 14355 0178 1A68 ldr r2, [r3]
  27532. 14356 017a 22F0FC02 bic r2, r2, #252
  27533. 14357 017e 1A60 str r2, [r3]
  27534. 14358 .LVL902:
  27535. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27536. 14359 .loc 1 7506 3 is_stmt 0 view .LVU5347
  27537. 14360 .LBE649:
  27538. 14361 .LBE648:
  27539. 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27540. 14362 .loc 1 6341 5 is_stmt 1 view .LVU5348
  27541. 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27542. 14363 .loc 1 6341 25 is_stmt 0 view .LVU5349
  27543. 14364 0180 2163 str r1, [r4, #48]
  27544. 14365 0182 63E7 b .L1159
  27545. 14366 .LVL903:
  27546. 14367 .L1214:
  27547. 6471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27548. 14368 .loc 1 6471 5 is_stmt 1 view .LVU5350
  27549. 14369 0184 616C ldr r1, [r4, #68]
  27550. 14370 0186 2046 mov r0, r4
  27551. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 476
  27552. 14371 0188 FFF7FEFF bl I2C_ITError
  27553. 14372 .LVL904:
  27554. 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27555. 14373 .loc 1 6474 5 view .LVU5351
  27556. 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27557. 14374 .loc 1 6474 13 is_stmt 0 view .LVU5352
  27558. 14375 018c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  27559. 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27560. 14376 .loc 1 6474 8 view .LVU5353
  27561. 14377 0190 282B cmp r3, #40
  27562. 14378 0192 ACD1 bne .L1157
  27563. 6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27564. 14379 .loc 1 6477 7 is_stmt 1 view .LVU5354
  27565. 14380 0194 2946 mov r1, r5
  27566. 14381 0196 2046 mov r0, r4
  27567. 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27568. 14382 .loc 1 6530 1 is_stmt 0 view .LVU5355
  27569. 14383 0198 BDE87040 pop {r4, r5, r6, lr}
  27570. 14384 .LCFI177:
  27571. 14385 .cfi_remember_state
  27572. 14386 .cfi_restore 14
  27573. 14387 .cfi_restore 6
  27574. 14388 .cfi_restore 5
  27575. 14389 .cfi_restore 4
  27576. 14390 .cfi_def_cfa_offset 0
  27577. 14391 .LVL905:
  27578. 6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27579. 14392 .loc 1 6477 7 view .LVU5356
  27580. 14393 019c FFF7FEBF b I2C_ITListenCplt
  27581. 14394 .LVL906:
  27582. 14395 .L1172:
  27583. 14396 .LCFI178:
  27584. 14397 .cfi_restore_state
  27585. 6452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27586. 14398 .loc 1 6452 7 is_stmt 1 view .LVU5357
  27587. 14399 01a0 2368 ldr r3, [r4]
  27588. 14400 01a2 1022 movs r2, #16
  27589. 14401 01a4 DA61 str r2, [r3, #28]
  27590. 6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27591. 14402 .loc 1 6455 7 view .LVU5358
  27592. 6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27593. 14403 .loc 1 6455 23 is_stmt 0 view .LVU5359
  27594. 14404 01a6 636C ldr r3, [r4, #68]
  27595. 14405 01a8 43F00403 orr r3, r3, #4
  27596. 14406 01ac 6364 str r3, [r4, #68]
  27597. 6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27598. 14407 .loc 1 6457 7 is_stmt 1 view .LVU5360
  27599. 6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27600. 14408 .loc 1 6457 10 is_stmt 0 view .LVU5361
  27601. 14409 01ae 36F08073 bics r3, r6, #16777216
  27602. 14410 01b2 83D1 bne .L1170
  27603. 6460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27604. 14411 .loc 1 6460 9 is_stmt 1 view .LVU5362
  27605. 14412 01b4 616C ldr r1, [r4, #68]
  27606. 14413 01b6 2046 mov r0, r4
  27607. 14414 01b8 FFF7FEFF bl I2C_ITError
  27608. 14415 .LVL907:
  27609. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 477
  27610. 14416 01bc 7EE7 b .L1170
  27611. 14417 .LVL908:
  27612. 14418 .L1216:
  27613. 6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  27614. 14419 .loc 1 6502 5 view .LVU5363
  27615. 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  27616. 14420 .loc 1 6512 5 is_stmt 0 view .LVU5364
  27617. 14421 01be FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
  27618. 14422 .LVL909:
  27619. 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27620. 14423 .loc 1 6530 1 view .LVU5365
  27621. 14424 01c2 70BD pop {r4, r5, r6, pc}
  27622. 14425 .LVL910:
  27623. 14426 .L1217:
  27624. 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  27625. 14427 .loc 1 6423 49 discriminator 1 view .LVU5366
  27626. 14428 01c4 B6F1007F cmp r6, #33554432
  27627. 14429 01c8 B2D1 bne .L1173
  27628. 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27629. 14430 .loc 1 6428 9 is_stmt 1 view .LVU5367
  27630. 14431 01ca 2946 mov r1, r5
  27631. 14432 01cc 2046 mov r0, r4
  27632. 14433 01ce FFF7FEFF bl I2C_ITListenCplt
  27633. 14434 .LVL911:
  27634. 14435 01d2 73E7 b .L1170
  27635. 14436 .L1219:
  27636. 14437 .align 2
  27637. 14438 .L1218:
  27638. 14439 01d4 00E800FE .word -33495040
  27639. 14440 01d8 0000FFFF .word -65536
  27640. 14441 .cfi_endproc
  27641. 14442 .LFE191:
  27642. 14444 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
  27643. 14445 .align 1
  27644. 14446 .p2align 2,,3
  27645. 14447 .syntax unified
  27646. 14448 .thumb
  27647. 14449 .thumb_func
  27648. 14451 I2C_Slave_ISR_IT:
  27649. 14452 .LVL912:
  27650. 14453 .LFB181:
  27651. 5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  27652. 14454 .loc 1 5259 1 view -0
  27653. 14455 .cfi_startproc
  27654. 14456 @ args = 0, pretend = 0, frame = 0
  27655. 14457 @ frame_needed = 0, uses_anonymous_args = 0
  27656. 5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  27657. 14458 .loc 1 5260 3 view .LVU5369
  27658. 5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  27659. 14459 .loc 1 5259 1 is_stmt 0 view .LVU5370
  27660. 14460 0000 38B5 push {r3, r4, r5, lr}
  27661. 14461 .LCFI179:
  27662. 14462 .cfi_def_cfa_offset 16
  27663. 14463 .cfi_offset 3, -16
  27664. 14464 .cfi_offset 4, -12
  27665. 14465 .cfi_offset 5, -8
  27666. 14466 .cfi_offset 14, -4
  27667. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 478
  27668. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27669. 14467 .loc 1 5264 3 view .LVU5371
  27670. 14468 0002 90F840C0 ldrb ip, [r0, #64] @ zero_extendqisi2
  27671. 5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  27672. 14469 .loc 1 5260 12 view .LVU5372
  27673. 14470 0006 C56A ldr r5, [r0, #44]
  27674. 14471 .LVL913:
  27675. 5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27676. 14472 .loc 1 5261 3 is_stmt 1 view .LVU5373
  27677. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27678. 14473 .loc 1 5264 3 view .LVU5374
  27679. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27680. 14474 .loc 1 5264 3 view .LVU5375
  27681. 14475 0008 BCF1010F cmp ip, #1
  27682. 14476 000c 6DD0 beq .L1237
  27683. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27684. 14477 .loc 1 5264 3 discriminator 2 view .LVU5376
  27685. 14478 000e 4FF0010C mov ip, #1
  27686. 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  27687. 14479 .loc 1 5267 6 is_stmt 0 discriminator 2 view .LVU5377
  27688. 14480 0012 11F0200F tst r1, #32
  27689. 14481 0016 0446 mov r4, r0
  27690. 14482 0018 0B46 mov r3, r1
  27691. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27692. 14483 .loc 1 5264 3 discriminator 2 view .LVU5378
  27693. 14484 001a 80F840C0 strb ip, [r0, #64]
  27694. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27695. 14485 .loc 1 5264 3 is_stmt 1 discriminator 2 view .LVU5379
  27696. 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  27697. 14486 .loc 1 5267 3 discriminator 2 view .LVU5380
  27698. 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  27699. 14487 .loc 1 5267 6 is_stmt 0 discriminator 2 view .LVU5381
  27700. 14488 001e 02D0 beq .L1222
  27701. 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  27702. 14489 .loc 1 5267 61 discriminator 1 view .LVU5382
  27703. 14490 0020 12F0200F tst r2, #32
  27704. 14491 0024 51D1 bne .L1281
  27705. 14492 .L1222:
  27706. 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  27707. 14493 .loc 1 5273 8 is_stmt 1 view .LVU5383
  27708. 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  27709. 14494 .loc 1 5273 11 is_stmt 0 view .LVU5384
  27710. 14495 0026 D806 lsls r0, r3, #27
  27711. 14496 .LVL914:
  27712. 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  27713. 14497 .loc 1 5273 11 view .LVU5385
  27714. 14498 0028 15D5 bpl .L1224
  27715. 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  27716. 14499 .loc 1 5273 63 discriminator 1 view .LVU5386
  27717. 14500 002a D106 lsls r1, r2, #27
  27718. 14501 .LVL915:
  27719. 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  27720. 14502 .loc 1 5273 63 discriminator 1 view .LVU5387
  27721. 14503 002c 13D5 bpl .L1224
  27722. 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27723. 14504 .loc 1 5280 5 is_stmt 1 view .LVU5388
  27724. 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27725. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 479
  27726. 14505 .loc 1 5280 13 is_stmt 0 view .LVU5389
  27727. 14506 002e 628D ldrh r2, [r4, #42]
  27728. 14507 .LVL916:
  27729. 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27730. 14508 .loc 1 5280 13 view .LVU5390
  27731. 14509 0030 92B2 uxth r2, r2
  27732. 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27733. 14510 .loc 1 5280 8 view .LVU5391
  27734. 14511 0032 002A cmp r2, #0
  27735. 14512 0034 5BD1 bne .L1225
  27736. 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  27737. 14513 .loc 1 5282 7 is_stmt 1 view .LVU5392
  27738. 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  27739. 14514 .loc 1 5282 16 is_stmt 0 view .LVU5393
  27740. 14515 0036 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  27741. 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  27742. 14516 .loc 1 5282 10 view .LVU5394
  27743. 14517 003a 282A cmp r2, #40
  27744. 14518 003c 7ED0 beq .L1282
  27745. 14519 .L1226:
  27746. 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27747. 14520 .loc 1 5289 12 is_stmt 1 view .LVU5395
  27748. 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27749. 14521 .loc 1 5289 21 is_stmt 0 view .LVU5396
  27750. 14522 003e 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  27751. 14523 .LVL917:
  27752. 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27753. 14524 .loc 1 5289 15 view .LVU5397
  27754. 14525 0042 292B cmp r3, #41
  27755. 5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27756. 14526 .loc 1 5292 9 view .LVU5398
  27757. 14527 0044 2368 ldr r3, [r4]
  27758. 14528 0046 4FF01002 mov r2, #16
  27759. 14529 004a DA61 str r2, [r3, #28]
  27760. 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27761. 14530 .loc 1 5289 15 view .LVU5399
  27762. 14531 004c 62D0 beq .L1283
  27763. 14532 .LVL918:
  27764. 14533 .L1223:
  27765. 5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27766. 14534 .loc 1 5381 3 is_stmt 1 view .LVU5400
  27767. 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27768. 14535 .loc 1 5384 3 view .LVU5401
  27769. 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27770. 14536 .loc 1 5384 3 view .LVU5402
  27771. 14537 004e 0020 movs r0, #0
  27772. 14538 0050 84F84000 strb r0, [r4, #64]
  27773. 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27774. 14539 .loc 1 5384 3 view .LVU5403
  27775. 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27776. 14540 .loc 1 5386 3 view .LVU5404
  27777. 14541 .L1221:
  27778. 5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27779. 14542 .loc 1 5387 1 is_stmt 0 view .LVU5405
  27780. 14543 0054 38BD pop {r3, r4, r5, pc}
  27781. 14544 .LVL919:
  27782. 14545 .L1224:
  27783. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 480
  27784. 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  27785. 14546 .loc 1 5323 8 is_stmt 1 view .LVU5406
  27786. 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  27787. 14547 .loc 1 5323 11 is_stmt 0 view .LVU5407
  27788. 14548 0056 5907 lsls r1, r3, #29
  27789. 14549 0058 19D4 bmi .L1284
  27790. 14550 .L1231:
  27791. 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  27792. 14551 .loc 1 5345 8 is_stmt 1 view .LVU5408
  27793. 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  27794. 14552 .loc 1 5345 11 is_stmt 0 view .LVU5409
  27795. 14553 005a 1907 lsls r1, r3, #28
  27796. 14554 005c 01D5 bpl .L1234
  27797. 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  27798. 14555 .loc 1 5345 65 discriminator 1 view .LVU5410
  27799. 14556 005e 1007 lsls r0, r2, #28
  27800. 14557 0060 39D4 bmi .L1285
  27801. 14558 .L1234:
  27802. 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  27803. 14559 .loc 1 5350 8 is_stmt 1 view .LVU5411
  27804. 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  27805. 14560 .loc 1 5350 11 is_stmt 0 view .LVU5412
  27806. 14561 0062 9907 lsls r1, r3, #30
  27807. 14562 0064 F3D5 bpl .L1223
  27808. 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  27809. 14563 .loc 1 5350 65 discriminator 1 view .LVU5413
  27810. 14564 0066 9307 lsls r3, r2, #30
  27811. 14565 .LVL920:
  27812. 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  27813. 14566 .loc 1 5350 65 discriminator 1 view .LVU5414
  27814. 14567 0068 F1D5 bpl .L1223
  27815. 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27816. 14568 .loc 1 5357 5 is_stmt 1 view .LVU5415
  27817. 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27818. 14569 .loc 1 5357 13 is_stmt 0 view .LVU5416
  27819. 14570 006a 638D ldrh r3, [r4, #42]
  27820. 14571 006c 9BB2 uxth r3, r3
  27821. 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27822. 14572 .loc 1 5357 8 view .LVU5417
  27823. 14573 006e 002B cmp r3, #0
  27824. 14574 0070 4CD0 beq .L1236
  27825. 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27826. 14575 .loc 1 5360 7 is_stmt 1 view .LVU5418
  27827. 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27828. 14576 .loc 1 5360 30 is_stmt 0 view .LVU5419
  27829. 14577 0072 616A ldr r1, [r4, #36]
  27830. 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27831. 14578 .loc 1 5360 11 view .LVU5420
  27832. 14579 0074 2368 ldr r3, [r4]
  27833. 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27834. 14580 .loc 1 5360 30 view .LVU5421
  27835. 14581 0076 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2
  27836. 14582 .LVL921:
  27837. 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27838. 14583 .loc 1 5360 28 view .LVU5422
  27839. 14584 007a 9A62 str r2, [r3, #40]
  27840. 5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27841. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 481
  27842. 14585 .loc 1 5363 7 is_stmt 1 view .LVU5423
  27843. 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  27844. 14586 .loc 1 5365 11 is_stmt 0 view .LVU5424
  27845. 14587 007c 638D ldrh r3, [r4, #42]
  27846. 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27847. 14588 .loc 1 5366 21 view .LVU5425
  27848. 14589 007e 228D ldrh r2, [r4, #40]
  27849. 5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27850. 14590 .loc 1 5363 21 view .LVU5426
  27851. 14591 0080 6162 str r1, [r4, #36]
  27852. 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  27853. 14592 .loc 1 5365 7 is_stmt 1 view .LVU5427
  27854. 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  27855. 14593 .loc 1 5365 22 is_stmt 0 view .LVU5428
  27856. 14594 0082 013B subs r3, r3, #1
  27857. 14595 0084 9BB2 uxth r3, r3
  27858. 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27859. 14596 .loc 1 5366 21 view .LVU5429
  27860. 14597 0086 013A subs r2, r2, #1
  27861. 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--;
  27862. 14598 .loc 1 5365 22 view .LVU5430
  27863. 14599 0088 6385 strh r3, [r4, #42] @ movhi
  27864. 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27865. 14600 .loc 1 5366 7 is_stmt 1 view .LVU5431
  27866. 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27867. 14601 .loc 1 5366 21 is_stmt 0 view .LVU5432
  27868. 14602 008a 2285 strh r2, [r4, #40] @ movhi
  27869. 14603 008c DFE7 b .L1223
  27870. 14604 .LVL922:
  27871. 14605 .L1284:
  27872. 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  27873. 14606 .loc 1 5323 65 discriminator 1 view .LVU5433
  27874. 14607 008e 5007 lsls r0, r2, #29
  27875. 14608 0090 E3D5 bpl .L1231
  27876. 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27877. 14609 .loc 1 5326 5 is_stmt 1 view .LVU5434
  27878. 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27879. 14610 .loc 1 5326 13 is_stmt 0 view .LVU5435
  27880. 14611 0092 638D ldrh r3, [r4, #42]
  27881. 14612 .LVL923:
  27882. 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27883. 14613 .loc 1 5326 13 view .LVU5436
  27884. 14614 0094 9BB2 uxth r3, r3
  27885. 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27886. 14615 .loc 1 5326 8 view .LVU5437
  27887. 14616 0096 6BB1 cbz r3, .L1232
  27888. 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27889. 14617 .loc 1 5329 7 is_stmt 1 view .LVU5438
  27890. 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27891. 14618 .loc 1 5329 38 is_stmt 0 view .LVU5439
  27892. 14619 0098 2268 ldr r2, [r4]
  27893. 14620 .LVL924:
  27894. 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27895. 14621 .loc 1 5329 12 view .LVU5440
  27896. 14622 009a 636A ldr r3, [r4, #36]
  27897. 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27898. 14623 .loc 1 5329 48 view .LVU5441
  27899. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 482
  27900. 14624 009c 526A ldr r2, [r2, #36]
  27901. 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27902. 14625 .loc 1 5329 25 view .LVU5442
  27903. 14626 009e 1A70 strb r2, [r3]
  27904. 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27905. 14627 .loc 1 5332 7 is_stmt 1 view .LVU5443
  27906. 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27907. 14628 .loc 1 5335 11 is_stmt 0 view .LVU5444
  27908. 14629 00a0 638D ldrh r3, [r4, #42]
  27909. 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27910. 14630 .loc 1 5332 21 view .LVU5445
  27911. 14631 00a2 616A ldr r1, [r4, #36]
  27912. 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  27913. 14632 .loc 1 5334 21 view .LVU5446
  27914. 14633 00a4 228D ldrh r2, [r4, #40]
  27915. 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27916. 14634 .loc 1 5335 22 view .LVU5447
  27917. 14635 00a6 013B subs r3, r3, #1
  27918. 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27919. 14636 .loc 1 5332 21 view .LVU5448
  27920. 14637 00a8 0131 adds r1, r1, #1
  27921. 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  27922. 14638 .loc 1 5334 21 view .LVU5449
  27923. 14639 00aa 013A subs r2, r2, #1
  27924. 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27925. 14640 .loc 1 5335 22 view .LVU5450
  27926. 14641 00ac 9BB2 uxth r3, r3
  27927. 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27928. 14642 .loc 1 5332 21 view .LVU5451
  27929. 14643 00ae 6162 str r1, [r4, #36]
  27930. 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  27931. 14644 .loc 1 5334 7 is_stmt 1 view .LVU5452
  27932. 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  27933. 14645 .loc 1 5334 21 is_stmt 0 view .LVU5453
  27934. 14646 00b0 2285 strh r2, [r4, #40] @ movhi
  27935. 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27936. 14647 .loc 1 5335 7 is_stmt 1 view .LVU5454
  27937. 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27938. 14648 .loc 1 5335 22 is_stmt 0 view .LVU5455
  27939. 14649 00b2 6385 strh r3, [r4, #42] @ movhi
  27940. 14650 .L1232:
  27941. 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  27942. 14651 .loc 1 5338 5 is_stmt 1 view .LVU5456
  27943. 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  27944. 14652 .loc 1 5338 14 is_stmt 0 view .LVU5457
  27945. 14653 00b4 638D ldrh r3, [r4, #42]
  27946. 14654 00b6 9BB2 uxth r3, r3
  27947. 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  27948. 14655 .loc 1 5338 8 view .LVU5458
  27949. 14656 00b8 002B cmp r3, #0
  27950. 14657 00ba C8D1 bne .L1223
  27951. 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
  27952. 14658 .loc 1 5338 33 discriminator 1 view .LVU5459
  27953. 14659 00bc 15F5803F cmn r5, #65536
  27954. 14660 00c0 C5D0 beq .L1223
  27955. 14661 .LVL925:
  27956. 14662 .L1229:
  27957. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 483
  27958. 5299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27959. 14663 .loc 1 5299 9 is_stmt 1 view .LVU5460
  27960. 14664 00c2 2046 mov r0, r4
  27961. 14665 00c4 FFF7FEFF bl I2C_ITSlaveSeqCplt
  27962. 14666 .LVL926:
  27963. 14667 00c8 C1E7 b .L1223
  27964. 14668 .LVL927:
  27965. 14669 .L1281:
  27966. 5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27967. 14670 .loc 1 5271 5 view .LVU5461
  27968. 14671 00ca FFF7FEFF bl I2C_ITSlaveCplt
  27969. 14672 .LVL928:
  27970. 5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27971. 14673 .loc 1 5381 3 view .LVU5462
  27972. 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27973. 14674 .loc 1 5384 3 view .LVU5463
  27974. 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27975. 14675 .loc 1 5384 3 view .LVU5464
  27976. 14676 00ce 0020 movs r0, #0
  27977. 14677 00d0 84F84000 strb r0, [r4, #64]
  27978. 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27979. 14678 .loc 1 5384 3 view .LVU5465
  27980. 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27981. 14679 .loc 1 5386 3 view .LVU5466
  27982. 14680 00d4 BEE7 b .L1221
  27983. 14681 .LVL929:
  27984. 14682 .L1285:
  27985. 5348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  27986. 14683 .loc 1 5348 5 view .LVU5467
  27987. 14684 .LBB654:
  27988. 14685 .LBI654:
  27989. 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  27990. 14686 .loc 1 5957 13 view .LVU5468
  27991. 14687 .LBB655:
  27992. 5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode;
  27993. 14688 .loc 1 5959 3 view .LVU5469
  27994. 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code;
  27995. 14689 .loc 1 5960 3 view .LVU5470
  27996. 5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code;
  27997. 14690 .loc 1 5961 3 view .LVU5471
  27998. 5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  27999. 14691 .loc 1 5962 3 view .LVU5472
  28000. 5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28001. 14692 .loc 1 5965 3 view .LVU5473
  28002. 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28003. 14693 .loc 1 5968 3 view .LVU5474
  28004. 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28005. 14694 .loc 1 5968 22 is_stmt 0 view .LVU5475
  28006. 14695 00d6 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  28007. 14696 .LVL930:
  28008. 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28009. 14697 .loc 1 5968 6 view .LVU5476
  28010. 14698 00da 03F02803 and r3, r3, #40
  28011. 14699 00de 282B cmp r3, #40
  28012. 14700 00e0 28D0 beq .L1286
  28013. 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28014. 14701 .loc 1 6040 5 is_stmt 1 view .LVU5477
  28015. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 484
  28016. 14702 00e2 2368 ldr r3, [r4]
  28017. 14703 00e4 0822 movs r2, #8
  28018. 14704 .LVL931:
  28019. 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28020. 14705 .loc 1 6040 5 is_stmt 0 view .LVU5478
  28021. 14706 00e6 DA61 str r2, [r3, #28]
  28022. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28023. 14707 .loc 1 6043 5 is_stmt 1 view .LVU5479
  28024. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28025. 14708 .loc 1 6043 5 view .LVU5480
  28026. 14709 00e8 B1E7 b .L1223
  28027. 14710 .LVL932:
  28028. 14711 .L1237:
  28029. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28030. 14712 .loc 1 6043 5 is_stmt 0 view .LVU5481
  28031. 14713 .LBE655:
  28032. 14714 .LBE654:
  28033. 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28034. 14715 .loc 1 5264 3 view .LVU5482
  28035. 14716 00ea 0220 movs r0, #2
  28036. 14717 .LVL933:
  28037. 5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28038. 14718 .loc 1 5387 1 view .LVU5483
  28039. 14719 00ec 38BD pop {r3, r4, r5, pc}
  28040. 14720 .LVL934:
  28041. 14721 .L1225:
  28042. 5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28043. 14722 .loc 1 5311 7 is_stmt 1 view .LVU5484
  28044. 14723 00ee 2368 ldr r3, [r4]
  28045. 14724 .LVL935:
  28046. 5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28047. 14725 .loc 1 5311 7 is_stmt 0 view .LVU5485
  28048. 14726 00f0 1022 movs r2, #16
  28049. 14727 00f2 DA61 str r2, [r3, #28]
  28050. 5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28051. 14728 .loc 1 5314 7 is_stmt 1 view .LVU5486
  28052. 5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28053. 14729 .loc 1 5314 23 is_stmt 0 view .LVU5487
  28054. 14730 00f4 636C ldr r3, [r4, #68]
  28055. 14731 00f6 43F00403 orr r3, r3, #4
  28056. 14732 00fa 6364 str r3, [r4, #68]
  28057. 5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28058. 14733 .loc 1 5316 7 is_stmt 1 view .LVU5488
  28059. 5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28060. 14734 .loc 1 5316 10 is_stmt 0 view .LVU5489
  28061. 14735 00fc 35F08073 bics r3, r5, #16777216
  28062. 14736 0100 A5D1 bne .L1223
  28063. 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28064. 14737 .loc 1 5319 9 is_stmt 1 view .LVU5490
  28065. 14738 0102 616C ldr r1, [r4, #68]
  28066. 14739 0104 2046 mov r0, r4
  28067. 14740 0106 FFF7FEFF bl I2C_ITError
  28068. 14741 .LVL936:
  28069. 14742 010a A0E7 b .L1223
  28070. 14743 .LVL937:
  28071. 14744 .L1236:
  28072. 5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28073. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 485
  28074. 14745 .loc 1 5370 7 discriminator 1 view .LVU5491
  28075. 5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28076. 14746 .loc 1 5370 42 is_stmt 0 discriminator 1 view .LVU5492
  28077. 14747 010c 35F08073 bics r3, r5, #16777216
  28078. 14748 0110 D7D0 beq .L1229
  28079. 14749 0112 9CE7 b .L1223
  28080. 14750 .LVL938:
  28081. 14751 .L1283:
  28082. 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28083. 14752 .loc 1 5289 62 discriminator 1 view .LVU5493
  28084. 14753 0114 15F5803F cmn r5, #65536
  28085. 14754 0118 99D0 beq .L1223
  28086. 5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28087. 14755 .loc 1 5292 9 is_stmt 1 view .LVU5494
  28088. 5295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28089. 14756 .loc 1 5295 9 view .LVU5495
  28090. 14757 .LVL939:
  28091. 14758 .LBB657:
  28092. 14759 .LBI657:
  28093. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28094. 14760 .loc 1 6758 13 view .LVU5496
  28095. 14761 .LBB658:
  28096. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28097. 14762 .loc 1 6762 3 view .LVU5497
  28098. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28099. 14763 .loc 1 6762 7 is_stmt 0 view .LVU5498
  28100. 14764 011a 9A69 ldr r2, [r3, #24]
  28101. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28102. 14765 .loc 1 6762 6 view .LVU5499
  28103. 14766 011c 9507 lsls r5, r2, #30
  28104. 14767 .LVL940:
  28105. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28106. 14768 .loc 1 6764 5 is_stmt 1 view .LVU5500
  28107. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28108. 14769 .loc 1 6768 3 view .LVU5501
  28109. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28110. 14770 .loc 1 6764 26 is_stmt 0 view .LVU5502
  28111. 14771 011e 44BF itt mi
  28112. 14772 0120 0022 movmi r2, #0
  28113. 14773 0122 9A62 strmi r2, [r3, #40]
  28114. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28115. 14774 .loc 1 6768 7 view .LVU5503
  28116. 14775 0124 9A69 ldr r2, [r3, #24]
  28117. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28118. 14776 .loc 1 6768 6 view .LVU5504
  28119. 14777 0126 D007 lsls r0, r2, #31
  28120. 14778 0128 CBD4 bmi .L1229
  28121. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28122. 14779 .loc 1 6770 5 is_stmt 1 view .LVU5505
  28123. 14780 012a 9A69 ldr r2, [r3, #24]
  28124. 14781 012c 42F00102 orr r2, r2, #1
  28125. 14782 0130 9A61 str r2, [r3, #24]
  28126. 14783 0132 C6E7 b .L1229
  28127. 14784 .LVL941:
  28128. 14785 .L1286:
  28129. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28130. 14786 .loc 1 6770 5 is_stmt 0 view .LVU5506
  28131. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 486
  28132. 14787 .LBE658:
  28133. 14788 .LBE657:
  28134. 14789 .LBB659:
  28135. 14790 .LBB656:
  28136. 14791 0134 2046 mov r0, r4
  28137. 14792 0136 FFF7FEFF bl I2C_ITAddrCplt.part.0
  28138. 14793 .LVL942:
  28139. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28140. 14794 .loc 1 6770 5 view .LVU5507
  28141. 14795 013a 88E7 b .L1223
  28142. 14796 .LVL943:
  28143. 14797 .L1282:
  28144. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28145. 14798 .loc 1 6770 5 view .LVU5508
  28146. 14799 .LBE656:
  28147. 14800 .LBE659:
  28148. 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  28149. 14801 .loc 1 5282 49 discriminator 1 view .LVU5509
  28150. 14802 013c B5F1007F cmp r5, #33554432
  28151. 14803 0140 7FF47DAF bne .L1226
  28152. 5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28153. 14804 .loc 1 5287 9 is_stmt 1 view .LVU5510
  28154. 14805 0144 1946 mov r1, r3
  28155. 14806 0146 2046 mov r0, r4
  28156. 14807 0148 FFF7FEFF bl I2C_ITListenCplt
  28157. 14808 .LVL944:
  28158. 5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28159. 14809 .loc 1 5287 9 is_stmt 0 view .LVU5511
  28160. 14810 014c 7FE7 b .L1223
  28161. 14811 .cfi_endproc
  28162. 14812 .LFE181:
  28163. 14814 014e 00BF .section .text.I2C_ITMasterCplt,"ax",%progbits
  28164. 14815 .align 1
  28165. 14816 .p2align 2,,3
  28166. 14817 .syntax unified
  28167. 14818 .thumb
  28168. 14819 .thumb_func
  28169. 14821 I2C_ITMasterCplt:
  28170. 14822 .LVL945:
  28171. 14823 .LFB190:
  28172. 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
  28173. 14824 .loc 1 6180 1 is_stmt 1 view -0
  28174. 14825 .cfi_startproc
  28175. 14826 @ args = 0, pretend = 0, frame = 8
  28176. 14827 @ frame_needed = 0, uses_anonymous_args = 0
  28177. 6181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  28178. 14828 .loc 1 6181 3 view .LVU5513
  28179. 6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg;
  28180. 14829 .loc 1 6182 3 view .LVU5514
  28181. 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28182. 14830 .loc 1 6186 3 is_stmt 0 view .LVU5515
  28183. 14831 0000 0368 ldr r3, [r0]
  28184. 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
  28185. 14832 .loc 1 6180 1 view .LVU5516
  28186. 14833 0002 30B5 push {r4, r5, lr}
  28187. 14834 .LCFI180:
  28188. 14835 .cfi_def_cfa_offset 12
  28189. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 487
  28190. 14836 .cfi_offset 4, -12
  28191. 14837 .cfi_offset 5, -8
  28192. 14838 .cfi_offset 14, -4
  28193. 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28194. 14839 .loc 1 6186 3 view .LVU5517
  28195. 14840 0004 2022 movs r2, #32
  28196. 14841 0006 DA61 str r2, [r3, #28]
  28197. 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28198. 14842 .loc 1 6189 11 view .LVU5518
  28199. 14843 0008 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  28200. 14844 .LVL946:
  28201. 6183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28202. 14845 .loc 1 6183 3 is_stmt 1 view .LVU5519
  28203. 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28204. 14846 .loc 1 6186 3 view .LVU5520
  28205. 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28206. 14847 .loc 1 6189 3 view .LVU5521
  28207. 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28208. 14848 .loc 1 6189 6 is_stmt 0 view .LVU5522
  28209. 14849 000c 212A cmp r2, #33
  28210. 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
  28211. 14850 .loc 1 6180 1 view .LVU5523
  28212. 14851 000e 83B0 sub sp, sp, #12
  28213. 14852 .LCFI181:
  28214. 14853 .cfi_def_cfa_offset 24
  28215. 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28216. 14854 .loc 1 6189 6 view .LVU5524
  28217. 14855 0010 40D0 beq .L1317
  28218. 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28219. 14856 .loc 1 6194 8 is_stmt 1 view .LVU5525
  28220. 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28221. 14857 .loc 1 6194 16 is_stmt 0 view .LVU5526
  28222. 14858 0012 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  28223. 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28224. 14859 .loc 1 6194 11 view .LVU5527
  28225. 14860 0016 222A cmp r2, #34
  28226. 14861 0018 6AD0 beq .L1318
  28227. 14862 .L1290:
  28228. 6202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28229. 14863 .loc 1 6202 3 is_stmt 1 view .LVU5528
  28230. 6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28231. 14864 .loc 1 6205 3 view .LVU5529
  28232. 14865 001a 5A68 ldr r2, [r3, #4]
  28233. 14866 001c 3F4C ldr r4, .L1324
  28234. 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  28235. 14867 .loc 1 6208 23 is_stmt 0 view .LVU5530
  28236. 14868 001e 0025 movs r5, #0
  28237. 6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28238. 14869 .loc 1 6205 3 view .LVU5531
  28239. 14870 0020 2240 ands r2, r2, r4
  28240. 14871 0022 5A60 str r2, [r3, #4]
  28241. 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  28242. 14872 .loc 1 6208 3 is_stmt 1 view .LVU5532
  28243. 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28244. 14873 .loc 1 6209 23 is_stmt 0 view .LVU5533
  28245. 14874 0024 3E4C ldr r4, .L1324+4
  28246. 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
  28247. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 488
  28248. 14875 .loc 1 6208 23 view .LVU5534
  28249. 14876 0026 4563 str r5, [r0, #52]
  28250. 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28251. 14877 .loc 1 6209 3 is_stmt 1 view .LVU5535
  28252. 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28253. 14878 .loc 1 6211 6 is_stmt 0 view .LVU5536
  28254. 14879 0028 CD06 lsls r5, r1, #27
  28255. 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28256. 14880 .loc 1 6209 23 view .LVU5537
  28257. 14881 002a C462 str r4, [r0, #44]
  28258. 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28259. 14882 .loc 1 6211 3 is_stmt 1 view .LVU5538
  28260. 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28261. 14883 .loc 1 6211 6 is_stmt 0 view .LVU5539
  28262. 14884 002c 05D5 bpl .L1292
  28263. 6214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28264. 14885 .loc 1 6214 5 is_stmt 1 view .LVU5540
  28265. 14886 002e 1022 movs r2, #16
  28266. 14887 0030 DA61 str r2, [r3, #28]
  28267. 6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28268. 14888 .loc 1 6217 5 view .LVU5541
  28269. 6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28270. 14889 .loc 1 6217 21 is_stmt 0 view .LVU5542
  28271. 14890 0032 426C ldr r2, [r0, #68]
  28272. 14891 0034 42F00402 orr r2, r2, #4
  28273. 14892 0038 4264 str r2, [r0, #68]
  28274. 14893 .L1292:
  28275. 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28276. 14894 .loc 1 6221 3 is_stmt 1 view .LVU5543
  28277. 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28278. 14895 .loc 1 6221 12 is_stmt 0 view .LVU5544
  28279. 14896 003a 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  28280. 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28281. 14897 .loc 1 6221 6 view .LVU5545
  28282. 14898 003e 602A cmp r2, #96
  28283. 14899 0040 21D0 beq .L1319
  28284. 14900 .L1293:
  28285. 6229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28286. 14901 .loc 1 6229 3 is_stmt 1 view .LVU5546
  28287. 14902 .LVL947:
  28288. 14903 .LBB666:
  28289. 14904 .LBI666:
  28290. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28291. 14905 .loc 1 6758 13 view .LVU5547
  28292. 14906 .LBB667:
  28293. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28294. 14907 .loc 1 6762 3 view .LVU5548
  28295. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28296. 14908 .loc 1 6762 7 is_stmt 0 view .LVU5549
  28297. 14909 0042 9A69 ldr r2, [r3, #24]
  28298. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28299. 14910 .loc 1 6762 6 view .LVU5550
  28300. 14911 0044 9107 lsls r1, r2, #30
  28301. 14912 .LVL948:
  28302. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28303. 14913 .loc 1 6764 5 is_stmt 1 view .LVU5551
  28304. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28305. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 489
  28306. 14914 .loc 1 6768 3 view .LVU5552
  28307. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28308. 14915 .loc 1 6764 26 is_stmt 0 view .LVU5553
  28309. 14916 0046 44BF itt mi
  28310. 14917 0048 0022 movmi r2, #0
  28311. 14918 004a 9A62 strmi r2, [r3, #40]
  28312. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28313. 14919 .loc 1 6768 7 view .LVU5554
  28314. 14920 004c 9A69 ldr r2, [r3, #24]
  28315. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28316. 14921 .loc 1 6768 6 view .LVU5555
  28317. 14922 004e D207 lsls r2, r2, #31
  28318. 14923 0050 03D4 bmi .L1295
  28319. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28320. 14924 .loc 1 6770 5 is_stmt 1 view .LVU5556
  28321. 14925 0052 9A69 ldr r2, [r3, #24]
  28322. 14926 0054 42F00102 orr r2, r2, #1
  28323. 14927 0058 9A61 str r2, [r3, #24]
  28324. 14928 .L1295:
  28325. 14929 .LVL949:
  28326. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28327. 14930 .loc 1 6770 5 is_stmt 0 view .LVU5557
  28328. 14931 .LBE667:
  28329. 14932 .LBE666:
  28330. 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28331. 14933 .loc 1 6232 3 is_stmt 1 view .LVU5558
  28332. 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28333. 14934 .loc 1 6232 12 is_stmt 0 view .LVU5559
  28334. 14935 005a 436C ldr r3, [r0, #68]
  28335. 14936 .LVL950:
  28336. 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28337. 14937 .loc 1 6235 3 is_stmt 1 view .LVU5560
  28338. 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28339. 14938 .loc 1 6235 12 is_stmt 0 view .LVU5561
  28340. 14939 005c 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  28341. 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28342. 14940 .loc 1 6235 6 view .LVU5562
  28343. 14941 0060 602A cmp r2, #96
  28344. 14942 0062 0AD0 beq .L1296
  28345. 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28346. 14943 .loc 1 6235 44 discriminator 1 view .LVU5563
  28347. 14944 0064 4BB9 cbnz r3, .L1296
  28348. 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28349. 14945 .loc 1 6241 8 is_stmt 1 view .LVU5564
  28350. 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28351. 14946 .loc 1 6241 16 is_stmt 0 view .LVU5565
  28352. 14947 0066 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  28353. 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28354. 14948 .loc 1 6241 11 view .LVU5566
  28355. 14949 006a 212A cmp r2, #33
  28356. 14950 006c 31D0 beq .L1320
  28357. 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28358. 14951 .loc 1 6276 8 is_stmt 1 view .LVU5567
  28359. 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28360. 14952 .loc 1 6276 16 is_stmt 0 view .LVU5568
  28361. 14953 006e 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
  28362. 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28363. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 490
  28364. 14954 .loc 1 6276 11 view .LVU5569
  28365. 14955 0072 222A cmp r2, #34
  28366. 14956 0074 1ED0 beq .L1321
  28367. 14957 .LVL951:
  28368. 14958 .L1287:
  28369. 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28370. 14959 .loc 1 6314 1 view .LVU5570
  28371. 14960 0076 03B0 add sp, sp, #12
  28372. 14961 .LCFI182:
  28373. 14962 .cfi_remember_state
  28374. 14963 .cfi_def_cfa_offset 12
  28375. 14964 @ sp needed
  28376. 14965 0078 30BD pop {r4, r5, pc}
  28377. 14966 .LVL952:
  28378. 14967 .L1296:
  28379. 14968 .LCFI183:
  28380. 14969 .cfi_restore_state
  28381. 6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28382. 14970 .loc 1 6238 5 is_stmt 1 view .LVU5571
  28383. 14971 007a 416C ldr r1, [r0, #68]
  28384. 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28385. 14972 .loc 1 6314 1 is_stmt 0 view .LVU5572
  28386. 14973 007c 03B0 add sp, sp, #12
  28387. 14974 .LCFI184:
  28388. 14975 .cfi_remember_state
  28389. 14976 .cfi_def_cfa_offset 12
  28390. 14977 @ sp needed
  28391. 14978 007e BDE83040 pop {r4, r5, lr}
  28392. 14979 .LCFI185:
  28393. 14980 .cfi_restore 14
  28394. 14981 .cfi_restore 5
  28395. 14982 .cfi_restore 4
  28396. 14983 .cfi_def_cfa_offset 0
  28397. 6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28398. 14984 .loc 1 6238 5 view .LVU5573
  28399. 14985 0082 FFF7FEBF b I2C_ITError
  28400. 14986 .LVL953:
  28401. 14987 .L1319:
  28402. 14988 .LCFI186:
  28403. 14989 .cfi_restore_state
  28404. 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28405. 14990 .loc 1 6221 44 discriminator 1 view .LVU5574
  28406. 14991 0086 4C07 lsls r4, r1, #29
  28407. 14992 0088 DBD5 bpl .L1293
  28408. 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
  28409. 14993 .loc 1 6224 5 is_stmt 1 view .LVU5575
  28410. 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
  28411. 14994 .loc 1 6224 37 is_stmt 0 view .LVU5576
  28412. 14995 008a 5A6A ldr r2, [r3, #36]
  28413. 14996 008c D2B2 uxtb r2, r2
  28414. 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg);
  28415. 14997 .loc 1 6224 12 view .LVU5577
  28416. 14998 008e 0192 str r2, [sp, #4]
  28417. 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28418. 14999 .loc 1 6225 5 is_stmt 1 view .LVU5578
  28419. 15000 0090 019A ldr r2, [sp, #4]
  28420. 15001 0092 D6E7 b .L1293
  28421. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 491
  28422. 15002 .L1317:
  28423. 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
  28424. 15003 .loc 1 6191 5 view .LVU5579
  28425. 15004 .LVL954:
  28426. 15005 .LBB668:
  28427. 15006 .LBI668:
  28428. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28429. 15007 .loc 1 7451 13 view .LVU5580
  28430. 15008 .LBB669:
  28431. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28432. 15009 .loc 1 7453 3 view .LVU5581
  28433. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28434. 15010 .loc 1 7455 3 view .LVU5582
  28435. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28436. 15011 .loc 1 7458 5 view .LVU5583
  28437. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28438. 15012 .loc 1 7460 5 view .LVU5584
  28439. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28440. 15013 .loc 1 7460 24 is_stmt 0 view .LVU5585
  28441. 15014 0094 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2
  28442. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28443. 15015 .loc 1 7506 3 view .LVU5586
  28444. 15016 0098 1A68 ldr r2, [r3]
  28445. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28446. 15017 .loc 1 7460 8 view .LVU5587
  28447. 15018 009a 04F02804 and r4, r4, #40
  28448. 15019 009e 282C cmp r4, #40
  28449. 15020 00a0 0CBF ite eq
  28450. 15021 00a2 6FF04204 mvneq r4, #66
  28451. 15022 00a6 6FF0F204 mvnne r4, #242
  28452. 15023 .LVL955:
  28453. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28454. 15024 .loc 1 7467 3 is_stmt 1 view .LVU5588
  28455. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28456. 15025 .loc 1 7479 3 view .LVU5589
  28457. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28458. 15026 .loc 1 7485 3 view .LVU5590
  28459. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28460. 15027 .loc 1 7491 3 view .LVU5591
  28461. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28462. 15028 .loc 1 7497 3 view .LVU5592
  28463. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28464. 15029 .loc 1 7506 3 view .LVU5593
  28465. 15030 00aa 2240 ands r2, r2, r4
  28466. 15031 .LBE669:
  28467. 15032 .LBE668:
  28468. 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28469. 15033 .loc 1 6192 25 is_stmt 0 view .LVU5594
  28470. 15034 00ac 1124 movs r4, #17
  28471. 15035 .LBB671:
  28472. 15036 .LBB670:
  28473. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28474. 15037 .loc 1 7506 3 view .LVU5595
  28475. 15038 00ae 1A60 str r2, [r3]
  28476. 15039 .LVL956:
  28477. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28478. 15040 .loc 1 7506 3 view .LVU5596
  28479. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 492
  28480. 15041 .LBE670:
  28481. 15042 .LBE671:
  28482. 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28483. 15043 .loc 1 6192 5 is_stmt 1 view .LVU5597
  28484. 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28485. 15044 .loc 1 6192 25 is_stmt 0 view .LVU5598
  28486. 15045 00b0 0463 str r4, [r0, #48]
  28487. 15046 00b2 B2E7 b .L1290
  28488. 15047 .LVL957:
  28489. 15048 .L1321:
  28490. 6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  28491. 15049 .loc 1 6278 5 is_stmt 1 view .LVU5599
  28492. 6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  28493. 15050 .loc 1 6278 17 is_stmt 0 view .LVU5600
  28494. 15051 00b4 2022 movs r2, #32
  28495. 15052 00b6 80F84120 strb r2, [r0, #65]
  28496. 6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28497. 15053 .loc 1 6279 5 is_stmt 1 view .LVU5601
  28498. 6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28499. 15054 .loc 1 6279 25 is_stmt 0 view .LVU5602
  28500. 15055 00ba 0363 str r3, [r0, #48]
  28501. 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28502. 15056 .loc 1 6281 5 is_stmt 1 view .LVU5603
  28503. 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28504. 15057 .loc 1 6281 13 is_stmt 0 view .LVU5604
  28505. 15058 00bc 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2
  28506. 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28507. 15059 .loc 1 6286 7 view .LVU5605
  28508. 15060 00c0 80F84030 strb r3, [r0, #64]
  28509. 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28510. 15061 .loc 1 6281 8 view .LVU5606
  28511. 15062 00c4 402A cmp r2, #64
  28512. 6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28513. 15063 .loc 1 6283 18 view .LVU5607
  28514. 15064 00c6 80F84230 strb r3, [r0, #66]
  28515. 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28516. 15065 .loc 1 6286 7 is_stmt 1 view .LVU5608
  28517. 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28518. 15066 .loc 1 6286 7 view .LVU5609
  28519. 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28520. 15067 .loc 1 6281 8 is_stmt 0 view .LVU5610
  28521. 15068 00ca 24D0 beq .L1322
  28522. 6297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28523. 15069 .loc 1 6297 7 is_stmt 1 view .LVU5611
  28524. 6300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28525. 15070 .loc 1 6300 7 view .LVU5612
  28526. 6306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  28527. 15071 .loc 1 6306 7 view .LVU5613
  28528. 15072 00cc FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
  28529. 15073 .LVL958:
  28530. 6313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28531. 15074 .loc 1 6313 3 view .LVU5614
  28532. 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28533. 15075 .loc 1 6314 1 is_stmt 0 view .LVU5615
  28534. 15076 00d0 D1E7 b .L1287
  28535. 15077 .LVL959:
  28536. 15078 .L1320:
  28537. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 493
  28538. 6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  28539. 15079 .loc 1 6243 5 is_stmt 1 view .LVU5616
  28540. 6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
  28541. 15080 .loc 1 6243 17 is_stmt 0 view .LVU5617
  28542. 15081 00d2 2022 movs r2, #32
  28543. 15082 00d4 80F84120 strb r2, [r0, #65]
  28544. 6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28545. 15083 .loc 1 6244 5 is_stmt 1 view .LVU5618
  28546. 6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28547. 15084 .loc 1 6244 25 is_stmt 0 view .LVU5619
  28548. 15085 00d8 0363 str r3, [r0, #48]
  28549. 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28550. 15086 .loc 1 6246 5 is_stmt 1 view .LVU5620
  28551. 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28552. 15087 .loc 1 6246 13 is_stmt 0 view .LVU5621
  28553. 15088 00da 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2
  28554. 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28555. 15089 .loc 1 6251 7 view .LVU5622
  28556. 15090 00de 80F84030 strb r3, [r0, #64]
  28557. 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28558. 15091 .loc 1 6246 8 view .LVU5623
  28559. 15092 00e2 402A cmp r2, #64
  28560. 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28561. 15093 .loc 1 6248 18 view .LVU5624
  28562. 15094 00e4 80F84230 strb r3, [r0, #66]
  28563. 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28564. 15095 .loc 1 6251 7 is_stmt 1 view .LVU5625
  28565. 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28566. 15096 .loc 1 6251 7 view .LVU5626
  28567. 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28568. 15097 .loc 1 6246 8 is_stmt 0 view .LVU5627
  28569. 15098 00e8 12D0 beq .L1323
  28570. 6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28571. 15099 .loc 1 6262 7 is_stmt 1 view .LVU5628
  28572. 6265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28573. 15100 .loc 1 6265 7 view .LVU5629
  28574. 6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  28575. 15101 .loc 1 6271 7 view .LVU5630
  28576. 15102 00ea FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
  28577. 15103 .LVL960:
  28578. 6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  28579. 15104 .loc 1 6271 7 is_stmt 0 view .LVU5631
  28580. 15105 00ee C2E7 b .L1287
  28581. 15106 .LVL961:
  28582. 15107 .L1318:
  28583. 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
  28584. 15108 .loc 1 6196 5 is_stmt 1 view .LVU5632
  28585. 15109 .LBB672:
  28586. 15110 .LBI672:
  28587. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28588. 15111 .loc 1 7451 13 view .LVU5633
  28589. 15112 .LBB673:
  28590. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28591. 15113 .loc 1 7453 3 view .LVU5634
  28592. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28593. 15114 .loc 1 7455 3 view .LVU5635
  28594. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28595. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 494
  28596. 15115 .loc 1 7467 3 view .LVU5636
  28597. 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28598. 15116 .loc 1 7470 5 view .LVU5637
  28599. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28600. 15117 .loc 1 7472 5 view .LVU5638
  28601. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28602. 15118 .loc 1 7472 24 is_stmt 0 view .LVU5639
  28603. 15119 00f0 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2
  28604. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28605. 15120 .loc 1 7506 3 view .LVU5640
  28606. 15121 00f4 1A68 ldr r2, [r3]
  28607. 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28608. 15122 .loc 1 7472 8 view .LVU5641
  28609. 15123 00f6 04F02804 and r4, r4, #40
  28610. 15124 00fa 282C cmp r4, #40
  28611. 15125 00fc 0CBF ite eq
  28612. 15126 00fe 6FF04404 mvneq r4, #68
  28613. 15127 0102 6FF0F404 mvnne r4, #244
  28614. 15128 .LVL962:
  28615. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28616. 15129 .loc 1 7479 3 is_stmt 1 view .LVU5642
  28617. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28618. 15130 .loc 1 7485 3 view .LVU5643
  28619. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28620. 15131 .loc 1 7491 3 view .LVU5644
  28621. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28622. 15132 .loc 1 7497 3 view .LVU5645
  28623. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28624. 15133 .loc 1 7506 3 view .LVU5646
  28625. 15134 0106 2240 ands r2, r2, r4
  28626. 15135 .LBE673:
  28627. 15136 .LBE672:
  28628. 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28629. 15137 .loc 1 6197 25 is_stmt 0 view .LVU5647
  28630. 15138 0108 1224 movs r4, #18
  28631. 15139 .LBB675:
  28632. 15140 .LBB674:
  28633. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28634. 15141 .loc 1 7506 3 view .LVU5648
  28635. 15142 010a 1A60 str r2, [r3]
  28636. 15143 .LVL963:
  28637. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28638. 15144 .loc 1 7506 3 view .LVU5649
  28639. 15145 .LBE674:
  28640. 15146 .LBE675:
  28641. 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28642. 15147 .loc 1 6197 5 is_stmt 1 view .LVU5650
  28643. 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28644. 15148 .loc 1 6197 25 is_stmt 0 view .LVU5651
  28645. 15149 010c 0463 str r4, [r0, #48]
  28646. 15150 010e 84E7 b .L1290
  28647. 15151 .LVL964:
  28648. 15152 .L1323:
  28649. 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28650. 15153 .loc 1 6248 7 is_stmt 1 view .LVU5652
  28651. 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28652. 15154 .loc 1 6251 7 view .LVU5653
  28653. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 495
  28654. 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  28655. 15155 .loc 1 6257 7 view .LVU5654
  28656. 15156 0110 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
  28657. 15157 .LVL965:
  28658. 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  28659. 15158 .loc 1 6257 7 is_stmt 0 view .LVU5655
  28660. 15159 0114 AFE7 b .L1287
  28661. 15160 .LVL966:
  28662. 15161 .L1322:
  28663. 6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28664. 15162 .loc 1 6283 7 is_stmt 1 view .LVU5656
  28665. 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28666. 15163 .loc 1 6286 7 view .LVU5657
  28667. 6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  28668. 15164 .loc 1 6292 7 view .LVU5658
  28669. 15165 0116 FFF7FEFF bl HAL_I2C_MemRxCpltCallback
  28670. 15166 .LVL967:
  28671. 6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
  28672. 15167 .loc 1 6292 7 is_stmt 0 view .LVU5659
  28673. 15168 011a ACE7 b .L1287
  28674. 15169 .L1325:
  28675. 15170 .align 2
  28676. 15171 .L1324:
  28677. 15172 011c 00E800FE .word -33495040
  28678. 15173 0120 0000FFFF .word -65536
  28679. 15174 .cfi_endproc
  28680. 15175 .LFE190:
  28681. 15177 .section .text.I2C_Master_ISR_IT,"ax",%progbits
  28682. 15178 .align 1
  28683. 15179 .p2align 2,,3
  28684. 15180 .syntax unified
  28685. 15181 .thumb
  28686. 15182 .thumb_func
  28687. 15184 I2C_Master_ISR_IT:
  28688. 15185 .LVL968:
  28689. 15186 .LFB179:
  28690. 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  28691. 15187 .loc 1 4941 1 is_stmt 1 view -0
  28692. 15188 .cfi_startproc
  28693. 15189 @ args = 0, pretend = 0, frame = 0
  28694. 15190 @ frame_needed = 0, uses_anonymous_args = 0
  28695. 4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  28696. 15191 .loc 1 4942 3 view .LVU5661
  28697. 4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28698. 15192 .loc 1 4943 3 view .LVU5662
  28699. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28700. 15193 .loc 1 4946 3 is_stmt 0 view .LVU5663
  28701. 15194 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  28702. 15195 .LVL969:
  28703. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28704. 15196 .loc 1 4946 3 is_stmt 1 view .LVU5664
  28705. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28706. 15197 .loc 1 4946 3 view .LVU5665
  28707. 15198 0004 012B cmp r3, #1
  28708. 15199 0006 00F0BB80 beq .L1347
  28709. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28710. 15200 .loc 1 4946 3 discriminator 2 view .LVU5666
  28711. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 496
  28712. 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  28713. 15201 .loc 1 4941 1 is_stmt 0 discriminator 2 view .LVU5667
  28714. 15202 000a 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  28715. 15203 .LCFI187:
  28716. 15204 .cfi_def_cfa_offset 24
  28717. 15205 .cfi_offset 4, -24
  28718. 15206 .cfi_offset 5, -20
  28719. 15207 .cfi_offset 6, -16
  28720. 15208 .cfi_offset 7, -12
  28721. 15209 .cfi_offset 8, -8
  28722. 15210 .cfi_offset 14, -4
  28723. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28724. 15211 .loc 1 4946 3 discriminator 2 view .LVU5668
  28725. 15212 000e 0123 movs r3, #1
  28726. 15213 0010 1646 mov r6, r2
  28727. 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  28728. 15214 .loc 1 4948 6 discriminator 2 view .LVU5669
  28729. 15215 0012 CA06 lsls r2, r1, #27
  28730. 15216 .LVL970:
  28731. 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  28732. 15217 .loc 1 4941 1 discriminator 2 view .LVU5670
  28733. 15218 0014 82B0 sub sp, sp, #8
  28734. 15219 .LCFI188:
  28735. 15220 .cfi_def_cfa_offset 32
  28736. 15221 0016 0446 mov r4, r0
  28737. 15222 0018 0D46 mov r5, r1
  28738. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28739. 15223 .loc 1 4946 3 discriminator 2 view .LVU5671
  28740. 15224 001a 80F84030 strb r3, [r0, #64]
  28741. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28742. 15225 .loc 1 4946 3 is_stmt 1 discriminator 2 view .LVU5672
  28743. 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  28744. 15226 .loc 1 4948 3 discriminator 2 view .LVU5673
  28745. 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  28746. 15227 .loc 1 4948 6 is_stmt 0 discriminator 2 view .LVU5674
  28747. 15228 001e 02D5 bpl .L1328
  28748. 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  28749. 15229 .loc 1 4948 58 discriminator 1 view .LVU5675
  28750. 15230 0020 F306 lsls r3, r6, #27
  28751. 15231 0022 00F18280 bmi .L1394
  28752. 15232 .L1328:
  28753. 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  28754. 15233 .loc 1 4962 8 is_stmt 1 view .LVU5676
  28755. 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  28756. 15234 .loc 1 4962 11 is_stmt 0 view .LVU5677
  28757. 15235 0026 6907 lsls r1, r5, #29
  28758. 15236 .LVL971:
  28759. 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  28760. 15237 .loc 1 4962 11 view .LVU5678
  28761. 15238 0028 1CD5 bpl .L1332
  28762. 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  28763. 15239 .loc 1 4962 65 discriminator 1 view .LVU5679
  28764. 15240 002a 7207 lsls r2, r6, #29
  28765. 15241 002c 1AD5 bpl .L1332
  28766. 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28767. 15242 .loc 1 4966 5 is_stmt 1 view .LVU5680
  28768. 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28769. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 497
  28770. 15243 .loc 1 4969 36 is_stmt 0 view .LVU5681
  28771. 15244 002e 2268 ldr r2, [r4]
  28772. 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28773. 15245 .loc 1 4969 10 view .LVU5682
  28774. 15246 0030 636A ldr r3, [r4, #36]
  28775. 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28776. 15247 .loc 1 4969 46 view .LVU5683
  28777. 15248 0032 526A ldr r2, [r2, #36]
  28778. 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28779. 15249 .loc 1 4969 23 view .LVU5684
  28780. 15250 0034 1A70 strb r2, [r3]
  28781. 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28782. 15251 .loc 1 4972 19 view .LVU5685
  28783. 15252 0036 626A ldr r2, [r4, #36]
  28784. 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28785. 15253 .loc 1 4975 9 view .LVU5686
  28786. 15254 0038 638D ldrh r3, [r4, #42]
  28787. 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28788. 15255 .loc 1 4972 19 view .LVU5687
  28789. 15256 003a 0132 adds r2, r2, #1
  28790. 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28791. 15257 .loc 1 4975 20 view .LVU5688
  28792. 15258 003c 013B subs r3, r3, #1
  28793. 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28794. 15259 .loc 1 4972 19 view .LVU5689
  28795. 15260 003e 6262 str r2, [r4, #36]
  28796. 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28797. 15261 .loc 1 4974 19 view .LVU5690
  28798. 15262 0040 228D ldrh r2, [r4, #40]
  28799. 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28800. 15263 .loc 1 4975 20 view .LVU5691
  28801. 15264 0042 9BB2 uxth r3, r3
  28802. 15265 0044 6385 strh r3, [r4, #42] @ movhi
  28803. 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28804. 15266 .loc 1 4974 19 view .LVU5692
  28805. 15267 0046 531E subs r3, r2, #1
  28806. 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28807. 15268 .loc 1 4966 16 view .LVU5693
  28808. 15269 0048 25F00405 bic r5, r5, #4
  28809. 15270 .LVL972:
  28810. 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28811. 15271 .loc 1 4969 5 is_stmt 1 view .LVU5694
  28812. 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28813. 15272 .loc 1 4972 5 view .LVU5695
  28814. 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28815. 15273 .loc 1 4974 5 view .LVU5696
  28816. 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28817. 15274 .loc 1 4974 19 is_stmt 0 view .LVU5697
  28818. 15275 004c 2385 strh r3, [r4, #40] @ movhi
  28819. 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28820. 15276 .loc 1 4975 5 is_stmt 1 view .LVU5698
  28821. 15277 .LVL973:
  28822. 15278 .L1331:
  28823. 5075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28824. 15279 .loc 1 5075 3 view .LVU5699
  28825. 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  28826. 15280 .loc 1 5077 3 view .LVU5700
  28827. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 498
  28828. 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  28829. 15281 .loc 1 5077 6 is_stmt 0 view .LVU5701
  28830. 15282 004e A806 lsls r0, r5, #26
  28831. 15283 0050 02D5 bpl .L1344
  28832. 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  28833. 15284 .loc 1 5077 61 discriminator 1 view .LVU5702
  28834. 15285 0052 B106 lsls r1, r6, #26
  28835. 15286 0054 00F18A80 bmi .L1395
  28836. 15287 .L1344:
  28837. 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28838. 15288 .loc 1 5085 3 is_stmt 1 view .LVU5703
  28839. 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28840. 15289 .loc 1 5085 3 view .LVU5704
  28841. 15290 0058 0020 movs r0, #0
  28842. 15291 005a 84F84000 strb r0, [r4, #64]
  28843. 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28844. 15292 .loc 1 5085 3 view .LVU5705
  28845. 5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28846. 15293 .loc 1 5087 3 view .LVU5706
  28847. 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28848. 15294 .loc 1 5088 1 is_stmt 0 view .LVU5707
  28849. 15295 005e 02B0 add sp, sp, #8
  28850. 15296 .LCFI189:
  28851. 15297 .cfi_remember_state
  28852. 15298 .cfi_def_cfa_offset 24
  28853. 15299 @ sp needed
  28854. 15300 0060 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  28855. 15301 .LVL974:
  28856. 15302 .L1332:
  28857. 15303 .LCFI190:
  28858. 15304 .cfi_restore_state
  28859. 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
  28860. 15305 .loc 1 4977 8 is_stmt 1 view .LVU5708
  28861. 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
  28862. 15306 .loc 1 4977 11 is_stmt 0 view .LVU5709
  28863. 15307 0064 6B06 lsls r3, r5, #25
  28864. 15308 0066 15D4 bmi .L1333
  28865. 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \
  28866. 15309 .loc 1 4977 63 discriminator 1 view .LVU5710
  28867. 15310 0068 AF07 lsls r7, r5, #30
  28868. 15311 006a 28D5 bpl .L1334
  28869. 4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)))
  28870. 15312 .loc 1 4978 66 view .LVU5711
  28871. 15313 006c B007 lsls r0, r6, #30
  28872. 15314 .LVL975:
  28873. 4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)))
  28874. 15315 .loc 1 4978 66 view .LVU5712
  28875. 15316 006e 26D5 bpl .L1334
  28876. 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28877. 15317 .loc 1 4982 5 is_stmt 1 view .LVU5713
  28878. 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28879. 15318 .loc 1 4982 13 is_stmt 0 view .LVU5714
  28880. 15319 0070 638D ldrh r3, [r4, #42]
  28881. 15320 0072 9BB2 uxth r3, r3
  28882. 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28883. 15321 .loc 1 4982 8 view .LVU5715
  28884. 15322 0074 002B cmp r3, #0
  28885. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 499
  28886. 15323 0076 EAD0 beq .L1331
  28887. 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28888. 15324 .loc 1 4985 7 is_stmt 1 view .LVU5716
  28889. 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28890. 15325 .loc 1 4985 30 is_stmt 0 view .LVU5717
  28891. 15326 0078 626A ldr r2, [r4, #36]
  28892. 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28893. 15327 .loc 1 4985 11 view .LVU5718
  28894. 15328 007a 2368 ldr r3, [r4]
  28895. 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28896. 15329 .loc 1 4985 30 view .LVU5719
  28897. 15330 007c 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2
  28898. 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28899. 15331 .loc 1 4985 28 view .LVU5720
  28900. 15332 0080 9962 str r1, [r3, #40]
  28901. 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28902. 15333 .loc 1 4988 7 is_stmt 1 view .LVU5721
  28903. 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28904. 15334 .loc 1 4991 11 is_stmt 0 view .LVU5722
  28905. 15335 0082 638D ldrh r3, [r4, #42]
  28906. 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28907. 15336 .loc 1 4990 21 view .LVU5723
  28908. 15337 0084 218D ldrh r1, [r4, #40]
  28909. 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  28910. 15338 .loc 1 4988 21 view .LVU5724
  28911. 15339 0086 6262 str r2, [r4, #36]
  28912. 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28913. 15340 .loc 1 4990 7 is_stmt 1 view .LVU5725
  28914. 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28915. 15341 .loc 1 4991 7 view .LVU5726
  28916. 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28917. 15342 .loc 1 4991 22 is_stmt 0 view .LVU5727
  28918. 15343 0088 013B subs r3, r3, #1
  28919. 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28920. 15344 .loc 1 4990 21 view .LVU5728
  28921. 15345 008a 0139 subs r1, r1, #1
  28922. 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28923. 15346 .loc 1 4991 22 view .LVU5729
  28924. 15347 008c 9BB2 uxth r3, r3
  28925. 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  28926. 15348 .loc 1 4990 21 view .LVU5730
  28927. 15349 008e 2185 strh r1, [r4, #40] @ movhi
  28928. 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28929. 15350 .loc 1 4991 22 view .LVU5731
  28930. 15351 0090 6385 strh r3, [r4, #42] @ movhi
  28931. 15352 0092 DCE7 b .L1331
  28932. 15353 .LVL976:
  28933. 15354 .L1333:
  28934. 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  28935. 15355 .loc 1 4994 8 is_stmt 1 view .LVU5732
  28936. 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  28937. 15356 .loc 1 4994 11 is_stmt 0 view .LVU5733
  28938. 15357 0094 2B06 lsls r3, r5, #24
  28939. 15358 0096 14D4 bmi .L1345
  28940. 5045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  28941. 15359 .loc 1 5045 63 discriminator 1 view .LVU5734
  28942. 15360 0098 7306 lsls r3, r6, #25
  28943. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 500
  28944. 15361 009a D8D5 bpl .L1331
  28945. 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28946. 15362 .loc 1 5048 5 is_stmt 1 view .LVU5735
  28947. 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28948. 15363 .loc 1 5048 13 is_stmt 0 view .LVU5736
  28949. 15364 009c 638D ldrh r3, [r4, #42]
  28950. 15365 009e 9BB2 uxth r3, r3
  28951. 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28952. 15366 .loc 1 5048 8 view .LVU5737
  28953. 15367 00a0 002B cmp r3, #0
  28954. 15368 00a2 5ED1 bne .L1342
  28955. 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28956. 15369 .loc 1 5050 7 is_stmt 1 view .LVU5738
  28957. 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28958. 15370 .loc 1 5050 11 is_stmt 0 view .LVU5739
  28959. 15371 00a4 2368 ldr r3, [r4]
  28960. 15372 00a6 5A68 ldr r2, [r3, #4]
  28961. 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28962. 15373 .loc 1 5050 10 view .LVU5740
  28963. 15374 00a8 9701 lsls r7, r2, #6
  28964. 15375 00aa D0D4 bmi .L1331
  28965. 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28966. 15376 .loc 1 5053 9 is_stmt 1 view .LVU5741
  28967. 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28968. 15377 .loc 1 5053 17 is_stmt 0 view .LVU5742
  28969. 15378 00ac E26A ldr r2, [r4, #44]
  28970. 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28971. 15379 .loc 1 5053 12 view .LVU5743
  28972. 15380 00ae 12F5803F cmn r2, #65536
  28973. 15381 00b2 52D1 bne .L1343
  28974. 5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28975. 15382 .loc 1 5056 11 is_stmt 1 view .LVU5744
  28976. 5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  28977. 15383 .loc 1 5056 31 is_stmt 0 view .LVU5745
  28978. 15384 00b4 5A68 ldr r2, [r3, #4]
  28979. 15385 00b6 42F48042 orr r2, r2, #16384
  28980. 15386 00ba 5A60 str r2, [r3, #4]
  28981. 15387 00bc C7E7 b .L1331
  28982. 15388 .LVL977:
  28983. 15389 .L1334:
  28984. 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  28985. 15390 .loc 1 4994 8 is_stmt 1 view .LVU5746
  28986. 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  28987. 15391 .loc 1 4994 11 is_stmt 0 view .LVU5747
  28988. 15392 00be 2A06 lsls r2, r5, #24
  28989. 15393 00c0 C5D5 bpl .L1331
  28990. 15394 .L1345:
  28991. 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  28992. 15395 .loc 1 4994 64 discriminator 1 view .LVU5748
  28993. 15396 00c2 7106 lsls r1, r6, #25
  28994. 15397 00c4 C3D5 bpl .L1331
  28995. 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28996. 15398 .loc 1 4997 5 is_stmt 1 view .LVU5749
  28997. 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  28998. 15399 .loc 1 4997 14 is_stmt 0 view .LVU5750
  28999. 15400 00c6 638D ldrh r3, [r4, #42]
  29000. 15401 00c8 9BB2 uxth r3, r3
  29001. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 501
  29002. 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29003. 15402 .loc 1 4997 8 view .LVU5751
  29004. 15403 00ca 002B cmp r3, #0
  29005. 15404 00cc 41D0 beq .L1336
  29006. 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29007. 15405 .loc 1 4997 33 discriminator 1 view .LVU5752
  29008. 15406 00ce 218D ldrh r1, [r4, #40]
  29009. 15407 00d0 0029 cmp r1, #0
  29010. 15408 00d2 3ED1 bne .L1336
  29011. 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29012. 15409 .loc 1 4999 7 is_stmt 1 view .LVU5753
  29013. 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29014. 15410 .loc 1 4999 35 is_stmt 0 view .LVU5754
  29015. 15411 00d4 2368 ldr r3, [r4]
  29016. 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29017. 15412 .loc 1 4999 45 view .LVU5755
  29018. 15413 00d6 5F68 ldr r7, [r3, #4]
  29019. 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29020. 15414 .loc 1 5001 15 view .LVU5756
  29021. 15415 00d8 628D ldrh r2, [r4, #42]
  29022. 15416 00da 92B2 uxth r2, r2
  29023. 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29024. 15417 .loc 1 5001 10 view .LVU5757
  29025. 15418 00dc FF2A cmp r2, #255
  29026. 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29027. 15419 .loc 1 4999 18 view .LVU5758
  29028. 15420 00de C7F30907 ubfx r7, r7, #0, #10
  29029. 15421 .LVL978:
  29030. 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29031. 15422 .loc 1 5001 7 is_stmt 1 view .LVU5759
  29032. 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29033. 15423 .loc 1 5001 10 is_stmt 0 view .LVU5760
  29034. 15424 00e2 4FD9 bls .L1337
  29035. 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29036. 15425 .loc 1 5004 9 is_stmt 1 view .LVU5761
  29037. 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29038. 15426 .loc 1 5004 13 is_stmt 0 view .LVU5762
  29039. 15427 00e4 9A69 ldr r2, [r3, #24]
  29040. 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29041. 15428 .loc 1 5004 12 view .LVU5763
  29042. 15429 00e6 C2F30042 ubfx r2, r2, #16, #1
  29043. 15430 00ea 002A cmp r2, #0
  29044. 15431 .LBB682:
  29045. 15432 .LBB683:
  29046. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29047. 15433 .loc 1 7337 3 view .LVU5764
  29048. 15434 00ec 394A ldr r2, .L1396
  29049. 15435 .LBE683:
  29050. 15436 .LBE682:
  29051. 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29052. 15437 .loc 1 5004 12 view .LVU5765
  29053. 15438 00ee 15BF itete ne
  29054. 15439 00f0 0121 movne r1, #1
  29055. 15440 00f2 FF21 moveq r1, #255
  29056. 15441 00f4 4FF48038 movne r8, #65536
  29057. 15442 00f8 4FF47F08 moveq r8, #16711680
  29058. 15443 .LBB686:
  29059. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 502
  29060. 15444 .LBB684:
  29061. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29062. 15445 .loc 1 7337 3 view .LVU5766
  29063. 15446 00fc 9342 cmp r3, r2
  29064. 15447 00fe 2185 strh r1, [r4, #40] @ movhi
  29065. 15448 .LBE684:
  29066. 15449 .LBE686:
  29067. 5012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29068. 15450 .loc 1 5012 9 is_stmt 1 view .LVU5767
  29069. 15451 .LVL979:
  29070. 15452 .LBB687:
  29071. 15453 .LBI682:
  29072. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  29073. 15454 .loc 1 7333 13 view .LVU5768
  29074. 15455 .LBB685:
  29075. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29076. 15456 .loc 1 7337 3 view .LVU5769
  29077. 15457 0100 09D0 beq .L1339
  29078. 15458 0102 02F58062 add r2, r2, #1024
  29079. 15459 0106 9342 cmp r3, r2
  29080. 15460 0108 05D0 beq .L1339
  29081. 15461 010a 3348 ldr r0, .L1396+4
  29082. 15462 010c 41F6A941 movw r1, #7337
  29083. 15463 0110 FFF7FEFF bl assert_failed
  29084. 15464 .LVL980:
  29085. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29086. 15465 .loc 1 7347 3 is_stmt 0 view .LVU5770
  29087. 15466 0114 2368 ldr r3, [r4]
  29088. 15467 .L1339:
  29089. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  29090. 15468 .loc 1 7338 3 is_stmt 1 view .LVU5771
  29091. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29092. 15469 .loc 1 7339 3 view .LVU5772
  29093. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  29094. 15470 .loc 1 7342 3 view .LVU5773
  29095. 15471 .LVL981:
  29096. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29097. 15472 .loc 1 7347 3 view .LVU5774
  29098. 15473 0116 5A68 ldr r2, [r3, #4]
  29099. 15474 0118 3049 ldr r1, .L1396+8
  29100. 15475 011a 0A40 ands r2, r2, r1
  29101. 15476 011c 3A43 orrs r2, r2, r7
  29102. 15477 011e 42EA0802 orr r2, r2, r8
  29103. 15478 0122 42F08072 orr r2, r2, #16777216
  29104. 15479 0126 5A60 str r2, [r3, #4]
  29105. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29106. 15480 .loc 1 7351 1 is_stmt 0 view .LVU5775
  29107. 15481 0128 91E7 b .L1331
  29108. 15482 .LVL982:
  29109. 15483 .L1394:
  29110. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29111. 15484 .loc 1 7351 1 view .LVU5776
  29112. 15485 .LBE685:
  29113. 15486 .LBE687:
  29114. 4952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29115. 15487 .loc 1 4952 5 is_stmt 1 view .LVU5777
  29116. 15488 012a 0368 ldr r3, [r0]
  29117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 503
  29118. 15489 012c 1022 movs r2, #16
  29119. 15490 012e DA61 str r2, [r3, #28]
  29120. 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29121. 15491 .loc 1 4957 5 view .LVU5778
  29122. 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29123. 15492 .loc 1 4957 21 is_stmt 0 view .LVU5779
  29124. 15493 0130 426C ldr r2, [r0, #68]
  29125. 15494 0132 42F00402 orr r2, r2, #4
  29126. 15495 0136 4264 str r2, [r0, #68]
  29127. 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29128. 15496 .loc 1 4960 5 is_stmt 1 view .LVU5780
  29129. 15497 .LVL983:
  29130. 15498 .LBB688:
  29131. 15499 .LBI688:
  29132. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29133. 15500 .loc 1 6758 13 view .LVU5781
  29134. 15501 .LBB689:
  29135. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29136. 15502 .loc 1 6762 3 view .LVU5782
  29137. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29138. 15503 .loc 1 6762 7 is_stmt 0 view .LVU5783
  29139. 15504 0138 9A69 ldr r2, [r3, #24]
  29140. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29141. 15505 .loc 1 6762 6 view .LVU5784
  29142. 15506 013a 9707 lsls r7, r2, #30
  29143. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29144. 15507 .loc 1 6764 5 is_stmt 1 view .LVU5785
  29145. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29146. 15508 .loc 1 6768 3 view .LVU5786
  29147. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29148. 15509 .loc 1 6764 26 is_stmt 0 view .LVU5787
  29149. 15510 013c 44BF itt mi
  29150. 15511 013e 0022 movmi r2, #0
  29151. 15512 0140 9A62 strmi r2, [r3, #40]
  29152. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29153. 15513 .loc 1 6768 7 view .LVU5788
  29154. 15514 0142 9A69 ldr r2, [r3, #24]
  29155. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29156. 15515 .loc 1 6768 6 view .LVU5789
  29157. 15516 0144 D007 lsls r0, r2, #31
  29158. 15517 .LVL984:
  29159. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29160. 15518 .loc 1 6768 6 view .LVU5790
  29161. 15519 0146 82D4 bmi .L1331
  29162. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29163. 15520 .loc 1 6770 5 is_stmt 1 view .LVU5791
  29164. 15521 0148 9A69 ldr r2, [r3, #24]
  29165. 15522 014a 42F00102 orr r2, r2, #1
  29166. 15523 014e 9A61 str r2, [r3, #24]
  29167. 15524 0150 7DE7 b .L1331
  29168. 15525 .LVL985:
  29169. 15526 .L1336:
  29170. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29171. 15527 .loc 1 6770 5 is_stmt 0 view .LVU5792
  29172. 15528 .LBE689:
  29173. 15529 .LBE688:
  29174. 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 504
  29176. 15530 .loc 1 5032 7 is_stmt 1 view .LVU5793
  29177. 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29178. 15531 .loc 1 5032 11 is_stmt 0 view .LVU5794
  29179. 15532 0152 2368 ldr r3, [r4]
  29180. 15533 0154 5B68 ldr r3, [r3, #4]
  29181. 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29182. 15534 .loc 1 5032 10 view .LVU5795
  29183. 15535 0156 9A01 lsls r2, r3, #6
  29184. 15536 0158 03D4 bmi .L1342
  29185. 15537 .L1343:
  29186. 5035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29187. 15538 .loc 1 5035 9 is_stmt 1 view .LVU5796
  29188. 15539 015a 2046 mov r0, r4
  29189. 15540 015c FFF7FEFF bl I2C_ITMasterSeqCplt
  29190. 15541 .LVL986:
  29191. 15542 0160 75E7 b .L1331
  29192. 15543 .L1342:
  29193. 5041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29194. 15544 .loc 1 5041 9 view .LVU5797
  29195. 15545 0162 4021 movs r1, #64
  29196. 15546 0164 2046 mov r0, r4
  29197. 15547 0166 FFF7FEFF bl I2C_ITError
  29198. 15548 .LVL987:
  29199. 15549 016a 70E7 b .L1331
  29200. 15550 .LVL988:
  29201. 15551 .L1395:
  29202. 5081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29203. 15552 .loc 1 5081 5 view .LVU5798
  29204. 15553 016c 2046 mov r0, r4
  29205. 15554 016e 2946 mov r1, r5
  29206. 15555 0170 FFF7FEFF bl I2C_ITMasterCplt
  29207. 15556 .LVL989:
  29208. 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29209. 15557 .loc 1 5085 3 view .LVU5799
  29210. 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29211. 15558 .loc 1 5085 3 view .LVU5800
  29212. 15559 0174 0020 movs r0, #0
  29213. 15560 0176 84F84000 strb r0, [r4, #64]
  29214. 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29215. 15561 .loc 1 5085 3 view .LVU5801
  29216. 5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29217. 15562 .loc 1 5087 3 view .LVU5802
  29218. 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29219. 15563 .loc 1 5088 1 is_stmt 0 view .LVU5803
  29220. 15564 017a 02B0 add sp, sp, #8
  29221. 15565 .LCFI191:
  29222. 15566 .cfi_def_cfa_offset 24
  29223. 15567 @ sp needed
  29224. 15568 017c BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  29225. 15569 .LVL990:
  29226. 15570 .L1347:
  29227. 15571 .LCFI192:
  29228. 15572 .cfi_def_cfa_offset 0
  29229. 15573 .cfi_restore 4
  29230. 15574 .cfi_restore 5
  29231. 15575 .cfi_restore 6
  29232. 15576 .cfi_restore 7
  29233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 505
  29234. 15577 .cfi_restore 8
  29235. 15578 .cfi_restore 14
  29236. 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29237. 15579 .loc 1 4946 3 view .LVU5804
  29238. 15580 0180 0220 movs r0, #2
  29239. 15581 .LVL991:
  29240. 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29241. 15582 .loc 1 5088 1 view .LVU5805
  29242. 15583 0182 7047 bx lr
  29243. 15584 .LVL992:
  29244. 15585 .L1337:
  29245. 15586 .LCFI193:
  29246. 15587 .cfi_def_cfa_offset 32
  29247. 15588 .cfi_offset 4, -24
  29248. 15589 .cfi_offset 5, -20
  29249. 15590 .cfi_offset 6, -16
  29250. 15591 .cfi_offset 7, -12
  29251. 15592 .cfi_offset 8, -8
  29252. 15593 .cfi_offset 14, -4
  29253. 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  29254. 15594 .loc 1 5016 9 is_stmt 1 view .LVU5806
  29255. 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  29256. 15595 .loc 1 5016 30 is_stmt 0 view .LVU5807
  29257. 15596 0184 628D ldrh r2, [r4, #42]
  29258. 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29259. 15597 .loc 1 5017 17 view .LVU5808
  29260. 15598 0186 E06A ldr r0, [r4, #44]
  29261. 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  29262. 15599 .loc 1 5016 30 view .LVU5809
  29263. 15600 0188 92B2 uxth r2, r2
  29264. 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29265. 15601 .loc 1 5017 12 view .LVU5810
  29266. 15602 018a 10F5803F cmn r0, #65536
  29267. 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  29268. 15603 .loc 1 5016 24 view .LVU5811
  29269. 15604 018e 2285 strh r2, [r4, #40] @ movhi
  29270. 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29271. 15605 .loc 1 5017 9 is_stmt 1 view .LVU5812
  29272. 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29273. 15606 .loc 1 5017 12 is_stmt 0 view .LVU5813
  29274. 15607 0190 07D0 beq .L1340
  29275. 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP);
  29276. 15608 .loc 1 5019 11 is_stmt 1 view .LVU5814
  29277. 15609 0192 0091 str r1, [sp]
  29278. 15610 0194 E36A ldr r3, [r4, #44]
  29279. 15611 0196 D2B2 uxtb r2, r2
  29280. 15612 0198 3946 mov r1, r7
  29281. 15613 019a 2046 mov r0, r4
  29282. 15614 019c FFF7FEFF bl I2C_TransferConfig
  29283. 15615 .LVL993:
  29284. 15616 01a0 55E7 b .L1331
  29285. 15617 .L1340:
  29286. 5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  29287. 15618 .loc 1 5024 11 view .LVU5815
  29288. 15619 .LBB690:
  29289. 15620 .LBB691:
  29290. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 506
  29292. 15621 .loc 1 7337 3 is_stmt 0 view .LVU5816
  29293. 15622 01a2 0C49 ldr r1, .L1396
  29294. 15623 01a4 8B42 cmp r3, r1
  29295. 15624 .LBE691:
  29296. 15625 .LBE690:
  29297. 5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  29298. 15626 .loc 1 5024 11 view .LVU5817
  29299. 15627 01a6 5FFA82F8 uxtb r8, r2
  29300. 15628 .LVL994:
  29301. 15629 .LBB693:
  29302. 15630 .LBI690:
  29303. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  29304. 15631 .loc 1 7333 13 is_stmt 1 view .LVU5818
  29305. 15632 .LBB692:
  29306. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29307. 15633 .loc 1 7337 3 view .LVU5819
  29308. 15634 01aa 09D0 beq .L1341
  29309. 15635 01ac 01F58061 add r1, r1, #1024
  29310. 15636 01b0 8B42 cmp r3, r1
  29311. 15637 01b2 05D0 beq .L1341
  29312. 15638 01b4 0848 ldr r0, .L1396+4
  29313. 15639 01b6 41F6A941 movw r1, #7337
  29314. 15640 01ba FFF7FEFF bl assert_failed
  29315. 15641 .LVL995:
  29316. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29317. 15642 .loc 1 7347 3 is_stmt 0 view .LVU5820
  29318. 15643 01be 2368 ldr r3, [r4]
  29319. 15644 .L1341:
  29320. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  29321. 15645 .loc 1 7338 3 is_stmt 1 view .LVU5821
  29322. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29323. 15646 .loc 1 7339 3 view .LVU5822
  29324. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  29325. 15647 .loc 1 7342 3 view .LVU5823
  29326. 15648 .LVL996:
  29327. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29328. 15649 .loc 1 7347 3 view .LVU5824
  29329. 15650 01c0 5968 ldr r1, [r3, #4]
  29330. 15651 01c2 0648 ldr r0, .L1396+8
  29331. 15652 01c4 0140 ands r1, r1, r0
  29332. 15653 01c6 41EA0842 orr r2, r1, r8, lsl #16
  29333. 15654 01ca 3A43 orrs r2, r2, r7
  29334. 15655 01cc 42F00072 orr r2, r2, #33554432
  29335. 15656 01d0 5A60 str r2, [r3, #4]
  29336. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29337. 15657 .loc 1 7351 1 is_stmt 0 view .LVU5825
  29338. 15658 01d2 3CE7 b .L1331
  29339. 15659 .L1397:
  29340. 15660 .align 2
  29341. 15661 .L1396:
  29342. 15662 01d4 00540040 .word 1073763328
  29343. 15663 01d8 00000000 .word .LC0
  29344. 15664 01dc 009C00FC .word -67068928
  29345. 15665 .LBE692:
  29346. 15666 .LBE693:
  29347. 15667 .cfi_endproc
  29348. 15668 .LFE179:
  29349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 507
  29350. 15670 .section .text.I2C_Mem_ISR_DMA,"ax",%progbits
  29351. 15671 .align 1
  29352. 15672 .p2align 2,,3
  29353. 15673 .syntax unified
  29354. 15674 .thumb
  29355. 15675 .thumb_func
  29356. 15677 I2C_Mem_ISR_DMA:
  29357. 15678 .LVL997:
  29358. 15679 .LFB183:
  29359. 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  29360. 15680 .loc 1 5547 1 is_stmt 1 view -0
  29361. 15681 .cfi_startproc
  29362. 15682 @ args = 0, pretend = 0, frame = 0
  29363. 15683 @ frame_needed = 0, uses_anonymous_args = 0
  29364. 5548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29365. 15684 .loc 1 5548 3 view .LVU5827
  29366. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29367. 15685 .loc 1 5551 3 view .LVU5828
  29368. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29369. 15686 .loc 1 5551 3 view .LVU5829
  29370. 15687 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  29371. 15688 0004 012B cmp r3, #1
  29372. 15689 0006 00F0E680 beq .L1424
  29373. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29374. 15690 .loc 1 5551 3 discriminator 2 view .LVU5830
  29375. 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  29376. 15691 .loc 1 5547 1 is_stmt 0 discriminator 2 view .LVU5831
  29377. 15692 000a 70B5 push {r4, r5, r6, lr}
  29378. 15693 .LCFI194:
  29379. 15694 .cfi_def_cfa_offset 16
  29380. 15695 .cfi_offset 4, -16
  29381. 15696 .cfi_offset 5, -12
  29382. 15697 .cfi_offset 6, -8
  29383. 15698 .cfi_offset 14, -4
  29384. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29385. 15699 .loc 1 5551 3 discriminator 2 view .LVU5832
  29386. 15700 000c 0123 movs r3, #1
  29387. 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  29388. 15701 .loc 1 5553 6 discriminator 2 view .LVU5833
  29389. 15702 000e CD06 lsls r5, r1, #27
  29390. 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  29391. 15703 .loc 1 5547 1 discriminator 2 view .LVU5834
  29392. 15704 0010 82B0 sub sp, sp, #8
  29393. 15705 .LCFI195:
  29394. 15706 .cfi_def_cfa_offset 24
  29395. 15707 0012 0446 mov r4, r0
  29396. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29397. 15708 .loc 1 5551 3 discriminator 2 view .LVU5835
  29398. 15709 0014 80F84030 strb r3, [r0, #64]
  29399. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29400. 15710 .loc 1 5551 3 is_stmt 1 discriminator 2 view .LVU5836
  29401. 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  29402. 15711 .loc 1 5553 3 discriminator 2 view .LVU5837
  29403. 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  29404. 15712 .loc 1 5553 6 is_stmt 0 discriminator 2 view .LVU5838
  29405. 15713 0018 02D5 bpl .L1400
  29406. 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  29407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 508
  29408. 15714 .loc 1 5553 55 discriminator 1 view .LVU5839
  29409. 15715 001a D006 lsls r0, r2, #27
  29410. 15716 .LVL998:
  29411. 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  29412. 15717 .loc 1 5553 55 discriminator 1 view .LVU5840
  29413. 15718 001c 00F1B780 bmi .L1465
  29414. 15719 .L1400:
  29415. 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  29416. 15720 .loc 1 5570 8 is_stmt 1 view .LVU5841
  29417. 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  29418. 15721 .loc 1 5570 11 is_stmt 0 view .LVU5842
  29419. 15722 0020 8B07 lsls r3, r1, #30
  29420. 15723 0022 0CD5 bpl .L1405
  29421. 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  29422. 15724 .loc 1 5570 62 discriminator 1 view .LVU5843
  29423. 15725 0024 9507 lsls r5, r2, #30
  29424. 15726 0026 0AD5 bpl .L1405
  29425. 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29426. 15727 .loc 1 5574 5 is_stmt 1 view .LVU5844
  29427. 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29428. 15728 .loc 1 5574 9 is_stmt 0 view .LVU5845
  29429. 15729 0028 2268 ldr r2, [r4]
  29430. 15730 .LVL999:
  29431. 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29432. 15731 .loc 1 5574 32 view .LVU5846
  29433. 15732 002a 216D ldr r1, [r4, #80]
  29434. 15733 .LVL1000:
  29435. 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29436. 15734 .loc 1 5574 26 view .LVU5847
  29437. 15735 002c 9162 str r1, [r2, #40]
  29438. 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29439. 15736 .loc 1 5577 5 is_stmt 1 view .LVU5848
  29440. 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29441. 15737 .loc 1 5577 22 is_stmt 0 view .LVU5849
  29442. 15738 002e 4FF0FF33 mov r3, #-1
  29443. 15739 0032 2365 str r3, [r4, #80]
  29444. 15740 .L1404:
  29445. 5693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29446. 15741 .loc 1 5693 3 is_stmt 1 view .LVU5850
  29447. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29448. 15742 .loc 1 5696 3 view .LVU5851
  29449. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29450. 15743 .loc 1 5696 3 view .LVU5852
  29451. 15744 0034 0020 movs r0, #0
  29452. 15745 0036 84F84000 strb r0, [r4, #64]
  29453. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29454. 15746 .loc 1 5696 3 view .LVU5853
  29455. 5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29456. 15747 .loc 1 5698 3 view .LVU5854
  29457. 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29458. 15748 .loc 1 5699 1 is_stmt 0 view .LVU5855
  29459. 15749 003a 02B0 add sp, sp, #8
  29460. 15750 .LCFI196:
  29461. 15751 .cfi_remember_state
  29462. 15752 .cfi_def_cfa_offset 16
  29463. 15753 @ sp needed
  29464. 15754 003c 70BD pop {r4, r5, r6, pc}
  29465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 509
  29466. 15755 .LVL1001:
  29467. 15756 .L1405:
  29468. 15757 .LCFI197:
  29469. 15758 .cfi_restore_state
  29470. 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  29471. 15759 .loc 1 5579 8 is_stmt 1 view .LVU5856
  29472. 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  29473. 15760 .loc 1 5579 11 is_stmt 0 view .LVU5857
  29474. 15761 003e 0806 lsls r0, r1, #24
  29475. 15762 0040 53D5 bpl .L1406
  29476. 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  29477. 15763 .loc 1 5579 61 discriminator 1 view .LVU5858
  29478. 15764 0042 5306 lsls r3, r2, #25
  29479. 15765 0044 40F19980 bpl .L1407
  29480. 5583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29481. 15766 .loc 1 5583 5 is_stmt 1 view .LVU5859
  29482. 15767 .LVL1002:
  29483. 15768 .LBB710:
  29484. 15769 .LBI710:
  29485. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29486. 15770 .loc 1 7451 13 view .LVU5860
  29487. 15771 .LBB711:
  29488. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29489. 15772 .loc 1 7453 3 view .LVU5861
  29490. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29491. 15773 .loc 1 7455 3 view .LVU5862
  29492. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29493. 15774 .loc 1 7458 5 view .LVU5863
  29494. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29495. 15775 .loc 1 7460 5 view .LVU5864
  29496. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29497. 15776 .loc 1 7460 24 is_stmt 0 view .LVU5865
  29498. 15777 0048 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  29499. 15778 .LVL1003:
  29500. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29501. 15779 .loc 1 7506 3 view .LVU5866
  29502. 15780 004c 2368 ldr r3, [r4]
  29503. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29504. 15781 .loc 1 7460 8 view .LVU5867
  29505. 15782 004e 01F02801 and r1, r1, #40
  29506. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29507. 15783 .loc 1 7506 3 view .LVU5868
  29508. 15784 0052 1868 ldr r0, [r3]
  29509. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29510. 15785 .loc 1 7460 8 view .LVU5869
  29511. 15786 0054 2829 cmp r1, #40
  29512. 15787 0056 0CBF ite eq
  29513. 15788 0058 6FF04202 mvneq r2, #66
  29514. 15789 .LVL1004:
  29515. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29516. 15790 .loc 1 7460 8 view .LVU5870
  29517. 15791 005c 6FF0F202 mvnne r2, #242
  29518. 15792 .LVL1005:
  29519. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29520. 15793 .loc 1 7467 3 is_stmt 1 view .LVU5871
  29521. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29522. 15794 .loc 1 7479 3 view .LVU5872
  29523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 510
  29524. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29525. 15795 .loc 1 7485 3 view .LVU5873
  29526. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29527. 15796 .loc 1 7491 3 view .LVU5874
  29528. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29529. 15797 .loc 1 7497 3 view .LVU5875
  29530. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29531. 15798 .loc 1 7506 3 view .LVU5876
  29532. 15799 0060 0240 ands r2, r2, r0
  29533. 15800 0062 1A60 str r2, [r3]
  29534. 15801 .LVL1006:
  29535. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29536. 15802 .loc 1 7506 3 is_stmt 0 view .LVU5877
  29537. 15803 .LBE711:
  29538. 15804 .LBE710:
  29539. 5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29540. 15805 .loc 1 5586 5 is_stmt 1 view .LVU5878
  29541. 15806 .LBB712:
  29542. 15807 .LBI712:
  29543. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29544. 15808 .loc 1 7360 13 view .LVU5879
  29545. 15809 .LBB713:
  29546. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29547. 15810 .loc 1 7362 3 view .LVU5880
  29548. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  29549. 15811 .loc 1 7364 3 view .LVU5881
  29550. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29551. 15812 .loc 1 7441 3 view .LVU5882
  29552. 15813 0064 1A68 ldr r2, [r3]
  29553. 15814 0066 42F09002 orr r2, r2, #144
  29554. 15815 006a 1A60 str r2, [r3]
  29555. 15816 .LVL1007:
  29556. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29557. 15817 .loc 1 7441 3 is_stmt 0 view .LVU5883
  29558. 15818 .LBE713:
  29559. 15819 .LBE712:
  29560. 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29561. 15820 .loc 1 5588 5 is_stmt 1 view .LVU5884
  29562. 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29563. 15821 .loc 1 5588 13 is_stmt 0 view .LVU5885
  29564. 15822 006c 628D ldrh r2, [r4, #42]
  29565. 15823 006e 92B2 uxth r2, r2
  29566. 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29567. 15824 .loc 1 5588 8 view .LVU5886
  29568. 15825 0070 002A cmp r2, #0
  29569. 15826 0072 00F0B480 beq .L1409
  29570. 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29571. 15827 .loc 1 5591 7 is_stmt 1 view .LVU5887
  29572. 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29573. 15828 .loc 1 5591 15 is_stmt 0 view .LVU5888
  29574. 15829 0076 628D ldrh r2, [r4, #42]
  29575. 15830 0078 92B2 uxth r2, r2
  29576. 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29577. 15831 .loc 1 5591 10 view .LVU5889
  29578. 15832 007a FF2A cmp r2, #255
  29579. 15833 007c 40F2C180 bls .L1410
  29580. 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 511
  29582. 15834 .loc 1 5594 9 is_stmt 1 view .LVU5890
  29583. 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29584. 15835 .loc 1 5594 13 is_stmt 0 view .LVU5891
  29585. 15836 0080 9A69 ldr r2, [r3, #24]
  29586. 5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
  29587. 15837 .loc 1 5602 48 view .LVU5892
  29588. 15838 0082 E56C ldr r5, [r4, #76]
  29589. 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29590. 15839 .loc 1 5594 12 view .LVU5893
  29591. 15840 0084 C2F30042 ubfx r2, r2, #16, #1
  29592. 15841 0088 002A cmp r2, #0
  29593. 15842 .LBB714:
  29594. 15843 .LBB715:
  29595. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29596. 15844 .loc 1 7337 3 view .LVU5894
  29597. 15845 008a 6E4A ldr r2, .L1466
  29598. 15846 .LBE715:
  29599. 15847 .LBE714:
  29600. 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29601. 15848 .loc 1 5594 12 view .LVU5895
  29602. 15849 008c 15BF itete ne
  29603. 15850 008e 0121 movne r1, #1
  29604. 15851 0090 FF21 moveq r1, #255
  29605. 15852 0092 4FF48036 movne r6, #65536
  29606. 15853 0096 4FF47F06 moveq r6, #16711680
  29607. 15854 .LBB719:
  29608. 15855 .LBB716:
  29609. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29610. 15856 .loc 1 7337 3 view .LVU5896
  29611. 15857 009a 9342 cmp r3, r2
  29612. 15858 009c 2185 strh r1, [r4, #40] @ movhi
  29613. 15859 .LBE716:
  29614. 15860 .LBE719:
  29615. 5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
  29616. 15861 .loc 1 5602 9 is_stmt 1 view .LVU5897
  29617. 15862 009e ADB2 uxth r5, r5
  29618. 15863 .LVL1008:
  29619. 15864 .LBB720:
  29620. 15865 .LBI714:
  29621. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  29622. 15866 .loc 1 7333 13 view .LVU5898
  29623. 15867 .LBB717:
  29624. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29625. 15868 .loc 1 7337 3 view .LVU5899
  29626. 15869 00a0 0AD0 beq .L1412
  29627. 15870 00a2 02F58062 add r2, r2, #1024
  29628. 15871 00a6 9342 cmp r3, r2
  29629. 15872 00a8 06D0 beq .L1412
  29630. 15873 00aa 41F6A941 movw r1, #7337
  29631. 15874 .LVL1009:
  29632. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  29633. 15875 .loc 1 7337 3 is_stmt 0 view .LVU5900
  29634. 15876 00ae 6648 ldr r0, .L1466+4
  29635. 15877 00b0 FFF7FEFF bl assert_failed
  29636. 15878 .LVL1010:
  29637. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29638. 15879 .loc 1 7347 3 view .LVU5901
  29639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 512
  29640. 15880 00b4 2368 ldr r3, [r4]
  29641. 15881 .LBE717:
  29642. 15882 .LBE720:
  29643. 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29644. 15883 .loc 1 5613 30 view .LVU5902
  29645. 15884 00b6 218D ldrh r1, [r4, #40]
  29646. 15885 .L1412:
  29647. 15886 .LBB721:
  29648. 15887 .LBB718:
  29649. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  29650. 15888 .loc 1 7338 3 is_stmt 1 view .LVU5903
  29651. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29652. 15889 .loc 1 7339 3 view .LVU5904
  29653. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  29654. 15890 .loc 1 7342 3 view .LVU5905
  29655. 15891 .LVL1011:
  29656. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29657. 15892 .loc 1 7347 3 view .LVU5906
  29658. 15893 00b8 6448 ldr r0, .L1466+8
  29659. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  29660. 15894 .loc 1 7342 52 is_stmt 0 view .LVU5907
  29661. 15895 00ba C5F30902 ubfx r2, r5, #0, #10
  29662. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29663. 15896 .loc 1 7347 3 view .LVU5908
  29664. 15897 00be 5D68 ldr r5, [r3, #4]
  29665. 15898 .LVL1012:
  29666. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29667. 15899 .loc 1 7347 3 view .LVU5909
  29668. 15900 00c0 0540 ands r5, r5, r0
  29669. 15901 00c2 2A43 orrs r2, r2, r5
  29670. 15902 00c4 3243 orrs r2, r2, r6
  29671. 15903 00c6 42F08072 orr r2, r2, #16777216
  29672. 15904 00ca 5A60 str r2, [r3, #4]
  29673. 15905 .LVL1013:
  29674. 15906 .L1413:
  29675. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  29676. 15907 .loc 1 7347 3 view .LVU5910
  29677. 15908 .LBE718:
  29678. 15909 .LBE721:
  29679. 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29680. 15910 .loc 1 5613 7 is_stmt 1 view .LVU5911
  29681. 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29682. 15911 .loc 1 5613 23 is_stmt 0 view .LVU5912
  29683. 15912 00cc 628D ldrh r2, [r4, #42]
  29684. 15913 00ce 521A subs r2, r2, r1
  29685. 15914 00d0 92B2 uxth r2, r2
  29686. 15915 00d2 6285 strh r2, [r4, #42] @ movhi
  29687. 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29688. 15916 .loc 1 5616 7 is_stmt 1 view .LVU5913
  29689. 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29690. 15917 .loc 1 5616 15 is_stmt 0 view .LVU5914
  29691. 15918 00d4 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  29692. 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29693. 15919 .loc 1 5616 10 view .LVU5915
  29694. 15920 00d8 222A cmp r2, #34
  29695. 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29696. 15921 .loc 1 5618 29 view .LVU5916
  29697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 513
  29698. 15922 00da 1A68 ldr r2, [r3]
  29699. 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29700. 15923 .loc 1 5618 9 is_stmt 1 view .LVU5917
  29701. 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29702. 15924 .loc 1 5618 29 is_stmt 0 view .LVU5918
  29703. 15925 00dc 0CBF ite eq
  29704. 15926 00de 42F40042 orreq r2, r2, #32768
  29705. 5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29706. 15927 .loc 1 5622 9 is_stmt 1 view .LVU5919
  29707. 5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29708. 15928 .loc 1 5622 29 is_stmt 0 view .LVU5920
  29709. 15929 00e2 42F48042 orrne r2, r2, #16384
  29710. 15930 00e6 1A60 str r2, [r3]
  29711. 15931 00e8 A4E7 b .L1404
  29712. 15932 .LVL1014:
  29713. 15933 .L1406:
  29714. 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  29715. 15934 .loc 1 5632 8 is_stmt 1 view .LVU5921
  29716. 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  29717. 15935 .loc 1 5632 11 is_stmt 0 view .LVU5922
  29718. 15936 00ea 4E06 lsls r6, r1, #25
  29719. 15937 00ec 45D5 bpl .L1407
  29720. 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  29721. 15938 .loc 1 5632 60 discriminator 1 view .LVU5923
  29722. 15939 00ee 5506 lsls r5, r2, #25
  29723. 15940 00f0 43D5 bpl .L1407
  29724. 5636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29725. 15941 .loc 1 5636 5 is_stmt 1 view .LVU5924
  29726. 15942 .LVL1015:
  29727. 15943 .LBB722:
  29728. 15944 .LBI722:
  29729. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29730. 15945 .loc 1 7451 13 view .LVU5925
  29731. 15946 .LBB723:
  29732. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29733. 15947 .loc 1 7453 3 view .LVU5926
  29734. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29735. 15948 .loc 1 7455 3 view .LVU5927
  29736. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29737. 15949 .loc 1 7458 5 view .LVU5928
  29738. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29739. 15950 .loc 1 7460 5 view .LVU5929
  29740. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29741. 15951 .loc 1 7460 24 is_stmt 0 view .LVU5930
  29742. 15952 00f2 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2
  29743. 15953 .LVL1016:
  29744. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29745. 15954 .loc 1 7506 3 view .LVU5931
  29746. 15955 00f6 2368 ldr r3, [r4]
  29747. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29748. 15956 .loc 1 7460 8 view .LVU5932
  29749. 15957 00f8 01F02801 and r1, r1, #40
  29750. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29751. 15958 .loc 1 7506 3 view .LVU5933
  29752. 15959 00fc 1868 ldr r0, [r3]
  29753. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29754. 15960 .loc 1 7460 8 view .LVU5934
  29755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 514
  29756. 15961 00fe 2829 cmp r1, #40
  29757. 15962 0100 0CBF ite eq
  29758. 15963 0102 6FF04202 mvneq r2, #66
  29759. 15964 .LVL1017:
  29760. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29761. 15965 .loc 1 7460 8 view .LVU5935
  29762. 15966 0106 6FF0F202 mvnne r2, #242
  29763. 15967 .LVL1018:
  29764. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29765. 15968 .loc 1 7467 3 is_stmt 1 view .LVU5936
  29766. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29767. 15969 .loc 1 7479 3 view .LVU5937
  29768. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29769. 15970 .loc 1 7485 3 view .LVU5938
  29770. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29771. 15971 .loc 1 7491 3 view .LVU5939
  29772. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29773. 15972 .loc 1 7497 3 view .LVU5940
  29774. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29775. 15973 .loc 1 7506 3 view .LVU5941
  29776. 15974 010a 0240 ands r2, r2, r0
  29777. 15975 010c 1A60 str r2, [r3]
  29778. 15976 .LVL1019:
  29779. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29780. 15977 .loc 1 7506 3 is_stmt 0 view .LVU5942
  29781. 15978 .LBE723:
  29782. 15979 .LBE722:
  29783. 5639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29784. 15980 .loc 1 5639 5 is_stmt 1 view .LVU5943
  29785. 15981 .LBB724:
  29786. 15982 .LBI724:
  29787. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29788. 15983 .loc 1 7360 13 view .LVU5944
  29789. 15984 .LBB725:
  29790. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29791. 15985 .loc 1 7362 3 view .LVU5945
  29792. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  29793. 15986 .loc 1 7364 3 view .LVU5946
  29794. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29795. 15987 .loc 1 7441 3 view .LVU5947
  29796. 15988 010e 1A68 ldr r2, [r3]
  29797. 15989 .LBE725:
  29798. 15990 .LBE724:
  29799. 5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29800. 15991 .loc 1 5643 17 is_stmt 0 view .LVU5948
  29801. 15992 0110 4F49 ldr r1, .L1466+12
  29802. 15993 .LBB727:
  29803. 15994 .LBB726:
  29804. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29805. 15995 .loc 1 7441 3 view .LVU5949
  29806. 15996 0112 42F09002 orr r2, r2, #144
  29807. 15997 0116 1A60 str r2, [r3]
  29808. 15998 .LVL1020:
  29809. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29810. 15999 .loc 1 7441 3 view .LVU5950
  29811. 16000 .LBE726:
  29812. 16001 .LBE727:
  29813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 515
  29814. 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29815. 16002 .loc 1 5641 5 is_stmt 1 view .LVU5951
  29816. 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29817. 16003 .loc 1 5641 13 is_stmt 0 view .LVU5952
  29818. 16004 0118 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2
  29819. 5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29820. 16005 .loc 1 5643 17 view .LVU5953
  29821. 16006 011c 4D4A ldr r2, .L1466+16
  29822. 16007 011e 2228 cmp r0, #34
  29823. 16008 0120 08BF it eq
  29824. 16009 0122 1146 moveq r1, r2
  29825. 16010 .LVL1021:
  29826. 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29827. 16011 .loc 1 5646 5 is_stmt 1 view .LVU5954
  29828. 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29829. 16012 .loc 1 5646 13 is_stmt 0 view .LVU5955
  29830. 16013 0124 628D ldrh r2, [r4, #42]
  29831. 16014 0126 92B2 uxth r2, r2
  29832. 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29833. 16015 .loc 1 5646 8 view .LVU5956
  29834. 16016 0128 FF2A cmp r2, #255
  29835. 16017 012a 5DD9 bls .L1418
  29836. 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29837. 16018 .loc 1 5649 7 is_stmt 1 view .LVU5957
  29838. 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29839. 16019 .loc 1 5649 11 is_stmt 0 view .LVU5958
  29840. 16020 012c 9B69 ldr r3, [r3, #24]
  29841. 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29842. 16021 .loc 1 5649 10 view .LVU5959
  29843. 16022 012e D803 lsls r0, r3, #15
  29844. 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29845. 16023 .loc 1 5649 11 view .LVU5960
  29846. 16024 0130 C3F30042 ubfx r2, r3, #16, #1
  29847. 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  29848. 16025 .loc 1 5659 46 view .LVU5961
  29849. 16026 0134 E06C ldr r0, [r4, #76]
  29850. 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29851. 16027 .loc 1 5649 10 view .LVU5962
  29852. 16028 0136 5ABF itte pl
  29853. 16029 0138 FF22 movpl r2, #255
  29854. 5655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29855. 16030 .loc 1 5655 24 view .LVU5963
  29856. 16031 013a 1346 movpl r3, r2
  29857. 5651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29858. 16032 .loc 1 5651 24 view .LVU5964
  29859. 16033 013c 0123 movmi r3, #1
  29860. 16034 013e 2385 strh r3, [r4, #40] @ movhi
  29861. 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  29862. 16035 .loc 1 5659 7 is_stmt 1 view .LVU5965
  29863. 16036 0140 0091 str r1, [sp]
  29864. 16037 0142 4FF08073 mov r3, #16777216
  29865. 16038 0146 81B2 uxth r1, r0
  29866. 16039 .LVL1022:
  29867. 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  29868. 16040 .loc 1 5659 7 is_stmt 0 view .LVU5966
  29869. 16041 0148 2046 mov r0, r4
  29870. 16042 014a FFF7FEFF bl I2C_TransferConfig
  29871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 516
  29872. 16043 .LVL1023:
  29873. 16044 .L1420:
  29874. 5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29875. 16045 .loc 1 5672 5 is_stmt 1 view .LVU5967
  29876. 5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29877. 16046 .loc 1 5672 21 is_stmt 0 view .LVU5968
  29878. 16047 014e 638D ldrh r3, [r4, #42]
  29879. 16048 0150 228D ldrh r2, [r4, #40]
  29880. 16049 0152 9B1A subs r3, r3, r2
  29881. 16050 0154 9BB2 uxth r3, r3
  29882. 16051 0156 6385 strh r3, [r4, #42] @ movhi
  29883. 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29884. 16052 .loc 1 5675 5 is_stmt 1 view .LVU5969
  29885. 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29886. 16053 .loc 1 5675 13 is_stmt 0 view .LVU5970
  29887. 16054 0158 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  29888. 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29889. 16055 .loc 1 5677 11 view .LVU5971
  29890. 16056 015c 2268 ldr r2, [r4]
  29891. 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  29892. 16057 .loc 1 5675 8 view .LVU5972
  29893. 16058 015e 222B cmp r3, #34
  29894. 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29895. 16059 .loc 1 5677 27 view .LVU5973
  29896. 16060 0160 1368 ldr r3, [r2]
  29897. 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29898. 16061 .loc 1 5677 7 is_stmt 1 view .LVU5974
  29899. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29900. 16062 .loc 1 5696 3 is_stmt 0 view .LVU5975
  29901. 16063 0162 4FF00000 mov r0, #0
  29902. 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29903. 16064 .loc 1 5677 27 view .LVU5976
  29904. 16065 0166 0CBF ite eq
  29905. 16066 0168 43F40043 orreq r3, r3, #32768
  29906. 5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29907. 16067 .loc 1 5681 7 is_stmt 1 view .LVU5977
  29908. 5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29909. 16068 .loc 1 5681 27 is_stmt 0 view .LVU5978
  29910. 16069 016c 43F48043 orrne r3, r3, #16384
  29911. 16070 0170 1360 str r3, [r2]
  29912. 5693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29913. 16071 .loc 1 5693 3 is_stmt 1 view .LVU5979
  29914. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29915. 16072 .loc 1 5696 3 view .LVU5980
  29916. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29917. 16073 .loc 1 5696 3 view .LVU5981
  29918. 16074 0172 84F84000 strb r0, [r4, #64]
  29919. 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29920. 16075 .loc 1 5696 3 view .LVU5982
  29921. 5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29922. 16076 .loc 1 5698 3 view .LVU5983
  29923. 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29924. 16077 .loc 1 5699 1 is_stmt 0 view .LVU5984
  29925. 16078 0176 02B0 add sp, sp, #8
  29926. 16079 .LCFI198:
  29927. 16080 .cfi_remember_state
  29928. 16081 .cfi_def_cfa_offset 16
  29929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 517
  29930. 16082 @ sp needed
  29931. 16083 0178 70BD pop {r4, r5, r6, pc}
  29932. 16084 .LVL1024:
  29933. 16085 .L1407:
  29934. 16086 .LCFI199:
  29935. 16087 .cfi_restore_state
  29936. 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  29937. 16088 .loc 1 5632 8 is_stmt 1 view .LVU5985
  29938. 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  29939. 16089 .loc 1 5684 8 view .LVU5986
  29940. 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  29941. 16090 .loc 1 5684 11 is_stmt 0 view .LVU5987
  29942. 16091 017a 8B06 lsls r3, r1, #26
  29943. 16092 017c 7FF55AAF bpl .L1404
  29944. 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  29945. 16093 .loc 1 5684 63 discriminator 1 view .LVU5988
  29946. 16094 0180 9206 lsls r2, r2, #26
  29947. 16095 .LVL1025:
  29948. 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  29949. 16096 .loc 1 5684 63 discriminator 1 view .LVU5989
  29950. 16097 0182 7FF557AF bpl .L1404
  29951. 5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29952. 16098 .loc 1 5688 5 is_stmt 1 view .LVU5990
  29953. 16099 0186 2046 mov r0, r4
  29954. 16100 0188 FFF7FEFF bl I2C_ITMasterCplt
  29955. 16101 .LVL1026:
  29956. 5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  29957. 16102 .loc 1 5688 5 is_stmt 0 view .LVU5991
  29958. 16103 018c 52E7 b .L1404
  29959. 16104 .LVL1027:
  29960. 16105 .L1465:
  29961. 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29962. 16106 .loc 1 5557 5 is_stmt 1 view .LVU5992
  29963. 16107 018e 2368 ldr r3, [r4]
  29964. 16108 .LBB728:
  29965. 16109 .LBB729:
  29966. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  29967. 16110 .loc 1 7364 6 is_stmt 0 view .LVU5993
  29968. 16111 0190 3148 ldr r0, .L1466+20
  29969. 16112 .LBE729:
  29970. 16113 .LBE728:
  29971. 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29972. 16114 .loc 1 5557 5 view .LVU5994
  29973. 16115 0192 1022 movs r2, #16
  29974. 16116 .LVL1028:
  29975. 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29976. 16117 .loc 1 5557 5 view .LVU5995
  29977. 16118 0194 DA61 str r2, [r3, #28]
  29978. 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29979. 16119 .loc 1 5560 5 is_stmt 1 view .LVU5996
  29980. 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29981. 16120 .loc 1 5560 21 is_stmt 0 view .LVU5997
  29982. 16121 0196 616C ldr r1, [r4, #68]
  29983. 16122 .LVL1029:
  29984. 16123 .LBB734:
  29985. 16124 .LBB730:
  29986. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  29987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 518
  29988. 16125 .loc 1 7364 12 view .LVU5998
  29989. 16126 0198 626B ldr r2, [r4, #52]
  29990. 16127 .LBE730:
  29991. 16128 .LBE734:
  29992. 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  29993. 16129 .loc 1 5560 21 view .LVU5999
  29994. 16130 019a 41F00401 orr r1, r1, #4
  29995. 16131 .LBB735:
  29996. 16132 .LBB731:
  29997. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  29998. 16133 .loc 1 7364 6 view .LVU6000
  29999. 16134 019e 8242 cmp r2, r0
  30000. 16135 .LBE731:
  30001. 16136 .LBE735:
  30002. 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30003. 16137 .loc 1 5560 21 view .LVU6001
  30004. 16138 01a0 6164 str r1, [r4, #68]
  30005. 5565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30006. 16139 .loc 1 5565 5 is_stmt 1 view .LVU6002
  30007. 16140 .LVL1030:
  30008. 16141 .LBB736:
  30009. 16142 .LBI728:
  30010. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30011. 16143 .loc 1 7360 13 view .LVU6003
  30012. 16144 .LBB732:
  30013. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30014. 16145 .loc 1 7362 3 view .LVU6004
  30015. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  30016. 16146 .loc 1 7364 3 view .LVU6005
  30017. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  30018. 16147 .loc 1 7364 6 is_stmt 0 view .LVU6006
  30019. 16148 01a2 1AD0 beq .L1426
  30020. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  30021. 16149 .loc 1 7364 45 view .LVU6007
  30022. 16150 01a4 2D49 ldr r1, .L1466+24
  30023. 16151 01a6 8A42 cmp r2, r1
  30024. 16152 01a8 17D0 beq .L1426
  30025. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  30026. 16153 .loc 1 7365 44 view .LVU6008
  30027. 16154 01aa 2D49 ldr r1, .L1466+28
  30028. 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30029. 16155 .loc 1 7395 14 view .LVU6009
  30030. 16156 01ac 8A42 cmp r2, r1
  30031. 16157 01ae 0CBF ite eq
  30032. 16158 01b0 6022 moveq r2, #96
  30033. 16159 01b2 2022 movne r2, #32
  30034. 16160 .L1401:
  30035. 16161 .LVL1031:
  30036. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30037. 16162 .loc 1 7441 3 is_stmt 1 view .LVU6010
  30038. 16163 01b4 1968 ldr r1, [r3]
  30039. 16164 01b6 0A43 orrs r2, r2, r1
  30040. 16165 .LVL1032:
  30041. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30042. 16166 .loc 1 7441 3 is_stmt 0 view .LVU6011
  30043. 16167 01b8 1A60 str r2, [r3]
  30044. 16168 .LVL1033:
  30045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 519
  30046. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30047. 16169 .loc 1 7441 3 view .LVU6012
  30048. 16170 .LBE732:
  30049. 16171 .LBE736:
  30050. 5568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30051. 16172 .loc 1 5568 5 is_stmt 1 view .LVU6013
  30052. 16173 .LBB737:
  30053. 16174 .LBI737:
  30054. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30055. 16175 .loc 1 6758 13 view .LVU6014
  30056. 16176 .LBB738:
  30057. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30058. 16177 .loc 1 6762 3 view .LVU6015
  30059. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30060. 16178 .loc 1 6762 7 is_stmt 0 view .LVU6016
  30061. 16179 01ba 9A69 ldr r2, [r3, #24]
  30062. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30063. 16180 .loc 1 6762 6 view .LVU6017
  30064. 16181 01bc 9107 lsls r1, r2, #30
  30065. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30066. 16182 .loc 1 6764 5 is_stmt 1 view .LVU6018
  30067. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30068. 16183 .loc 1 6768 3 view .LVU6019
  30069. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30070. 16184 .loc 1 6764 26 is_stmt 0 view .LVU6020
  30071. 16185 01be 44BF itt mi
  30072. 16186 01c0 0022 movmi r2, #0
  30073. 16187 01c2 9A62 strmi r2, [r3, #40]
  30074. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30075. 16188 .loc 1 6768 7 view .LVU6021
  30076. 16189 01c4 9A69 ldr r2, [r3, #24]
  30077. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30078. 16190 .loc 1 6768 6 view .LVU6022
  30079. 16191 01c6 D207 lsls r2, r2, #31
  30080. 16192 01c8 3FF534AF bmi .L1404
  30081. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30082. 16193 .loc 1 6770 5 is_stmt 1 view .LVU6023
  30083. 16194 01cc 9A69 ldr r2, [r3, #24]
  30084. 16195 01ce 42F00102 orr r2, r2, #1
  30085. 16196 01d2 9A61 str r2, [r3, #24]
  30086. 16197 01d4 2EE7 b .L1404
  30087. 16198 .LVL1034:
  30088. 16199 .L1424:
  30089. 16200 .LCFI200:
  30090. 16201 .cfi_def_cfa_offset 0
  30091. 16202 .cfi_restore 4
  30092. 16203 .cfi_restore 5
  30093. 16204 .cfi_restore 6
  30094. 16205 .cfi_restore 14
  30095. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30096. 16206 .loc 1 6770 5 is_stmt 0 view .LVU6024
  30097. 16207 .LBE738:
  30098. 16208 .LBE737:
  30099. 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30100. 16209 .loc 1 5551 3 view .LVU6025
  30101. 16210 01d6 0220 movs r0, #2
  30102. 16211 .LVL1035:
  30103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 520
  30104. 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30105. 16212 .loc 1 5699 1 view .LVU6026
  30106. 16213 01d8 7047 bx lr
  30107. 16214 .LVL1036:
  30108. 16215 .L1426:
  30109. 16216 .LCFI201:
  30110. 16217 .cfi_def_cfa_offset 24
  30111. 16218 .cfi_offset 4, -16
  30112. 16219 .cfi_offset 5, -12
  30113. 16220 .cfi_offset 6, -8
  30114. 16221 .cfi_offset 14, -4
  30115. 16222 .LBB739:
  30116. 16223 .LBB733:
  30117. 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30118. 16224 .loc 1 5699 1 view .LVU6027
  30119. 16225 01da 6022 movs r2, #96
  30120. 16226 01dc EAE7 b .L1401
  30121. 16227 .LVL1037:
  30122. 16228 .L1409:
  30123. 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30124. 16229 .loc 1 5699 1 view .LVU6028
  30125. 16230 .LBE733:
  30126. 16231 .LBE739:
  30127. 5629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30128. 16232 .loc 1 5629 7 is_stmt 1 view .LVU6029
  30129. 16233 01de 4021 movs r1, #64
  30130. 16234 01e0 2046 mov r0, r4
  30131. 16235 01e2 FFF7FEFF bl I2C_ITError
  30132. 16236 .LVL1038:
  30133. 16237 01e6 25E7 b .L1404
  30134. 16238 .LVL1039:
  30135. 16239 .L1418:
  30136. 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30137. 16240 .loc 1 5664 7 view .LVU6030
  30138. 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30139. 16241 .loc 1 5664 28 is_stmt 0 view .LVU6031
  30140. 16242 01e8 628D ldrh r2, [r4, #42]
  30141. 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  30142. 16243 .loc 1 5667 46 view .LVU6032
  30143. 16244 01ea E06C ldr r0, [r4, #76]
  30144. 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30145. 16245 .loc 1 5664 28 view .LVU6033
  30146. 16246 01ec 92B2 uxth r2, r2
  30147. 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30148. 16247 .loc 1 5664 22 view .LVU6034
  30149. 16248 01ee 2285 strh r2, [r4, #40] @ movhi
  30150. 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  30151. 16249 .loc 1 5667 7 is_stmt 1 view .LVU6035
  30152. 16250 01f0 4FF00073 mov r3, #33554432
  30153. 16251 01f4 0091 str r1, [sp]
  30154. 16252 01f6 D2B2 uxtb r2, r2
  30155. 16253 01f8 81B2 uxth r1, r0
  30156. 16254 .LVL1040:
  30157. 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  30158. 16255 .loc 1 5667 7 is_stmt 0 view .LVU6036
  30159. 16256 01fa 2046 mov r0, r4
  30160. 16257 01fc FFF7FEFF bl I2C_TransferConfig
  30161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 521
  30162. 16258 .LVL1041:
  30163. 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  30164. 16259 .loc 1 5667 7 view .LVU6037
  30165. 16260 0200 A5E7 b .L1420
  30166. 16261 .LVL1042:
  30167. 16262 .L1410:
  30168. 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  30169. 16263 .loc 1 5607 9 is_stmt 1 view .LVU6038
  30170. 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  30171. 16264 .loc 1 5607 30 is_stmt 0 view .LVU6039
  30172. 16265 0202 628D ldrh r2, [r4, #42]
  30173. 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  30174. 16266 .loc 1 5608 48 view .LVU6040
  30175. 16267 0204 E56C ldr r5, [r4, #76]
  30176. 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  30177. 16268 .loc 1 5607 30 view .LVU6041
  30178. 16269 0206 91B2 uxth r1, r2
  30179. 16270 .LBB740:
  30180. 16271 .LBB741:
  30181. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  30182. 16272 .loc 1 7337 3 view .LVU6042
  30183. 16273 0208 0E4A ldr r2, .L1466
  30184. 16274 .LBE741:
  30185. 16275 .LBE740:
  30186. 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  30187. 16276 .loc 1 5607 24 view .LVU6043
  30188. 16277 020a 2185 strh r1, [r4, #40] @ movhi
  30189. 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  30190. 16278 .loc 1 5608 9 is_stmt 1 view .LVU6044
  30191. 16279 .LBB745:
  30192. 16280 .LBB742:
  30193. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  30194. 16281 .loc 1 7337 3 is_stmt 0 view .LVU6045
  30195. 16282 020c 9342 cmp r3, r2
  30196. 16283 .LBE742:
  30197. 16284 .LBE745:
  30198. 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  30199. 16285 .loc 1 5608 9 view .LVU6046
  30200. 16286 020e ADB2 uxth r5, r5
  30201. 16287 0210 CEB2 uxtb r6, r1
  30202. 16288 .LVL1043:
  30203. 16289 .LBB746:
  30204. 16290 .LBI740:
  30205. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  30206. 16291 .loc 1 7333 13 is_stmt 1 view .LVU6047
  30207. 16292 .LBB743:
  30208. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  30209. 16293 .loc 1 7337 3 view .LVU6048
  30210. 16294 0212 0AD0 beq .L1414
  30211. 16295 0214 02F58062 add r2, r2, #1024
  30212. 16296 0218 9342 cmp r3, r2
  30213. 16297 021a 06D0 beq .L1414
  30214. 16298 021c 41F6A941 movw r1, #7337
  30215. 16299 0220 0948 ldr r0, .L1466+4
  30216. 16300 0222 FFF7FEFF bl assert_failed
  30217. 16301 .LVL1044:
  30218. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  30219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 522
  30220. 16302 .loc 1 7347 3 is_stmt 0 view .LVU6049
  30221. 16303 0226 2368 ldr r3, [r4]
  30222. 16304 .LBE743:
  30223. 16305 .LBE746:
  30224. 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30225. 16306 .loc 1 5613 30 view .LVU6050
  30226. 16307 0228 218D ldrh r1, [r4, #40]
  30227. 16308 .L1414:
  30228. 16309 .LBB747:
  30229. 16310 .LBB744:
  30230. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  30231. 16311 .loc 1 7338 3 is_stmt 1 view .LVU6051
  30232. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30233. 16312 .loc 1 7339 3 view .LVU6052
  30234. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  30235. 16313 .loc 1 7342 3 view .LVU6053
  30236. 16314 .LVL1045:
  30237. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  30238. 16315 .loc 1 7347 3 view .LVU6054
  30239. 16316 022a 5868 ldr r0, [r3, #4]
  30240. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  30241. 16317 .loc 1 7342 52 is_stmt 0 view .LVU6055
  30242. 16318 022c C5F30902 ubfx r2, r5, #0, #10
  30243. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  30244. 16319 .loc 1 7347 3 view .LVU6056
  30245. 16320 0230 064D ldr r5, .L1466+8
  30246. 16321 .LVL1046:
  30247. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  30248. 16322 .loc 1 7342 68 view .LVU6057
  30249. 16323 0232 42EA0642 orr r2, r2, r6, lsl #16
  30250. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  30251. 16324 .loc 1 7347 3 view .LVU6058
  30252. 16325 0236 2840 ands r0, r0, r5
  30253. 16326 0238 0243 orrs r2, r2, r0
  30254. 16327 023a 42F00072 orr r2, r2, #33554432
  30255. 16328 023e 5A60 str r2, [r3, #4]
  30256. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30257. 16329 .loc 1 7351 1 view .LVU6059
  30258. 16330 0240 44E7 b .L1413
  30259. 16331 .L1467:
  30260. 16332 0242 00BF .align 2
  30261. 16333 .L1466:
  30262. 16334 0244 00540040 .word 1073763328
  30263. 16335 0248 00000000 .word .LC0
  30264. 16336 024c 009C00FC .word -67068928
  30265. 16337 0250 00200080 .word -2147475456
  30266. 16338 0254 00240080 .word -2147474432
  30267. 16339 0258 00000000 .word I2C_Master_ISR_DMA
  30268. 16340 025c 00000000 .word I2C_Slave_ISR_DMA
  30269. 16341 0260 00000000 .word I2C_Mem_ISR_DMA
  30270. 16342 .LBE744:
  30271. 16343 .LBE747:
  30272. 16344 .cfi_endproc
  30273. 16345 .LFE183:
  30274. 16347 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
  30275. 16348 .align 1
  30276. 16349 .p2align 2,,3
  30277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 523
  30278. 16350 .syntax unified
  30279. 16351 .thumb
  30280. 16352 .thumb_func
  30281. 16354 I2C_Slave_ISR_DMA:
  30282. 16355 .LVL1047:
  30283. 16356 .LFB184:
  30284. 5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  30285. 16357 .loc 1 5711 1 is_stmt 1 view -0
  30286. 16358 .cfi_startproc
  30287. 16359 @ args = 0, pretend = 0, frame = 0
  30288. 16360 @ frame_needed = 0, uses_anonymous_args = 0
  30289. 5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
  30290. 16361 .loc 1 5712 3 view .LVU6061
  30291. 5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
  30292. 16362 .loc 1 5711 1 is_stmt 0 view .LVU6062
  30293. 16363 0000 38B5 push {r3, r4, r5, lr}
  30294. 16364 .LCFI202:
  30295. 16365 .cfi_def_cfa_offset 16
  30296. 16366 .cfi_offset 3, -16
  30297. 16367 .cfi_offset 4, -12
  30298. 16368 .cfi_offset 5, -8
  30299. 16369 .cfi_offset 14, -4
  30300. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30301. 16370 .loc 1 5717 3 view .LVU6063
  30302. 16371 0002 90F840C0 ldrb ip, [r0, #64] @ zero_extendqisi2
  30303. 5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
  30304. 16372 .loc 1 5712 12 view .LVU6064
  30305. 16373 0006 C56A ldr r5, [r0, #44]
  30306. 16374 .LVL1048:
  30307. 5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate;
  30308. 16375 .loc 1 5713 3 is_stmt 1 view .LVU6065
  30309. 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30310. 16376 .loc 1 5714 3 view .LVU6066
  30311. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30312. 16377 .loc 1 5717 3 view .LVU6067
  30313. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30314. 16378 .loc 1 5717 3 view .LVU6068
  30315. 16379 0008 BCF1010F cmp ip, #1
  30316. 16380 000c 7AD0 beq .L1490
  30317. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30318. 16381 .loc 1 5717 3 discriminator 2 view .LVU6069
  30319. 16382 000e 4FF0010C mov ip, #1
  30320. 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  30321. 16383 .loc 1 5720 6 is_stmt 0 discriminator 2 view .LVU6070
  30322. 16384 0012 11F0200F tst r1, #32
  30323. 16385 0016 0446 mov r4, r0
  30324. 16386 0018 0B46 mov r3, r1
  30325. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30326. 16387 .loc 1 5717 3 discriminator 2 view .LVU6071
  30327. 16388 001a 80F840C0 strb ip, [r0, #64]
  30328. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30329. 16389 .loc 1 5717 3 is_stmt 1 discriminator 2 view .LVU6072
  30330. 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  30331. 16390 .loc 1 5720 3 discriminator 2 view .LVU6073
  30332. 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  30333. 16391 .loc 1 5720 6 is_stmt 0 discriminator 2 view .LVU6074
  30334. 16392 001e 02D0 beq .L1470
  30335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 524
  30336. 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  30337. 16393 .loc 1 5720 58 discriminator 1 view .LVU6075
  30338. 16394 0020 12F0200F tst r2, #32
  30339. 16395 0024 49D1 bne .L1527
  30340. 16396 .L1470:
  30341. 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30342. 16397 .loc 1 5726 8 is_stmt 1 view .LVU6076
  30343. 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30344. 16398 .loc 1 5726 11 is_stmt 0 view .LVU6077
  30345. 16399 0026 D806 lsls r0, r3, #27
  30346. 16400 .LVL1049:
  30347. 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30348. 16401 .loc 1 5726 11 view .LVU6078
  30349. 16402 0028 39D5 bpl .L1472
  30350. 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30351. 16403 .loc 1 5726 60 discriminator 1 view .LVU6079
  30352. 16404 002a D106 lsls r1, r2, #27
  30353. 16405 .LVL1050:
  30354. 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30355. 16406 .loc 1 5726 60 discriminator 1 view .LVU6080
  30356. 16407 002c 37D5 bpl .L1472
  30357. 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
  30358. 16408 .loc 1 5733 5 is_stmt 1 view .LVU6081
  30359. 5734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30360. 16409 .loc 1 5734 10 is_stmt 0 view .LVU6082
  30361. 16410 002e D00B lsrs r0, r2, #15
  30362. 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
  30363. 16411 .loc 1 5733 10 view .LVU6083
  30364. 16412 0030 910B lsrs r1, r2, #14
  30365. 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
  30366. 16413 .loc 1 5733 68 view .LVU6084
  30367. 16414 0032 40EA9232 orr r2, r0, r2, lsr #14
  30368. 16415 .LVL1051:
  30369. 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
  30370. 16416 .loc 1 5733 68 view .LVU6085
  30371. 16417 0036 D207 lsls r2, r2, #31
  30372. 16418 0038 66D5 bpl .L1473
  30373. 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30374. 16419 .loc 1 5737 15 view .LVU6086
  30375. 16420 003a E26B ldr r2, [r4, #60]
  30376. 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
  30377. 16421 .loc 1 5733 10 view .LVU6087
  30378. 16422 003c 01F00101 and r1, r1, #1
  30379. 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30380. 16423 .loc 1 5737 7 is_stmt 1 view .LVU6088
  30381. 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30382. 16424 .loc 1 5737 10 is_stmt 0 view .LVU6089
  30383. 16425 0040 002A cmp r2, #0
  30384. 16426 0042 40D0 beq .L1474
  30385. 5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30386. 16427 .loc 1 5739 9 is_stmt 1 view .LVU6090
  30387. 5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30388. 16428 .loc 1 5739 12 is_stmt 0 view .LVU6091
  30389. 16429 0044 C007 lsls r0, r0, #31
  30390. 16430 0046 3ED5 bpl .L1474
  30391. 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30392. 16431 .loc 1 5741 11 is_stmt 1 view .LVU6092
  30393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 525
  30394. 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30395. 16432 .loc 1 5741 15 is_stmt 0 view .LVU6093
  30396. 16433 0048 1268 ldr r2, [r2]
  30397. 16434 004a 5268 ldr r2, [r2, #4]
  30398. 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30399. 16435 .loc 1 5741 14 view .LVU6094
  30400. 16436 004c 002A cmp r2, #0
  30401. 16437 004e 3AD1 bne .L1474
  30402. 5743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30403. 16438 .loc 1 5743 13 is_stmt 1 view .LVU6095
  30404. 16439 .LVL1052:
  30405. 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30406. 16440 .loc 1 5749 7 view .LVU6096
  30407. 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30408. 16441 .loc 1 5749 15 is_stmt 0 view .LVU6097
  30409. 16442 0050 A26B ldr r2, [r4, #56]
  30410. 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30411. 16443 .loc 1 5749 10 view .LVU6098
  30412. 16444 0052 12B1 cbz r2, .L1476
  30413. 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30414. 16445 .loc 1 5751 9 is_stmt 1 view .LVU6099
  30415. 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30416. 16446 .loc 1 5751 12 is_stmt 0 view .LVU6100
  30417. 16447 0054 09B1 cbz r1, .L1476
  30418. 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30419. 16448 .loc 1 5753 11 is_stmt 1 view .LVU6101
  30420. 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30421. 16449 .loc 1 5753 15 is_stmt 0 view .LVU6102
  30422. 16450 0056 1268 ldr r2, [r2]
  30423. 16451 0058 5268 ldr r2, [r2, #4]
  30424. 16452 .LVL1053:
  30425. 16453 .L1476:
  30426. 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  30427. 16454 .loc 1 5762 9 is_stmt 1 view .LVU6103
  30428. 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  30429. 16455 .loc 1 5762 18 is_stmt 0 view .LVU6104
  30430. 16456 005a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  30431. 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  30432. 16457 .loc 1 5762 12 view .LVU6105
  30433. 16458 005e 282A cmp r2, #40
  30434. 16459 0060 5CD0 beq .L1528
  30435. 16460 .L1478:
  30436. 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30437. 16461 .loc 1 5769 14 is_stmt 1 view .LVU6106
  30438. 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30439. 16462 .loc 1 5769 23 is_stmt 0 view .LVU6107
  30440. 16463 0062 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  30441. 16464 .LVL1054:
  30442. 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30443. 16465 .loc 1 5769 17 view .LVU6108
  30444. 16466 0066 292B cmp r3, #41
  30445. 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30446. 16467 .loc 1 5772 11 view .LVU6109
  30447. 16468 0068 2368 ldr r3, [r4]
  30448. 16469 006a 4FF01002 mov r2, #16
  30449. 16470 006e DA61 str r2, [r3, #28]
  30450. 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 526
  30452. 16471 .loc 1 5769 17 view .LVU6110
  30453. 16472 0070 11D1 bne .L1471
  30454. 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30455. 16473 .loc 1 5769 64 discriminator 1 view .LVU6111
  30456. 16474 0072 15F5803F cmn r5, #65536
  30457. 16475 0076 0ED0 beq .L1471
  30458. 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30459. 16476 .loc 1 5772 11 is_stmt 1 view .LVU6112
  30460. 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30461. 16477 .loc 1 5775 11 view .LVU6113
  30462. 16478 .LVL1055:
  30463. 16479 .LBB752:
  30464. 16480 .LBI752:
  30465. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30466. 16481 .loc 1 6758 13 view .LVU6114
  30467. 16482 .LBB753:
  30468. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30469. 16483 .loc 1 6762 3 view .LVU6115
  30470. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30471. 16484 .loc 1 6762 7 is_stmt 0 view .LVU6116
  30472. 16485 0078 9A69 ldr r2, [r3, #24]
  30473. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30474. 16486 .loc 1 6762 6 view .LVU6117
  30475. 16487 007a 9507 lsls r5, r2, #30
  30476. 16488 .LVL1056:
  30477. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30478. 16489 .loc 1 6764 5 is_stmt 1 view .LVU6118
  30479. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30480. 16490 .loc 1 6768 3 view .LVU6119
  30481. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30482. 16491 .loc 1 6764 26 is_stmt 0 view .LVU6120
  30483. 16492 007c 44BF itt mi
  30484. 16493 007e 0022 movmi r2, #0
  30485. 16494 0080 9A62 strmi r2, [r3, #40]
  30486. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30487. 16495 .loc 1 6768 7 view .LVU6121
  30488. 16496 0082 9A69 ldr r2, [r3, #24]
  30489. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30490. 16497 .loc 1 6768 6 view .LVU6122
  30491. 16498 0084 D007 lsls r0, r2, #31
  30492. 16499 0086 03D4 bmi .L1481
  30493. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30494. 16500 .loc 1 6770 5 is_stmt 1 view .LVU6123
  30495. 16501 0088 9A69 ldr r2, [r3, #24]
  30496. 16502 008a 42F00102 orr r2, r2, #1
  30497. 16503 008e 9A61 str r2, [r3, #24]
  30498. 16504 .L1481:
  30499. 16505 .LVL1057:
  30500. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30501. 16506 .loc 1 6770 5 is_stmt 0 view .LVU6124
  30502. 16507 .LBE753:
  30503. 16508 .LBE752:
  30504. 5779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30505. 16509 .loc 1 5779 11 is_stmt 1 view .LVU6125
  30506. 16510 0090 2046 mov r0, r4
  30507. 16511 0092 FFF7FEFF bl I2C_ITSlaveSeqCplt
  30508. 16512 .LVL1058:
  30509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 527
  30510. 16513 .L1471:
  30511. 5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30512. 16514 .loc 1 5833 3 view .LVU6126
  30513. 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30514. 16515 .loc 1 5836 3 view .LVU6127
  30515. 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30516. 16516 .loc 1 5836 3 view .LVU6128
  30517. 16517 0096 0020 movs r0, #0
  30518. 16518 0098 84F84000 strb r0, [r4, #64]
  30519. 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30520. 16519 .loc 1 5836 3 view .LVU6129
  30521. 5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30522. 16520 .loc 1 5838 3 view .LVU6130
  30523. 16521 .L1524:
  30524. 5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30525. 16522 .loc 1 5839 1 is_stmt 0 view .LVU6131
  30526. 16523 009c 38BD pop {r3, r4, r5, pc}
  30527. 16524 .LVL1059:
  30528. 16525 .L1472:
  30529. 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  30530. 16526 .loc 1 5825 8 is_stmt 1 view .LVU6132
  30531. 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  30532. 16527 .loc 1 5825 11 is_stmt 0 view .LVU6133
  30533. 16528 009e 1907 lsls r1, r3, #28
  30534. 16529 00a0 F9D5 bpl .L1471
  30535. 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  30536. 16530 .loc 1 5825 62 discriminator 1 view .LVU6134
  30537. 16531 00a2 1307 lsls r3, r2, #28
  30538. 16532 .LVL1060:
  30539. 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET))
  30540. 16533 .loc 1 5825 62 discriminator 1 view .LVU6135
  30541. 16534 00a4 F7D5 bpl .L1471
  30542. 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30543. 16535 .loc 1 5828 5 is_stmt 1 view .LVU6136
  30544. 16536 .LVL1061:
  30545. 16537 .LBB754:
  30546. 16538 .LBI754:
  30547. 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30548. 16539 .loc 1 5957 13 view .LVU6137
  30549. 16540 .LBB755:
  30550. 5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode;
  30551. 16541 .loc 1 5959 3 view .LVU6138
  30552. 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code;
  30553. 16542 .loc 1 5960 3 view .LVU6139
  30554. 5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code;
  30555. 16543 .loc 1 5961 3 view .LVU6140
  30556. 5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30557. 16544 .loc 1 5962 3 view .LVU6141
  30558. 5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30559. 16545 .loc 1 5965 3 view .LVU6142
  30560. 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30561. 16546 .loc 1 5968 3 view .LVU6143
  30562. 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30563. 16547 .loc 1 5968 22 is_stmt 0 view .LVU6144
  30564. 16548 00a6 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  30565. 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30566. 16549 .loc 1 5968 6 view .LVU6145
  30567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 528
  30568. 16550 00aa 03F02803 and r3, r3, #40
  30569. 16551 00ae 282B cmp r3, #40
  30570. 16552 00b0 30D0 beq .L1529
  30571. 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30572. 16553 .loc 1 6040 5 is_stmt 1 view .LVU6146
  30573. 16554 00b2 2368 ldr r3, [r4]
  30574. 16555 00b4 0822 movs r2, #8
  30575. 16556 .LVL1062:
  30576. 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30577. 16557 .loc 1 6040 5 is_stmt 0 view .LVU6147
  30578. 16558 00b6 DA61 str r2, [r3, #28]
  30579. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30580. 16559 .loc 1 6043 5 is_stmt 1 view .LVU6148
  30581. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30582. 16560 .loc 1 6043 5 view .LVU6149
  30583. 16561 00b8 EDE7 b .L1471
  30584. 16562 .LVL1063:
  30585. 16563 .L1527:
  30586. 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30587. 16564 .loc 1 6043 5 is_stmt 0 view .LVU6150
  30588. 16565 .LBE755:
  30589. 16566 .LBE754:
  30590. 5724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30591. 16567 .loc 1 5724 5 is_stmt 1 view .LVU6151
  30592. 16568 00ba FFF7FEFF bl I2C_ITSlaveCplt
  30593. 16569 .LVL1064:
  30594. 5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30595. 16570 .loc 1 5833 3 view .LVU6152
  30596. 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30597. 16571 .loc 1 5836 3 view .LVU6153
  30598. 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30599. 16572 .loc 1 5836 3 view .LVU6154
  30600. 16573 00be 0020 movs r0, #0
  30601. 16574 00c0 84F84000 strb r0, [r4, #64]
  30602. 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30603. 16575 .loc 1 5836 3 view .LVU6155
  30604. 5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30605. 16576 .loc 1 5838 3 view .LVU6156
  30606. 16577 00c4 EAE7 b .L1524
  30607. 16578 .LVL1065:
  30608. 16579 .L1474:
  30609. 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30610. 16580 .loc 1 5749 7 view .LVU6157
  30611. 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30612. 16581 .loc 1 5749 15 is_stmt 0 view .LVU6158
  30613. 16582 00c6 A26B ldr r2, [r4, #56]
  30614. 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30615. 16583 .loc 1 5749 10 view .LVU6159
  30616. 16584 00c8 22B1 cbz r2, .L1477
  30617. 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30618. 16585 .loc 1 5751 9 is_stmt 1 view .LVU6160
  30619. 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30620. 16586 .loc 1 5751 12 is_stmt 0 view .LVU6161
  30621. 16587 00ca 19B1 cbz r1, .L1477
  30622. 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30623. 16588 .loc 1 5753 11 is_stmt 1 view .LVU6162
  30624. 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 529
  30626. 16589 .loc 1 5753 15 is_stmt 0 view .LVU6163
  30627. 16590 00cc 1268 ldr r2, [r2]
  30628. 16591 00ce 5268 ldr r2, [r2, #4]
  30629. 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30630. 16592 .loc 1 5753 14 view .LVU6164
  30631. 16593 00d0 002A cmp r2, #0
  30632. 16594 00d2 C2D0 beq .L1476
  30633. 16595 .L1477:
  30634. 16596 .LVL1066:
  30635. 5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30636. 16597 .loc 1 5791 9 is_stmt 1 view .LVU6165
  30637. 16598 00d4 2368 ldr r3, [r4]
  30638. 16599 .LVL1067:
  30639. 5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30640. 16600 .loc 1 5791 9 is_stmt 0 view .LVU6166
  30641. 16601 00d6 1022 movs r2, #16
  30642. 16602 00d8 DA61 str r2, [r3, #28]
  30643. 5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30644. 16603 .loc 1 5794 9 is_stmt 1 view .LVU6167
  30645. 5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30646. 16604 .loc 1 5794 25 is_stmt 0 view .LVU6168
  30647. 16605 00da 636C ldr r3, [r4, #68]
  30648. 16606 00dc 43F00403 orr r3, r3, #4
  30649. 16607 00e0 6364 str r3, [r4, #68]
  30650. 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30651. 16608 .loc 1 5797 9 is_stmt 1 view .LVU6169
  30652. 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30653. 16609 .loc 1 5797 18 is_stmt 0 view .LVU6170
  30654. 16610 00e2 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  30655. 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30656. 16611 .loc 1 5799 12 view .LVU6171
  30657. 16612 00e6 35F08072 bics r2, r5, #16777216
  30658. 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30659. 16613 .loc 1 5797 18 view .LVU6172
  30660. 16614 00ea DBB2 uxtb r3, r3
  30661. 16615 .LVL1068:
  30662. 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30663. 16616 .loc 1 5799 9 is_stmt 1 view .LVU6173
  30664. 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30665. 16617 .loc 1 5799 12 is_stmt 0 view .LVU6174
  30666. 16618 00ec D3D1 bne .L1471
  30667. 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30668. 16619 .loc 1 5801 11 is_stmt 1 view .LVU6175
  30669. 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30670. 16620 .loc 1 5801 14 is_stmt 0 view .LVU6176
  30671. 16621 00ee 03F0F703 and r3, r3, #247
  30672. 16622 .LVL1069:
  30673. 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30674. 16623 .loc 1 5801 14 view .LVU6177
  30675. 16624 00f2 212B cmp r3, #33
  30676. 16625 00f4 0CD0 beq .L1526
  30677. 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30678. 16626 .loc 1 5805 16 is_stmt 1 view .LVU6178
  30679. 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30680. 16627 .loc 1 5805 19 is_stmt 0 view .LVU6179
  30681. 16628 00f6 222B cmp r3, #34
  30682. 16629 00f8 0AD0 beq .L1526
  30683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 530
  30684. 16630 .L1484:
  30685. 5815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30686. 16631 .loc 1 5815 11 is_stmt 1 view .LVU6180
  30687. 16632 00fa 616C ldr r1, [r4, #68]
  30688. 16633 00fc 2046 mov r0, r4
  30689. 16634 00fe FFF7FEFF bl I2C_ITError
  30690. 16635 .LVL1070:
  30691. 16636 0102 C8E7 b .L1471
  30692. 16637 .LVL1071:
  30693. 16638 .L1490:
  30694. 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30695. 16639 .loc 1 5717 3 is_stmt 0 view .LVU6181
  30696. 16640 0104 0220 movs r0, #2
  30697. 16641 .LVL1072:
  30698. 5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30699. 16642 .loc 1 5839 1 view .LVU6182
  30700. 16643 0106 38BD pop {r3, r4, r5, pc}
  30701. 16644 .LVL1073:
  30702. 16645 .L1473:
  30703. 5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30704. 16646 .loc 1 5822 7 is_stmt 1 view .LVU6183
  30705. 16647 0108 2368 ldr r3, [r4]
  30706. 16648 .LVL1074:
  30707. 5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30708. 16649 .loc 1 5822 7 is_stmt 0 view .LVU6184
  30709. 16650 010a 1022 movs r2, #16
  30710. 16651 010c DA61 str r2, [r3, #28]
  30711. 16652 010e C2E7 b .L1471
  30712. 16653 .LVL1075:
  30713. 16654 .L1526:
  30714. 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30715. 16655 .loc 1 5807 13 is_stmt 1 view .LVU6185
  30716. 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30717. 16656 .loc 1 5807 33 is_stmt 0 view .LVU6186
  30718. 16657 0110 2363 str r3, [r4, #48]
  30719. 16658 0112 F2E7 b .L1484
  30720. 16659 .LVL1076:
  30721. 16660 .L1529:
  30722. 16661 .LBB757:
  30723. 16662 .LBB756:
  30724. 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30725. 16663 .loc 1 5807 33 view .LVU6187
  30726. 16664 0114 2046 mov r0, r4
  30727. 16665 0116 FFF7FEFF bl I2C_ITAddrCplt.part.0
  30728. 16666 .LVL1077:
  30729. 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30730. 16667 .loc 1 5807 33 view .LVU6188
  30731. 16668 011a BCE7 b .L1471
  30732. 16669 .LVL1078:
  30733. 16670 .L1528:
  30734. 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30735. 16671 .loc 1 5807 33 view .LVU6189
  30736. 16672 .LBE756:
  30737. 16673 .LBE757:
  30738. 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for
  30739. 16674 .loc 1 5762 51 discriminator 1 view .LVU6190
  30740. 16675 011c B5F1007F cmp r5, #33554432
  30741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 531
  30742. 16676 0120 9FD1 bne .L1478
  30743. 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30744. 16677 .loc 1 5767 11 is_stmt 1 view .LVU6191
  30745. 16678 0122 1946 mov r1, r3
  30746. 16679 0124 2046 mov r0, r4
  30747. 16680 0126 FFF7FEFF bl I2C_ITListenCplt
  30748. 16681 .LVL1079:
  30749. 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30750. 16682 .loc 1 5767 11 is_stmt 0 view .LVU6192
  30751. 16683 012a B4E7 b .L1471
  30752. 16684 .cfi_endproc
  30753. 16685 .LFE184:
  30754. 16687 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
  30755. 16688 .align 1
  30756. 16689 .p2align 2,,3
  30757. 16690 .syntax unified
  30758. 16691 .thumb
  30759. 16692 .thumb_func
  30760. 16694 I2C_Master_ISR_DMA:
  30761. 16695 .LVL1080:
  30762. 16696 .LFB182:
  30763. 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  30764. 16697 .loc 1 5399 1 is_stmt 1 view -0
  30765. 16698 .cfi_startproc
  30766. 16699 @ args = 0, pretend = 0, frame = 0
  30767. 16700 @ frame_needed = 0, uses_anonymous_args = 0
  30768. 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode;
  30769. 16701 .loc 1 5400 3 view .LVU6194
  30770. 5401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30771. 16702 .loc 1 5401 3 view .LVU6195
  30772. 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30773. 16703 .loc 1 5404 3 view .LVU6196
  30774. 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30775. 16704 .loc 1 5404 3 view .LVU6197
  30776. 16705 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  30777. 16706 0004 012B cmp r3, #1
  30778. 16707 0006 00F08580 beq .L1549
  30779. 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30780. 16708 .loc 1 5404 3 discriminator 2 view .LVU6198
  30781. 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  30782. 16709 .loc 1 5399 1 is_stmt 0 discriminator 2 view .LVU6199
  30783. 16710 000a 10B5 push {r4, lr}
  30784. 16711 .LCFI203:
  30785. 16712 .cfi_def_cfa_offset 8
  30786. 16713 .cfi_offset 4, -8
  30787. 16714 .cfi_offset 14, -4
  30788. 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30789. 16715 .loc 1 5404 3 discriminator 2 view .LVU6200
  30790. 16716 000c 0123 movs r3, #1
  30791. 16717 000e 80F84030 strb r3, [r0, #64]
  30792. 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30793. 16718 .loc 1 5404 3 is_stmt 1 discriminator 2 view .LVU6201
  30794. 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30795. 16719 .loc 1 5406 3 discriminator 2 view .LVU6202
  30796. 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30797. 16720 .loc 1 5406 6 is_stmt 0 discriminator 2 view .LVU6203
  30798. 16721 0012 CB06 lsls r3, r1, #27
  30799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 532
  30800. 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress;
  30801. 16722 .loc 1 5399 1 discriminator 2 view .LVU6204
  30802. 16723 0014 82B0 sub sp, sp, #8
  30803. 16724 .LCFI204:
  30804. 16725 .cfi_def_cfa_offset 16
  30805. 16726 0016 0446 mov r4, r0
  30806. 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30807. 16727 .loc 1 5406 6 discriminator 2 view .LVU6205
  30808. 16728 0018 01D5 bpl .L1532
  30809. 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30810. 16729 .loc 1 5406 55 discriminator 1 view .LVU6206
  30811. 16730 001a D006 lsls r0, r2, #27
  30812. 16731 .LVL1081:
  30813. 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  30814. 16732 .loc 1 5406 55 discriminator 1 view .LVU6207
  30815. 16733 001c 57D4 bmi .L1579
  30816. 16734 .L1532:
  30817. 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  30818. 16735 .loc 1 5423 8 is_stmt 1 view .LVU6208
  30819. 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  30820. 16736 .loc 1 5423 11 is_stmt 0 view .LVU6209
  30821. 16737 001e 0806 lsls r0, r1, #24
  30822. 16738 0020 38D5 bpl .L1537
  30823. 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  30824. 16739 .loc 1 5423 61 discriminator 1 view .LVU6210
  30825. 16740 0022 5306 lsls r3, r2, #25
  30826. 16741 0024 4BD5 bpl .L1538
  30827. 5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30828. 16742 .loc 1 5427 5 is_stmt 1 view .LVU6211
  30829. 16743 0026 2368 ldr r3, [r4]
  30830. 16744 0028 1A68 ldr r2, [r3]
  30831. 16745 .LVL1082:
  30832. 5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30833. 16746 .loc 1 5427 5 is_stmt 0 view .LVU6212
  30834. 16747 002a 22F04002 bic r2, r2, #64
  30835. 16748 002e 1A60 str r2, [r3]
  30836. 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30837. 16749 .loc 1 5429 5 is_stmt 1 view .LVU6213
  30838. 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30839. 16750 .loc 1 5429 13 is_stmt 0 view .LVU6214
  30840. 16751 0030 628D ldrh r2, [r4, #42]
  30841. 16752 0032 92B2 uxth r2, r2
  30842. 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30843. 16753 .loc 1 5429 8 view .LVU6215
  30844. 16754 0034 002A cmp r2, #0
  30845. 16755 0036 6FD0 beq .L1539
  30846. 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30847. 16756 .loc 1 5432 7 is_stmt 1 view .LVU6216
  30848. 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30849. 16757 .loc 1 5432 45 is_stmt 0 view .LVU6217
  30850. 16758 0038 5968 ldr r1, [r3, #4]
  30851. 16759 .LVL1083:
  30852. 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30853. 16760 .loc 1 5435 15 view .LVU6218
  30854. 16761 003a 628D ldrh r2, [r4, #42]
  30855. 16762 003c 92B2 uxth r2, r2
  30856. 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 533
  30858. 16763 .loc 1 5435 10 view .LVU6219
  30859. 16764 003e FF2A cmp r2, #255
  30860. 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30861. 16765 .loc 1 5432 18 view .LVU6220
  30862. 16766 0040 C1F30901 ubfx r1, r1, #0, #10
  30863. 16767 .LVL1084:
  30864. 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30865. 16768 .loc 1 5435 7 is_stmt 1 view .LVU6221
  30866. 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30867. 16769 .loc 1 5435 10 is_stmt 0 view .LVU6222
  30868. 16770 0044 76D8 bhi .L1580
  30869. 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  30870. 16771 .loc 1 5450 9 is_stmt 1 view .LVU6223
  30871. 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  30872. 16772 .loc 1 5450 30 is_stmt 0 view .LVU6224
  30873. 16773 0046 628D ldrh r2, [r4, #42]
  30874. 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30875. 16774 .loc 1 5451 17 view .LVU6225
  30876. 16775 0048 E36A ldr r3, [r4, #44]
  30877. 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30878. 16776 .loc 1 5451 12 view .LVU6226
  30879. 16777 004a 13F5803F cmn r3, #65536
  30880. 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  30881. 16778 .loc 1 5450 30 view .LVU6227
  30882. 16779 004e 92B2 uxth r2, r2
  30883. 5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30884. 16780 .loc 1 5453 20 view .LVU6228
  30885. 16781 0050 18BF it ne
  30886. 16782 0052 E36A ldrne r3, [r4, #44]
  30887. 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
  30888. 16783 .loc 1 5450 24 view .LVU6229
  30889. 16784 0054 2285 strh r2, [r4, #40] @ movhi
  30890. 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30891. 16785 .loc 1 5451 9 is_stmt 1 view .LVU6230
  30892. 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30893. 16786 .loc 1 5457 20 is_stmt 0 view .LVU6231
  30894. 16787 0056 06BF itte eq
  30895. 16788 0058 4FF00073 moveq r3, #33554432
  30896. 5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30897. 16789 .loc 1 5453 11 is_stmt 1 view .LVU6232
  30898. 16790 .LVL1085:
  30899. 5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30900. 16791 .loc 1 5462 7 is_stmt 0 view .LVU6233
  30901. 16792 005c D2B2 uxtbeq r2, r2
  30902. 16793 005e D2B2 uxtbne r2, r2
  30903. 16794 .LVL1086:
  30904. 16795 .L1542:
  30905. 5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30906. 16796 .loc 1 5462 7 is_stmt 1 view .LVU6234
  30907. 16797 0060 0020 movs r0, #0
  30908. 16798 0062 0090 str r0, [sp]
  30909. 16799 0064 2046 mov r0, r4
  30910. 16800 0066 FFF7FEFF bl I2C_TransferConfig
  30911. 16801 .LVL1087:
  30912. 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30913. 16802 .loc 1 5465 7 view .LVU6235
  30914. 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 534
  30916. 16803 .loc 1 5465 23 is_stmt 0 view .LVU6236
  30917. 16804 006a 638D ldrh r3, [r4, #42]
  30918. 16805 006c 228D ldrh r2, [r4, #40]
  30919. 16806 006e 9B1A subs r3, r3, r2
  30920. 16807 0070 9BB2 uxth r3, r3
  30921. 16808 0072 6385 strh r3, [r4, #42] @ movhi
  30922. 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30923. 16809 .loc 1 5468 7 is_stmt 1 view .LVU6237
  30924. 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30925. 16810 .loc 1 5468 15 is_stmt 0 view .LVU6238
  30926. 16811 0074 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
  30927. 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30928. 16812 .loc 1 5470 13 view .LVU6239
  30929. 16813 0078 2268 ldr r2, [r4]
  30930. 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30931. 16814 .loc 1 5468 10 view .LVU6240
  30932. 16815 007a 222B cmp r3, #34
  30933. 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30934. 16816 .loc 1 5470 29 view .LVU6241
  30935. 16817 007c 1368 ldr r3, [r2]
  30936. 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30937. 16818 .loc 1 5470 9 is_stmt 1 view .LVU6242
  30938. 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30939. 16819 .loc 1 5470 29 is_stmt 0 view .LVU6243
  30940. 16820 007e 0CBF ite eq
  30941. 16821 0080 43F40043 orreq r3, r3, #32768
  30942. 5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30943. 16822 .loc 1 5474 9 is_stmt 1 view .LVU6244
  30944. 5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30945. 16823 .loc 1 5474 29 is_stmt 0 view .LVU6245
  30946. 16824 0084 43F48043 orrne r3, r3, #16384
  30947. 16825 0088 1360 str r3, [r2]
  30948. 16826 .L1536:
  30949. 5529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30950. 16827 .loc 1 5529 3 is_stmt 1 view .LVU6246
  30951. 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30952. 16828 .loc 1 5532 3 view .LVU6247
  30953. 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30954. 16829 .loc 1 5532 3 view .LVU6248
  30955. 16830 008a 0020 movs r0, #0
  30956. 16831 008c 84F84000 strb r0, [r4, #64]
  30957. 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30958. 16832 .loc 1 5532 3 view .LVU6249
  30959. 5534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  30960. 16833 .loc 1 5534 3 view .LVU6250
  30961. 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  30962. 16834 .loc 1 5535 1 is_stmt 0 view .LVU6251
  30963. 16835 0090 02B0 add sp, sp, #8
  30964. 16836 .LCFI205:
  30965. 16837 .cfi_remember_state
  30966. 16838 .cfi_def_cfa_offset 8
  30967. 16839 @ sp needed
  30968. 16840 0092 10BD pop {r4, pc}
  30969. 16841 .LVL1088:
  30970. 16842 .L1537:
  30971. 16843 .LCFI206:
  30972. 16844 .cfi_restore_state
  30973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 535
  30974. 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  30975. 16845 .loc 1 5493 8 is_stmt 1 view .LVU6252
  30976. 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  30977. 16846 .loc 1 5493 11 is_stmt 0 view .LVU6253
  30978. 16847 0094 4B06 lsls r3, r1, #25
  30979. 16848 0096 12D5 bpl .L1538
  30980. 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  30981. 16849 .loc 1 5493 60 discriminator 1 view .LVU6254
  30982. 16850 0098 5006 lsls r0, r2, #25
  30983. 16851 009a 10D5 bpl .L1538
  30984. 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30985. 16852 .loc 1 5496 5 is_stmt 1 view .LVU6255
  30986. 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30987. 16853 .loc 1 5496 13 is_stmt 0 view .LVU6256
  30988. 16854 009c 638D ldrh r3, [r4, #42]
  30989. 16855 009e 9BB2 uxth r3, r3
  30990. 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30991. 16856 .loc 1 5496 8 view .LVU6257
  30992. 16857 00a0 002B cmp r3, #0
  30993. 16858 00a2 40D1 bne .L1545
  30994. 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30995. 16859 .loc 1 5498 7 is_stmt 1 view .LVU6258
  30996. 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  30997. 16860 .loc 1 5498 11 is_stmt 0 view .LVU6259
  30998. 16861 00a4 2368 ldr r3, [r4]
  30999. 16862 00a6 5A68 ldr r2, [r3, #4]
  31000. 16863 .LVL1089:
  31001. 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31002. 16864 .loc 1 5498 10 view .LVU6260
  31003. 16865 00a8 9101 lsls r1, r2, #6
  31004. 16866 .LVL1090:
  31005. 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31006. 16867 .loc 1 5498 10 view .LVU6261
  31007. 16868 00aa EED4 bmi .L1536
  31008. 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31009. 16869 .loc 1 5501 9 is_stmt 1 view .LVU6262
  31010. 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31011. 16870 .loc 1 5501 17 is_stmt 0 view .LVU6263
  31012. 16871 00ac E26A ldr r2, [r4, #44]
  31013. 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31014. 16872 .loc 1 5501 12 view .LVU6264
  31015. 16873 00ae 12F5803F cmn r2, #65536
  31016. 16874 00b2 34D1 bne .L1547
  31017. 5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31018. 16875 .loc 1 5504 11 is_stmt 1 view .LVU6265
  31019. 5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31020. 16876 .loc 1 5504 31 is_stmt 0 view .LVU6266
  31021. 16877 00b4 5A68 ldr r2, [r3, #4]
  31022. 16878 00b6 42F48042 orr r2, r2, #16384
  31023. 16879 00ba 5A60 str r2, [r3, #4]
  31024. 16880 00bc E5E7 b .L1536
  31025. 16881 .LVL1091:
  31026. 16882 .L1538:
  31027. 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  31028. 16883 .loc 1 5493 8 is_stmt 1 view .LVU6267
  31029. 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  31030. 16884 .loc 1 5520 8 view .LVU6268
  31031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 536
  31032. 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  31033. 16885 .loc 1 5520 11 is_stmt 0 view .LVU6269
  31034. 16886 00be 8B06 lsls r3, r1, #26
  31035. 16887 00c0 E3D5 bpl .L1536
  31036. 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  31037. 16888 .loc 1 5520 63 discriminator 1 view .LVU6270
  31038. 16889 00c2 9206 lsls r2, r2, #26
  31039. 16890 .LVL1092:
  31040. 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  31041. 16891 .loc 1 5520 63 discriminator 1 view .LVU6271
  31042. 16892 00c4 E1D5 bpl .L1536
  31043. 5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31044. 16893 .loc 1 5524 5 is_stmt 1 view .LVU6272
  31045. 16894 00c6 2046 mov r0, r4
  31046. 16895 00c8 FFF7FEFF bl I2C_ITMasterCplt
  31047. 16896 .LVL1093:
  31048. 5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31049. 16897 .loc 1 5524 5 is_stmt 0 view .LVU6273
  31050. 16898 00cc DDE7 b .L1536
  31051. 16899 .LVL1094:
  31052. 16900 .L1579:
  31053. 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31054. 16901 .loc 1 5410 5 is_stmt 1 view .LVU6274
  31055. 16902 00ce 2368 ldr r3, [r4]
  31056. 16903 .LBB762:
  31057. 16904 .LBB763:
  31058. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31059. 16905 .loc 1 7364 6 is_stmt 0 view .LVU6275
  31060. 16906 00d0 1E48 ldr r0, .L1581
  31061. 16907 .LBE763:
  31062. 16908 .LBE762:
  31063. 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31064. 16909 .loc 1 5410 5 view .LVU6276
  31065. 16910 00d2 1022 movs r2, #16
  31066. 16911 .LVL1095:
  31067. 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31068. 16912 .loc 1 5410 5 view .LVU6277
  31069. 16913 00d4 DA61 str r2, [r3, #28]
  31070. 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31071. 16914 .loc 1 5413 5 is_stmt 1 view .LVU6278
  31072. 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31073. 16915 .loc 1 5413 21 is_stmt 0 view .LVU6279
  31074. 16916 00d6 616C ldr r1, [r4, #68]
  31075. 16917 .LVL1096:
  31076. 16918 .LBB768:
  31077. 16919 .LBB764:
  31078. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31079. 16920 .loc 1 7364 12 view .LVU6280
  31080. 16921 00d8 626B ldr r2, [r4, #52]
  31081. 16922 .LBE764:
  31082. 16923 .LBE768:
  31083. 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31084. 16924 .loc 1 5413 21 view .LVU6281
  31085. 16925 00da 41F00401 orr r1, r1, #4
  31086. 16926 .LBB769:
  31087. 16927 .LBB765:
  31088. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 537
  31090. 16928 .loc 1 7364 6 view .LVU6282
  31091. 16929 00de 8242 cmp r2, r0
  31092. 16930 .LBE765:
  31093. 16931 .LBE769:
  31094. 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31095. 16932 .loc 1 5413 21 view .LVU6283
  31096. 16933 00e0 6164 str r1, [r4, #68]
  31097. 5418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31098. 16934 .loc 1 5418 5 is_stmt 1 view .LVU6284
  31099. 16935 .LVL1097:
  31100. 16936 .LBB770:
  31101. 16937 .LBI762:
  31102. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31103. 16938 .loc 1 7360 13 view .LVU6285
  31104. 16939 .LBB766:
  31105. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31106. 16940 .loc 1 7362 3 view .LVU6286
  31107. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31108. 16941 .loc 1 7364 3 view .LVU6287
  31109. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31110. 16942 .loc 1 7364 6 is_stmt 0 view .LVU6288
  31111. 16943 00e2 25D0 beq .L1551
  31112. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31113. 16944 .loc 1 7364 45 view .LVU6289
  31114. 16945 00e4 1A49 ldr r1, .L1581+4
  31115. 16946 00e6 8A42 cmp r2, r1
  31116. 16947 00e8 22D0 beq .L1551
  31117. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  31118. 16948 .loc 1 7365 44 view .LVU6290
  31119. 16949 00ea 1A49 ldr r1, .L1581+8
  31120. 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31121. 16950 .loc 1 7395 14 view .LVU6291
  31122. 16951 00ec 8A42 cmp r2, r1
  31123. 16952 00ee 0CBF ite eq
  31124. 16953 00f0 6022 moveq r2, #96
  31125. 16954 00f2 2022 movne r2, #32
  31126. 16955 .L1533:
  31127. 16956 .LVL1098:
  31128. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31129. 16957 .loc 1 7441 3 is_stmt 1 view .LVU6292
  31130. 16958 00f4 1968 ldr r1, [r3]
  31131. 16959 00f6 0A43 orrs r2, r2, r1
  31132. 16960 .LVL1099:
  31133. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31134. 16961 .loc 1 7441 3 is_stmt 0 view .LVU6293
  31135. 16962 00f8 1A60 str r2, [r3]
  31136. 16963 .LVL1100:
  31137. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31138. 16964 .loc 1 7441 3 view .LVU6294
  31139. 16965 .LBE766:
  31140. 16966 .LBE770:
  31141. 5421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31142. 16967 .loc 1 5421 5 is_stmt 1 view .LVU6295
  31143. 16968 .LBB771:
  31144. 16969 .LBI771:
  31145. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31146. 16970 .loc 1 6758 13 view .LVU6296
  31147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 538
  31148. 16971 .LBB772:
  31149. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31150. 16972 .loc 1 6762 3 view .LVU6297
  31151. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31152. 16973 .loc 1 6762 7 is_stmt 0 view .LVU6298
  31153. 16974 00fa 9A69 ldr r2, [r3, #24]
  31154. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31155. 16975 .loc 1 6762 6 view .LVU6299
  31156. 16976 00fc 9107 lsls r1, r2, #30
  31157. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31158. 16977 .loc 1 6764 5 is_stmt 1 view .LVU6300
  31159. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31160. 16978 .loc 1 6768 3 view .LVU6301
  31161. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31162. 16979 .loc 1 6764 26 is_stmt 0 view .LVU6302
  31163. 16980 00fe 44BF itt mi
  31164. 16981 0100 0022 movmi r2, #0
  31165. 16982 0102 9A62 strmi r2, [r3, #40]
  31166. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31167. 16983 .loc 1 6768 7 view .LVU6303
  31168. 16984 0104 9A69 ldr r2, [r3, #24]
  31169. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31170. 16985 .loc 1 6768 6 view .LVU6304
  31171. 16986 0106 D207 lsls r2, r2, #31
  31172. 16987 0108 BFD4 bmi .L1536
  31173. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31174. 16988 .loc 1 6770 5 is_stmt 1 view .LVU6305
  31175. 16989 010a 9A69 ldr r2, [r3, #24]
  31176. 16990 010c 42F00102 orr r2, r2, #1
  31177. 16991 0110 9A61 str r2, [r3, #24]
  31178. 16992 0112 BAE7 b .L1536
  31179. 16993 .LVL1101:
  31180. 16994 .L1549:
  31181. 16995 .LCFI207:
  31182. 16996 .cfi_def_cfa_offset 0
  31183. 16997 .cfi_restore 4
  31184. 16998 .cfi_restore 14
  31185. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31186. 16999 .loc 1 6770 5 is_stmt 0 view .LVU6306
  31187. 17000 .LBE772:
  31188. 17001 .LBE771:
  31189. 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31190. 17002 .loc 1 5404 3 view .LVU6307
  31191. 17003 0114 0220 movs r0, #2
  31192. 17004 .LVL1102:
  31193. 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31194. 17005 .loc 1 5535 1 view .LVU6308
  31195. 17006 0116 7047 bx lr
  31196. 17007 .LVL1103:
  31197. 17008 .L1539:
  31198. 17009 .LCFI208:
  31199. 17010 .cfi_def_cfa_offset 16
  31200. 17011 .cfi_offset 4, -8
  31201. 17012 .cfi_offset 14, -4
  31202. 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31203. 17013 .loc 1 5480 7 is_stmt 1 view .LVU6309
  31204. 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 539
  31206. 17014 .loc 1 5480 11 is_stmt 0 view .LVU6310
  31207. 17015 0118 5B68 ldr r3, [r3, #4]
  31208. 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31209. 17016 .loc 1 5480 10 view .LVU6311
  31210. 17017 011a 9A01 lsls r2, r3, #6
  31211. 17018 011c 03D4 bmi .L1545
  31212. 17019 .LVL1104:
  31213. 17020 .L1547:
  31214. 5483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31215. 17021 .loc 1 5483 9 is_stmt 1 view .LVU6312
  31216. 17022 011e 2046 mov r0, r4
  31217. 17023 0120 FFF7FEFF bl I2C_ITMasterSeqCplt
  31218. 17024 .LVL1105:
  31219. 17025 0124 B1E7 b .L1536
  31220. 17026 .LVL1106:
  31221. 17027 .L1545:
  31222. 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31223. 17028 .loc 1 5489 9 view .LVU6313
  31224. 17029 0126 4021 movs r1, #64
  31225. 17030 .LVL1107:
  31226. 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31227. 17031 .loc 1 5489 9 is_stmt 0 view .LVU6314
  31228. 17032 0128 2046 mov r0, r4
  31229. 17033 012a FFF7FEFF bl I2C_ITError
  31230. 17034 .LVL1108:
  31231. 17035 012e ACE7 b .L1536
  31232. 17036 .LVL1109:
  31233. 17037 .L1551:
  31234. 17038 .LBB773:
  31235. 17039 .LBB767:
  31236. 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31237. 17040 .loc 1 5489 9 view .LVU6315
  31238. 17041 0130 6022 movs r2, #96
  31239. 17042 0132 DFE7 b .L1533
  31240. 17043 .LVL1110:
  31241. 17044 .L1580:
  31242. 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31243. 17045 .loc 1 5489 9 view .LVU6316
  31244. 17046 .LBE767:
  31245. 17047 .LBE773:
  31246. 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31247. 17048 .loc 1 5438 9 is_stmt 1 view .LVU6317
  31248. 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31249. 17049 .loc 1 5438 13 is_stmt 0 view .LVU6318
  31250. 17050 0134 9B69 ldr r3, [r3, #24]
  31251. 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31252. 17051 .loc 1 5438 12 view .LVU6319
  31253. 17052 0136 D803 lsls r0, r3, #15
  31254. 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31255. 17053 .loc 1 5440 11 is_stmt 1 view .LVU6320
  31256. 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31257. 17054 .loc 1 5438 13 is_stmt 0 view .LVU6321
  31258. 17055 0138 C3F30042 ubfx r2, r3, #16, #1
  31259. 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31260. 17056 .loc 1 5440 26 view .LVU6322
  31261. 17057 013c 4BBF itete mi
  31262. 17058 013e 0123 movmi r3, #1
  31263. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 540
  31264. 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31265. 17059 .loc 1 5444 26 view .LVU6323
  31266. 17060 0140 FF22 movpl r2, #255
  31267. 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31268. 17061 .loc 1 5440 26 view .LVU6324
  31269. 17062 0142 2385 strhmi r3, [r4, #40] @ movhi
  31270. 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31271. 17063 .loc 1 5444 11 is_stmt 1 view .LVU6325
  31272. 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31273. 17064 .loc 1 5444 26 is_stmt 0 view .LVU6326
  31274. 17065 0144 2285 strhpl r2, [r4, #40] @ movhi
  31275. 5446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31276. 17066 .loc 1 5446 18 view .LVU6327
  31277. 17067 0146 4FF08073 mov r3, #16777216
  31278. 17068 014a 89E7 b .L1542
  31279. 17069 .L1582:
  31280. 17070 .align 2
  31281. 17071 .L1581:
  31282. 17072 014c 00000000 .word I2C_Master_ISR_DMA
  31283. 17073 0150 00000000 .word I2C_Slave_ISR_DMA
  31284. 17074 0154 00000000 .word I2C_Mem_ISR_DMA
  31285. 17075 .cfi_endproc
  31286. 17076 .LFE182:
  31287. 17078 .section .text.I2C_DMAError,"ax",%progbits
  31288. 17079 .align 1
  31289. 17080 .p2align 2,,3
  31290. 17081 .syntax unified
  31291. 17082 .thumb
  31292. 17083 .thumb_func
  31293. 17085 I2C_DMAError:
  31294. 17086 .LVL1111:
  31295. 17087 .LFB200:
  31296. 6948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  31297. 17088 .loc 1 6948 1 is_stmt 1 view -0
  31298. 17089 .cfi_startproc
  31299. 17090 @ args = 0, pretend = 0, frame = 0
  31300. 17091 @ frame_needed = 0, uses_anonymous_args = 0
  31301. 17092 @ link register save eliminated.
  31302. 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31303. 17093 .loc 1 6950 3 view .LVU6329
  31304. 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31305. 17094 .loc 1 6950 22 is_stmt 0 view .LVU6330
  31306. 17095 0000 406A ldr r0, [r0, #36]
  31307. 17096 .LVL1112:
  31308. 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31309. 17097 .loc 1 6953 3 is_stmt 1 view .LVU6331
  31310. 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31311. 17098 .loc 1 6953 7 is_stmt 0 view .LVU6332
  31312. 17099 0002 0268 ldr r2, [r0]
  31313. 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31314. 17100 .loc 1 6953 23 view .LVU6333
  31315. 17101 0004 5368 ldr r3, [r2, #4]
  31316. 17102 0006 43F40043 orr r3, r3, #32768
  31317. 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31318. 17103 .loc 1 6956 3 view .LVU6334
  31319. 17104 000a 1021 movs r1, #16
  31320. 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31321. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 541
  31322. 17105 .loc 1 6953 23 view .LVU6335
  31323. 17106 000c 5360 str r3, [r2, #4]
  31324. 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31325. 17107 .loc 1 6956 3 is_stmt 1 view .LVU6336
  31326. 17108 000e FFF7FEBF b I2C_ITError
  31327. 17109 .LVL1113:
  31328. 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31329. 17110 .loc 1 6956 3 is_stmt 0 view .LVU6337
  31330. 17111 .cfi_endproc
  31331. 17112 .LFE200:
  31332. 17114 0012 00BF .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
  31333. 17115 .align 1
  31334. 17116 .p2align 2,,3
  31335. 17117 .syntax unified
  31336. 17118 .thumb
  31337. 17119 .thumb_func
  31338. 17121 I2C_DMAMasterTransmitCplt:
  31339. 17122 .LVL1114:
  31340. 17123 .LFB196:
  31341. 6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  31342. 17124 .loc 1 6780 1 is_stmt 1 view -0
  31343. 17125 .cfi_startproc
  31344. 17126 @ args = 0, pretend = 0, frame = 0
  31345. 17127 @ frame_needed = 0, uses_anonymous_args = 0
  31346. 6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31347. 17128 .loc 1 6782 3 view .LVU6339
  31348. 6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  31349. 17129 .loc 1 6780 1 is_stmt 0 view .LVU6340
  31350. 17130 0000 10B5 push {r4, lr}
  31351. 17131 .LCFI209:
  31352. 17132 .cfi_def_cfa_offset 8
  31353. 17133 .cfi_offset 4, -8
  31354. 17134 .cfi_offset 14, -4
  31355. 6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31356. 17135 .loc 1 6782 22 view .LVU6341
  31357. 17136 0002 446A ldr r4, [r0, #36]
  31358. 17137 .LVL1115:
  31359. 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31360. 17138 .loc 1 6785 3 is_stmt 1 view .LVU6342
  31361. 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31362. 17139 .loc 1 6785 7 is_stmt 0 view .LVU6343
  31363. 17140 0004 2268 ldr r2, [r4]
  31364. 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31365. 17141 .loc 1 6785 23 view .LVU6344
  31366. 17142 0006 1368 ldr r3, [r2]
  31367. 17143 0008 23F48043 bic r3, r3, #16384
  31368. 17144 000c 1360 str r3, [r2]
  31369. 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31370. 17145 .loc 1 6788 3 is_stmt 1 view .LVU6345
  31371. 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31372. 17146 .loc 1 6788 11 is_stmt 0 view .LVU6346
  31373. 17147 000e 638D ldrh r3, [r4, #42]
  31374. 17148 0010 9BB2 uxth r3, r3
  31375. 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31376. 17149 .loc 1 6788 6 view .LVU6347
  31377. 17150 0012 53B3 cbz r3, .L1599
  31378. 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31379. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 542
  31380. 17151 .loc 1 6797 5 is_stmt 1 view .LVU6348
  31381. 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31382. 17152 .loc 1 6800 13 is_stmt 0 view .LVU6349
  31383. 17153 0014 638D ldrh r3, [r4, #42]
  31384. 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31385. 17154 .loc 1 6797 20 view .LVU6350
  31386. 17155 0016 616A ldr r1, [r4, #36]
  31387. 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31388. 17156 .loc 1 6797 27 view .LVU6351
  31389. 17157 0018 208D ldrh r0, [r4, #40]
  31390. 17158 .LVL1116:
  31391. 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31392. 17159 .loc 1 6800 13 view .LVU6352
  31393. 17160 001a 9BB2 uxth r3, r3
  31394. 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31395. 17161 .loc 1 6797 20 view .LVU6353
  31396. 17162 001c 0144 add r1, r1, r0
  31397. 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31398. 17163 .loc 1 6800 8 view .LVU6354
  31399. 17164 001e FF2B cmp r3, #255
  31400. 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31401. 17165 .loc 1 6797 20 view .LVU6355
  31402. 17166 0020 6162 str r1, [r4, #36]
  31403. 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31404. 17167 .loc 1 6800 5 is_stmt 1 view .LVU6356
  31405. 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31406. 17168 .loc 1 6800 8 is_stmt 0 view .LVU6357
  31407. 17169 0022 0ED8 bhi .L1594
  31408. 6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31409. 17170 .loc 1 6806 7 is_stmt 1 view .LVU6358
  31410. 6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31411. 17171 .loc 1 6806 28 is_stmt 0 view .LVU6359
  31412. 17172 0024 608D ldrh r0, [r4, #42]
  31413. 17173 0026 80B2 uxth r0, r0
  31414. 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31415. 17174 .loc 1 6810 9 view .LVU6360
  31416. 17175 0028 0346 mov r3, r0
  31417. 17176 .L1588:
  31418. 17177 002a 2085 strh r0, [r4, #40] @ movhi
  31419. 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31420. 17178 .loc 1 6810 5 is_stmt 1 view .LVU6361
  31421. 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31422. 17179 .loc 1 6810 9 is_stmt 0 view .LVU6362
  31423. 17180 002c 2832 adds r2, r2, #40
  31424. 17181 002e A06B ldr r0, [r4, #56]
  31425. 17182 0030 FFF7FEFF bl HAL_DMA_Start_IT
  31426. 17183 .LVL1117:
  31427. 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31428. 17184 .loc 1 6810 8 view .LVU6363
  31429. 17185 0034 40B1 cbz r0, .L1589
  31430. 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31431. 17186 .loc 1 6814 7 is_stmt 1 view .LVU6364
  31432. 17187 0036 2046 mov r0, r4
  31433. 17188 0038 1021 movs r1, #16
  31434. 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31435. 17189 .loc 1 6822 1 is_stmt 0 view .LVU6365
  31436. 17190 003a BDE81040 pop {r4, lr}
  31437. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 543
  31438. 17191 .LCFI210:
  31439. 17192 .cfi_remember_state
  31440. 17193 .cfi_restore 14
  31441. 17194 .cfi_restore 4
  31442. 17195 .cfi_def_cfa_offset 0
  31443. 17196 .LVL1118:
  31444. 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31445. 17197 .loc 1 6814 7 view .LVU6366
  31446. 17198 003e FFF7FEBF b I2C_ITError
  31447. 17199 .LVL1119:
  31448. 17200 .L1594:
  31449. 17201 .LCFI211:
  31450. 17202 .cfi_restore_state
  31451. 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31452. 17203 .loc 1 6814 7 view .LVU6367
  31453. 17204 0042 FF23 movs r3, #255
  31454. 6802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31455. 17205 .loc 1 6802 22 view .LVU6368
  31456. 17206 0044 1846 mov r0, r3
  31457. 17207 0046 F0E7 b .L1588
  31458. 17208 .L1589:
  31459. 6819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31460. 17209 .loc 1 6819 7 is_stmt 1 view .LVU6369
  31461. 17210 .LVL1120:
  31462. 17211 .LBB778:
  31463. 17212 .LBI778:
  31464. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31465. 17213 .loc 1 7360 13 view .LVU6370
  31466. 17214 .LBB779:
  31467. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31468. 17215 .loc 1 7362 3 view .LVU6371
  31469. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31470. 17216 .loc 1 7364 3 view .LVU6372
  31471. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31472. 17217 .loc 1 7364 12 is_stmt 0 view .LVU6373
  31473. 17218 0048 636B ldr r3, [r4, #52]
  31474. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31475. 17219 .loc 1 7364 6 view .LVU6374
  31476. 17220 004a 124A ldr r2, .L1600
  31477. 17221 004c 9342 cmp r3, r2
  31478. 17222 004e 1CD0 beq .L1596
  31479. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31480. 17223 .loc 1 7364 45 view .LVU6375
  31481. 17224 0050 114A ldr r2, .L1600+4
  31482. 17225 0052 9342 cmp r3, r2
  31483. 17226 0054 19D0 beq .L1596
  31484. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  31485. 17227 .loc 1 7365 44 view .LVU6376
  31486. 17228 0056 114A ldr r2, .L1600+8
  31487. 17229 0058 9342 cmp r3, r2
  31488. 17230 005a 0CBF ite eq
  31489. 17231 005c 4023 moveq r3, #64
  31490. 17232 005e 0023 movne r3, #0
  31491. 17233 .L1590:
  31492. 17234 .LVL1121:
  31493. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31494. 17235 .loc 1 7441 3 is_stmt 1 view .LVU6377
  31495. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 544
  31496. 17236 0060 2168 ldr r1, [r4]
  31497. 17237 0062 0A68 ldr r2, [r1]
  31498. 17238 0064 1343 orrs r3, r3, r2
  31499. 17239 .LVL1122:
  31500. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31501. 17240 .loc 1 7441 3 is_stmt 0 view .LVU6378
  31502. 17241 0066 0B60 str r3, [r1]
  31503. 17242 .LVL1123:
  31504. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31505. 17243 .loc 1 7441 3 view .LVU6379
  31506. 17244 .LBE779:
  31507. 17245 .LBE778:
  31508. 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31509. 17246 .loc 1 6822 1 view .LVU6380
  31510. 17247 0068 10BD pop {r4, pc}
  31511. 17248 .LVL1124:
  31512. 17249 .L1599:
  31513. 6791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31514. 17250 .loc 1 6791 5 is_stmt 1 view .LVU6381
  31515. 17251 .LBB781:
  31516. 17252 .LBI781:
  31517. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31518. 17253 .loc 1 7360 13 view .LVU6382
  31519. 17254 .LBB782:
  31520. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31521. 17255 .loc 1 7362 3 view .LVU6383
  31522. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31523. 17256 .loc 1 7364 3 view .LVU6384
  31524. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31525. 17257 .loc 1 7364 12 is_stmt 0 view .LVU6385
  31526. 17258 006a 636B ldr r3, [r4, #52]
  31527. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31528. 17259 .loc 1 7364 6 view .LVU6386
  31529. 17260 006c 0949 ldr r1, .L1600
  31530. 17261 006e 8B42 cmp r3, r1
  31531. 17262 0070 0DD0 beq .L1592
  31532. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31533. 17263 .loc 1 7364 45 view .LVU6387
  31534. 17264 0072 0949 ldr r1, .L1600+4
  31535. 17265 0074 8B42 cmp r3, r1
  31536. 17266 0076 0AD0 beq .L1592
  31537. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  31538. 17267 .loc 1 7365 44 view .LVU6388
  31539. 17268 0078 0849 ldr r1, .L1600+8
  31540. 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31541. 17269 .loc 1 7395 14 view .LVU6389
  31542. 17270 007a 8B42 cmp r3, r1
  31543. 17271 007c 0CBF ite eq
  31544. 17272 007e 6023 moveq r3, #96
  31545. 17273 0080 2023 movne r3, #32
  31546. 17274 .L1586:
  31547. 17275 .LVL1125:
  31548. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31549. 17276 .loc 1 7441 3 is_stmt 1 view .LVU6390
  31550. 17277 0082 1168 ldr r1, [r2]
  31551. 17278 0084 0B43 orrs r3, r3, r1
  31552. 17279 .LVL1126:
  31553. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 545
  31554. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31555. 17280 .loc 1 7441 3 is_stmt 0 view .LVU6391
  31556. 17281 0086 1360 str r3, [r2]
  31557. 17282 .LBE782:
  31558. 17283 .LBE781:
  31559. 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31560. 17284 .loc 1 6822 1 view .LVU6392
  31561. 17285 0088 10BD pop {r4, pc}
  31562. 17286 .LVL1127:
  31563. 17287 .L1596:
  31564. 17288 .LBB784:
  31565. 17289 .LBB780:
  31566. 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31567. 17290 .loc 1 7434 14 view .LVU6393
  31568. 17291 008a 4023 movs r3, #64
  31569. 17292 008c E8E7 b .L1590
  31570. 17293 .LVL1128:
  31571. 17294 .L1592:
  31572. 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31573. 17295 .loc 1 7434 14 view .LVU6394
  31574. 17296 .LBE780:
  31575. 17297 .LBE784:
  31576. 17298 .LBB785:
  31577. 17299 .LBB783:
  31578. 17300 008e 6023 movs r3, #96
  31579. 17301 0090 F7E7 b .L1586
  31580. 17302 .L1601:
  31581. 17303 0092 00BF .align 2
  31582. 17304 .L1600:
  31583. 17305 0094 00000000 .word I2C_Master_ISR_DMA
  31584. 17306 0098 00000000 .word I2C_Slave_ISR_DMA
  31585. 17307 009c 00000000 .word I2C_Mem_ISR_DMA
  31586. 17308 .LBE783:
  31587. 17309 .LBE785:
  31588. 17310 .cfi_endproc
  31589. 17311 .LFE196:
  31590. 17313 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
  31591. 17314 .align 1
  31592. 17315 .p2align 2,,3
  31593. 17316 .syntax unified
  31594. 17317 .thumb
  31595. 17318 .thumb_func
  31596. 17320 I2C_DMAMasterReceiveCplt:
  31597. 17321 .LVL1129:
  31598. 17322 .LFB198:
  31599. 6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  31600. 17323 .loc 1 6860 1 is_stmt 1 view -0
  31601. 17324 .cfi_startproc
  31602. 17325 @ args = 0, pretend = 0, frame = 0
  31603. 17326 @ frame_needed = 0, uses_anonymous_args = 0
  31604. 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31605. 17327 .loc 1 6862 3 view .LVU6396
  31606. 6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */
  31607. 17328 .loc 1 6860 1 is_stmt 0 view .LVU6397
  31608. 17329 0000 10B5 push {r4, lr}
  31609. 17330 .LCFI212:
  31610. 17331 .cfi_def_cfa_offset 8
  31611. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 546
  31612. 17332 .cfi_offset 4, -8
  31613. 17333 .cfi_offset 14, -4
  31614. 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31615. 17334 .loc 1 6862 22 view .LVU6398
  31616. 17335 0002 446A ldr r4, [r0, #36]
  31617. 17336 .LVL1130:
  31618. 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31619. 17337 .loc 1 6865 3 is_stmt 1 view .LVU6399
  31620. 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31621. 17338 .loc 1 6865 7 is_stmt 0 view .LVU6400
  31622. 17339 0004 2168 ldr r1, [r4]
  31623. 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31624. 17340 .loc 1 6865 23 view .LVU6401
  31625. 17341 0006 0B68 ldr r3, [r1]
  31626. 17342 0008 23F40043 bic r3, r3, #32768
  31627. 17343 000c 0B60 str r3, [r1]
  31628. 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31629. 17344 .loc 1 6868 3 is_stmt 1 view .LVU6402
  31630. 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31631. 17345 .loc 1 6868 11 is_stmt 0 view .LVU6403
  31632. 17346 000e 638D ldrh r3, [r4, #42]
  31633. 17347 0010 9BB2 uxth r3, r3
  31634. 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31635. 17348 .loc 1 6868 6 view .LVU6404
  31636. 17349 0012 002B cmp r3, #0
  31637. 17350 0014 32D0 beq .L1619
  31638. 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31639. 17351 .loc 1 6877 5 is_stmt 1 view .LVU6405
  31640. 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31641. 17352 .loc 1 6880 13 is_stmt 0 view .LVU6406
  31642. 17353 0016 638D ldrh r3, [r4, #42]
  31643. 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31644. 17354 .loc 1 6877 20 view .LVU6407
  31645. 17355 0018 626A ldr r2, [r4, #36]
  31646. 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31647. 17356 .loc 1 6877 27 view .LVU6408
  31648. 17357 001a 208D ldrh r0, [r4, #40]
  31649. 17358 .LVL1131:
  31650. 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31651. 17359 .loc 1 6880 13 view .LVU6409
  31652. 17360 001c 9BB2 uxth r3, r3
  31653. 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31654. 17361 .loc 1 6877 20 view .LVU6410
  31655. 17362 001e 0244 add r2, r2, r0
  31656. 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31657. 17363 .loc 1 6880 8 view .LVU6411
  31658. 17364 0020 FF2B cmp r3, #255
  31659. 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31660. 17365 .loc 1 6877 20 view .LVU6412
  31661. 17366 0022 6262 str r2, [r4, #36]
  31662. 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31663. 17367 .loc 1 6880 5 is_stmt 1 view .LVU6413
  31664. 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31665. 17368 .loc 1 6880 8 is_stmt 0 view .LVU6414
  31666. 17369 0024 0DD8 bhi .L1620
  31667. 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31668. 17370 .loc 1 6894 7 is_stmt 1 view .LVU6415
  31669. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 547
  31670. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31671. 17371 .loc 1 6898 5 view .LVU6416
  31672. 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31673. 17372 .loc 1 6894 28 is_stmt 0 view .LVU6417
  31674. 17373 0026 638D ldrh r3, [r4, #42]
  31675. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31676. 17374 .loc 1 6898 9 view .LVU6418
  31677. 17375 0028 E06B ldr r0, [r4, #60]
  31678. 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31679. 17376 .loc 1 6894 28 view .LVU6419
  31680. 17377 002a 9BB2 uxth r3, r3
  31681. 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31682. 17378 .loc 1 6894 22 view .LVU6420
  31683. 17379 002c 2385 strh r3, [r4, #40] @ movhi
  31684. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31685. 17380 .loc 1 6898 9 view .LVU6421
  31686. 17381 002e 2431 adds r1, r1, #36
  31687. 17382 0030 FFF7FEFF bl HAL_DMA_Start_IT
  31688. 17383 .LVL1132:
  31689. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31690. 17384 .loc 1 6898 8 view .LVU6422
  31691. 17385 0034 88B1 cbz r0, .L1609
  31692. 17386 .L1621:
  31693. 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31694. 17387 .loc 1 6902 7 is_stmt 1 view .LVU6423
  31695. 17388 0036 2046 mov r0, r4
  31696. 17389 0038 1021 movs r1, #16
  31697. 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31698. 17390 .loc 1 6910 1 is_stmt 0 view .LVU6424
  31699. 17391 003a BDE81040 pop {r4, lr}
  31700. 17392 .LCFI213:
  31701. 17393 .cfi_remember_state
  31702. 17394 .cfi_restore 14
  31703. 17395 .cfi_restore 4
  31704. 17396 .cfi_def_cfa_offset 0
  31705. 17397 .LVL1133:
  31706. 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31707. 17398 .loc 1 6902 7 view .LVU6425
  31708. 17399 003e FFF7FEBF b I2C_ITError
  31709. 17400 .LVL1134:
  31710. 17401 .L1620:
  31711. 17402 .LCFI214:
  31712. 17403 .cfi_restore_state
  31713. 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31714. 17404 .loc 1 6883 7 is_stmt 1 view .LVU6426
  31715. 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31716. 17405 .loc 1 6883 11 is_stmt 0 view .LVU6427
  31717. 17406 0042 8B69 ldr r3, [r1, #24]
  31718. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31719. 17407 .loc 1 6898 9 view .LVU6428
  31720. 17408 0044 E06B ldr r0, [r4, #60]
  31721. 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31722. 17409 .loc 1 6883 10 view .LVU6429
  31723. 17410 0046 DB03 lsls r3, r3, #15
  31724. 6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31725. 17411 .loc 1 6885 9 is_stmt 1 view .LVU6430
  31726. 6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31727. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 548
  31728. 17412 .loc 1 6885 24 is_stmt 0 view .LVU6431
  31729. 17413 0048 4CBF ite mi
  31730. 17414 004a 0123 movmi r3, #1
  31731. 6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31732. 17415 .loc 1 6889 9 is_stmt 1 view .LVU6432
  31733. 6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31734. 17416 .loc 1 6889 24 is_stmt 0 view .LVU6433
  31735. 17417 004c FF23 movpl r3, #255
  31736. 17418 004e 2385 strh r3, [r4, #40] @ movhi
  31737. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31738. 17419 .loc 1 6898 5 is_stmt 1 view .LVU6434
  31739. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31740. 17420 .loc 1 6898 9 is_stmt 0 view .LVU6435
  31741. 17421 0050 2431 adds r1, r1, #36
  31742. 17422 0052 FFF7FEFF bl HAL_DMA_Start_IT
  31743. 17423 .LVL1135:
  31744. 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK)
  31745. 17424 .loc 1 6898 8 view .LVU6436
  31746. 17425 0056 0028 cmp r0, #0
  31747. 17426 0058 EDD1 bne .L1621
  31748. 17427 .L1609:
  31749. 6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31750. 17428 .loc 1 6907 7 is_stmt 1 view .LVU6437
  31751. 17429 .LVL1136:
  31752. 17430 .LBB790:
  31753. 17431 .LBI790:
  31754. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31755. 17432 .loc 1 7360 13 view .LVU6438
  31756. 17433 .LBB791:
  31757. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31758. 17434 .loc 1 7362 3 view .LVU6439
  31759. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31760. 17435 .loc 1 7364 3 view .LVU6440
  31761. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31762. 17436 .loc 1 7364 12 is_stmt 0 view .LVU6441
  31763. 17437 005a 636B ldr r3, [r4, #52]
  31764. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31765. 17438 .loc 1 7364 6 view .LVU6442
  31766. 17439 005c 134A ldr r2, .L1622
  31767. 17440 005e 9342 cmp r3, r2
  31768. 17441 0060 1CD0 beq .L1615
  31769. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31770. 17442 .loc 1 7364 45 view .LVU6443
  31771. 17443 0062 134A ldr r2, .L1622+4
  31772. 17444 0064 9342 cmp r3, r2
  31773. 17445 0066 19D0 beq .L1615
  31774. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  31775. 17446 .loc 1 7365 44 view .LVU6444
  31776. 17447 0068 124A ldr r2, .L1622+8
  31777. 17448 006a 9342 cmp r3, r2
  31778. 17449 006c 0CBF ite eq
  31779. 17450 006e 4023 moveq r3, #64
  31780. 17451 0070 0023 movne r3, #0
  31781. 17452 .L1610:
  31782. 17453 .LVL1137:
  31783. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31784. 17454 .loc 1 7441 3 is_stmt 1 view .LVU6445
  31785. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 549
  31786. 17455 0072 2168 ldr r1, [r4]
  31787. 17456 0074 0A68 ldr r2, [r1]
  31788. 17457 0076 1343 orrs r3, r3, r2
  31789. 17458 .LVL1138:
  31790. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31791. 17459 .loc 1 7441 3 is_stmt 0 view .LVU6446
  31792. 17460 0078 0B60 str r3, [r1]
  31793. 17461 .LVL1139:
  31794. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31795. 17462 .loc 1 7441 3 view .LVU6447
  31796. 17463 .LBE791:
  31797. 17464 .LBE790:
  31798. 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31799. 17465 .loc 1 6910 1 view .LVU6448
  31800. 17466 007a 10BD pop {r4, pc}
  31801. 17467 .LVL1140:
  31802. 17468 .L1619:
  31803. 6871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31804. 17469 .loc 1 6871 5 is_stmt 1 view .LVU6449
  31805. 17470 .LBB795:
  31806. 17471 .LBI795:
  31807. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  31808. 17472 .loc 1 7360 13 view .LVU6450
  31809. 17473 .LBB796:
  31810. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31811. 17474 .loc 1 7362 3 view .LVU6451
  31812. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31813. 17475 .loc 1 7364 3 view .LVU6452
  31814. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31815. 17476 .loc 1 7364 12 is_stmt 0 view .LVU6453
  31816. 17477 007c 636B ldr r3, [r4, #52]
  31817. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31818. 17478 .loc 1 7364 6 view .LVU6454
  31819. 17479 007e 0B4A ldr r2, .L1622
  31820. 17480 0080 9342 cmp r3, r2
  31821. 17481 0082 0DD0 beq .L1612
  31822. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  31823. 17482 .loc 1 7364 45 view .LVU6455
  31824. 17483 0084 0A4A ldr r2, .L1622+4
  31825. 17484 0086 9342 cmp r3, r2
  31826. 17485 0088 0AD0 beq .L1612
  31827. 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA))
  31828. 17486 .loc 1 7365 44 view .LVU6456
  31829. 17487 008a 0A4A ldr r2, .L1622+8
  31830. 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31831. 17488 .loc 1 7395 14 view .LVU6457
  31832. 17489 008c 9342 cmp r3, r2
  31833. 17490 008e 0CBF ite eq
  31834. 17491 0090 6023 moveq r3, #96
  31835. 17492 0092 2023 movne r3, #32
  31836. 17493 .LBE796:
  31837. 17494 .LBE795:
  31838. 17495 .LBB798:
  31839. 17496 .LBB792:
  31840. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31841. 17497 .loc 1 7441 3 view .LVU6458
  31842. 17498 0094 0A68 ldr r2, [r1]
  31843. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 550
  31844. 17499 0096 1343 orrs r3, r3, r2
  31845. 17500 0098 0B60 str r3, [r1]
  31846. 17501 .LVL1141:
  31847. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31848. 17502 .loc 1 7441 3 view .LVU6459
  31849. 17503 .LBE792:
  31850. 17504 .LBE798:
  31851. 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31852. 17505 .loc 1 6910 1 view .LVU6460
  31853. 17506 009a 10BD pop {r4, pc}
  31854. 17507 .LVL1142:
  31855. 17508 .L1615:
  31856. 17509 .LBB799:
  31857. 17510 .LBB793:
  31858. 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31859. 17511 .loc 1 7434 14 view .LVU6461
  31860. 17512 009c 4023 movs r3, #64
  31861. 17513 009e E8E7 b .L1610
  31862. 17514 .LVL1143:
  31863. 17515 .L1612:
  31864. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31865. 17516 .loc 1 7441 3 view .LVU6462
  31866. 17517 00a0 0A68 ldr r2, [r1]
  31867. 17518 .LBE793:
  31868. 17519 .LBE799:
  31869. 17520 .LBB800:
  31870. 17521 .LBB797:
  31871. 17522 00a2 6023 movs r3, #96
  31872. 17523 .LVL1144:
  31873. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31874. 17524 .loc 1 7441 3 is_stmt 1 view .LVU6463
  31875. 17525 .LBE797:
  31876. 17526 .LBE800:
  31877. 17527 .LBB801:
  31878. 17528 .LBB794:
  31879. 17529 00a4 1343 orrs r3, r3, r2
  31880. 17530 .LVL1145:
  31881. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31882. 17531 .loc 1 7441 3 is_stmt 0 view .LVU6464
  31883. 17532 00a6 0B60 str r3, [r1]
  31884. 17533 .LVL1146:
  31885. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  31886. 17534 .loc 1 7441 3 view .LVU6465
  31887. 17535 .LBE794:
  31888. 17536 .LBE801:
  31889. 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31890. 17537 .loc 1 6910 1 view .LVU6466
  31891. 17538 00a8 10BD pop {r4, pc}
  31892. 17539 .LVL1147:
  31893. 17540 .L1623:
  31894. 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31895. 17541 .loc 1 6910 1 view .LVU6467
  31896. 17542 00aa 00BF .align 2
  31897. 17543 .L1622:
  31898. 17544 00ac 00000000 .word I2C_Master_ISR_DMA
  31899. 17545 00b0 00000000 .word I2C_Slave_ISR_DMA
  31900. 17546 00b4 00000000 .word I2C_Mem_ISR_DMA
  31901. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 551
  31902. 17547 .cfi_endproc
  31903. 17548 .LFE198:
  31904. 17550 .section .text.I2C_Mem_ISR_IT,"ax",%progbits
  31905. 17551 .align 1
  31906. 17552 .p2align 2,,3
  31907. 17553 .syntax unified
  31908. 17554 .thumb
  31909. 17555 .thumb_func
  31910. 17557 I2C_Mem_ISR_IT:
  31911. 17558 .LVL1148:
  31912. 17559 .LFB180:
  31913. 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  31914. 17560 .loc 1 5100 1 is_stmt 1 view -0
  31915. 17561 .cfi_startproc
  31916. 17562 @ args = 0, pretend = 0, frame = 0
  31917. 17563 @ frame_needed = 0, uses_anonymous_args = 0
  31918. 5101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
  31919. 17564 .loc 1 5101 3 view .LVU6469
  31920. 5102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31921. 17565 .loc 1 5102 3 view .LVU6470
  31922. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31923. 17566 .loc 1 5105 3 is_stmt 0 view .LVU6471
  31924. 17567 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
  31925. 17568 .LVL1149:
  31926. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31927. 17569 .loc 1 5105 3 is_stmt 1 view .LVU6472
  31928. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31929. 17570 .loc 1 5105 3 view .LVU6473
  31930. 17571 0004 012B cmp r3, #1
  31931. 17572 0006 00F0CC80 beq .L1644
  31932. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31933. 17573 .loc 1 5105 3 discriminator 2 view .LVU6474
  31934. 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  31935. 17574 .loc 1 5100 1 is_stmt 0 discriminator 2 view .LVU6475
  31936. 17575 000a 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  31937. 17576 .LCFI215:
  31938. 17577 .cfi_def_cfa_offset 24
  31939. 17578 .cfi_offset 4, -24
  31940. 17579 .cfi_offset 5, -20
  31941. 17580 .cfi_offset 6, -16
  31942. 17581 .cfi_offset 7, -12
  31943. 17582 .cfi_offset 8, -8
  31944. 17583 .cfi_offset 14, -4
  31945. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31946. 17584 .loc 1 5105 3 discriminator 2 view .LVU6476
  31947. 17585 000e 0123 movs r3, #1
  31948. 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  31949. 17586 .loc 1 5107 6 discriminator 2 view .LVU6477
  31950. 17587 0010 CF06 lsls r7, r1, #27
  31951. 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE;
  31952. 17588 .loc 1 5100 1 discriminator 2 view .LVU6478
  31953. 17589 0012 82B0 sub sp, sp, #8
  31954. 17590 .LCFI216:
  31955. 17591 .cfi_def_cfa_offset 32
  31956. 17592 0014 0446 mov r4, r0
  31957. 17593 0016 0D46 mov r5, r1
  31958. 17594 0018 1646 mov r6, r2
  31959. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 552
  31960. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31961. 17595 .loc 1 5105 3 discriminator 2 view .LVU6479
  31962. 17596 001a 80F84030 strb r3, [r0, #64]
  31963. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31964. 17597 .loc 1 5105 3 is_stmt 1 discriminator 2 view .LVU6480
  31965. 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  31966. 17598 .loc 1 5107 3 discriminator 2 view .LVU6481
  31967. 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  31968. 17599 .loc 1 5107 6 is_stmt 0 discriminator 2 view .LVU6482
  31969. 17600 001e 02D5 bpl .L1626
  31970. 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  31971. 17601 .loc 1 5107 58 discriminator 1 view .LVU6483
  31972. 17602 0020 D006 lsls r0, r2, #27
  31973. 17603 .LVL1150:
  31974. 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET))
  31975. 17604 .loc 1 5107 58 discriminator 1 view .LVU6484
  31976. 17605 0022 00F19A80 bmi .L1692
  31977. 17606 .L1626:
  31978. 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  31979. 17607 .loc 1 5121 8 is_stmt 1 view .LVU6485
  31980. 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  31981. 17608 .loc 1 5121 11 is_stmt 0 view .LVU6486
  31982. 17609 0026 6807 lsls r0, r5, #29
  31983. 17610 0028 1CD5 bpl .L1630
  31984. 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  31985. 17611 .loc 1 5121 65 discriminator 1 view .LVU6487
  31986. 17612 002a 7207 lsls r2, r6, #29
  31987. 17613 .LVL1151:
  31988. 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET))
  31989. 17614 .loc 1 5121 65 discriminator 1 view .LVU6488
  31990. 17615 002c 1AD5 bpl .L1630
  31991. 5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31992. 17616 .loc 1 5125 5 is_stmt 1 view .LVU6489
  31993. 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31994. 17617 .loc 1 5128 36 is_stmt 0 view .LVU6490
  31995. 17618 002e 2268 ldr r2, [r4]
  31996. 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  31997. 17619 .loc 1 5128 10 view .LVU6491
  31998. 17620 0030 636A ldr r3, [r4, #36]
  31999. 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32000. 17621 .loc 1 5128 46 view .LVU6492
  32001. 17622 0032 526A ldr r2, [r2, #36]
  32002. 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32003. 17623 .loc 1 5128 23 view .LVU6493
  32004. 17624 0034 1A70 strb r2, [r3]
  32005. 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32006. 17625 .loc 1 5131 19 view .LVU6494
  32007. 17626 0036 626A ldr r2, [r4, #36]
  32008. 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32009. 17627 .loc 1 5134 9 view .LVU6495
  32010. 17628 0038 638D ldrh r3, [r4, #42]
  32011. 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32012. 17629 .loc 1 5131 19 view .LVU6496
  32013. 17630 003a 0132 adds r2, r2, #1
  32014. 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32015. 17631 .loc 1 5134 20 view .LVU6497
  32016. 17632 003c 013B subs r3, r3, #1
  32017. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 553
  32018. 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32019. 17633 .loc 1 5131 19 view .LVU6498
  32020. 17634 003e 6262 str r2, [r4, #36]
  32021. 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32022. 17635 .loc 1 5133 19 view .LVU6499
  32023. 17636 0040 228D ldrh r2, [r4, #40]
  32024. 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32025. 17637 .loc 1 5134 20 view .LVU6500
  32026. 17638 0042 9BB2 uxth r3, r3
  32027. 17639 0044 6385 strh r3, [r4, #42] @ movhi
  32028. 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32029. 17640 .loc 1 5133 19 view .LVU6501
  32030. 17641 0046 531E subs r3, r2, #1
  32031. 5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32032. 17642 .loc 1 5125 16 view .LVU6502
  32033. 17643 0048 25F00405 bic r5, r5, #4
  32034. 17644 .LVL1152:
  32035. 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32036. 17645 .loc 1 5128 5 is_stmt 1 view .LVU6503
  32037. 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32038. 17646 .loc 1 5131 5 view .LVU6504
  32039. 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32040. 17647 .loc 1 5133 5 view .LVU6505
  32041. 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32042. 17648 .loc 1 5133 19 is_stmt 0 view .LVU6506
  32043. 17649 004c 2385 strh r3, [r4, #40] @ movhi
  32044. 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32045. 17650 .loc 1 5134 5 is_stmt 1 view .LVU6507
  32046. 17651 .LVL1153:
  32047. 17652 .L1629:
  32048. 5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32049. 17653 .loc 1 5234 3 view .LVU6508
  32050. 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  32051. 17654 .loc 1 5236 3 view .LVU6509
  32052. 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  32053. 17655 .loc 1 5236 6 is_stmt 0 view .LVU6510
  32054. 17656 004e AA06 lsls r2, r5, #26
  32055. 17657 0050 02D5 bpl .L1643
  32056. 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET))
  32057. 17658 .loc 1 5236 61 discriminator 1 view .LVU6511
  32058. 17659 0052 B306 lsls r3, r6, #26
  32059. 17660 0054 00F19B80 bmi .L1693
  32060. 17661 .L1643:
  32061. 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32062. 17662 .loc 1 5244 3 is_stmt 1 view .LVU6512
  32063. 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32064. 17663 .loc 1 5244 3 view .LVU6513
  32065. 17664 0058 0020 movs r0, #0
  32066. 17665 005a 84F84000 strb r0, [r4, #64]
  32067. 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32068. 17666 .loc 1 5244 3 view .LVU6514
  32069. 5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32070. 17667 .loc 1 5246 3 view .LVU6515
  32071. 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32072. 17668 .loc 1 5247 1 is_stmt 0 view .LVU6516
  32073. 17669 005e 02B0 add sp, sp, #8
  32074. 17670 .LCFI217:
  32075. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 554
  32076. 17671 .cfi_remember_state
  32077. 17672 .cfi_def_cfa_offset 24
  32078. 17673 @ sp needed
  32079. 17674 0060 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  32080. 17675 .LVL1154:
  32081. 17676 .L1630:
  32082. 17677 .LCFI218:
  32083. 17678 .cfi_restore_state
  32084. 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  32085. 17679 .loc 1 5136 8 is_stmt 1 view .LVU6517
  32086. 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  32087. 17680 .loc 1 5136 11 is_stmt 0 view .LVU6518
  32088. 17681 0064 AB07 lsls r3, r5, #30
  32089. 17682 0066 39D4 bmi .L1694
  32090. 17683 .L1631:
  32091. 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  32092. 17684 .loc 1 5159 8 is_stmt 1 view .LVU6519
  32093. 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  32094. 17685 .loc 1 5159 11 is_stmt 0 view .LVU6520
  32095. 17686 0068 2806 lsls r0, r5, #24
  32096. 17687 006a 43D5 bpl .L1633
  32097. 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  32098. 17688 .loc 1 5159 64 discriminator 1 view .LVU6521
  32099. 17689 006c 7206 lsls r2, r6, #25
  32100. 17690 006e EED5 bpl .L1629
  32101. 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32102. 17691 .loc 1 5162 5 is_stmt 1 view .LVU6522
  32103. 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32104. 17692 .loc 1 5162 14 is_stmt 0 view .LVU6523
  32105. 17693 0070 638D ldrh r3, [r4, #42]
  32106. 17694 0072 9BB2 uxth r3, r3
  32107. 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32108. 17695 .loc 1 5162 8 view .LVU6524
  32109. 17696 0074 002B cmp r3, #0
  32110. 17697 0076 00F08580 beq .L1634
  32111. 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32112. 17698 .loc 1 5162 33 discriminator 1 view .LVU6525
  32113. 17699 007a 238D ldrh r3, [r4, #40]
  32114. 17700 007c 002B cmp r3, #0
  32115. 17701 007e 40F08180 bne .L1634
  32116. 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32117. 17702 .loc 1 5164 7 is_stmt 1 view .LVU6526
  32118. 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32119. 17703 .loc 1 5164 15 is_stmt 0 view .LVU6527
  32120. 17704 0082 638D ldrh r3, [r4, #42]
  32121. 17705 0084 9BB2 uxth r3, r3
  32122. 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32123. 17706 .loc 1 5164 10 view .LVU6528
  32124. 17707 0086 FF2B cmp r3, #255
  32125. 17708 0088 40F2A880 bls .L1635
  32126. 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32127. 17709 .loc 1 5167 9 is_stmt 1 view .LVU6529
  32128. 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32129. 17710 .loc 1 5167 13 is_stmt 0 view .LVU6530
  32130. 17711 008c 2268 ldr r2, [r4]
  32131. 17712 008e 9369 ldr r3, [r2, #24]
  32132. 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
  32133. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 555
  32134. 17713 .loc 1 5175 48 view .LVU6531
  32135. 17714 0090 E76C ldr r7, [r4, #76]
  32136. 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32137. 17715 .loc 1 5167 12 view .LVU6532
  32138. 17716 0092 C3F30043 ubfx r3, r3, #16, #1
  32139. 17717 0096 002B cmp r3, #0
  32140. 17718 .LBB812:
  32141. 17719 .LBB813:
  32142. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  32143. 17720 .loc 1 7337 3 view .LVU6533
  32144. 17721 0098 614B ldr r3, .L1696
  32145. 17722 .LBE813:
  32146. 17723 .LBE812:
  32147. 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32148. 17724 .loc 1 5167 12 view .LVU6534
  32149. 17725 009a 15BF itete ne
  32150. 17726 009c 0121 movne r1, #1
  32151. 17727 .LVL1155:
  32152. 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32153. 17728 .loc 1 5167 12 view .LVU6535
  32154. 17729 009e FF21 moveq r1, #255
  32155. 17730 00a0 4FF48038 movne r8, #65536
  32156. 17731 00a4 4FF47F08 moveq r8, #16711680
  32157. 17732 .LBB816:
  32158. 17733 .LBB814:
  32159. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  32160. 17734 .loc 1 7337 3 view .LVU6536
  32161. 17735 00a8 9A42 cmp r2, r3
  32162. 17736 .LBE814:
  32163. 17737 .LBE816:
  32164. 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
  32165. 17738 .loc 1 5175 9 view .LVU6537
  32166. 17739 00aa BFB2 uxth r7, r7
  32167. 17740 00ac 2185 strh r1, [r4, #40] @ movhi
  32168. 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
  32169. 17741 .loc 1 5175 9 is_stmt 1 view .LVU6538
  32170. 17742 .LVL1156:
  32171. 17743 .LBB817:
  32172. 17744 .LBI812:
  32173. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  32174. 17745 .loc 1 7333 13 view .LVU6539
  32175. 17746 .LBB815:
  32176. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  32177. 17747 .loc 1 7337 3 view .LVU6540
  32178. 17748 00ae 09D0 beq .L1637
  32179. 17749 00b0 03F58063 add r3, r3, #1024
  32180. 17750 00b4 9A42 cmp r2, r3
  32181. 17751 00b6 05D0 beq .L1637
  32182. 17752 00b8 5A48 ldr r0, .L1696+4
  32183. 17753 00ba 41F6A941 movw r1, #7337
  32184. 17754 00be FFF7FEFF bl assert_failed
  32185. 17755 .LVL1157:
  32186. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  32187. 17756 .loc 1 7347 3 is_stmt 0 view .LVU6541
  32188. 17757 00c2 2268 ldr r2, [r4]
  32189. 17758 .L1637:
  32190. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  32191. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 556
  32192. 17759 .loc 1 7338 3 is_stmt 1 view .LVU6542
  32193. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32194. 17760 .loc 1 7339 3 view .LVU6543
  32195. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  32196. 17761 .loc 1 7342 3 view .LVU6544
  32197. 17762 .LVL1158:
  32198. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  32199. 17763 .loc 1 7347 3 view .LVU6545
  32200. 17764 00c4 5849 ldr r1, .L1696+8
  32201. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  32202. 17765 .loc 1 7342 52 is_stmt 0 view .LVU6546
  32203. 17766 00c6 C7F30903 ubfx r3, r7, #0, #10
  32204. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  32205. 17767 .loc 1 7347 3 view .LVU6547
  32206. 17768 00ca 5768 ldr r7, [r2, #4]
  32207. 17769 .LVL1159:
  32208. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  32209. 17770 .loc 1 7347 3 view .LVU6548
  32210. 17771 00cc 0F40 ands r7, r7, r1
  32211. 17772 00ce 3B43 orrs r3, r3, r7
  32212. 17773 00d0 43EA0803 orr r3, r3, r8
  32213. 17774 00d4 43F08073 orr r3, r3, #16777216
  32214. 17775 00d8 5360 str r3, [r2, #4]
  32215. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32216. 17776 .loc 1 7351 1 view .LVU6549
  32217. 17777 00da B8E7 b .L1629
  32218. 17778 .LVL1160:
  32219. 17779 .L1694:
  32220. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32221. 17780 .loc 1 7351 1 view .LVU6550
  32222. 17781 .LBE815:
  32223. 17782 .LBE817:
  32224. 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))
  32225. 17783 .loc 1 5136 65 discriminator 1 view .LVU6551
  32226. 17784 00dc B707 lsls r7, r6, #30
  32227. 17785 00de C3D5 bpl .L1631
  32228. 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32229. 17786 .loc 1 5139 5 is_stmt 1 view .LVU6552
  32230. 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32231. 17787 .loc 1 5139 13 is_stmt 0 view .LVU6553
  32232. 17788 00e0 236D ldr r3, [r4, #80]
  32233. 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32234. 17789 .loc 1 5139 8 view .LVU6554
  32235. 17790 00e2 0133 adds r3, r3, #1
  32236. 17791 00e4 5FD0 beq .L1695
  32237. 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32238. 17792 .loc 1 5153 7 is_stmt 1 view .LVU6555
  32239. 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32240. 17793 .loc 1 5153 11 is_stmt 0 view .LVU6556
  32241. 17794 00e6 2368 ldr r3, [r4]
  32242. 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32243. 17795 .loc 1 5153 34 view .LVU6557
  32244. 17796 00e8 226D ldr r2, [r4, #80]
  32245. 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32246. 17797 .loc 1 5153 28 view .LVU6558
  32247. 17798 00ea 9A62 str r2, [r3, #40]
  32248. 5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32249. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 557
  32250. 17799 .loc 1 5156 7 is_stmt 1 view .LVU6559
  32251. 5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32252. 17800 .loc 1 5156 24 is_stmt 0 view .LVU6560
  32253. 17801 00ec 4FF0FF33 mov r3, #-1
  32254. 17802 00f0 2365 str r3, [r4, #80]
  32255. 17803 00f2 ACE7 b .L1629
  32256. 17804 .L1633:
  32257. 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  32258. 17805 .loc 1 5192 8 is_stmt 1 view .LVU6561
  32259. 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  32260. 17806 .loc 1 5192 11 is_stmt 0 view .LVU6562
  32261. 17807 00f4 6B06 lsls r3, r5, #25
  32262. 17808 00f6 AAD5 bpl .L1629
  32263. 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET))
  32264. 17809 .loc 1 5192 63 discriminator 1 view .LVU6563
  32265. 17810 00f8 7706 lsls r7, r6, #25
  32266. 17811 00fa A8D5 bpl .L1629
  32267. 5196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32268. 17812 .loc 1 5196 5 is_stmt 1 view .LVU6564
  32269. 17813 .LVL1161:
  32270. 17814 .LBB818:
  32271. 17815 .LBI818:
  32272. 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32273. 17816 .loc 1 7451 13 view .LVU6565
  32274. 17817 .LBB819:
  32275. 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32276. 17818 .loc 1 7453 3 view .LVU6566
  32277. 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32278. 17819 .loc 1 7455 3 view .LVU6567
  32279. 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32280. 17820 .loc 1 7458 5 view .LVU6568
  32281. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32282. 17821 .loc 1 7460 5 view .LVU6569
  32283. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32284. 17822 .loc 1 7460 24 is_stmt 0 view .LVU6570
  32285. 17823 00fc 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2
  32286. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32287. 17824 .loc 1 7506 3 view .LVU6571
  32288. 17825 0100 2368 ldr r3, [r4]
  32289. 17826 .LBE819:
  32290. 17827 .LBE818:
  32291. 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32292. 17828 .loc 1 5203 17 view .LVU6572
  32293. 17829 0102 4A48 ldr r0, .L1696+12
  32294. 17830 .LBB821:
  32295. 17831 .LBB820:
  32296. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32297. 17832 .loc 1 7460 8 view .LVU6573
  32298. 17833 0104 02F02802 and r2, r2, #40
  32299. 17834 0108 282A cmp r2, #40
  32300. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32301. 17835 .loc 1 7506 3 view .LVU6574
  32302. 17836 010a 1A68 ldr r2, [r3]
  32303. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32304. 17837 .loc 1 7460 8 view .LVU6575
  32305. 17838 010c 0CBF ite eq
  32306. 17839 010e 6FF04201 mvneq r1, #66
  32307. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 558
  32308. 17840 .LVL1162:
  32309. 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32310. 17841 .loc 1 7460 8 view .LVU6576
  32311. 17842 0112 6FF0F201 mvnne r1, #242
  32312. 17843 .LVL1163:
  32313. 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32314. 17844 .loc 1 7467 3 is_stmt 1 view .LVU6577
  32315. 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32316. 17845 .loc 1 7479 3 view .LVU6578
  32317. 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32318. 17846 .loc 1 7485 3 view .LVU6579
  32319. 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32320. 17847 .loc 1 7491 3 view .LVU6580
  32321. 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32322. 17848 .loc 1 7497 3 view .LVU6581
  32323. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32324. 17849 .loc 1 7506 3 view .LVU6582
  32325. 17850 0116 0A40 ands r2, r2, r1
  32326. 17851 0118 1A60 str r2, [r3]
  32327. 17852 .LVL1164:
  32328. 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32329. 17853 .loc 1 7506 3 is_stmt 0 view .LVU6583
  32330. 17854 .LBE820:
  32331. 17855 .LBE821:
  32332. 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32333. 17856 .loc 1 5199 5 is_stmt 1 view .LVU6584
  32334. 17857 .LBB822:
  32335. 17858 .LBI822:
  32336. 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32337. 17859 .loc 1 7360 13 view .LVU6585
  32338. 17860 .LBB823:
  32339. 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32340. 17861 .loc 1 7362 3 view .LVU6586
  32341. 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \
  32342. 17862 .loc 1 7364 3 view .LVU6587
  32343. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32344. 17863 .loc 1 7441 3 view .LVU6588
  32345. 17864 011a 1A68 ldr r2, [r3]
  32346. 17865 .LBE823:
  32347. 17866 .LBE822:
  32348. 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32349. 17867 .loc 1 5203 17 is_stmt 0 view .LVU6589
  32350. 17868 011c 4449 ldr r1, .L1696+16
  32351. 17869 .LBB825:
  32352. 17870 .LBB824:
  32353. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32354. 17871 .loc 1 7441 3 view .LVU6590
  32355. 17872 011e 42F0F402 orr r2, r2, #244
  32356. 17873 0122 1A60 str r2, [r3]
  32357. 17874 .LVL1165:
  32358. 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32359. 17875 .loc 1 7441 3 view .LVU6591
  32360. 17876 .LBE824:
  32361. 17877 .LBE825:
  32362. 5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32363. 17878 .loc 1 5201 5 is_stmt 1 view .LVU6592
  32364. 5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32365. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 559
  32366. 17879 .loc 1 5201 13 is_stmt 0 view .LVU6593
  32367. 17880 0124 94F84170 ldrb r7, [r4, #65] @ zero_extendqisi2
  32368. 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32369. 17881 .loc 1 5206 13 view .LVU6594
  32370. 17882 0128 628D ldrh r2, [r4, #42]
  32371. 17883 012a 92B2 uxth r2, r2
  32372. 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32373. 17884 .loc 1 5203 17 view .LVU6595
  32374. 17885 012c 222F cmp r7, #34
  32375. 17886 012e 08BF it eq
  32376. 17887 0130 0146 moveq r1, r0
  32377. 17888 .LVL1166:
  32378. 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32379. 17889 .loc 1 5206 5 is_stmt 1 view .LVU6596
  32380. 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32381. 17890 .loc 1 5206 8 is_stmt 0 view .LVU6597
  32382. 17891 0132 FF2A cmp r2, #255
  32383. 17892 0134 45D9 bls .L1641
  32384. 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32385. 17893 .loc 1 5209 7 is_stmt 1 view .LVU6598
  32386. 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32387. 17894 .loc 1 5209 11 is_stmt 0 view .LVU6599
  32388. 17895 0136 9B69 ldr r3, [r3, #24]
  32389. 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32390. 17896 .loc 1 5209 10 view .LVU6600
  32391. 17897 0138 D803 lsls r0, r3, #15
  32392. 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32393. 17898 .loc 1 5209 11 view .LVU6601
  32394. 17899 013a C3F30042 ubfx r2, r3, #16, #1
  32395. 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32396. 17900 .loc 1 5209 10 view .LVU6602
  32397. 17901 013e 5ABF itte pl
  32398. 17902 0140 FF22 movpl r2, #255
  32399. 5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32400. 17903 .loc 1 5215 24 view .LVU6603
  32401. 17904 0142 1346 movpl r3, r2
  32402. 5211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32403. 17905 .loc 1 5211 24 view .LVU6604
  32404. 17906 0144 0123 movmi r3, #1
  32405. 17907 0146 2385 strh r3, [r4, #40] @ movhi
  32406. 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  32407. 17908 .loc 1 5219 7 is_stmt 1 view .LVU6605
  32408. 17909 0148 0091 str r1, [sp]
  32409. 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  32410. 17910 .loc 1 5219 46 is_stmt 0 view .LVU6606
  32411. 17911 014a E16C ldr r1, [r4, #76]
  32412. 17912 .LVL1167:
  32413. 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  32414. 17913 .loc 1 5219 7 view .LVU6607
  32415. 17914 014c 4FF08073 mov r3, #16777216
  32416. 17915 0150 89B2 uxth r1, r1
  32417. 17916 0152 2046 mov r0, r4
  32418. 17917 0154 FFF7FEFF bl I2C_TransferConfig
  32419. 17918 .LVL1168:
  32420. 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction);
  32421. 17919 .loc 1 5219 7 view .LVU6608
  32422. 17920 0158 79E7 b .L1629
  32423. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 560
  32424. 17921 .LVL1169:
  32425. 17922 .L1692:
  32426. 5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32427. 17923 .loc 1 5111 5 is_stmt 1 view .LVU6609
  32428. 17924 015a 2368 ldr r3, [r4]
  32429. 17925 015c 1022 movs r2, #16
  32430. 17926 .LVL1170:
  32431. 5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32432. 17927 .loc 1 5111 5 is_stmt 0 view .LVU6610
  32433. 17928 015e DA61 str r2, [r3, #28]
  32434. 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32435. 17929 .loc 1 5116 5 is_stmt 1 view .LVU6611
  32436. 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32437. 17930 .loc 1 5116 21 is_stmt 0 view .LVU6612
  32438. 17931 0160 626C ldr r2, [r4, #68]
  32439. 17932 0162 42F00402 orr r2, r2, #4
  32440. 17933 0166 6264 str r2, [r4, #68]
  32441. 5119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32442. 17934 .loc 1 5119 5 is_stmt 1 view .LVU6613
  32443. 17935 .LVL1171:
  32444. 17936 .LBB826:
  32445. 17937 .LBI826:
  32446. 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32447. 17938 .loc 1 6758 13 view .LVU6614
  32448. 17939 .LBB827:
  32449. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32450. 17940 .loc 1 6762 3 view .LVU6615
  32451. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32452. 17941 .loc 1 6762 7 is_stmt 0 view .LVU6616
  32453. 17942 0168 9A69 ldr r2, [r3, #24]
  32454. 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32455. 17943 .loc 1 6762 6 view .LVU6617
  32456. 17944 016a 9207 lsls r2, r2, #30
  32457. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32458. 17945 .loc 1 6764 5 is_stmt 1 view .LVU6618
  32459. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32460. 17946 .loc 1 6768 3 view .LVU6619
  32461. 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32462. 17947 .loc 1 6764 26 is_stmt 0 view .LVU6620
  32463. 17948 016c 44BF itt mi
  32464. 17949 016e 0022 movmi r2, #0
  32465. 17950 0170 9A62 strmi r2, [r3, #40]
  32466. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32467. 17951 .loc 1 6768 7 view .LVU6621
  32468. 17952 0172 9A69 ldr r2, [r3, #24]
  32469. 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32470. 17953 .loc 1 6768 6 view .LVU6622
  32471. 17954 0174 D707 lsls r7, r2, #31
  32472. 17955 0176 3FF56AAF bmi .L1629
  32473. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32474. 17956 .loc 1 6770 5 is_stmt 1 view .LVU6623
  32475. 17957 017a 9A69 ldr r2, [r3, #24]
  32476. 17958 017c 42F00102 orr r2, r2, #1
  32477. 17959 0180 9A61 str r2, [r3, #24]
  32478. 17960 0182 64E7 b .L1629
  32479. 17961 .LVL1172:
  32480. 17962 .L1634:
  32481. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 561
  32482. 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32483. 17963 .loc 1 6770 5 is_stmt 0 view .LVU6624
  32484. 17964 .LBE827:
  32485. 17965 .LBE826:
  32486. 5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32487. 17966 .loc 1 5189 7 is_stmt 1 view .LVU6625
  32488. 17967 0184 4021 movs r1, #64
  32489. 17968 .LVL1173:
  32490. 5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32491. 17969 .loc 1 5189 7 is_stmt 0 view .LVU6626
  32492. 17970 0186 2046 mov r0, r4
  32493. 17971 0188 FFF7FEFF bl I2C_ITError
  32494. 17972 .LVL1174:
  32495. 17973 018c 5FE7 b .L1629
  32496. 17974 .LVL1175:
  32497. 17975 .L1693:
  32498. 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32499. 17976 .loc 1 5240 5 is_stmt 1 view .LVU6627
  32500. 17977 018e 2046 mov r0, r4
  32501. 17978 0190 2946 mov r1, r5
  32502. 17979 0192 FFF7FEFF bl I2C_ITMasterCplt
  32503. 17980 .LVL1176:
  32504. 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32505. 17981 .loc 1 5244 3 view .LVU6628
  32506. 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32507. 17982 .loc 1 5244 3 view .LVU6629
  32508. 17983 0196 0020 movs r0, #0
  32509. 17984 0198 84F84000 strb r0, [r4, #64]
  32510. 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32511. 17985 .loc 1 5244 3 view .LVU6630
  32512. 5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32513. 17986 .loc 1 5246 3 view .LVU6631
  32514. 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32515. 17987 .loc 1 5247 1 is_stmt 0 view .LVU6632
  32516. 17988 019c 02B0 add sp, sp, #8
  32517. 17989 .LCFI219:
  32518. 17990 .cfi_def_cfa_offset 24
  32519. 17991 @ sp needed
  32520. 17992 019e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  32521. 17993 .LVL1177:
  32522. 17994 .L1644:
  32523. 17995 .LCFI220:
  32524. 17996 .cfi_def_cfa_offset 0
  32525. 17997 .cfi_restore 4
  32526. 17998 .cfi_restore 5
  32527. 17999 .cfi_restore 6
  32528. 18000 .cfi_restore 7
  32529. 18001 .cfi_restore 8
  32530. 18002 .cfi_restore 14
  32531. 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32532. 18003 .loc 1 5105 3 view .LVU6633
  32533. 18004 01a2 0220 movs r0, #2
  32534. 18005 .LVL1178:
  32535. 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32536. 18006 .loc 1 5247 1 view .LVU6634
  32537. 18007 01a4 7047 bx lr
  32538. 18008 .LVL1179:
  32539. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 562
  32540. 18009 .L1695:
  32541. 18010 .LCFI221:
  32542. 18011 .cfi_def_cfa_offset 32
  32543. 18012 .cfi_offset 4, -24
  32544. 18013 .cfi_offset 5, -20
  32545. 18014 .cfi_offset 6, -16
  32546. 18015 .cfi_offset 7, -12
  32547. 18016 .cfi_offset 8, -8
  32548. 18017 .cfi_offset 14, -4
  32549. 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32550. 18018 .loc 1 5142 7 is_stmt 1 view .LVU6635
  32551. 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32552. 18019 .loc 1 5142 30 is_stmt 0 view .LVU6636
  32553. 18020 01a6 626A ldr r2, [r4, #36]
  32554. 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32555. 18021 .loc 1 5142 11 view .LVU6637
  32556. 18022 01a8 2368 ldr r3, [r4]
  32557. 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32558. 18023 .loc 1 5142 30 view .LVU6638
  32559. 18024 01aa 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2
  32560. 18025 .LVL1180:
  32561. 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32562. 18026 .loc 1 5142 28 view .LVU6639
  32563. 18027 01ae 9962 str r1, [r3, #40]
  32564. 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32565. 18028 .loc 1 5145 7 is_stmt 1 view .LVU6640
  32566. 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32567. 18029 .loc 1 5148 11 is_stmt 0 view .LVU6641
  32568. 18030 01b0 638D ldrh r3, [r4, #42]
  32569. 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32570. 18031 .loc 1 5147 21 view .LVU6642
  32571. 18032 01b2 218D ldrh r1, [r4, #40]
  32572. 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32573. 18033 .loc 1 5145 21 view .LVU6643
  32574. 18034 01b4 6262 str r2, [r4, #36]
  32575. 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32576. 18035 .loc 1 5147 7 is_stmt 1 view .LVU6644
  32577. 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32578. 18036 .loc 1 5148 7 view .LVU6645
  32579. 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32580. 18037 .loc 1 5148 22 is_stmt 0 view .LVU6646
  32581. 18038 01b6 013B subs r3, r3, #1
  32582. 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32583. 18039 .loc 1 5147 21 view .LVU6647
  32584. 18040 01b8 0139 subs r1, r1, #1
  32585. 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32586. 18041 .loc 1 5148 22 view .LVU6648
  32587. 18042 01ba 9BB2 uxth r3, r3
  32588. 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--;
  32589. 18043 .loc 1 5147 21 view .LVU6649
  32590. 18044 01bc 2185 strh r1, [r4, #40] @ movhi
  32591. 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32592. 18045 .loc 1 5148 22 view .LVU6650
  32593. 18046 01be 6385 strh r3, [r4, #42] @ movhi
  32594. 18047 01c0 45E7 b .L1629
  32595. 18048 .LVL1181:
  32596. 18049 .L1641:
  32597. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 563
  32598. 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32599. 18050 .loc 1 5224 7 is_stmt 1 view .LVU6651
  32600. 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  32601. 18051 .loc 1 5227 7 is_stmt 0 view .LVU6652
  32602. 18052 01c2 0091 str r1, [sp]
  32603. 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32604. 18053 .loc 1 5224 28 view .LVU6653
  32605. 18054 01c4 628D ldrh r2, [r4, #42]
  32606. 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  32607. 18055 .loc 1 5227 46 view .LVU6654
  32608. 18056 01c6 E16C ldr r1, [r4, #76]
  32609. 18057 .LVL1182:
  32610. 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32611. 18058 .loc 1 5224 28 view .LVU6655
  32612. 18059 01c8 92B2 uxth r2, r2
  32613. 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32614. 18060 .loc 1 5224 22 view .LVU6656
  32615. 18061 01ca 2285 strh r2, [r4, #40] @ movhi
  32616. 18062 .LVL1183:
  32617. 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  32618. 18063 .loc 1 5227 7 is_stmt 1 view .LVU6657
  32619. 18064 01cc 89B2 uxth r1, r1
  32620. 18065 01ce D2B2 uxtb r2, r2
  32621. 18066 01d0 4FF00073 mov r3, #33554432
  32622. 18067 01d4 2046 mov r0, r4
  32623. 18068 .LVL1184:
  32624. 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction);
  32625. 18069 .loc 1 5227 7 is_stmt 0 view .LVU6658
  32626. 18070 01d6 FFF7FEFF bl I2C_TransferConfig
  32627. 18071 .LVL1185:
  32628. 18072 01da 38E7 b .L1629
  32629. 18073 .LVL1186:
  32630. 18074 .L1635:
  32631. 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  32632. 18075 .loc 1 5180 9 is_stmt 1 view .LVU6659
  32633. 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  32634. 18076 .loc 1 5180 30 is_stmt 0 view .LVU6660
  32635. 18077 01dc 638D ldrh r3, [r4, #42]
  32636. 18078 .LBB828:
  32637. 18079 .LBB829:
  32638. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  32639. 18080 .loc 1 7337 3 view .LVU6661
  32640. 18081 01de 2268 ldr r2, [r4]
  32641. 18082 .LBE829:
  32642. 18083 .LBE828:
  32643. 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  32644. 18084 .loc 1 5181 48 view .LVU6662
  32645. 18085 01e0 E76C ldr r7, [r4, #76]
  32646. 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  32647. 18086 .loc 1 5180 30 view .LVU6663
  32648. 18087 01e2 9BB2 uxth r3, r3
  32649. 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize,
  32650. 18088 .loc 1 5180 24 view .LVU6664
  32651. 18089 01e4 2385 strh r3, [r4, #40] @ movhi
  32652. 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  32653. 18090 .loc 1 5181 9 is_stmt 1 view .LVU6665
  32654. 18091 01e6 5FFA83F8 uxtb r8, r3
  32655. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 564
  32656. 18092 .LVL1187:
  32657. 18093 .LBB832:
  32658. 18094 .LBB830:
  32659. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  32660. 18095 .loc 1 7337 3 is_stmt 0 view .LVU6666
  32661. 18096 01ea 0D4B ldr r3, .L1696
  32662. 18097 01ec 9A42 cmp r2, r3
  32663. 18098 .LBE830:
  32664. 18099 .LBE832:
  32665. 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
  32666. 18100 .loc 1 5181 9 view .LVU6667
  32667. 18101 01ee BFB2 uxth r7, r7
  32668. 18102 .LVL1188:
  32669. 18103 .LBB833:
  32670. 18104 .LBI828:
  32671. 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request)
  32672. 18105 .loc 1 7333 13 is_stmt 1 view .LVU6668
  32673. 18106 .LBB831:
  32674. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  32675. 18107 .loc 1 7337 3 view .LVU6669
  32676. 18108 01f0 09D0 beq .L1638
  32677. 18109 01f2 03F58063 add r3, r3, #1024
  32678. 18110 01f6 9A42 cmp r2, r3
  32679. 18111 01f8 05D0 beq .L1638
  32680. 18112 01fa 0A48 ldr r0, .L1696+4
  32681. 18113 01fc 41F6A941 movw r1, #7337
  32682. 18114 .LVL1189:
  32683. 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
  32684. 18115 .loc 1 7337 3 is_stmt 0 view .LVU6670
  32685. 18116 0200 FFF7FEFF bl assert_failed
  32686. 18117 .LVL1190:
  32687. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  32688. 18118 .loc 1 7347 3 view .LVU6671
  32689. 18119 0204 2268 ldr r2, [r4]
  32690. 18120 .L1638:
  32691. 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
  32692. 18121 .loc 1 7338 3 is_stmt 1 view .LVU6672
  32693. 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32694. 18122 .loc 1 7339 3 view .LVU6673
  32695. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  32696. 18123 .loc 1 7342 3 view .LVU6674
  32697. 18124 .LVL1191:
  32698. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  32699. 18125 .loc 1 7347 3 view .LVU6675
  32700. 18126 0206 5168 ldr r1, [r2, #4]
  32701. 18127 0208 0748 ldr r0, .L1696+8
  32702. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  32703. 18128 .loc 1 7342 52 is_stmt 0 view .LVU6676
  32704. 18129 020a C7F30903 ubfx r3, r7, #0, #10
  32705. 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \
  32706. 18130 .loc 1 7342 68 view .LVU6677
  32707. 18131 020e 43EA0843 orr r3, r3, r8, lsl #16
  32708. 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \
  32709. 18132 .loc 1 7347 3 view .LVU6678
  32710. 18133 0212 0140 ands r1, r1, r0
  32711. 18134 0214 0B43 orrs r3, r3, r1
  32712. 18135 0216 43F00073 orr r3, r3, #33554432
  32713. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 565
  32714. 18136 021a 5360 str r3, [r2, #4]
  32715. 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32716. 18137 .loc 1 7351 1 view .LVU6679
  32717. 18138 021c 17E7 b .L1629
  32718. 18139 .L1697:
  32719. 18140 021e 00BF .align 2
  32720. 18141 .L1696:
  32721. 18142 0220 00540040 .word 1073763328
  32722. 18143 0224 00000000 .word .LC0
  32723. 18144 0228 009C00FC .word -67068928
  32724. 18145 022c 00240080 .word -2147474432
  32725. 18146 0230 00200080 .word -2147475456
  32726. 18147 .LBE831:
  32727. 18148 .LBE833:
  32728. 18149 .cfi_endproc
  32729. 18150 .LFE180:
  32730. 18152 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
  32731. 18153 .align 1
  32732. 18154 .p2align 2,,3
  32733. 18155 .global HAL_I2C_ER_IRQHandler
  32734. 18156 .syntax unified
  32735. 18157 .thumb
  32736. 18158 .thumb_func
  32737. 18160 HAL_I2C_ER_IRQHandler:
  32738. 18161 .LVL1192:
  32739. 18162 .LFB165:
  32740. 4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
  32741. 18163 .loc 1 4658 1 is_stmt 1 view -0
  32742. 18164 .cfi_startproc
  32743. 18165 @ args = 0, pretend = 0, frame = 0
  32744. 18166 @ frame_needed = 0, uses_anonymous_args = 0
  32745. 18167 @ link register save eliminated.
  32746. 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  32747. 18168 .loc 1 4659 3 view .LVU6681
  32748. 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  32749. 18169 .loc 1 4659 24 is_stmt 0 view .LVU6682
  32750. 18170 0000 0368 ldr r3, [r0]
  32751. 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
  32752. 18171 .loc 1 4659 12 view .LVU6683
  32753. 18172 0002 9A69 ldr r2, [r3, #24]
  32754. 18173 .LVL1193:
  32755. 4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
  32756. 18174 .loc 1 4660 3 is_stmt 1 view .LVU6684
  32757. 4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror;
  32758. 18175 .loc 1 4660 12 is_stmt 0 view .LVU6685
  32759. 18176 0004 1968 ldr r1, [r3]
  32760. 18177 .LVL1194:
  32761. 4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32762. 18178 .loc 1 4661 3 is_stmt 1 view .LVU6686
  32763. 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32764. 18179 .loc 1 4664 3 view .LVU6687
  32765. 4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
  32766. 18180 .loc 1 4658 1 is_stmt 0 view .LVU6688
  32767. 18181 0006 10B4 push {r4}
  32768. 18182 .LCFI222:
  32769. 18183 .cfi_def_cfa_offset 4
  32770. 18184 .cfi_offset 4, -4
  32771. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 566
  32772. 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32773. 18185 .loc 1 4664 6 view .LVU6689
  32774. 18186 0008 D405 lsls r4, r2, #23
  32775. 18187 000a 2FD5 bpl .L1699
  32776. 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32777. 18188 .loc 1 4664 57 discriminator 1 view .LVU6690
  32778. 18189 000c 0C06 lsls r4, r1, #24
  32779. 18190 000e 1FD5 bpl .L1700
  32780. 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32781. 18191 .loc 1 4667 5 is_stmt 1 view .LVU6691
  32782. 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32783. 18192 .loc 1 4667 21 is_stmt 0 view .LVU6692
  32784. 18193 0010 416C ldr r1, [r0, #68]
  32785. 18194 .LVL1195:
  32786. 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32787. 18195 .loc 1 4667 21 view .LVU6693
  32788. 18196 0012 41F00101 orr r1, r1, #1
  32789. 18197 0016 4164 str r1, [r0, #68]
  32790. 4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32791. 18198 .loc 1 4670 5 is_stmt 1 view .LVU6694
  32792. 18199 0018 4FF48074 mov r4, #256
  32793. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32794. 18200 .loc 1 4674 6 is_stmt 0 view .LVU6695
  32795. 18201 001c 5105 lsls r1, r2, #21
  32796. 4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32797. 18202 .loc 1 4670 5 view .LVU6696
  32798. 18203 001e DC61 str r4, [r3, #28]
  32799. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32800. 18204 .loc 1 4674 3 is_stmt 1 view .LVU6697
  32801. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32802. 18205 .loc 1 4674 6 is_stmt 0 view .LVU6698
  32803. 18206 0020 29D5 bpl .L1701
  32804. 18207 .L1705:
  32805. 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32806. 18208 .loc 1 4677 5 is_stmt 1 view .LVU6699
  32807. 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32808. 18209 .loc 1 4677 21 is_stmt 0 view .LVU6700
  32809. 18210 0022 416C ldr r1, [r0, #68]
  32810. 4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32811. 18211 .loc 1 4680 5 view .LVU6701
  32812. 18212 0024 4FF48064 mov r4, #1024
  32813. 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32814. 18213 .loc 1 4677 21 view .LVU6702
  32815. 18214 0028 41F00801 orr r1, r1, #8
  32816. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32817. 18215 .loc 1 4684 6 view .LVU6703
  32818. 18216 002c 9205 lsls r2, r2, #22
  32819. 18217 .LVL1196:
  32820. 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32821. 18218 .loc 1 4677 21 view .LVU6704
  32822. 18219 002e 4164 str r1, [r0, #68]
  32823. 4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32824. 18220 .loc 1 4680 5 is_stmt 1 view .LVU6705
  32825. 18221 0030 DC61 str r4, [r3, #28]
  32826. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32827. 18222 .loc 1 4684 3 view .LVU6706
  32828. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32829. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 567
  32830. 18223 .loc 1 4684 6 is_stmt 0 view .LVU6707
  32831. 18224 0032 06D5 bpl .L1706
  32832. 18225 .L1702:
  32833. 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32834. 18226 .loc 1 4687 5 is_stmt 1 view .LVU6708
  32835. 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32836. 18227 .loc 1 4687 21 is_stmt 0 view .LVU6709
  32837. 18228 0034 426C ldr r2, [r0, #68]
  32838. 4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32839. 18229 .loc 1 4690 5 view .LVU6710
  32840. 18230 0036 4FF40071 mov r1, #512
  32841. 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32842. 18231 .loc 1 4687 21 view .LVU6711
  32843. 18232 003a 42F00202 orr r2, r2, #2
  32844. 18233 003e 4264 str r2, [r0, #68]
  32845. 4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32846. 18234 .loc 1 4690 5 is_stmt 1 view .LVU6712
  32847. 18235 0040 D961 str r1, [r3, #28]
  32848. 18236 .L1706:
  32849. 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32850. 18237 .loc 1 4694 3 view .LVU6713
  32851. 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32852. 18238 .loc 1 4694 12 is_stmt 0 view .LVU6714
  32853. 18239 0042 416C ldr r1, [r0, #68]
  32854. 18240 .LVL1197:
  32855. 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32856. 18241 .loc 1 4697 3 is_stmt 1 view .LVU6715
  32857. 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32858. 18242 .loc 1 4697 6 is_stmt 0 view .LVU6716
  32859. 18243 0044 11F00B0F tst r1, #11
  32860. 18244 0048 0CD1 bne .L1715
  32861. 18245 .L1698:
  32862. 4701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32863. 18246 .loc 1 4701 1 view .LVU6717
  32864. 18247 004a 5DF8044B ldr r4, [sp], #4
  32865. 18248 .LCFI223:
  32866. 18249 .cfi_remember_state
  32867. 18250 .cfi_restore 4
  32868. 18251 .cfi_def_cfa_offset 0
  32869. 18252 004e 7047 bx lr
  32870. 18253 .LVL1198:
  32871. 18254 .L1700:
  32872. 18255 .LCFI224:
  32873. 18256 .cfi_restore_state
  32874. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32875. 18257 .loc 1 4674 3 is_stmt 1 view .LVU6718
  32876. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32877. 18258 .loc 1 4674 6 is_stmt 0 view .LVU6719
  32878. 18259 0050 5405 lsls r4, r2, #21
  32879. 18260 0052 F6D4 bmi .L1706
  32880. 18261 .L1704:
  32881. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32882. 18262 .loc 1 4684 3 is_stmt 1 view .LVU6720
  32883. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32884. 18263 .loc 1 4684 6 is_stmt 0 view .LVU6721
  32885. 18264 0054 9405 lsls r4, r2, #22
  32886. 18265 0056 F4D5 bpl .L1706
  32887. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 568
  32888. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32889. 18266 .loc 1 4684 57 discriminator 1 view .LVU6722
  32890. 18267 0058 0906 lsls r1, r1, #24
  32891. 18268 .LVL1199:
  32892. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32893. 18269 .loc 1 4684 57 discriminator 1 view .LVU6723
  32894. 18270 005a EBD4 bmi .L1702
  32895. 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32896. 18271 .loc 1 4694 3 is_stmt 1 view .LVU6724
  32897. 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32898. 18272 .loc 1 4694 12 is_stmt 0 view .LVU6725
  32899. 18273 005c 416C ldr r1, [r0, #68]
  32900. 18274 .LVL1200:
  32901. 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32902. 18275 .loc 1 4697 3 is_stmt 1 view .LVU6726
  32903. 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** {
  32904. 18276 .loc 1 4697 6 is_stmt 0 view .LVU6727
  32905. 18277 005e 11F00B0F tst r1, #11
  32906. 18278 0062 F2D0 beq .L1698
  32907. 18279 .LVL1201:
  32908. 18280 .L1715:
  32909. 4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32910. 18281 .loc 1 4699 5 is_stmt 1 view .LVU6728
  32911. 4701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32912. 18282 .loc 1 4701 1 is_stmt 0 view .LVU6729
  32913. 18283 0064 5DF8044B ldr r4, [sp], #4
  32914. 18284 .LCFI225:
  32915. 18285 .cfi_remember_state
  32916. 18286 .cfi_restore 4
  32917. 18287 .cfi_def_cfa_offset 0
  32918. 4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32919. 18288 .loc 1 4699 5 view .LVU6730
  32920. 18289 0068 FFF7FEBF b I2C_ITError
  32921. 18290 .LVL1202:
  32922. 18291 .L1699:
  32923. 18292 .LCFI226:
  32924. 18293 .cfi_restore_state
  32925. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32926. 18294 .loc 1 4674 3 is_stmt 1 view .LVU6731
  32927. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32928. 18295 .loc 1 4674 6 is_stmt 0 view .LVU6732
  32929. 18296 006c 5405 lsls r4, r2, #21
  32930. 18297 006e F1D5 bpl .L1704
  32931. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32932. 18298 .loc 1 4674 56 discriminator 1 view .LVU6733
  32933. 18299 0070 0906 lsls r1, r1, #24
  32934. 18300 .LVL1203:
  32935. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32936. 18301 .loc 1 4674 56 discriminator 1 view .LVU6734
  32937. 18302 0072 D6D4 bmi .L1705
  32938. 18303 0074 E5E7 b .L1706
  32939. 18304 .L1701:
  32940. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32941. 18305 .loc 1 4684 3 is_stmt 1 view .LVU6735
  32942. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32943. 18306 .loc 1 4684 6 is_stmt 0 view .LVU6736
  32944. 18307 0076 9205 lsls r2, r2, #22
  32945. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 569
  32946. 18308 .LVL1204:
  32947. 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET))
  32948. 18309 .loc 1 4684 6 view .LVU6737
  32949. 18310 0078 DCD4 bmi .L1702
  32950. 18311 007a E2E7 b .L1706
  32951. 18312 .cfi_endproc
  32952. 18313 .LFE165:
  32953. 18315 .section .text.HAL_I2C_GetState,"ax",%progbits
  32954. 18316 .align 1
  32955. 18317 .p2align 2,,3
  32956. 18318 .global HAL_I2C_GetState
  32957. 18319 .syntax unified
  32958. 18320 .thumb
  32959. 18321 .thumb_func
  32960. 18323 HAL_I2C_GetState:
  32961. 18324 .LVL1205:
  32962. 18325 .LFB176:
  32963. 4892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */
  32964. 18326 .loc 1 4892 1 is_stmt 1 view -0
  32965. 18327 .cfi_startproc
  32966. 18328 @ args = 0, pretend = 0, frame = 0
  32967. 18329 @ frame_needed = 0, uses_anonymous_args = 0
  32968. 18330 @ link register save eliminated.
  32969. 4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32970. 18331 .loc 1 4894 3 view .LVU6739
  32971. 4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32972. 18332 .loc 1 4894 14 is_stmt 0 view .LVU6740
  32973. 18333 0000 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2
  32974. 18334 .LVL1206:
  32975. 4895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  32976. 18335 .loc 1 4895 1 view .LVU6741
  32977. 18336 0004 7047 bx lr
  32978. 18337 .cfi_endproc
  32979. 18338 .LFE176:
  32980. 18340 0006 00BF .section .text.HAL_I2C_GetMode,"ax",%progbits
  32981. 18341 .align 1
  32982. 18342 .p2align 2,,3
  32983. 18343 .global HAL_I2C_GetMode
  32984. 18344 .syntax unified
  32985. 18345 .thumb
  32986. 18346 .thumb_func
  32987. 18348 HAL_I2C_GetMode:
  32988. 18349 .LVL1207:
  32989. 18350 .LFB177:
  32990. 4904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode;
  32991. 18351 .loc 1 4904 1 is_stmt 1 view -0
  32992. 18352 .cfi_startproc
  32993. 18353 @ args = 0, pretend = 0, frame = 0
  32994. 18354 @ frame_needed = 0, uses_anonymous_args = 0
  32995. 18355 @ link register save eliminated.
  32996. 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32997. 18356 .loc 1 4905 3 view .LVU6743
  32998. 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  32999. 18357 .loc 1 4905 14 is_stmt 0 view .LVU6744
  33000. 18358 0000 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2
  33001. 18359 .LVL1208:
  33002. 4906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  33003. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 570
  33004. 18360 .loc 1 4906 1 view .LVU6745
  33005. 18361 0004 7047 bx lr
  33006. 18362 .cfi_endproc
  33007. 18363 .LFE177:
  33008. 18365 0006 00BF .section .text.HAL_I2C_GetError,"ax",%progbits
  33009. 18366 .align 1
  33010. 18367 .p2align 2,,3
  33011. 18368 .global HAL_I2C_GetError
  33012. 18369 .syntax unified
  33013. 18370 .thumb
  33014. 18371 .thumb_func
  33015. 18373 HAL_I2C_GetError:
  33016. 18374 .LVL1209:
  33017. 18375 .LFB178:
  33018. 4915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode;
  33019. 18376 .loc 1 4915 1 is_stmt 1 view -0
  33020. 18377 .cfi_startproc
  33021. 18378 @ args = 0, pretend = 0, frame = 0
  33022. 18379 @ frame_needed = 0, uses_anonymous_args = 0
  33023. 18380 @ link register save eliminated.
  33024. 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  33025. 18381 .loc 1 4916 3 view .LVU6747
  33026. 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** }
  33027. 18382 .loc 1 4916 14 is_stmt 0 view .LVU6748
  33028. 18383 0000 406C ldr r0, [r0, #68]
  33029. 18384 .LVL1210:
  33030. 4917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c ****
  33031. 18385 .loc 1 4917 1 view .LVU6749
  33032. 18386 0002 7047 bx lr
  33033. 18387 .cfi_endproc
  33034. 18388 .LFE178:
  33035. 18390 .text
  33036. 18391 .Letext0:
  33037. 18392 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  33038. 18393 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  33039. 18394 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  33040. 18395 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
  33041. 18396 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  33042. 18397 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
  33043. 18398 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_i2c.h"
  33044. 18399 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
  33045. 18400 .file 10 "Core/Inc/stm32f3xx_hal_conf.h"
  33046. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 571
  33047. DEFINED SYMBOLS
  33048. *ABS*:00000000 stm32f3xx_hal_i2c.c
  33049. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:20 .rodata.I2C_TransferConfig.str1.4:00000000 $d
  33050. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:25 .text.I2C_TransferConfig:00000000 $t
  33051. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:31 .text.I2C_TransferConfig:00000000 I2C_TransferConfig
  33052. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:147 .text.I2C_TransferConfig:00000090 $d
  33053. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:155 .text.I2C_IsErrorOccurred:00000000 $t
  33054. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:161 .text.I2C_IsErrorOccurred:00000000 I2C_IsErrorOccurred
  33055. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:485 .text.I2C_IsErrorOccurred:0000010c $d
  33056. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:490 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 $t
  33057. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:496 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 I2C_WaitOnTXISFlagUntilTimeout
  33058. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:610 .text.I2C_WaitOnFlagUntilTimeout:00000000 $t
  33059. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:616 .text.I2C_WaitOnFlagUntilTimeout:00000000 I2C_WaitOnFlagUntilTimeout
  33060. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:748 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 $t
  33061. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:754 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 I2C_WaitOnSTOPFlagUntilTimeout
  33062. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:875 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 $t
  33063. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:881 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 I2C_WaitOnRXNEFlagUntilTimeout
  33064. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1070 .text.I2C_WaitOnRXNEFlagUntilTimeout:000000a0 $d
  33065. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1075 .text.HAL_I2C_MspInit:00000000 $t
  33066. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1082 .text.HAL_I2C_MspInit:00000000 HAL_I2C_MspInit
  33067. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1097 .text.HAL_I2C_Init:00000000 $t
  33068. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1104 .text.HAL_I2C_Init:00000000 HAL_I2C_Init
  33069. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1393 .text.HAL_I2C_Init:00000178 $d
  33070. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1399 .text.HAL_I2C_MspDeInit:00000000 $t
  33071. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1406 .text.HAL_I2C_MspDeInit:00000000 HAL_I2C_MspDeInit
  33072. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1417 .text.HAL_I2C_DeInit:00000000 $t
  33073. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1424 .text.HAL_I2C_DeInit:00000000 HAL_I2C_DeInit
  33074. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1512 .text.HAL_I2C_DeInit:00000050 $d
  33075. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1518 .text.HAL_I2C_Master_Transmit:00000000 $t
  33076. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1525 .text.HAL_I2C_Master_Transmit:00000000 HAL_I2C_Master_Transmit
  33077. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1976 .text.HAL_I2C_Master_Transmit:000001d0 $d
  33078. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1986 .text.HAL_I2C_Master_Receive:00000000 $t
  33079. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1993 .text.HAL_I2C_Master_Receive:00000000 HAL_I2C_Master_Receive
  33080. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:2482 .text.HAL_I2C_Master_Receive:000001f8 $d
  33081. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:2494 .text.HAL_I2C_Slave_Transmit:00000000 $t
  33082. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:2501 .text.HAL_I2C_Slave_Transmit:00000000 HAL_I2C_Slave_Transmit
  33083. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3003 .text.HAL_I2C_Slave_Receive:00000000 $t
  33084. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3010 .text.HAL_I2C_Slave_Receive:00000000 HAL_I2C_Slave_Receive
  33085. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3373 .text.HAL_I2C_Master_Transmit_IT:00000000 $t
  33086. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3380 .text.HAL_I2C_Master_Transmit_IT:00000000 HAL_I2C_Master_Transmit_IT
  33087. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3604 .text.HAL_I2C_Master_Transmit_IT:000000c0 $d
  33088. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15184 .text.I2C_Master_ISR_IT:00000000 I2C_Master_ISR_IT
  33089. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3611 .text.HAL_I2C_Master_Receive_IT:00000000 $t
  33090. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3618 .text.HAL_I2C_Master_Receive_IT:00000000 HAL_I2C_Master_Receive_IT
  33091. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3785 .text.HAL_I2C_Master_Receive_IT:00000088 $d
  33092. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3792 .text.HAL_I2C_Slave_Transmit_IT:00000000 $t
  33093. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3799 .text.HAL_I2C_Slave_Transmit_IT:00000000 HAL_I2C_Slave_Transmit_IT
  33094. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3954 .text.HAL_I2C_Slave_Transmit_IT:00000080 $d
  33095. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14451 .text.I2C_Slave_ISR_IT:00000000 I2C_Slave_ISR_IT
  33096. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3960 .text.HAL_I2C_Slave_Receive_IT:00000000 $t
  33097. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3967 .text.HAL_I2C_Slave_Receive_IT:00000000 HAL_I2C_Slave_Receive_IT
  33098. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4108 .text.HAL_I2C_Slave_Receive_IT:00000058 $d
  33099. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4114 .text.HAL_I2C_Master_Transmit_DMA:00000000 $t
  33100. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4121 .text.HAL_I2C_Master_Transmit_DMA:00000000 HAL_I2C_Master_Transmit_DMA
  33101. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4555 .text.HAL_I2C_Master_Transmit_DMA:00000184 $d
  33102. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16694 .text.I2C_Master_ISR_DMA:00000000 I2C_Master_ISR_DMA
  33103. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17121 .text.I2C_DMAMasterTransmitCplt:00000000 I2C_DMAMasterTransmitCplt
  33104. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 572
  33105. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17085 .text.I2C_DMAError:00000000 I2C_DMAError
  33106. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4568 .text.HAL_I2C_Master_Receive_DMA:00000000 $t
  33107. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4575 .text.HAL_I2C_Master_Receive_DMA:00000000 HAL_I2C_Master_Receive_DMA
  33108. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4947 .text.HAL_I2C_Master_Receive_DMA:00000150 $d
  33109. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17320 .text.I2C_DMAMasterReceiveCplt:00000000 I2C_DMAMasterReceiveCplt
  33110. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4960 .text.HAL_I2C_Slave_Transmit_DMA:00000000 $t
  33111. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4967 .text.HAL_I2C_Slave_Transmit_DMA:00000000 HAL_I2C_Slave_Transmit_DMA
  33112. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5264 .text.HAL_I2C_Slave_Transmit_DMA:00000104 $d
  33113. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16354 .text.I2C_Slave_ISR_DMA:00000000 I2C_Slave_ISR_DMA
  33114. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12833 .text.I2C_DMASlaveTransmitCplt:00000000 I2C_DMASlaveTransmitCplt
  33115. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5272 .text.HAL_I2C_Slave_Receive_DMA:00000000 $t
  33116. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5279 .text.HAL_I2C_Slave_Receive_DMA:00000000 HAL_I2C_Slave_Receive_DMA
  33117. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5507 .text.HAL_I2C_Slave_Receive_DMA:000000c4 $d
  33118. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12879 .text.I2C_DMASlaveReceiveCplt:00000000 I2C_DMASlaveReceiveCplt
  33119. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5515 .text.HAL_I2C_Mem_Write:00000000 $t
  33120. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5522 .text.HAL_I2C_Mem_Write:00000000 HAL_I2C_Mem_Write
  33121. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6172 .text.HAL_I2C_Mem_Write:0000028c $d
  33122. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6182 .text.HAL_I2C_Mem_Read:00000000 $t
  33123. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6189 .text.HAL_I2C_Mem_Read:00000000 HAL_I2C_Mem_Read
  33124. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6843 .text.HAL_I2C_Mem_Read:00000294 $d
  33125. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6853 .text.HAL_I2C_Mem_Write_IT:00000000 $t
  33126. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6860 .text.HAL_I2C_Mem_Write_IT:00000000 HAL_I2C_Mem_Write_IT
  33127. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7094 .text.HAL_I2C_Mem_Write_IT:000000e4 $d
  33128. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17557 .text.I2C_Mem_ISR_IT:00000000 I2C_Mem_ISR_IT
  33129. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7103 .text.HAL_I2C_Mem_Read_IT:00000000 $t
  33130. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7110 .text.HAL_I2C_Mem_Read_IT:00000000 HAL_I2C_Mem_Read_IT
  33131. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7338 .text.HAL_I2C_Mem_Read_IT:000000dc $d
  33132. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7347 .text.HAL_I2C_Mem_Write_DMA:00000000 $t
  33133. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7354 .text.HAL_I2C_Mem_Write_DMA:00000000 HAL_I2C_Mem_Write_DMA
  33134. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7687 .text.HAL_I2C_Mem_Write_DMA:00000154 $d
  33135. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15677 .text.I2C_Mem_ISR_DMA:00000000 I2C_Mem_ISR_DMA
  33136. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7700 .text.HAL_I2C_Mem_Read_DMA:00000000 $t
  33137. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7707 .text.HAL_I2C_Mem_Read_DMA:00000000 HAL_I2C_Mem_Read_DMA
  33138. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8040 .text.HAL_I2C_Mem_Read_DMA:00000150 $d
  33139. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8053 .text.HAL_I2C_IsDeviceReady:00000000 $t
  33140. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8060 .text.HAL_I2C_IsDeviceReady:00000000 HAL_I2C_IsDeviceReady
  33141. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8348 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 $t
  33142. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8355 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 HAL_I2C_Master_Seq_Transmit_IT
  33143. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8699 .text.HAL_I2C_Master_Seq_Transmit_IT:00000124 $d
  33144. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8708 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 $t
  33145. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8715 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 HAL_I2C_Master_Seq_Transmit_DMA
  33146. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9268 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000200 $d
  33147. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9278 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 $t
  33148. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9285 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 HAL_I2C_Master_Seq_Receive_IT
  33149. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9565 .text.HAL_I2C_Master_Seq_Receive_IT:000000e4 $d
  33150. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9574 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 $t
  33151. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9581 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 HAL_I2C_Master_Seq_Receive_DMA
  33152. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10095 .text.HAL_I2C_Master_Seq_Receive_DMA:000001c8 $d
  33153. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10107 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 $t
  33154. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10114 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 HAL_I2C_Slave_Seq_Transmit_IT
  33155. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10431 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000011c $d
  33156. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13354 .text.I2C_DMAAbort:00000000 I2C_DMAAbort
  33157. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10438 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 $t
  33158. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10445 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 HAL_I2C_Slave_Seq_Transmit_DMA
  33159. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10956 .text.HAL_I2C_Slave_Seq_Transmit_DMA:000001f4 $d
  33160. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10965 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 $t
  33161. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10972 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 HAL_I2C_Slave_Seq_Receive_IT
  33162. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 573
  33163. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11288 .text.HAL_I2C_Slave_Seq_Receive_IT:00000120 $d
  33164. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11295 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 $t
  33165. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11302 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 HAL_I2C_Slave_Seq_Receive_DMA
  33166. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11808 .text.HAL_I2C_Slave_Seq_Receive_DMA:000001d4 $d
  33167. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11817 .text.HAL_I2C_EnableListen_IT:00000000 $t
  33168. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11824 .text.HAL_I2C_EnableListen_IT:00000000 HAL_I2C_EnableListen_IT
  33169. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11895 .text.HAL_I2C_EnableListen_IT:00000024 $d
  33170. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11902 .text.HAL_I2C_DisableListen_IT:00000000 $t
  33171. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11909 .text.HAL_I2C_DisableListen_IT:00000000 HAL_I2C_DisableListen_IT
  33172. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12010 .text.HAL_I2C_Master_Abort_IT:00000000 $t
  33173. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12017 .text.HAL_I2C_Master_Abort_IT:00000000 HAL_I2C_Master_Abort_IT
  33174. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12335 .text.HAL_I2C_Master_Abort_IT:000000e4 $d
  33175. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12345 .text.HAL_I2C_EV_IRQHandler:00000000 $t
  33176. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12352 .text.HAL_I2C_EV_IRQHandler:00000000 HAL_I2C_EV_IRQHandler
  33177. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12385 .text.HAL_I2C_MasterTxCpltCallback:00000000 $t
  33178. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12392 .text.HAL_I2C_MasterTxCpltCallback:00000000 HAL_I2C_MasterTxCpltCallback
  33179. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12403 .text.HAL_I2C_MasterRxCpltCallback:00000000 $t
  33180. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12410 .text.HAL_I2C_MasterRxCpltCallback:00000000 HAL_I2C_MasterRxCpltCallback
  33181. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12421 .text.I2C_ITMasterSeqCplt:00000000 $t
  33182. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12427 .text.I2C_ITMasterSeqCplt:00000000 I2C_ITMasterSeqCplt
  33183. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12588 .text.HAL_I2C_SlaveTxCpltCallback:00000000 $t
  33184. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12595 .text.HAL_I2C_SlaveTxCpltCallback:00000000 HAL_I2C_SlaveTxCpltCallback
  33185. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12606 .text.HAL_I2C_SlaveRxCpltCallback:00000000 $t
  33186. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12613 .text.HAL_I2C_SlaveRxCpltCallback:00000000 HAL_I2C_SlaveRxCpltCallback
  33187. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12624 .text.I2C_ITSlaveSeqCplt:00000000 $t
  33188. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12630 .text.I2C_ITSlaveSeqCplt:00000000 I2C_ITSlaveSeqCplt
  33189. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12827 .text.I2C_DMASlaveTransmitCplt:00000000 $t
  33190. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12873 .text.I2C_DMASlaveReceiveCplt:00000000 $t
  33191. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12926 .text.HAL_I2C_AddrCallback:00000000 $t
  33192. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12933 .text.HAL_I2C_AddrCallback:00000000 HAL_I2C_AddrCallback
  33193. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12950 .text.I2C_ITAddrCplt.part.0:00000000 $t
  33194. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12956 .text.I2C_ITAddrCplt.part.0:00000000 I2C_ITAddrCplt.part.0
  33195. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13107 .text.HAL_I2C_ListenCpltCallback:00000000 $t
  33196. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13114 .text.HAL_I2C_ListenCpltCallback:00000000 HAL_I2C_ListenCpltCallback
  33197. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13125 .text.I2C_ITListenCplt:00000000 $t
  33198. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13131 .text.I2C_ITListenCplt:00000000 I2C_ITListenCplt
  33199. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13271 .text.I2C_ITListenCplt:00000064 $d
  33200. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13276 .text.HAL_I2C_MemTxCpltCallback:00000000 $t
  33201. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13283 .text.HAL_I2C_MemTxCpltCallback:00000000 HAL_I2C_MemTxCpltCallback
  33202. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13294 .text.HAL_I2C_MemRxCpltCallback:00000000 $t
  33203. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13301 .text.HAL_I2C_MemRxCpltCallback:00000000 HAL_I2C_MemRxCpltCallback
  33204. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13312 .text.HAL_I2C_ErrorCallback:00000000 $t
  33205. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13319 .text.HAL_I2C_ErrorCallback:00000000 HAL_I2C_ErrorCallback
  33206. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13330 .text.HAL_I2C_AbortCpltCallback:00000000 $t
  33207. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13337 .text.HAL_I2C_AbortCpltCallback:00000000 HAL_I2C_AbortCpltCallback
  33208. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13348 .text.I2C_DMAAbort:00000000 $t
  33209. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13459 .text.I2C_ITError:00000000 $t
  33210. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13465 .text.I2C_ITError:00000000 I2C_ITError
  33211. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13899 .text.I2C_ITError:00000160 $d
  33212. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13906 .text.I2C_ITSlaveCplt:00000000 $t
  33213. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13912 .text.I2C_ITSlaveCplt:00000000 I2C_ITSlaveCplt
  33214. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14439 .text.I2C_ITSlaveCplt:000001d4 $d
  33215. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14445 .text.I2C_Slave_ISR_IT:00000000 $t
  33216. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14815 .text.I2C_ITMasterCplt:00000000 $t
  33217. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14821 .text.I2C_ITMasterCplt:00000000 I2C_ITMasterCplt
  33218. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15172 .text.I2C_ITMasterCplt:0000011c $d
  33219. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15178 .text.I2C_Master_ISR_IT:00000000 $t
  33220. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 574
  33221. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15662 .text.I2C_Master_ISR_IT:000001d4 $d
  33222. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15671 .text.I2C_Mem_ISR_DMA:00000000 $t
  33223. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16334 .text.I2C_Mem_ISR_DMA:00000244 $d
  33224. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16348 .text.I2C_Slave_ISR_DMA:00000000 $t
  33225. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16688 .text.I2C_Master_ISR_DMA:00000000 $t
  33226. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17072 .text.I2C_Master_ISR_DMA:0000014c $d
  33227. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17079 .text.I2C_DMAError:00000000 $t
  33228. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17115 .text.I2C_DMAMasterTransmitCplt:00000000 $t
  33229. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17305 .text.I2C_DMAMasterTransmitCplt:00000094 $d
  33230. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17314 .text.I2C_DMAMasterReceiveCplt:00000000 $t
  33231. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17544 .text.I2C_DMAMasterReceiveCplt:000000ac $d
  33232. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17551 .text.I2C_Mem_ISR_IT:00000000 $t
  33233. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18142 .text.I2C_Mem_ISR_IT:00000220 $d
  33234. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18153 .text.HAL_I2C_ER_IRQHandler:00000000 $t
  33235. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18160 .text.HAL_I2C_ER_IRQHandler:00000000 HAL_I2C_ER_IRQHandler
  33236. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18316 .text.HAL_I2C_GetState:00000000 $t
  33237. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18323 .text.HAL_I2C_GetState:00000000 HAL_I2C_GetState
  33238. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18341 .text.HAL_I2C_GetMode:00000000 $t
  33239. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18348 .text.HAL_I2C_GetMode:00000000 HAL_I2C_GetMode
  33240. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18366 .text.HAL_I2C_GetError:00000000 $t
  33241. C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18373 .text.HAL_I2C_GetError:00000000 HAL_I2C_GetError
  33242. UNDEFINED SYMBOLS
  33243. assert_failed
  33244. HAL_GetTick
  33245. HAL_DMA_Start_IT
  33246. HAL_DMA_Abort_IT
  33247. HAL_DMA_GetState