stm32f4xx_hal_dma.lst 223 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225
  1. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 6
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f4xx_hal_dma.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.HAL_DMA_Init,"ax",%progbits
  21. 20 .align 1
  22. 21 .global HAL_DMA_Init
  23. 22 .syntax unified
  24. 23 .thumb
  25. 24 .thumb_func
  26. 26 HAL_DMA_Init:
  27. 27 .LFB235:
  28. 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c"
  29. 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  30. 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ******************************************************************************
  31. 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @file stm32f4xx_hal_dma.c
  32. 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @author MCD Application Team
  33. 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver.
  34. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  35. 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This file provides firmware functions to manage the following
  36. 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral:
  37. 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Initialization and de-initialization functions
  38. 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + IO operation functions
  39. 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Peripheral State and errors functions
  40. 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
  41. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ==============================================================================
  42. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### How to use this driver #####
  43. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ==============================================================================
  44. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  45. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Stream
  46. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (except for internal SRAM/FLASH memories: no initialization is
  47. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** necessary) please refer to Reference manual for connection between peripherals
  48. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and DMA requests.
  49. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  50. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) For a given Stream, program the required configuration through the following parameters:
  51. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Transfer Direction, Source and Destination data formats,
  52. 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Circular, Normal or peripheral flow control mode, Stream Priority level,
  53. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source and Destination Increment mode, FIFO mode and its Threshold (if needed),
  54. 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Burst mode for Source and/or Destination (if needed) using HAL_DMA_Init() function.
  55. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  56. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- Prior to HAL_DMA_Init() the clock must be enabled for DMA through the following macros:
  57. 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_RCC_DMA1_CLK_ENABLE() or __HAL_RCC_DMA2_CLK_ENABLE().
  58. 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  59. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 2
  60. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Polling mode IO operation ***
  61. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =================================
  62. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  63. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source
  64. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** address and destination address and the Length of data to be transferred.
  65. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this
  66. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case a fixed Timeout can be configured by User depending from his application.
  67. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Abort() function to abort the current transfer.
  68. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  69. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Interrupt mode IO operation ***
  70. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===================================
  71. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  72. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority()
  73. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ()
  74. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of
  75. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source address and destination address and the Length of data to be transferred. In t
  76. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case the DMA interrupt is configured
  77. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine
  78. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can
  79. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** add his own function by customization of function pointer XferCpltCallback and
  80. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** XferErrorCallback (i.e a member of DMA handle structure).
  81. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  82. 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of
  83. 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** detection.
  84. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  85. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_Abort_IT() function to abort the current transfer
  86. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  87. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- In Memory-to-Memory transfer mode, Circular mode is not allowed.
  88. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  89. 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- The FIFO is used mainly to reduce bus usage and to allow data packing/unpacking: it is
  90. 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** possible to set different Data Sizes for the Peripheral and the Memory (ie. you can set
  91. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Half-Word data size for the peripheral to access its data register and set Word data siz
  92. 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** for the Memory to gain in access time. Each two half words will be packed and written in
  93. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** a single access to a Word in the Memory).
  94. 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  95. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- When FIFO is disabled, it is not allowed to configure different Data Sizes for Source
  96. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination. In this case the Peripheral Data Size will be applied to both Source
  97. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination.
  98. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  99. 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** DMA HAL driver macros list ***
  100. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================
  101. 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  102. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Below the list of most used macros in DMA HAL driver.
  103. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  104. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_ENABLE: Enable the specified DMA Stream.
  105. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_DISABLE: Disable the specified DMA Stream.
  106. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_GET_IT_SOURCE: Check whether the specified DMA Stream interrupt has occurred or
  107. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  108. 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  109. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (@) You can refer to the DMA HAL driver header file for more useful macros
  110. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  111. 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
  112. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ******************************************************************************
  113. 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @attention
  114. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  115. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * Copyright (c) 2017 STMicroelectronics.
  116. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * All rights reserved.
  117. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 3
  118. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  119. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This software is licensed under terms that can be found in the LICENSE file in
  120. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the root directory of this software component.
  121. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  122. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  123. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ******************************************************************************
  124. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  125. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  126. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Includes ------------------------------------------------------------------*/
  127. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #include "stm32f4xx_hal.h"
  128. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  129. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup STM32F4xx_HAL_Driver
  130. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  131. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  132. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  133. 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @defgroup DMA DMA
  134. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver
  135. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  136. 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  137. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  138. 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #ifdef HAL_DMA_MODULE_ENABLED
  139. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  140. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private types -------------------------------------------------------------*/
  141. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** typedef struct
  142. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  143. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t ISR; /*!< DMA interrupt status register */
  144. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t Reserved0;
  145. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t IFCR; /*!< DMA interrupt flag clear register */
  146. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } DMA_Base_Registers;
  147. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  148. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private variables ---------------------------------------------------------*/
  149. 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private constants ---------------------------------------------------------*/
  150. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Constants
  151. 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  152. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  153. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #define HAL_TIMEOUT_DMA_ABORT 5U /* 5 ms */
  154. 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  155. 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
  156. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  157. 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private macros ------------------------------------------------------------*/
  158. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private functions ---------------------------------------------------------*/
  159. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions
  160. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  161. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  162. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32
  163. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma);
  164. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma);
  165. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  166. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  167. 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
  168. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  169. 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  170. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Exported functions ---------------------------------------------------------*/
  171. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions
  172. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  173. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  174. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  175. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 4
  176. 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group1
  177. 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  178. 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
  179. 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
  180. 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### Initialization and de-initialization functions #####
  181. 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
  182. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  183. 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** This section provides functions allowing to initialize the DMA Stream source
  184. 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and destination addresses, incrementation and data sizes, transfer direction,
  185. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** circular/normal mode selection, memory-to-memory mode selection and Stream priority value.
  186. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  187. 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** The HAL_DMA_Init() function follows the DMA configuration procedures as described in
  188. 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** reference manual.
  189. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  190. 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
  191. 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  192. 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  193. 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  194. 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  195. 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Initialize the DMA according to the specified
  196. 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * parameters in the DMA_InitTypeDef and create the associated handle.
  197. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
  198. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  199. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  200. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  201. 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma)
  202. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  203. 29 .loc 1 171 1
  204. 30 .cfi_startproc
  205. 31 @ args = 0, pretend = 0, frame = 24
  206. 32 @ frame_needed = 1, uses_anonymous_args = 0
  207. 33 0000 80B5 push {r7, lr}
  208. 34 .LCFI0:
  209. 35 .cfi_def_cfa_offset 8
  210. 36 .cfi_offset 7, -8
  211. 37 .cfi_offset 14, -4
  212. 38 0002 86B0 sub sp, sp, #24
  213. 39 .LCFI1:
  214. 40 .cfi_def_cfa_offset 32
  215. 41 0004 00AF add r7, sp, #0
  216. 42 .LCFI2:
  217. 43 .cfi_def_cfa_register 7
  218. 44 0006 7860 str r0, [r7, #4]
  219. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U;
  220. 45 .loc 1 172 12
  221. 46 0008 0023 movs r3, #0
  222. 47 000a 7B61 str r3, [r7, #20]
  223. 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick();
  224. 48 .loc 1 173 24
  225. 49 000c FFF7FEFF bl HAL_GetTick
  226. 50 0010 3861 str r0, [r7, #16]
  227. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
  228. 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  229. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */
  230. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL)
  231. 51 .loc 1 177 5
  232. 52 0012 7B68 ldr r3, [r7, #4]
  233. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 5
  234. 53 0014 002B cmp r3, #0
  235. 54 0016 01D1 bne .L2
  236. 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  237. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  238. 55 .loc 1 179 12
  239. 56 0018 0123 movs r3, #1
  240. 57 001a 99E0 b .L3
  241. 58 .L2:
  242. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  243. 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  244. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
  245. 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance));
  246. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_CHANNEL(hdma->Init.Channel));
  247. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction));
  248. 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc));
  249. 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc));
  250. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment));
  251. 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment));
  252. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode));
  253. 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority));
  254. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_MODE_STATE(hdma->Init.FIFOMode));
  255. 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the memory burst, peripheral burst and FIFO threshold parameters only
  256. 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** when FIFO mode is enabled */
  257. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode != DMA_FIFOMODE_DISABLE)
  258. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  259. 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_THRESHOLD(hdma->Init.FIFOThreshold));
  260. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst));
  261. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst));
  262. 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  263. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  264. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */
  265. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
  266. 59 .loc 1 203 15
  267. 60 001c 7B68 ldr r3, [r7, #4]
  268. 61 001e 0222 movs r2, #2
  269. 62 0020 83F83520 strb r2, [r3, #53]
  270. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  271. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Allocate lock resource */
  272. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  273. 63 .loc 1 206 3
  274. 64 0024 7B68 ldr r3, [r7, #4]
  275. 65 0026 0022 movs r2, #0
  276. 66 0028 83F83420 strb r2, [r3, #52]
  277. 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  278. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the peripheral */
  279. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
  280. 67 .loc 1 209 3
  281. 68 002c 7B68 ldr r3, [r7, #4]
  282. 69 002e 1B68 ldr r3, [r3]
  283. 70 0030 1A68 ldr r2, [r3]
  284. 71 0032 7B68 ldr r3, [r7, #4]
  285. 72 0034 1B68 ldr r3, [r3]
  286. 73 0036 22F00102 bic r2, r2, #1
  287. 74 003a 1A60 str r2, [r3]
  288. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  289. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */
  290. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET)
  291. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 6
  292. 75 .loc 1 212 8
  293. 76 003c 0FE0 b .L4
  294. 77 .L5:
  295. 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  296. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */
  297. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT)
  298. 78 .loc 1 215 9
  299. 79 003e FFF7FEFF bl HAL_GetTick
  300. 80 0042 0246 mov r2, r0
  301. 81 .loc 1 215 23
  302. 82 0044 3B69 ldr r3, [r7, #16]
  303. 83 0046 D31A subs r3, r2, r3
  304. 84 .loc 1 215 7
  305. 85 0048 052B cmp r3, #5
  306. 86 004a 08D9 bls .L4
  307. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  308. 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  309. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
  310. 87 .loc 1 218 23
  311. 88 004c 7B68 ldr r3, [r7, #4]
  312. 89 004e 2022 movs r2, #32
  313. 90 0050 5A65 str r2, [r3, #84]
  314. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  315. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  316. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT;
  317. 91 .loc 1 221 19
  318. 92 0052 7B68 ldr r3, [r7, #4]
  319. 93 0054 0322 movs r2, #3
  320. 94 0056 83F83520 strb r2, [r3, #53]
  321. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  322. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT;
  323. 95 .loc 1 223 14
  324. 96 005a 0323 movs r3, #3
  325. 97 005c 78E0 b .L3
  326. 98 .L4:
  327. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  328. 99 .loc 1 212 14
  329. 100 005e 7B68 ldr r3, [r7, #4]
  330. 101 0060 1B68 ldr r3, [r3]
  331. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  332. 102 .loc 1 212 24
  333. 103 0062 1B68 ldr r3, [r3]
  334. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  335. 104 .loc 1 212 29
  336. 105 0064 03F00103 and r3, r3, #1
  337. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  338. 106 .loc 1 212 8
  339. 107 0068 002B cmp r3, #0
  340. 108 006a E8D1 bne .L5
  341. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  342. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  343. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  344. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the CR register value */
  345. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->CR;
  346. 109 .loc 1 228 13
  347. 110 006c 7B68 ldr r3, [r7, #4]
  348. 111 006e 1B68 ldr r3, [r3]
  349. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 7
  350. 112 .loc 1 228 7
  351. 113 0070 1B68 ldr r3, [r3]
  352. 114 0072 7B61 str r3, [r7, #20]
  353. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  354. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */
  355. 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \
  356. 115 .loc 1 231 7
  357. 116 0074 7A69 ldr r2, [r7, #20]
  358. 117 0076 384B ldr r3, .L8
  359. 118 0078 1340 ands r3, r3, r2
  360. 119 007a 7B61 str r3, [r7, #20]
  361. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \
  362. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \
  363. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_DIR | DMA_SxCR_CT | DMA_SxCR_DBM));
  364. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  365. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream configuration */
  366. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.Channel | hdma->Init.Direction |
  367. 120 .loc 1 237 21
  368. 121 007c 7B68 ldr r3, [r7, #4]
  369. 122 007e 5A68 ldr r2, [r3, #4]
  370. 123 .loc 1 237 54
  371. 124 0080 7B68 ldr r3, [r7, #4]
  372. 125 0082 9B68 ldr r3, [r3, #8]
  373. 126 .loc 1 237 42
  374. 127 0084 1A43 orrs r2, r2, r3
  375. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
  376. 128 .loc 1 238 21
  377. 129 0086 7B68 ldr r3, [r7, #4]
  378. 130 0088 DB68 ldr r3, [r3, #12]
  379. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
  380. 131 .loc 1 237 72
  381. 132 008a 1A43 orrs r2, r2, r3
  382. 133 .loc 1 238 54
  383. 134 008c 7B68 ldr r3, [r7, #4]
  384. 135 008e 1B69 ldr r3, [r3, #16]
  385. 136 .loc 1 238 42
  386. 137 0090 1A43 orrs r2, r2, r3
  387. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
  388. 138 .loc 1 239 21
  389. 139 0092 7B68 ldr r3, [r7, #4]
  390. 140 0094 5B69 ldr r3, [r3, #20]
  391. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
  392. 141 .loc 1 238 72
  393. 142 0096 1A43 orrs r2, r2, r3
  394. 143 .loc 1 239 54
  395. 144 0098 7B68 ldr r3, [r7, #4]
  396. 145 009a 9B69 ldr r3, [r3, #24]
  397. 146 .loc 1 239 42
  398. 147 009c 1A43 orrs r2, r2, r3
  399. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority;
  400. 148 .loc 1 240 21
  401. 149 009e 7B68 ldr r3, [r7, #4]
  402. 150 00a0 DB69 ldr r3, [r3, #28]
  403. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
  404. 151 .loc 1 239 72
  405. 152 00a2 1A43 orrs r2, r2, r3
  406. 153 .loc 1 240 54
  407. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 8
  408. 154 00a4 7B68 ldr r3, [r7, #4]
  409. 155 00a6 1B6A ldr r3, [r3, #32]
  410. 156 .loc 1 240 42
  411. 157 00a8 1343 orrs r3, r3, r2
  412. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
  413. 158 .loc 1 237 7
  414. 159 00aa 7A69 ldr r2, [r7, #20]
  415. 160 00ac 1343 orrs r3, r3, r2
  416. 161 00ae 7B61 str r3, [r7, #20]
  417. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  418. 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* the Memory burst and peripheral burst are not used when the FIFO is disabled */
  419. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE)
  420. 162 .loc 1 243 16
  421. 163 00b0 7B68 ldr r3, [r7, #4]
  422. 164 00b2 5B6A ldr r3, [r3, #36]
  423. 165 .loc 1 243 5
  424. 166 00b4 042B cmp r3, #4
  425. 167 00b6 07D1 bne .L6
  426. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  427. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get memory burst and peripheral burst */
  428. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst;
  429. 168 .loc 1 246 23
  430. 169 00b8 7B68 ldr r3, [r7, #4]
  431. 170 00ba DA6A ldr r2, [r3, #44]
  432. 171 .loc 1 246 45
  433. 172 00bc 7B68 ldr r3, [r7, #4]
  434. 173 00be 1B6B ldr r3, [r3, #48]
  435. 174 .loc 1 246 33
  436. 175 00c0 1343 orrs r3, r3, r2
  437. 176 .loc 1 246 9
  438. 177 00c2 7A69 ldr r2, [r7, #20]
  439. 178 00c4 1343 orrs r3, r3, r2
  440. 179 00c6 7B61 str r3, [r7, #20]
  441. 180 .L6:
  442. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  443. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  444. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream CR register */
  445. 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = tmp;
  446. 181 .loc 1 250 7
  447. 182 00c8 7B68 ldr r3, [r7, #4]
  448. 183 00ca 1B68 ldr r3, [r3]
  449. 184 .loc 1 250 22
  450. 185 00cc 7A69 ldr r2, [r7, #20]
  451. 186 00ce 1A60 str r2, [r3]
  452. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  453. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FCR register value */
  454. 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->FCR;
  455. 187 .loc 1 253 13
  456. 188 00d0 7B68 ldr r3, [r7, #4]
  457. 189 00d2 1B68 ldr r3, [r3]
  458. 190 .loc 1 253 7
  459. 191 00d4 5B69 ldr r3, [r3, #20]
  460. 192 00d6 7B61 str r3, [r7, #20]
  461. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  462. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear Direct mode and FIFO threshold bits */
  463. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH);
  464. 193 .loc 1 256 7
  465. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 9
  466. 194 00d8 7B69 ldr r3, [r7, #20]
  467. 195 00da 23F00703 bic r3, r3, #7
  468. 196 00de 7B61 str r3, [r7, #20]
  469. 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  470. 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream FIFO configuration */
  471. 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOMode;
  472. 197 .loc 1 259 20
  473. 198 00e0 7B68 ldr r3, [r7, #4]
  474. 199 00e2 5B6A ldr r3, [r3, #36]
  475. 200 .loc 1 259 7
  476. 201 00e4 7A69 ldr r2, [r7, #20]
  477. 202 00e6 1343 orrs r3, r3, r2
  478. 203 00e8 7B61 str r3, [r7, #20]
  479. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  480. 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* The FIFO threshold is not used when the FIFO mode is disabled */
  481. 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE)
  482. 204 .loc 1 262 16
  483. 205 00ea 7B68 ldr r3, [r7, #4]
  484. 206 00ec 5B6A ldr r3, [r3, #36]
  485. 207 .loc 1 262 5
  486. 208 00ee 042B cmp r3, #4
  487. 209 00f0 17D1 bne .L7
  488. 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  489. 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FIFO threshold */
  490. 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOThreshold;
  491. 210 .loc 1 265 22
  492. 211 00f2 7B68 ldr r3, [r7, #4]
  493. 212 00f4 9B6A ldr r3, [r3, #40]
  494. 213 .loc 1 265 9
  495. 214 00f6 7A69 ldr r2, [r7, #20]
  496. 215 00f8 1343 orrs r3, r3, r2
  497. 216 00fa 7B61 str r3, [r7, #20]
  498. 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  499. 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check compatibility between FIFO threshold level and size of the memory burst */
  500. 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* for INCR4, INCR8, INCR16 bursts */
  501. 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst != DMA_MBURST_SINGLE)
  502. 217 .loc 1 269 19
  503. 218 00fc 7B68 ldr r3, [r7, #4]
  504. 219 00fe DB6A ldr r3, [r3, #44]
  505. 220 .loc 1 269 8
  506. 221 0100 002B cmp r3, #0
  507. 222 0102 0ED0 beq .L7
  508. 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  509. 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (DMA_CheckFifoParam(hdma) != HAL_OK)
  510. 223 .loc 1 271 11
  511. 224 0104 7868 ldr r0, [r7, #4]
  512. 225 0106 FFF7FEFF bl DMA_CheckFifoParam
  513. 226 010a 0346 mov r3, r0
  514. 227 .loc 1 271 10
  515. 228 010c 002B cmp r3, #0
  516. 229 010e 08D0 beq .L7
  517. 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  518. 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  519. 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_PARAM;
  520. 230 .loc 1 274 25
  521. 231 0110 7B68 ldr r3, [r7, #4]
  522. 232 0112 4022 movs r2, #64
  523. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 10
  524. 233 0114 5A65 str r2, [r3, #84]
  525. 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  526. 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  527. 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  528. 234 .loc 1 277 21
  529. 235 0116 7B68 ldr r3, [r7, #4]
  530. 236 0118 0122 movs r2, #1
  531. 237 011a 83F83520 strb r2, [r3, #53]
  532. 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  533. 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  534. 238 .loc 1 279 16
  535. 239 011e 0123 movs r3, #1
  536. 240 0120 16E0 b .L3
  537. 241 .L7:
  538. 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  539. 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  540. 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  541. 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  542. 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream FCR */
  543. 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = tmp;
  544. 242 .loc 1 285 7
  545. 243 0122 7B68 ldr r3, [r7, #4]
  546. 244 0124 1B68 ldr r3, [r3]
  547. 245 .loc 1 285 23
  548. 246 0126 7A69 ldr r2, [r7, #20]
  549. 247 0128 5A61 str r2, [r3, #20]
  550. 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  551. 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate
  552. 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */
  553. 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma);
  554. 248 .loc 1 289 32
  555. 249 012a 7868 ldr r0, [r7, #4]
  556. 250 012c FFF7FEFF bl DMA_CalcBaseAndBitshift
  557. 251 0130 0346 mov r3, r0
  558. 252 .loc 1 289 8
  559. 253 0132 FB60 str r3, [r7, #12]
  560. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  561. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags */
  562. 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
  563. 254 .loc 1 292 29
  564. 255 0134 7B68 ldr r3, [r7, #4]
  565. 256 0136 DB6D ldr r3, [r3, #92]
  566. 257 .loc 1 292 22
  567. 258 0138 3F22 movs r2, #63
  568. 259 013a 9A40 lsls r2, r2, r3
  569. 260 .loc 1 292 14
  570. 261 013c FB68 ldr r3, [r7, #12]
  571. 262 013e 9A60 str r2, [r3, #8]
  572. 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  573. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */
  574. 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
  575. 263 .loc 1 295 19
  576. 264 0140 7B68 ldr r3, [r7, #4]
  577. 265 0142 0022 movs r2, #0
  578. 266 0144 5A65 str r2, [r3, #84]
  579. 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  580. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the DMA state */
  581. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 11
  582. 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  583. 267 .loc 1 298 15
  584. 268 0146 7B68 ldr r3, [r7, #4]
  585. 269 0148 0122 movs r2, #1
  586. 270 014a 83F83520 strb r2, [r3, #53]
  587. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  588. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
  589. 271 .loc 1 300 10
  590. 272 014e 0023 movs r3, #0
  591. 273 .L3:
  592. 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  593. 274 .loc 1 301 1
  594. 275 0150 1846 mov r0, r3
  595. 276 0152 1837 adds r7, r7, #24
  596. 277 .LCFI3:
  597. 278 .cfi_def_cfa_offset 8
  598. 279 0154 BD46 mov sp, r7
  599. 280 .LCFI4:
  600. 281 .cfi_def_cfa_register 13
  601. 282 @ sp needed
  602. 283 0156 80BD pop {r7, pc}
  603. 284 .L9:
  604. 285 .align 2
  605. 286 .L8:
  606. 287 0158 3F8010F0 .word -267354049
  607. 288 .cfi_endproc
  608. 289 .LFE235:
  609. 291 .section .text.HAL_DMA_DeInit,"ax",%progbits
  610. 292 .align 1
  611. 293 .global HAL_DMA_DeInit
  612. 294 .syntax unified
  613. 295 .thumb
  614. 296 .thumb_func
  615. 298 HAL_DMA_DeInit:
  616. 299 .LFB236:
  617. 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  618. 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  619. 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DeInitializes the DMA peripheral
  620. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  621. 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  622. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  623. 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  624. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma)
  625. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  626. 300 .loc 1 310 1
  627. 301 .cfi_startproc
  628. 302 @ args = 0, pretend = 0, frame = 16
  629. 303 @ frame_needed = 1, uses_anonymous_args = 0
  630. 304 0000 80B5 push {r7, lr}
  631. 305 .LCFI5:
  632. 306 .cfi_def_cfa_offset 8
  633. 307 .cfi_offset 7, -8
  634. 308 .cfi_offset 14, -4
  635. 309 0002 84B0 sub sp, sp, #16
  636. 310 .LCFI6:
  637. 311 .cfi_def_cfa_offset 24
  638. 312 0004 00AF add r7, sp, #0
  639. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 12
  640. 313 .LCFI7:
  641. 314 .cfi_def_cfa_register 7
  642. 315 0006 7860 str r0, [r7, #4]
  643. 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
  644. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  645. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */
  646. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL)
  647. 316 .loc 1 314 5
  648. 317 0008 7B68 ldr r3, [r7, #4]
  649. 318 000a 002B cmp r3, #0
  650. 319 000c 01D1 bne .L11
  651. 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  652. 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  653. 320 .loc 1 316 12
  654. 321 000e 0123 movs r3, #1
  655. 322 0010 50E0 b .L12
  656. 323 .L11:
  657. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  658. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  659. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */
  660. 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State == HAL_DMA_STATE_BUSY)
  661. 324 .loc 1 320 10
  662. 325 0012 7B68 ldr r3, [r7, #4]
  663. 326 0014 93F83530 ldrb r3, [r3, #53]
  664. 327 0018 DBB2 uxtb r3, r3
  665. 328 .loc 1 320 5
  666. 329 001a 022B cmp r3, #2
  667. 330 001c 01D1 bne .L13
  668. 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  669. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
  670. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_BUSY;
  671. 331 .loc 1 323 12
  672. 332 001e 0223 movs r3, #2
  673. 333 0020 48E0 b .L12
  674. 334 .L13:
  675. 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  676. 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  677. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
  678. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance));
  679. 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  680. 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the selected DMA Streamx */
  681. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
  682. 335 .loc 1 330 3
  683. 336 0022 7B68 ldr r3, [r7, #4]
  684. 337 0024 1B68 ldr r3, [r3]
  685. 338 0026 1A68 ldr r2, [r3]
  686. 339 0028 7B68 ldr r3, [r7, #4]
  687. 340 002a 1B68 ldr r3, [r3]
  688. 341 002c 22F00102 bic r2, r2, #1
  689. 342 0030 1A60 str r2, [r3]
  690. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  691. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx control register */
  692. 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = 0U;
  693. 343 .loc 1 333 7
  694. 344 0032 7B68 ldr r3, [r7, #4]
  695. 345 0034 1B68 ldr r3, [r3]
  696. 346 .loc 1 333 24
  697. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 13
  698. 347 0036 0022 movs r2, #0
  699. 348 0038 1A60 str r2, [r3]
  700. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  701. 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx number of data to transfer register */
  702. 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->NDTR = 0U;
  703. 349 .loc 1 336 7
  704. 350 003a 7B68 ldr r3, [r7, #4]
  705. 351 003c 1B68 ldr r3, [r3]
  706. 352 .loc 1 336 24
  707. 353 003e 0022 movs r2, #0
  708. 354 0040 5A60 str r2, [r3, #4]
  709. 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  710. 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx peripheral address register */
  711. 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = 0U;
  712. 355 .loc 1 339 7
  713. 356 0042 7B68 ldr r3, [r7, #4]
  714. 357 0044 1B68 ldr r3, [r3]
  715. 358 .loc 1 339 24
  716. 359 0046 0022 movs r2, #0
  717. 360 0048 9A60 str r2, [r3, #8]
  718. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  719. 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 0 address register */
  720. 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = 0U;
  721. 361 .loc 1 342 7
  722. 362 004a 7B68 ldr r3, [r7, #4]
  723. 363 004c 1B68 ldr r3, [r3]
  724. 364 .loc 1 342 24
  725. 365 004e 0022 movs r2, #0
  726. 366 0050 DA60 str r2, [r3, #12]
  727. 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  728. 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 1 address register */
  729. 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M1AR = 0U;
  730. 367 .loc 1 345 7
  731. 368 0052 7B68 ldr r3, [r7, #4]
  732. 369 0054 1B68 ldr r3, [r3]
  733. 370 .loc 1 345 24
  734. 371 0056 0022 movs r2, #0
  735. 372 0058 1A61 str r2, [r3, #16]
  736. 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  737. 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx FIFO control register */
  738. 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = 0x00000021U;
  739. 373 .loc 1 348 7
  740. 374 005a 7B68 ldr r3, [r7, #4]
  741. 375 005c 1B68 ldr r3, [r3]
  742. 376 .loc 1 348 24
  743. 377 005e 2122 movs r2, #33
  744. 378 0060 5A61 str r2, [r3, #20]
  745. 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  746. 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get DMA steam Base Address */
  747. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma);
  748. 379 .loc 1 351 32
  749. 380 0062 7868 ldr r0, [r7, #4]
  750. 381 0064 FFF7FEFF bl DMA_CalcBaseAndBitshift
  751. 382 0068 0346 mov r3, r0
  752. 383 .loc 1 351 8
  753. 384 006a FB60 str r3, [r7, #12]
  754. 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  755. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 14
  756. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clean all callbacks */
  757. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
  758. 385 .loc 1 354 26
  759. 386 006c 7B68 ldr r3, [r7, #4]
  760. 387 006e 0022 movs r2, #0
  761. 388 0070 DA63 str r2, [r3, #60]
  762. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
  763. 389 .loc 1 355 30
  764. 390 0072 7B68 ldr r3, [r7, #4]
  765. 391 0074 0022 movs r2, #0
  766. 392 0076 1A64 str r2, [r3, #64]
  767. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
  768. 393 .loc 1 356 28
  769. 394 0078 7B68 ldr r3, [r7, #4]
  770. 395 007a 0022 movs r2, #0
  771. 396 007c 5A64 str r2, [r3, #68]
  772. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
  773. 397 .loc 1 357 32
  774. 398 007e 7B68 ldr r3, [r7, #4]
  775. 399 0080 0022 movs r2, #0
  776. 400 0082 9A64 str r2, [r3, #72]
  777. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
  778. 401 .loc 1 358 27
  779. 402 0084 7B68 ldr r3, [r7, #4]
  780. 403 0086 0022 movs r2, #0
  781. 404 0088 DA64 str r2, [r3, #76]
  782. 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
  783. 405 .loc 1 359 27
  784. 406 008a 7B68 ldr r3, [r7, #4]
  785. 407 008c 0022 movs r2, #0
  786. 408 008e 1A65 str r2, [r3, #80]
  787. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  788. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
  789. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
  790. 409 .loc 1 362 29
  791. 410 0090 7B68 ldr r3, [r7, #4]
  792. 411 0092 DB6D ldr r3, [r3, #92]
  793. 412 .loc 1 362 22
  794. 413 0094 3F22 movs r2, #63
  795. 414 0096 9A40 lsls r2, r2, r3
  796. 415 .loc 1 362 14
  797. 416 0098 FB68 ldr r3, [r7, #12]
  798. 417 009a 9A60 str r2, [r3, #8]
  799. 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  800. 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the error code */
  801. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
  802. 418 .loc 1 365 19
  803. 419 009c 7B68 ldr r3, [r7, #4]
  804. 420 009e 0022 movs r2, #0
  805. 421 00a0 5A65 str r2, [r3, #84]
  806. 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  807. 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the DMA state */
  808. 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_RESET;
  809. 422 .loc 1 368 15
  810. 423 00a2 7B68 ldr r3, [r7, #4]
  811. 424 00a4 0022 movs r2, #0
  812. 425 00a6 83F83520 strb r2, [r3, #53]
  813. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 15
  814. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  815. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */
  816. 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  817. 426 .loc 1 371 3
  818. 427 00aa 7B68 ldr r3, [r7, #4]
  819. 428 00ac 0022 movs r2, #0
  820. 429 00ae 83F83420 strb r2, [r3, #52]
  821. 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  822. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
  823. 430 .loc 1 373 10
  824. 431 00b2 0023 movs r3, #0
  825. 432 .L12:
  826. 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  827. 433 .loc 1 374 1
  828. 434 00b4 1846 mov r0, r3
  829. 435 00b6 1037 adds r7, r7, #16
  830. 436 .LCFI8:
  831. 437 .cfi_def_cfa_offset 8
  832. 438 00b8 BD46 mov sp, r7
  833. 439 .LCFI9:
  834. 440 .cfi_def_cfa_register 13
  835. 441 @ sp needed
  836. 442 00ba 80BD pop {r7, pc}
  837. 443 .cfi_endproc
  838. 444 .LFE236:
  839. 446 .section .text.HAL_DMA_Start,"ax",%progbits
  840. 447 .align 1
  841. 448 .global HAL_DMA_Start
  842. 449 .syntax unified
  843. 450 .thumb
  844. 451 .thumb_func
  845. 453 HAL_DMA_Start:
  846. 454 .LFB237:
  847. 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  848. 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  849. 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
  850. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  851. 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  852. 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group2
  853. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  854. 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
  855. 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
  856. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### IO operation functions #####
  857. 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
  858. 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] This section provides functions allowing to:
  859. 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and Start DMA transfer
  860. 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and
  861. 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Start DMA transfer with interrupt
  862. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Abort DMA transfer
  863. 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Poll for transfer complete
  864. 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Handle DMA interrupt request
  865. 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  866. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
  867. 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  868. 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  869. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  870. 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  871. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 16
  872. 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Starts the DMA Transfer.
  873. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  874. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  875. 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
  876. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
  877. 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
  878. 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  879. 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  880. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress,
  881. 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  882. 455 .loc 1 408 1
  883. 456 .cfi_startproc
  884. 457 @ args = 0, pretend = 0, frame = 24
  885. 458 @ frame_needed = 1, uses_anonymous_args = 0
  886. 459 0000 80B5 push {r7, lr}
  887. 460 .LCFI10:
  888. 461 .cfi_def_cfa_offset 8
  889. 462 .cfi_offset 7, -8
  890. 463 .cfi_offset 14, -4
  891. 464 0002 86B0 sub sp, sp, #24
  892. 465 .LCFI11:
  893. 466 .cfi_def_cfa_offset 32
  894. 467 0004 00AF add r7, sp, #0
  895. 468 .LCFI12:
  896. 469 .cfi_def_cfa_register 7
  897. 470 0006 F860 str r0, [r7, #12]
  898. 471 0008 B960 str r1, [r7, #8]
  899. 472 000a 7A60 str r2, [r7, #4]
  900. 473 000c 3B60 str r3, [r7]
  901. 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
  902. 474 .loc 1 409 21
  903. 475 000e 0023 movs r3, #0
  904. 476 0010 FB75 strb r3, [r7, #23]
  905. 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  906. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
  907. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength));
  908. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  909. 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
  910. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
  911. 477 .loc 1 415 3
  912. 478 0012 FB68 ldr r3, [r7, #12]
  913. 479 0014 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2
  914. 480 0018 012B cmp r3, #1
  915. 481 001a 01D1 bne .L15
  916. 482 .loc 1 415 3 is_stmt 0 discriminator 1
  917. 483 001c 0223 movs r3, #2
  918. 484 001e 26E0 b .L16
  919. 485 .L15:
  920. 486 .loc 1 415 3 discriminator 2
  921. 487 0020 FB68 ldr r3, [r7, #12]
  922. 488 0022 0122 movs r2, #1
  923. 489 0024 83F83420 strb r2, [r3, #52]
  924. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  925. 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
  926. 490 .loc 1 417 33 is_stmt 1 discriminator 2
  927. 491 0028 FB68 ldr r3, [r7, #12]
  928. 492 002a 93F83530 ldrb r3, [r3, #53]
  929. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 17
  930. 493 002e DBB2 uxtb r3, r3
  931. 494 .loc 1 417 5 discriminator 2
  932. 495 0030 012B cmp r3, #1
  933. 496 0032 15D1 bne .L17
  934. 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  935. 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */
  936. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
  937. 497 .loc 1 420 17
  938. 498 0034 FB68 ldr r3, [r7, #12]
  939. 499 0036 0222 movs r2, #2
  940. 500 0038 83F83520 strb r2, [r3, #53]
  941. 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  942. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */
  943. 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
  944. 501 .loc 1 423 21
  945. 502 003c FB68 ldr r3, [r7, #12]
  946. 503 003e 0022 movs r2, #0
  947. 504 0040 5A65 str r2, [r3, #84]
  948. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  949. 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */
  950. 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
  951. 505 .loc 1 426 5
  952. 506 0042 3B68 ldr r3, [r7]
  953. 507 0044 7A68 ldr r2, [r7, #4]
  954. 508 0046 B968 ldr r1, [r7, #8]
  955. 509 0048 F868 ldr r0, [r7, #12]
  956. 510 004a FFF7FEFF bl DMA_SetConfig
  957. 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  958. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */
  959. 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma);
  960. 511 .loc 1 429 5
  961. 512 004e FB68 ldr r3, [r7, #12]
  962. 513 0050 1B68 ldr r3, [r3]
  963. 514 0052 1A68 ldr r2, [r3]
  964. 515 0054 FB68 ldr r3, [r7, #12]
  965. 516 0056 1B68 ldr r3, [r3]
  966. 517 0058 42F00102 orr r2, r2, #1
  967. 518 005c 1A60 str r2, [r3]
  968. 519 005e 05E0 b .L18
  969. 520 .L17:
  970. 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  971. 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  972. 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  973. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */
  974. 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  975. 521 .loc 1 434 5
  976. 522 0060 FB68 ldr r3, [r7, #12]
  977. 523 0062 0022 movs r2, #0
  978. 524 0064 83F83420 strb r2, [r3, #52]
  979. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  980. 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
  981. 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY;
  982. 525 .loc 1 437 12
  983. 526 0068 0223 movs r3, #2
  984. 527 006a FB75 strb r3, [r7, #23]
  985. 528 .L18:
  986. 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  987. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 18
  988. 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
  989. 529 .loc 1 439 10
  990. 530 006c FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  991. 531 .L16:
  992. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  993. 532 .loc 1 440 1
  994. 533 006e 1846 mov r0, r3
  995. 534 0070 1837 adds r7, r7, #24
  996. 535 .LCFI13:
  997. 536 .cfi_def_cfa_offset 8
  998. 537 0072 BD46 mov sp, r7
  999. 538 .LCFI14:
  1000. 539 .cfi_def_cfa_register 13
  1001. 540 @ sp needed
  1002. 541 0074 80BD pop {r7, pc}
  1003. 542 .cfi_endproc
  1004. 543 .LFE237:
  1005. 545 .section .text.HAL_DMA_Start_IT,"ax",%progbits
  1006. 546 .align 1
  1007. 547 .global HAL_DMA_Start_IT
  1008. 548 .syntax unified
  1009. 549 .thumb
  1010. 550 .thumb_func
  1011. 552 HAL_DMA_Start_IT:
  1012. 553 .LFB238:
  1013. 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1014. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  1015. 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Start the DMA Transfer with interrupt enabled.
  1016. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  1017. 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  1018. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
  1019. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
  1020. 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
  1021. 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  1022. 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  1023. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddres
  1024. 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1025. 554 .loc 1 452 1
  1026. 555 .cfi_startproc
  1027. 556 @ args = 0, pretend = 0, frame = 24
  1028. 557 @ frame_needed = 1, uses_anonymous_args = 0
  1029. 558 0000 80B5 push {r7, lr}
  1030. 559 .LCFI15:
  1031. 560 .cfi_def_cfa_offset 8
  1032. 561 .cfi_offset 7, -8
  1033. 562 .cfi_offset 14, -4
  1034. 563 0002 86B0 sub sp, sp, #24
  1035. 564 .LCFI16:
  1036. 565 .cfi_def_cfa_offset 32
  1037. 566 0004 00AF add r7, sp, #0
  1038. 567 .LCFI17:
  1039. 568 .cfi_def_cfa_register 7
  1040. 569 0006 F860 str r0, [r7, #12]
  1041. 570 0008 B960 str r1, [r7, #8]
  1042. 571 000a 7A60 str r2, [r7, #4]
  1043. 572 000c 3B60 str r3, [r7]
  1044. 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
  1045. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 19
  1046. 573 .loc 1 453 21
  1047. 574 000e 0023 movs r3, #0
  1048. 575 0010 FB75 strb r3, [r7, #23]
  1049. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1050. 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
  1051. 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
  1052. 576 .loc 1 456 56
  1053. 577 0012 FB68 ldr r3, [r7, #12]
  1054. 578 0014 9B6D ldr r3, [r3, #88]
  1055. 579 .loc 1 456 23
  1056. 580 0016 3B61 str r3, [r7, #16]
  1057. 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1058. 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
  1059. 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength));
  1060. 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1061. 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
  1062. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
  1063. 581 .loc 1 462 3
  1064. 582 0018 FB68 ldr r3, [r7, #12]
  1065. 583 001a 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2
  1066. 584 001e 012B cmp r3, #1
  1067. 585 0020 01D1 bne .L20
  1068. 586 .loc 1 462 3 is_stmt 0 discriminator 1
  1069. 587 0022 0223 movs r3, #2
  1070. 588 0024 40E0 b .L21
  1071. 589 .L20:
  1072. 590 .loc 1 462 3 discriminator 2
  1073. 591 0026 FB68 ldr r3, [r7, #12]
  1074. 592 0028 0122 movs r2, #1
  1075. 593 002a 83F83420 strb r2, [r3, #52]
  1076. 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1077. 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
  1078. 594 .loc 1 464 33 is_stmt 1 discriminator 2
  1079. 595 002e FB68 ldr r3, [r7, #12]
  1080. 596 0030 93F83530 ldrb r3, [r3, #53]
  1081. 597 0034 DBB2 uxtb r3, r3
  1082. 598 .loc 1 464 5 discriminator 2
  1083. 599 0036 012B cmp r3, #1
  1084. 600 0038 2FD1 bne .L22
  1085. 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1086. 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */
  1087. 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
  1088. 601 .loc 1 467 17
  1089. 602 003a FB68 ldr r3, [r7, #12]
  1090. 603 003c 0222 movs r2, #2
  1091. 604 003e 83F83520 strb r2, [r3, #53]
  1092. 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1093. 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */
  1094. 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
  1095. 605 .loc 1 470 21
  1096. 606 0042 FB68 ldr r3, [r7, #12]
  1097. 607 0044 0022 movs r2, #0
  1098. 608 0046 5A65 str r2, [r3, #84]
  1099. 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1100. 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */
  1101. 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
  1102. 609 .loc 1 473 5
  1103. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 20
  1104. 610 0048 3B68 ldr r3, [r7]
  1105. 611 004a 7A68 ldr r2, [r7, #4]
  1106. 612 004c B968 ldr r1, [r7, #8]
  1107. 613 004e F868 ldr r0, [r7, #12]
  1108. 614 0050 FFF7FEFF bl DMA_SetConfig
  1109. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1110. 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
  1111. 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
  1112. 615 .loc 1 476 31
  1113. 616 0054 FB68 ldr r3, [r7, #12]
  1114. 617 0056 DB6D ldr r3, [r3, #92]
  1115. 618 .loc 1 476 24
  1116. 619 0058 3F22 movs r2, #63
  1117. 620 005a 9A40 lsls r2, r2, r3
  1118. 621 .loc 1 476 16
  1119. 622 005c 3B69 ldr r3, [r7, #16]
  1120. 623 005e 9A60 str r2, [r3, #8]
  1121. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1122. 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable Common interrupts*/
  1123. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME;
  1124. 624 .loc 1 479 9
  1125. 625 0060 FB68 ldr r3, [r7, #12]
  1126. 626 0062 1B68 ldr r3, [r3]
  1127. 627 .loc 1 479 25
  1128. 628 0064 1A68 ldr r2, [r3]
  1129. 629 .loc 1 479 9
  1130. 630 0066 FB68 ldr r3, [r7, #12]
  1131. 631 0068 1B68 ldr r3, [r3]
  1132. 632 .loc 1 479 25
  1133. 633 006a 42F01602 orr r2, r2, #22
  1134. 634 006e 1A60 str r2, [r3]
  1135. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1136. 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL)
  1137. 635 .loc 1 481 12
  1138. 636 0070 FB68 ldr r3, [r7, #12]
  1139. 637 0072 1B6C ldr r3, [r3, #64]
  1140. 638 .loc 1 481 7
  1141. 639 0074 002B cmp r3, #0
  1142. 640 0076 07D0 beq .L23
  1143. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1144. 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_HT;
  1145. 641 .loc 1 483 11
  1146. 642 0078 FB68 ldr r3, [r7, #12]
  1147. 643 007a 1B68 ldr r3, [r3]
  1148. 644 .loc 1 483 27
  1149. 645 007c 1A68 ldr r2, [r3]
  1150. 646 .loc 1 483 11
  1151. 647 007e FB68 ldr r3, [r7, #12]
  1152. 648 0080 1B68 ldr r3, [r3]
  1153. 649 .loc 1 483 27
  1154. 650 0082 42F00802 orr r2, r2, #8
  1155. 651 0086 1A60 str r2, [r3]
  1156. 652 .L23:
  1157. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1158. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1159. 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */
  1160. 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma);
  1161. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 21
  1162. 653 .loc 1 487 5
  1163. 654 0088 FB68 ldr r3, [r7, #12]
  1164. 655 008a 1B68 ldr r3, [r3]
  1165. 656 008c 1A68 ldr r2, [r3]
  1166. 657 008e FB68 ldr r3, [r7, #12]
  1167. 658 0090 1B68 ldr r3, [r3]
  1168. 659 0092 42F00102 orr r2, r2, #1
  1169. 660 0096 1A60 str r2, [r3]
  1170. 661 0098 05E0 b .L24
  1171. 662 .L22:
  1172. 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1173. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  1174. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1175. 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */
  1176. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  1177. 663 .loc 1 492 5
  1178. 664 009a FB68 ldr r3, [r7, #12]
  1179. 665 009c 0022 movs r2, #0
  1180. 666 009e 83F83420 strb r2, [r3, #52]
  1181. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1182. 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
  1183. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY;
  1184. 667 .loc 1 495 12
  1185. 668 00a2 0223 movs r3, #2
  1186. 669 00a4 FB75 strb r3, [r7, #23]
  1187. 670 .L24:
  1188. 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1189. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1190. 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
  1191. 671 .loc 1 498 10
  1192. 672 00a6 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  1193. 673 .L21:
  1194. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1195. 674 .loc 1 499 1
  1196. 675 00a8 1846 mov r0, r3
  1197. 676 00aa 1837 adds r7, r7, #24
  1198. 677 .LCFI18:
  1199. 678 .cfi_def_cfa_offset 8
  1200. 679 00ac BD46 mov sp, r7
  1201. 680 .LCFI19:
  1202. 681 .cfi_def_cfa_register 13
  1203. 682 @ sp needed
  1204. 683 00ae 80BD pop {r7, pc}
  1205. 684 .cfi_endproc
  1206. 685 .LFE238:
  1207. 687 .section .text.HAL_DMA_Abort,"ax",%progbits
  1208. 688 .align 1
  1209. 689 .global HAL_DMA_Abort
  1210. 690 .syntax unified
  1211. 691 .thumb
  1212. 692 .thumb_func
  1213. 694 HAL_DMA_Abort:
  1214. 695 .LFB239:
  1215. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1216. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  1217. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer.
  1218. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  1219. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 22
  1220. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  1221. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  1222. 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note After disabling a DMA Stream, a check for wait until the DMA Stream is
  1223. 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * effectively disabled is added. If a Stream is disabled
  1224. 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * while a data transfer is ongoing, the current data will be transferred
  1225. 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * and the Stream will be effectively disabled only after the transfer of
  1226. 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * this single data is finished.
  1227. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  1228. 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  1229. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
  1230. 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1231. 696 .loc 1 514 1
  1232. 697 .cfi_startproc
  1233. 698 @ args = 0, pretend = 0, frame = 16
  1234. 699 @ frame_needed = 1, uses_anonymous_args = 0
  1235. 700 0000 80B5 push {r7, lr}
  1236. 701 .LCFI20:
  1237. 702 .cfi_def_cfa_offset 8
  1238. 703 .cfi_offset 7, -8
  1239. 704 .cfi_offset 14, -4
  1240. 705 0002 84B0 sub sp, sp, #16
  1241. 706 .LCFI21:
  1242. 707 .cfi_def_cfa_offset 24
  1243. 708 0004 00AF add r7, sp, #0
  1244. 709 .LCFI22:
  1245. 710 .cfi_def_cfa_register 7
  1246. 711 0006 7860 str r0, [r7, #4]
  1247. 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
  1248. 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
  1249. 712 .loc 1 516 56
  1250. 713 0008 7B68 ldr r3, [r7, #4]
  1251. 714 000a 9B6D ldr r3, [r3, #88]
  1252. 715 .loc 1 516 23
  1253. 716 000c FB60 str r3, [r7, #12]
  1254. 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1255. 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick();
  1256. 717 .loc 1 518 24
  1257. 718 000e FFF7FEFF bl HAL_GetTick
  1258. 719 0012 B860 str r0, [r7, #8]
  1259. 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1260. 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY)
  1261. 720 .loc 1 520 10
  1262. 721 0014 7B68 ldr r3, [r7, #4]
  1263. 722 0016 93F83530 ldrb r3, [r3, #53]
  1264. 723 001a DBB2 uxtb r3, r3
  1265. 724 .loc 1 520 5
  1266. 725 001c 022B cmp r3, #2
  1267. 726 001e 08D0 beq .L26
  1268. 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1269. 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
  1270. 727 .loc 1 522 21
  1271. 728 0020 7B68 ldr r3, [r7, #4]
  1272. 729 0022 8022 movs r2, #128
  1273. 730 0024 5A65 str r2, [r3, #84]
  1274. 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1275. 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  1276. 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  1277. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 23
  1278. 731 .loc 1 525 5
  1279. 732 0026 7B68 ldr r3, [r7, #4]
  1280. 733 0028 0022 movs r2, #0
  1281. 734 002a 83F83420 strb r2, [r3, #52]
  1282. 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1283. 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  1284. 735 .loc 1 527 12
  1285. 736 002e 0123 movs r3, #1
  1286. 737 0030 52E0 b .L27
  1287. 738 .L26:
  1288. 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1289. 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  1290. 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1291. 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */
  1292. 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME);
  1293. 739 .loc 1 532 9
  1294. 740 0032 7B68 ldr r3, [r7, #4]
  1295. 741 0034 1B68 ldr r3, [r3]
  1296. 742 .loc 1 532 25
  1297. 743 0036 1A68 ldr r2, [r3]
  1298. 744 .loc 1 532 9
  1299. 745 0038 7B68 ldr r3, [r7, #4]
  1300. 746 003a 1B68 ldr r3, [r3]
  1301. 747 .loc 1 532 25
  1302. 748 003c 22F01602 bic r2, r2, #22
  1303. 749 0040 1A60 str r2, [r3]
  1304. 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE);
  1305. 750 .loc 1 533 9
  1306. 751 0042 7B68 ldr r3, [r7, #4]
  1307. 752 0044 1B68 ldr r3, [r3]
  1308. 753 .loc 1 533 25
  1309. 754 0046 5A69 ldr r2, [r3, #20]
  1310. 755 .loc 1 533 9
  1311. 756 0048 7B68 ldr r3, [r7, #4]
  1312. 757 004a 1B68 ldr r3, [r3]
  1313. 758 .loc 1 533 25
  1314. 759 004c 22F08002 bic r2, r2, #128
  1315. 760 0050 5A61 str r2, [r3, #20]
  1316. 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1317. 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL))
  1318. 761 .loc 1 535 13
  1319. 762 0052 7B68 ldr r3, [r7, #4]
  1320. 763 0054 1B6C ldr r3, [r3, #64]
  1321. 764 .loc 1 535 7
  1322. 765 0056 002B cmp r3, #0
  1323. 766 0058 03D1 bne .L28
  1324. 767 .loc 1 535 53 discriminator 1
  1325. 768 005a 7B68 ldr r3, [r7, #4]
  1326. 769 005c 9B6C ldr r3, [r3, #72]
  1327. 770 .loc 1 535 45 discriminator 1
  1328. 771 005e 002B cmp r3, #0
  1329. 772 0060 07D0 beq .L29
  1330. 773 .L28:
  1331. 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1332. 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT);
  1333. 774 .loc 1 537 11
  1334. 775 0062 7B68 ldr r3, [r7, #4]
  1335. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 24
  1336. 776 0064 1B68 ldr r3, [r3]
  1337. 777 .loc 1 537 27
  1338. 778 0066 1A68 ldr r2, [r3]
  1339. 779 .loc 1 537 11
  1340. 780 0068 7B68 ldr r3, [r7, #4]
  1341. 781 006a 1B68 ldr r3, [r3]
  1342. 782 .loc 1 537 27
  1343. 783 006c 22F00802 bic r2, r2, #8
  1344. 784 0070 1A60 str r2, [r3]
  1345. 785 .L29:
  1346. 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1347. 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1348. 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */
  1349. 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
  1350. 786 .loc 1 541 5
  1351. 787 0072 7B68 ldr r3, [r7, #4]
  1352. 788 0074 1B68 ldr r3, [r3]
  1353. 789 0076 1A68 ldr r2, [r3]
  1354. 790 0078 7B68 ldr r3, [r7, #4]
  1355. 791 007a 1B68 ldr r3, [r3]
  1356. 792 007c 22F00102 bic r2, r2, #1
  1357. 793 0080 1A60 str r2, [r3]
  1358. 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1359. 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */
  1360. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET)
  1361. 794 .loc 1 544 10
  1362. 795 0082 13E0 b .L30
  1363. 796 .L31:
  1364. 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1365. 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */
  1366. 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT)
  1367. 797 .loc 1 547 11
  1368. 798 0084 FFF7FEFF bl HAL_GetTick
  1369. 799 0088 0246 mov r2, r0
  1370. 800 .loc 1 547 25
  1371. 801 008a BB68 ldr r3, [r7, #8]
  1372. 802 008c D31A subs r3, r2, r3
  1373. 803 .loc 1 547 9
  1374. 804 008e 052B cmp r3, #5
  1375. 805 0090 0CD9 bls .L30
  1376. 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1377. 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  1378. 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
  1379. 806 .loc 1 550 25
  1380. 807 0092 7B68 ldr r3, [r7, #4]
  1381. 808 0094 2022 movs r2, #32
  1382. 809 0096 5A65 str r2, [r3, #84]
  1383. 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1384. 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  1385. 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT;
  1386. 810 .loc 1 553 21
  1387. 811 0098 7B68 ldr r3, [r7, #4]
  1388. 812 009a 0322 movs r2, #3
  1389. 813 009c 83F83520 strb r2, [r3, #53]
  1390. 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1391. 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  1392. 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  1393. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 25
  1394. 814 .loc 1 556 9
  1395. 815 00a0 7B68 ldr r3, [r7, #4]
  1396. 816 00a2 0022 movs r2, #0
  1397. 817 00a4 83F83420 strb r2, [r3, #52]
  1398. 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1399. 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT;
  1400. 818 .loc 1 558 16
  1401. 819 00a8 0323 movs r3, #3
  1402. 820 00aa 15E0 b .L27
  1403. 821 .L30:
  1404. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1405. 822 .loc 1 544 16
  1406. 823 00ac 7B68 ldr r3, [r7, #4]
  1407. 824 00ae 1B68 ldr r3, [r3]
  1408. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1409. 825 .loc 1 544 26
  1410. 826 00b0 1B68 ldr r3, [r3]
  1411. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1412. 827 .loc 1 544 31
  1413. 828 00b2 03F00103 and r3, r3, #1
  1414. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1415. 829 .loc 1 544 10
  1416. 830 00b6 002B cmp r3, #0
  1417. 831 00b8 E4D1 bne .L31
  1418. 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1419. 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1420. 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1421. 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
  1422. 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
  1423. 832 .loc 1 563 31
  1424. 833 00ba 7B68 ldr r3, [r7, #4]
  1425. 834 00bc DB6D ldr r3, [r3, #92]
  1426. 835 .loc 1 563 24
  1427. 836 00be 3F22 movs r2, #63
  1428. 837 00c0 9A40 lsls r2, r2, r3
  1429. 838 .loc 1 563 16
  1430. 839 00c2 FB68 ldr r3, [r7, #12]
  1431. 840 00c4 9A60 str r2, [r3, #8]
  1432. 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1433. 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state*/
  1434. 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  1435. 841 .loc 1 566 17
  1436. 842 00c6 7B68 ldr r3, [r7, #4]
  1437. 843 00c8 0122 movs r2, #1
  1438. 844 00ca 83F83520 strb r2, [r3, #53]
  1439. 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1440. 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  1441. 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  1442. 845 .loc 1 569 5
  1443. 846 00ce 7B68 ldr r3, [r7, #4]
  1444. 847 00d0 0022 movs r2, #0
  1445. 848 00d2 83F83420 strb r2, [r3, #52]
  1446. 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1447. 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
  1448. 849 .loc 1 571 10
  1449. 850 00d6 0023 movs r3, #0
  1450. 851 .L27:
  1451. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 26
  1452. 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1453. 852 .loc 1 572 1
  1454. 853 00d8 1846 mov r0, r3
  1455. 854 00da 1037 adds r7, r7, #16
  1456. 855 .LCFI23:
  1457. 856 .cfi_def_cfa_offset 8
  1458. 857 00dc BD46 mov sp, r7
  1459. 858 .LCFI24:
  1460. 859 .cfi_def_cfa_register 13
  1461. 860 @ sp needed
  1462. 861 00de 80BD pop {r7, pc}
  1463. 862 .cfi_endproc
  1464. 863 .LFE239:
  1465. 865 .section .text.HAL_DMA_Abort_IT,"ax",%progbits
  1466. 866 .align 1
  1467. 867 .global HAL_DMA_Abort_IT
  1468. 868 .syntax unified
  1469. 869 .thumb
  1470. 870 .thumb_func
  1471. 872 HAL_DMA_Abort_IT:
  1472. 873 .LFB240:
  1473. 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1474. 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  1475. 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer in Interrupt mode.
  1476. 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  1477. 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  1478. 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  1479. 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  1480. 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
  1481. 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1482. 874 .loc 1 581 1
  1483. 875 .cfi_startproc
  1484. 876 @ args = 0, pretend = 0, frame = 8
  1485. 877 @ frame_needed = 1, uses_anonymous_args = 0
  1486. 878 @ link register save eliminated.
  1487. 879 0000 80B4 push {r7}
  1488. 880 .LCFI25:
  1489. 881 .cfi_def_cfa_offset 4
  1490. 882 .cfi_offset 7, -4
  1491. 883 0002 83B0 sub sp, sp, #12
  1492. 884 .LCFI26:
  1493. 885 .cfi_def_cfa_offset 16
  1494. 886 0004 00AF add r7, sp, #0
  1495. 887 .LCFI27:
  1496. 888 .cfi_def_cfa_register 7
  1497. 889 0006 7860 str r0, [r7, #4]
  1498. 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY)
  1499. 890 .loc 1 582 10
  1500. 891 0008 7B68 ldr r3, [r7, #4]
  1501. 892 000a 93F83530 ldrb r3, [r3, #53]
  1502. 893 000e DBB2 uxtb r3, r3
  1503. 894 .loc 1 582 5
  1504. 895 0010 022B cmp r3, #2
  1505. 896 0012 04D0 beq .L33
  1506. 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1507. 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
  1508. 897 .loc 1 584 21
  1509. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 27
  1510. 898 0014 7B68 ldr r3, [r7, #4]
  1511. 899 0016 8022 movs r2, #128
  1512. 900 0018 5A65 str r2, [r3, #84]
  1513. 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  1514. 901 .loc 1 585 12
  1515. 902 001a 0123 movs r3, #1
  1516. 903 001c 0CE0 b .L34
  1517. 904 .L33:
  1518. 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1519. 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  1520. 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1521. 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Set Abort State */
  1522. 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT;
  1523. 905 .loc 1 590 17
  1524. 906 001e 7B68 ldr r3, [r7, #4]
  1525. 907 0020 0522 movs r2, #5
  1526. 908 0022 83F83520 strb r2, [r3, #53]
  1527. 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1528. 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */
  1529. 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
  1530. 909 .loc 1 593 5
  1531. 910 0026 7B68 ldr r3, [r7, #4]
  1532. 911 0028 1B68 ldr r3, [r3]
  1533. 912 002a 1A68 ldr r2, [r3]
  1534. 913 002c 7B68 ldr r3, [r7, #4]
  1535. 914 002e 1B68 ldr r3, [r3]
  1536. 915 0030 22F00102 bic r2, r2, #1
  1537. 916 0034 1A60 str r2, [r3]
  1538. 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1539. 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1540. 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
  1541. 917 .loc 1 596 10
  1542. 918 0036 0023 movs r3, #0
  1543. 919 .L34:
  1544. 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1545. 920 .loc 1 597 1
  1546. 921 0038 1846 mov r0, r3
  1547. 922 003a 0C37 adds r7, r7, #12
  1548. 923 .LCFI28:
  1549. 924 .cfi_def_cfa_offset 4
  1550. 925 003c BD46 mov sp, r7
  1551. 926 .LCFI29:
  1552. 927 .cfi_def_cfa_register 13
  1553. 928 @ sp needed
  1554. 929 003e 5DF8047B ldr r7, [sp], #4
  1555. 930 .LCFI30:
  1556. 931 .cfi_restore 7
  1557. 932 .cfi_def_cfa_offset 0
  1558. 933 0042 7047 bx lr
  1559. 934 .cfi_endproc
  1560. 935 .LFE240:
  1561. 937 .section .text.HAL_DMA_PollForTransfer,"ax",%progbits
  1562. 938 .align 1
  1563. 939 .global HAL_DMA_PollForTransfer
  1564. 940 .syntax unified
  1565. 941 .thumb
  1566. 942 .thumb_func
  1567. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 28
  1568. 944 HAL_DMA_PollForTransfer:
  1569. 945 .LFB241:
  1570. 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1571. 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  1572. 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Polling for transfer complete.
  1573. 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  1574. 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  1575. 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CompleteLevel Specifies the DMA level complete.
  1576. 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The polling mode is kept in this version for legacy. it is recommended to use the IT mo
  1577. 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This model could be used for debug purpose.
  1578. 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The HAL_DMA_PollForTransfer API cannot be used in circular and double buffering mode (a
  1579. 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param Timeout Timeout duration.
  1580. 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  1581. 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  1582. 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef Com
  1583. 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1584. 946 .loc 1 611 1
  1585. 947 .cfi_startproc
  1586. 948 @ args = 0, pretend = 0, frame = 40
  1587. 949 @ frame_needed = 1, uses_anonymous_args = 0
  1588. 950 0000 80B5 push {r7, lr}
  1589. 951 .LCFI31:
  1590. 952 .cfi_def_cfa_offset 8
  1591. 953 .cfi_offset 7, -8
  1592. 954 .cfi_offset 14, -4
  1593. 955 0002 8AB0 sub sp, sp, #40
  1594. 956 .LCFI32:
  1595. 957 .cfi_def_cfa_offset 48
  1596. 958 0004 00AF add r7, sp, #0
  1597. 959 .LCFI33:
  1598. 960 .cfi_def_cfa_register 7
  1599. 961 0006 F860 str r0, [r7, #12]
  1600. 962 0008 0B46 mov r3, r1
  1601. 963 000a 7A60 str r2, [r7, #4]
  1602. 964 000c FB72 strb r3, [r7, #11]
  1603. 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
  1604. 965 .loc 1 612 21
  1605. 966 000e 0023 movs r3, #0
  1606. 967 0010 FB77 strb r3, [r7, #31]
  1607. 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t mask_cpltlevel;
  1608. 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick();
  1609. 968 .loc 1 614 24
  1610. 969 0012 FFF7FEFF bl HAL_GetTick
  1611. 970 0016 B861 str r0, [r7, #24]
  1612. 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr;
  1613. 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1614. 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
  1615. 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
  1616. 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1617. 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State)
  1618. 971 .loc 1 620 32
  1619. 972 0018 FB68 ldr r3, [r7, #12]
  1620. 973 001a 93F83530 ldrb r3, [r3, #53]
  1621. 974 001e DBB2 uxtb r3, r3
  1622. 975 .loc 1 620 5
  1623. 976 0020 022B cmp r3, #2
  1624. 977 0022 08D0 beq .L36
  1625. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 29
  1626. 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1627. 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* No transfer ongoing */
  1628. 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
  1629. 978 .loc 1 623 21
  1630. 979 0024 FB68 ldr r3, [r7, #12]
  1631. 980 0026 8022 movs r2, #128
  1632. 981 0028 5A65 str r2, [r3, #84]
  1633. 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  1634. 982 .loc 1 624 5
  1635. 983 002a FB68 ldr r3, [r7, #12]
  1636. 984 002c 0022 movs r2, #0
  1637. 985 002e 83F83420 strb r2, [r3, #52]
  1638. 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  1639. 986 .loc 1 625 12
  1640. 987 0032 0123 movs r3, #1
  1641. 988 0034 BFE0 b .L37
  1642. 989 .L36:
  1643. 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1644. 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1645. 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Polling mode not supported in circular mode and double buffering mode */
  1646. 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) != RESET)
  1647. 990 .loc 1 629 12
  1648. 991 0036 FB68 ldr r3, [r7, #12]
  1649. 992 0038 1B68 ldr r3, [r3]
  1650. 993 .loc 1 629 22
  1651. 994 003a 1B68 ldr r3, [r3]
  1652. 995 .loc 1 629 27
  1653. 996 003c 03F48073 and r3, r3, #256
  1654. 997 .loc 1 629 6
  1655. 998 0040 002B cmp r3, #0
  1656. 999 0042 05D0 beq .L38
  1657. 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1658. 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED;
  1659. 1000 .loc 1 631 21
  1660. 1001 0044 FB68 ldr r3, [r7, #12]
  1661. 1002 0046 4FF48072 mov r2, #256
  1662. 1003 004a 5A65 str r2, [r3, #84]
  1663. 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  1664. 1004 .loc 1 632 12
  1665. 1005 004c 0123 movs r3, #1
  1666. 1006 004e B2E0 b .L37
  1667. 1007 .L38:
  1668. 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1669. 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1670. 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */
  1671. 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER)
  1672. 1008 .loc 1 636 5
  1673. 1009 0050 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  1674. 1010 0052 002B cmp r3, #0
  1675. 1011 0054 06D1 bne .L39
  1676. 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1677. 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete flag */
  1678. 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_TCIF0_4 << hdma->StreamIndex;
  1679. 1012 .loc 1 639 46
  1680. 1013 0056 FB68 ldr r3, [r7, #12]
  1681. 1014 0058 DB6D ldr r3, [r3, #92]
  1682. 1015 .loc 1 639 20
  1683. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 30
  1684. 1016 005a 2022 movs r2, #32
  1685. 1017 005c 02FA03F3 lsl r3, r2, r3
  1686. 1018 0060 7B62 str r3, [r7, #36]
  1687. 1019 0062 05E0 b .L40
  1688. 1020 .L39:
  1689. 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1690. 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  1691. 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1692. 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete flag */
  1693. 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_HTIF0_4 << hdma->StreamIndex;
  1694. 1021 .loc 1 644 46
  1695. 1022 0064 FB68 ldr r3, [r7, #12]
  1696. 1023 0066 DB6D ldr r3, [r3, #92]
  1697. 1024 .loc 1 644 20
  1698. 1025 0068 1022 movs r2, #16
  1699. 1026 006a 02FA03F3 lsl r3, r2, r3
  1700. 1027 006e 7B62 str r3, [r7, #36]
  1701. 1028 .L40:
  1702. 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1703. 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1704. 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
  1705. 1029 .loc 1 647 36
  1706. 1030 0070 FB68 ldr r3, [r7, #12]
  1707. 1031 0072 9B6D ldr r3, [r3, #88]
  1708. 1032 .loc 1 647 8
  1709. 1033 0074 7B61 str r3, [r7, #20]
  1710. 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR;
  1711. 1034 .loc 1 648 10
  1712. 1035 0076 7B69 ldr r3, [r7, #20]
  1713. 1036 0078 1B68 ldr r3, [r3]
  1714. 1037 007a 3B62 str r3, [r7, #32]
  1715. 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1716. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while(((tmpisr & mask_cpltlevel) == RESET) && ((hdma->ErrorCode & HAL_DMA_ERROR_TE) == RESET))
  1717. 1038 .loc 1 650 8
  1718. 1039 007c 5AE0 b .L41
  1719. 1040 .L47:
  1720. 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1721. 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout (Not applicable in circular mode)*/
  1722. 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(Timeout != HAL_MAX_DELAY)
  1723. 1041 .loc 1 653 7
  1724. 1042 007e 7B68 ldr r3, [r7, #4]
  1725. 1043 0080 B3F1FF3F cmp r3, #-1
  1726. 1044 0084 17D0 beq .L42
  1727. 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1728. 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout))
  1729. 1045 .loc 1 655 9
  1730. 1046 0086 7B68 ldr r3, [r7, #4]
  1731. 1047 0088 002B cmp r3, #0
  1732. 1048 008a 07D0 beq .L43
  1733. 1049 .loc 1 655 29 discriminator 1
  1734. 1050 008c FFF7FEFF bl HAL_GetTick
  1735. 1051 0090 0246 mov r2, r0
  1736. 1052 .loc 1 655 43 discriminator 1
  1737. 1053 0092 BB69 ldr r3, [r7, #24]
  1738. 1054 0094 D31A subs r3, r2, r3
  1739. 1055 .loc 1 655 25 discriminator 1
  1740. 1056 0096 7A68 ldr r2, [r7, #4]
  1741. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 31
  1742. 1057 0098 9A42 cmp r2, r3
  1743. 1058 009a 0CD2 bcs .L42
  1744. 1059 .L43:
  1745. 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1746. 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  1747. 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
  1748. 1060 .loc 1 658 25
  1749. 1061 009c FB68 ldr r3, [r7, #12]
  1750. 1062 009e 2022 movs r2, #32
  1751. 1063 00a0 5A65 str r2, [r3, #84]
  1752. 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1753. 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  1754. 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  1755. 1064 .loc 1 661 21
  1756. 1065 00a2 FB68 ldr r3, [r7, #12]
  1757. 1066 00a4 0122 movs r2, #1
  1758. 1067 00a6 83F83520 strb r2, [r3, #53]
  1759. 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1760. 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  1761. 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  1762. 1068 .loc 1 664 9
  1763. 1069 00aa FB68 ldr r3, [r7, #12]
  1764. 1070 00ac 0022 movs r2, #0
  1765. 1071 00ae 83F83420 strb r2, [r3, #52]
  1766. 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1767. 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT;
  1768. 1072 .loc 1 666 16
  1769. 1073 00b2 0323 movs r3, #3
  1770. 1074 00b4 7FE0 b .L37
  1771. 1075 .L42:
  1772. 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1773. 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1774. 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1775. 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the ISR register value */
  1776. 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR;
  1777. 1076 .loc 1 671 12
  1778. 1077 00b6 7B69 ldr r3, [r7, #20]
  1779. 1078 00b8 1B68 ldr r3, [r3]
  1780. 1079 00ba 3B62 str r3, [r7, #32]
  1781. 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1782. 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET)
  1783. 1080 .loc 1 673 43
  1784. 1081 00bc FB68 ldr r3, [r7, #12]
  1785. 1082 00be DB6D ldr r3, [r3, #92]
  1786. 1083 .loc 1 673 36
  1787. 1084 00c0 0822 movs r2, #8
  1788. 1085 00c2 9A40 lsls r2, r2, r3
  1789. 1086 .loc 1 673 16
  1790. 1087 00c4 3B6A ldr r3, [r7, #32]
  1791. 1088 00c6 1340 ands r3, r3, r2
  1792. 1089 .loc 1 673 7
  1793. 1090 00c8 002B cmp r3, #0
  1794. 1091 00ca 0BD0 beq .L44
  1795. 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1796. 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  1797. 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE;
  1798. 1092 .loc 1 676 23
  1799. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 32
  1800. 1093 00cc FB68 ldr r3, [r7, #12]
  1801. 1094 00ce 5B6D ldr r3, [r3, #84]
  1802. 1095 00d0 43F00102 orr r2, r3, #1
  1803. 1096 00d4 FB68 ldr r3, [r7, #12]
  1804. 1097 00d6 5A65 str r2, [r3, #84]
  1805. 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1806. 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */
  1807. 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex;
  1808. 1098 .loc 1 679 44
  1809. 1099 00d8 FB68 ldr r3, [r7, #12]
  1810. 1100 00da DB6D ldr r3, [r3, #92]
  1811. 1101 .loc 1 679 37
  1812. 1102 00dc 0822 movs r2, #8
  1813. 1103 00de 9A40 lsls r2, r2, r3
  1814. 1104 .loc 1 679 18
  1815. 1105 00e0 7B69 ldr r3, [r7, #20]
  1816. 1106 00e2 9A60 str r2, [r3, #8]
  1817. 1107 .L44:
  1818. 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1819. 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1820. 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET)
  1821. 1108 .loc 1 682 43
  1822. 1109 00e4 FB68 ldr r3, [r7, #12]
  1823. 1110 00e6 DB6D ldr r3, [r3, #92]
  1824. 1111 .loc 1 682 36
  1825. 1112 00e8 0122 movs r2, #1
  1826. 1113 00ea 9A40 lsls r2, r2, r3
  1827. 1114 .loc 1 682 16
  1828. 1115 00ec 3B6A ldr r3, [r7, #32]
  1829. 1116 00ee 1340 ands r3, r3, r2
  1830. 1117 .loc 1 682 7
  1831. 1118 00f0 002B cmp r3, #0
  1832. 1119 00f2 0BD0 beq .L45
  1833. 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1834. 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  1835. 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE;
  1836. 1120 .loc 1 685 23
  1837. 1121 00f4 FB68 ldr r3, [r7, #12]
  1838. 1122 00f6 5B6D ldr r3, [r3, #84]
  1839. 1123 00f8 43F00202 orr r2, r3, #2
  1840. 1124 00fc FB68 ldr r3, [r7, #12]
  1841. 1125 00fe 5A65 str r2, [r3, #84]
  1842. 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1843. 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */
  1844. 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex;
  1845. 1126 .loc 1 688 44
  1846. 1127 0100 FB68 ldr r3, [r7, #12]
  1847. 1128 0102 DB6D ldr r3, [r3, #92]
  1848. 1129 .loc 1 688 37
  1849. 1130 0104 0122 movs r2, #1
  1850. 1131 0106 9A40 lsls r2, r2, r3
  1851. 1132 .loc 1 688 18
  1852. 1133 0108 7B69 ldr r3, [r7, #20]
  1853. 1134 010a 9A60 str r2, [r3, #8]
  1854. 1135 .L45:
  1855. 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1856. 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1857. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 33
  1858. 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET)
  1859. 1136 .loc 1 691 44
  1860. 1137 010c FB68 ldr r3, [r7, #12]
  1861. 1138 010e DB6D ldr r3, [r3, #92]
  1862. 1139 .loc 1 691 37
  1863. 1140 0110 0422 movs r2, #4
  1864. 1141 0112 9A40 lsls r2, r2, r3
  1865. 1142 .loc 1 691 16
  1866. 1143 0114 3B6A ldr r3, [r7, #32]
  1867. 1144 0116 1340 ands r3, r3, r2
  1868. 1145 .loc 1 691 7
  1869. 1146 0118 002B cmp r3, #0
  1870. 1147 011a 0BD0 beq .L41
  1871. 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1872. 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  1873. 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME;
  1874. 1148 .loc 1 694 23
  1875. 1149 011c FB68 ldr r3, [r7, #12]
  1876. 1150 011e 5B6D ldr r3, [r3, #84]
  1877. 1151 0120 43F00402 orr r2, r3, #4
  1878. 1152 0124 FB68 ldr r3, [r7, #12]
  1879. 1153 0126 5A65 str r2, [r3, #84]
  1880. 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1881. 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the Direct Mode error flag */
  1882. 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex;
  1883. 1154 .loc 1 697 45
  1884. 1155 0128 FB68 ldr r3, [r7, #12]
  1885. 1156 012a DB6D ldr r3, [r3, #92]
  1886. 1157 .loc 1 697 38
  1887. 1158 012c 0422 movs r2, #4
  1888. 1159 012e 9A40 lsls r2, r2, r3
  1889. 1160 .loc 1 697 18
  1890. 1161 0130 7B69 ldr r3, [r7, #20]
  1891. 1162 0132 9A60 str r2, [r3, #8]
  1892. 1163 .L41:
  1893. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1894. 1164 .loc 1 650 18
  1895. 1165 0134 3A6A ldr r2, [r7, #32]
  1896. 1166 0136 7B6A ldr r3, [r7, #36]
  1897. 1167 0138 1340 ands r3, r3, r2
  1898. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1899. 1168 .loc 1 650 8
  1900. 1169 013a 002B cmp r3, #0
  1901. 1170 013c 05D1 bne .L46
  1902. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1903. 1171 .loc 1 650 55 discriminator 1
  1904. 1172 013e FB68 ldr r3, [r7, #12]
  1905. 1173 0140 5B6D ldr r3, [r3, #84]
  1906. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1907. 1174 .loc 1 650 67 discriminator 1
  1908. 1175 0142 03F00103 and r3, r3, #1
  1909. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1910. 1176 .loc 1 650 46 discriminator 1
  1911. 1177 0146 002B cmp r3, #0
  1912. 1178 0148 99D0 beq .L47
  1913. 1179 .L46:
  1914. 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1915. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 34
  1916. 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1917. 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1918. 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE)
  1919. 1180 .loc 1 701 10
  1920. 1181 014a FB68 ldr r3, [r7, #12]
  1921. 1182 014c 5B6D ldr r3, [r3, #84]
  1922. 1183 .loc 1 701 5
  1923. 1184 014e 002B cmp r3, #0
  1924. 1185 0150 18D0 beq .L48
  1925. 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1926. 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET)
  1927. 1186 .loc 1 703 13
  1928. 1187 0152 FB68 ldr r3, [r7, #12]
  1929. 1188 0154 5B6D ldr r3, [r3, #84]
  1930. 1189 .loc 1 703 25
  1931. 1190 0156 03F00103 and r3, r3, #1
  1932. 1191 .loc 1 703 7
  1933. 1192 015a 002B cmp r3, #0
  1934. 1193 015c 12D0 beq .L48
  1935. 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1936. 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_Abort(hdma);
  1937. 1194 .loc 1 705 7
  1938. 1195 015e F868 ldr r0, [r7, #12]
  1939. 1196 0160 FFF7FEFF bl HAL_DMA_Abort
  1940. 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1941. 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */
  1942. 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex;
  1943. 1197 .loc 1 708 65
  1944. 1198 0164 FB68 ldr r3, [r7, #12]
  1945. 1199 0166 DB6D ldr r3, [r3, #92]
  1946. 1200 .loc 1 708 58
  1947. 1201 0168 3022 movs r2, #48
  1948. 1202 016a 9A40 lsls r2, r2, r3
  1949. 1203 .loc 1 708 18
  1950. 1204 016c 7B69 ldr r3, [r7, #20]
  1951. 1205 016e 9A60 str r2, [r3, #8]
  1952. 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1953. 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  1954. 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State= HAL_DMA_STATE_READY;
  1955. 1206 .loc 1 711 18
  1956. 1207 0170 FB68 ldr r3, [r7, #12]
  1957. 1208 0172 0122 movs r2, #1
  1958. 1209 0174 83F83520 strb r2, [r3, #53]
  1959. 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1960. 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  1961. 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  1962. 1210 .loc 1 714 7
  1963. 1211 0178 FB68 ldr r3, [r7, #12]
  1964. 1212 017a 0022 movs r2, #0
  1965. 1213 017c 83F83420 strb r2, [r3, #52]
  1966. 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1967. 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
  1968. 1214 .loc 1 716 14
  1969. 1215 0180 0123 movs r3, #1
  1970. 1216 0182 18E0 b .L37
  1971. 1217 .L48:
  1972. 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1973. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 35
  1974. 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  1975. 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1976. 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */
  1977. 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER)
  1978. 1218 .loc 1 721 5
  1979. 1219 0184 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  1980. 1220 0186 002B cmp r3, #0
  1981. 1221 0188 0ED1 bne .L49
  1982. 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  1983. 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */
  1984. 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex;
  1985. 1222 .loc 1 724 63
  1986. 1223 018a FB68 ldr r3, [r7, #12]
  1987. 1224 018c DB6D ldr r3, [r3, #92]
  1988. 1225 .loc 1 724 56
  1989. 1226 018e 3022 movs r2, #48
  1990. 1227 0190 9A40 lsls r2, r2, r3
  1991. 1228 .loc 1 724 16
  1992. 1229 0192 7B69 ldr r3, [r7, #20]
  1993. 1230 0194 9A60 str r2, [r3, #8]
  1994. 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  1995. 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  1996. 1231 .loc 1 726 17
  1997. 1232 0196 FB68 ldr r3, [r7, #12]
  1998. 1233 0198 0122 movs r2, #1
  1999. 1234 019a 83F83520 strb r2, [r3, #53]
  2000. 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2001. 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  2002. 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  2003. 1235 .loc 1 729 5
  2004. 1236 019e FB68 ldr r3, [r7, #12]
  2005. 1237 01a0 0022 movs r2, #0
  2006. 1238 01a2 83F83420 strb r2, [r3, #52]
  2007. 1239 01a6 05E0 b .L50
  2008. 1240 .L49:
  2009. 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2010. 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  2011. 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2012. 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */
  2013. 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4) << hdma->StreamIndex;
  2014. 1241 .loc 1 734 44
  2015. 1242 01a8 FB68 ldr r3, [r7, #12]
  2016. 1243 01aa DB6D ldr r3, [r3, #92]
  2017. 1244 .loc 1 734 37
  2018. 1245 01ac 1022 movs r2, #16
  2019. 1246 01ae 9A40 lsls r2, r2, r3
  2020. 1247 .loc 1 734 16
  2021. 1248 01b0 7B69 ldr r3, [r7, #20]
  2022. 1249 01b2 9A60 str r2, [r3, #8]
  2023. 1250 .L50:
  2024. 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2025. 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2026. 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
  2027. 1251 .loc 1 737 10
  2028. 1252 01b4 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
  2029. 1253 .L37:
  2030. 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2031. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 36
  2032. 1254 .loc 1 738 1
  2033. 1255 01b6 1846 mov r0, r3
  2034. 1256 01b8 2837 adds r7, r7, #40
  2035. 1257 .LCFI34:
  2036. 1258 .cfi_def_cfa_offset 8
  2037. 1259 01ba BD46 mov sp, r7
  2038. 1260 .LCFI35:
  2039. 1261 .cfi_def_cfa_register 13
  2040. 1262 @ sp needed
  2041. 1263 01bc 80BD pop {r7, pc}
  2042. 1264 .cfi_endproc
  2043. 1265 .LFE241:
  2044. 1267 .section .text.HAL_DMA_IRQHandler,"ax",%progbits
  2045. 1268 .align 1
  2046. 1269 .global HAL_DMA_IRQHandler
  2047. 1270 .syntax unified
  2048. 1271 .thumb
  2049. 1272 .thumb_func
  2050. 1274 HAL_DMA_IRQHandler:
  2051. 1275 .LFB242:
  2052. 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2053. 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  2054. 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Handles DMA interrupt request.
  2055. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  2056. 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  2057. 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval None
  2058. 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  2059. 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma)
  2060. 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2061. 1276 .loc 1 747 1
  2062. 1277 .cfi_startproc
  2063. 1278 @ args = 0, pretend = 0, frame = 24
  2064. 1279 @ frame_needed = 1, uses_anonymous_args = 0
  2065. 1280 0000 80B5 push {r7, lr}
  2066. 1281 .LCFI36:
  2067. 1282 .cfi_def_cfa_offset 8
  2068. 1283 .cfi_offset 7, -8
  2069. 1284 .cfi_offset 14, -4
  2070. 1285 0002 86B0 sub sp, sp, #24
  2071. 1286 .LCFI37:
  2072. 1287 .cfi_def_cfa_offset 32
  2073. 1288 0004 00AF add r7, sp, #0
  2074. 1289 .LCFI38:
  2075. 1290 .cfi_def_cfa_register 7
  2076. 1291 0006 7860 str r0, [r7, #4]
  2077. 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr;
  2078. 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t count = 0U;
  2079. 1292 .loc 1 749 17
  2080. 1293 0008 0023 movs r3, #0
  2081. 1294 000a BB60 str r3, [r7, #8]
  2082. 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U;
  2083. 1295 .loc 1 750 38
  2084. 1296 000c 8E4B ldr r3, .L74
  2085. 1297 000e 1B68 ldr r3, [r3]
  2086. 1298 .loc 1 750 12
  2087. 1299 0010 8E4A ldr r2, .L74+4
  2088. 1300 0012 A2FB0323 umull r2, r3, r2, r3
  2089. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 37
  2090. 1301 0016 9B0A lsrs r3, r3, #10
  2091. 1302 0018 7B61 str r3, [r7, #20]
  2092. 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2093. 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
  2094. 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
  2095. 1303 .loc 1 753 56
  2096. 1304 001a 7B68 ldr r3, [r7, #4]
  2097. 1305 001c 9B6D ldr r3, [r3, #88]
  2098. 1306 .loc 1 753 23
  2099. 1307 001e 3B61 str r3, [r7, #16]
  2100. 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2101. 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR;
  2102. 1308 .loc 1 755 10
  2103. 1309 0020 3B69 ldr r3, [r7, #16]
  2104. 1310 0022 1B68 ldr r3, [r3]
  2105. 1311 0024 FB60 str r3, [r7, #12]
  2106. 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2107. 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Error Interrupt management ***************************************/
  2108. 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET)
  2109. 1312 .loc 1 758 42
  2110. 1313 0026 7B68 ldr r3, [r7, #4]
  2111. 1314 0028 DB6D ldr r3, [r3, #92]
  2112. 1315 .loc 1 758 35
  2113. 1316 002a 0822 movs r2, #8
  2114. 1317 002c 9A40 lsls r2, r2, r3
  2115. 1318 .loc 1 758 15
  2116. 1319 002e FB68 ldr r3, [r7, #12]
  2117. 1320 0030 1340 ands r3, r3, r2
  2118. 1321 .loc 1 758 6
  2119. 1322 0032 002B cmp r3, #0
  2120. 1323 0034 1AD0 beq .L52
  2121. 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2122. 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET)
  2123. 1324 .loc 1 760 8
  2124. 1325 0036 7B68 ldr r3, [r7, #4]
  2125. 1326 0038 1B68 ldr r3, [r3]
  2126. 1327 003a 1B68 ldr r3, [r3]
  2127. 1328 003c 03F00403 and r3, r3, #4
  2128. 1329 .loc 1 760 7
  2129. 1330 0040 002B cmp r3, #0
  2130. 1331 0042 13D0 beq .L52
  2131. 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2132. 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer error interrupt */
  2133. 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TE);
  2134. 1332 .loc 1 763 11
  2135. 1333 0044 7B68 ldr r3, [r7, #4]
  2136. 1334 0046 1B68 ldr r3, [r3]
  2137. 1335 .loc 1 763 27
  2138. 1336 0048 1A68 ldr r2, [r3]
  2139. 1337 .loc 1 763 11
  2140. 1338 004a 7B68 ldr r3, [r7, #4]
  2141. 1339 004c 1B68 ldr r3, [r3]
  2142. 1340 .loc 1 763 27
  2143. 1341 004e 22F00402 bic r2, r2, #4
  2144. 1342 0052 1A60 str r2, [r3]
  2145. 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2146. 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */
  2147. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 38
  2148. 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex;
  2149. 1343 .loc 1 766 44
  2150. 1344 0054 7B68 ldr r3, [r7, #4]
  2151. 1345 0056 DB6D ldr r3, [r3, #92]
  2152. 1346 .loc 1 766 37
  2153. 1347 0058 0822 movs r2, #8
  2154. 1348 005a 9A40 lsls r2, r2, r3
  2155. 1349 .loc 1 766 18
  2156. 1350 005c 3B69 ldr r3, [r7, #16]
  2157. 1351 005e 9A60 str r2, [r3, #8]
  2158. 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2159. 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  2160. 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE;
  2161. 1352 .loc 1 769 23
  2162. 1353 0060 7B68 ldr r3, [r7, #4]
  2163. 1354 0062 5B6D ldr r3, [r3, #84]
  2164. 1355 0064 43F00102 orr r2, r3, #1
  2165. 1356 0068 7B68 ldr r3, [r7, #4]
  2166. 1357 006a 5A65 str r2, [r3, #84]
  2167. 1358 .L52:
  2168. 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2169. 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2170. 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* FIFO Error Interrupt management ******************************************/
  2171. 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET)
  2172. 1359 .loc 1 773 42
  2173. 1360 006c 7B68 ldr r3, [r7, #4]
  2174. 1361 006e DB6D ldr r3, [r3, #92]
  2175. 1362 .loc 1 773 35
  2176. 1363 0070 0122 movs r2, #1
  2177. 1364 0072 9A40 lsls r2, r2, r3
  2178. 1365 .loc 1 773 15
  2179. 1366 0074 FB68 ldr r3, [r7, #12]
  2180. 1367 0076 1340 ands r3, r3, r2
  2181. 1368 .loc 1 773 6
  2182. 1369 0078 002B cmp r3, #0
  2183. 1370 007a 12D0 beq .L53
  2184. 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2185. 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET)
  2186. 1371 .loc 1 775 8
  2187. 1372 007c 7B68 ldr r3, [r7, #4]
  2188. 1373 007e 1B68 ldr r3, [r3]
  2189. 1374 0080 5B69 ldr r3, [r3, #20]
  2190. 1375 0082 03F08003 and r3, r3, #128
  2191. 1376 .loc 1 775 7
  2192. 1377 0086 002B cmp r3, #0
  2193. 1378 0088 0BD0 beq .L53
  2194. 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2195. 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */
  2196. 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex;
  2197. 1379 .loc 1 778 44
  2198. 1380 008a 7B68 ldr r3, [r7, #4]
  2199. 1381 008c DB6D ldr r3, [r3, #92]
  2200. 1382 .loc 1 778 37
  2201. 1383 008e 0122 movs r2, #1
  2202. 1384 0090 9A40 lsls r2, r2, r3
  2203. 1385 .loc 1 778 18
  2204. 1386 0092 3B69 ldr r3, [r7, #16]
  2205. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 39
  2206. 1387 0094 9A60 str r2, [r3, #8]
  2207. 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2208. 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  2209. 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE;
  2210. 1388 .loc 1 781 23
  2211. 1389 0096 7B68 ldr r3, [r7, #4]
  2212. 1390 0098 5B6D ldr r3, [r3, #84]
  2213. 1391 009a 43F00202 orr r2, r3, #2
  2214. 1392 009e 7B68 ldr r3, [r7, #4]
  2215. 1393 00a0 5A65 str r2, [r3, #84]
  2216. 1394 .L53:
  2217. 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2218. 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2219. 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Direct Mode Error Interrupt management ***********************************/
  2220. 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET)
  2221. 1395 .loc 1 785 43
  2222. 1396 00a2 7B68 ldr r3, [r7, #4]
  2223. 1397 00a4 DB6D ldr r3, [r3, #92]
  2224. 1398 .loc 1 785 36
  2225. 1399 00a6 0422 movs r2, #4
  2226. 1400 00a8 9A40 lsls r2, r2, r3
  2227. 1401 .loc 1 785 15
  2228. 1402 00aa FB68 ldr r3, [r7, #12]
  2229. 1403 00ac 1340 ands r3, r3, r2
  2230. 1404 .loc 1 785 6
  2231. 1405 00ae 002B cmp r3, #0
  2232. 1406 00b0 12D0 beq .L54
  2233. 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2234. 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET)
  2235. 1407 .loc 1 787 8
  2236. 1408 00b2 7B68 ldr r3, [r7, #4]
  2237. 1409 00b4 1B68 ldr r3, [r3]
  2238. 1410 00b6 1B68 ldr r3, [r3]
  2239. 1411 00b8 03F00203 and r3, r3, #2
  2240. 1412 .loc 1 787 7
  2241. 1413 00bc 002B cmp r3, #0
  2242. 1414 00be 0BD0 beq .L54
  2243. 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2244. 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the direct mode error flag */
  2245. 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex;
  2246. 1415 .loc 1 790 45
  2247. 1416 00c0 7B68 ldr r3, [r7, #4]
  2248. 1417 00c2 DB6D ldr r3, [r3, #92]
  2249. 1418 .loc 1 790 38
  2250. 1419 00c4 0422 movs r2, #4
  2251. 1420 00c6 9A40 lsls r2, r2, r3
  2252. 1421 .loc 1 790 18
  2253. 1422 00c8 3B69 ldr r3, [r7, #16]
  2254. 1423 00ca 9A60 str r2, [r3, #8]
  2255. 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2256. 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
  2257. 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME;
  2258. 1424 .loc 1 793 23
  2259. 1425 00cc 7B68 ldr r3, [r7, #4]
  2260. 1426 00ce 5B6D ldr r3, [r3, #84]
  2261. 1427 00d0 43F00402 orr r2, r3, #4
  2262. 1428 00d4 7B68 ldr r3, [r7, #4]
  2263. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 40
  2264. 1429 00d6 5A65 str r2, [r3, #84]
  2265. 1430 .L54:
  2266. 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2267. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2268. 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete Interrupt management ******************************/
  2269. 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET)
  2270. 1431 .loc 1 797 42
  2271. 1432 00d8 7B68 ldr r3, [r7, #4]
  2272. 1433 00da DB6D ldr r3, [r3, #92]
  2273. 1434 .loc 1 797 35
  2274. 1435 00dc 1022 movs r2, #16
  2275. 1436 00de 9A40 lsls r2, r2, r3
  2276. 1437 .loc 1 797 15
  2277. 1438 00e0 FB68 ldr r3, [r7, #12]
  2278. 1439 00e2 1340 ands r3, r3, r2
  2279. 1440 .loc 1 797 6
  2280. 1441 00e4 002B cmp r3, #0
  2281. 1442 00e6 43D0 beq .L55
  2282. 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2283. 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET)
  2284. 1443 .loc 1 799 8
  2285. 1444 00e8 7B68 ldr r3, [r7, #4]
  2286. 1445 00ea 1B68 ldr r3, [r3]
  2287. 1446 00ec 1B68 ldr r3, [r3]
  2288. 1447 00ee 03F00803 and r3, r3, #8
  2289. 1448 .loc 1 799 7
  2290. 1449 00f2 002B cmp r3, #0
  2291. 1450 00f4 3CD0 beq .L55
  2292. 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2293. 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer complete flag */
  2294. 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex;
  2295. 1451 .loc 1 802 44
  2296. 1452 00f6 7B68 ldr r3, [r7, #4]
  2297. 1453 00f8 DB6D ldr r3, [r3, #92]
  2298. 1454 .loc 1 802 37
  2299. 1455 00fa 1022 movs r2, #16
  2300. 1456 00fc 9A40 lsls r2, r2, r3
  2301. 1457 .loc 1 802 18
  2302. 1458 00fe 3B69 ldr r3, [r7, #16]
  2303. 1459 0100 9A60 str r2, [r3, #8]
  2304. 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2305. 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Multi_Buffering mode enabled */
  2306. 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET)
  2307. 1460 .loc 1 805 16
  2308. 1461 0102 7B68 ldr r3, [r7, #4]
  2309. 1462 0104 1B68 ldr r3, [r3]
  2310. 1463 .loc 1 805 26
  2311. 1464 0106 1B68 ldr r3, [r3]
  2312. 1465 .loc 1 805 32
  2313. 1466 0108 03F48023 and r3, r3, #262144
  2314. 1467 .loc 1 805 9
  2315. 1468 010c 002B cmp r3, #0
  2316. 1469 010e 18D0 beq .L56
  2317. 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2318. 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */
  2319. 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET)
  2320. 1470 .loc 1 808 17
  2321. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 41
  2322. 1471 0110 7B68 ldr r3, [r7, #4]
  2323. 1472 0112 1B68 ldr r3, [r3]
  2324. 1473 .loc 1 808 27
  2325. 1474 0114 1B68 ldr r3, [r3]
  2326. 1475 .loc 1 808 32
  2327. 1476 0116 03F40023 and r3, r3, #524288
  2328. 1477 .loc 1 808 11
  2329. 1478 011a 002B cmp r3, #0
  2330. 1479 011c 08D1 bne .L57
  2331. 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2332. 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL)
  2333. 1480 .loc 1 810 18
  2334. 1481 011e 7B68 ldr r3, [r7, #4]
  2335. 1482 0120 1B6C ldr r3, [r3, #64]
  2336. 1483 .loc 1 810 13
  2337. 1484 0122 002B cmp r3, #0
  2338. 1485 0124 24D0 beq .L55
  2339. 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2340. 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */
  2341. 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma);
  2342. 1486 .loc 1 813 17
  2343. 1487 0126 7B68 ldr r3, [r7, #4]
  2344. 1488 0128 1B6C ldr r3, [r3, #64]
  2345. 1489 .loc 1 813 13
  2346. 1490 012a 7868 ldr r0, [r7, #4]
  2347. 1491 012c 9847 blx r3
  2348. 1492 .LVL0:
  2349. 1493 012e 1FE0 b .L55
  2350. 1494 .L57:
  2351. 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2352. 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2353. 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */
  2354. 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  2355. 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2356. 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1HalfCpltCallback != NULL)
  2357. 1495 .loc 1 819 18
  2358. 1496 0130 7B68 ldr r3, [r7, #4]
  2359. 1497 0132 9B6C ldr r3, [r3, #72]
  2360. 1498 .loc 1 819 13
  2361. 1499 0134 002B cmp r3, #0
  2362. 1500 0136 1BD0 beq .L55
  2363. 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2364. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */
  2365. 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback(hdma);
  2366. 1501 .loc 1 822 17
  2367. 1502 0138 7B68 ldr r3, [r7, #4]
  2368. 1503 013a 9B6C ldr r3, [r3, #72]
  2369. 1504 .loc 1 822 13
  2370. 1505 013c 7868 ldr r0, [r7, #4]
  2371. 1506 013e 9847 blx r3
  2372. 1507 .LVL1:
  2373. 1508 0140 16E0 b .L55
  2374. 1509 .L56:
  2375. 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2376. 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2377. 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2378. 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  2379. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 42
  2380. 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2381. 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */
  2382. 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET)
  2383. 1510 .loc 1 829 17
  2384. 1511 0142 7B68 ldr r3, [r7, #4]
  2385. 1512 0144 1B68 ldr r3, [r3]
  2386. 1513 .loc 1 829 27
  2387. 1514 0146 1B68 ldr r3, [r3]
  2388. 1515 .loc 1 829 32
  2389. 1516 0148 03F48073 and r3, r3, #256
  2390. 1517 .loc 1 829 11
  2391. 1518 014c 002B cmp r3, #0
  2392. 1519 014e 07D1 bne .L58
  2393. 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2394. 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt */
  2395. 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT);
  2396. 1520 .loc 1 832 15
  2397. 1521 0150 7B68 ldr r3, [r7, #4]
  2398. 1522 0152 1B68 ldr r3, [r3]
  2399. 1523 .loc 1 832 31
  2400. 1524 0154 1A68 ldr r2, [r3]
  2401. 1525 .loc 1 832 15
  2402. 1526 0156 7B68 ldr r3, [r7, #4]
  2403. 1527 0158 1B68 ldr r3, [r3]
  2404. 1528 .loc 1 832 31
  2405. 1529 015a 22F00802 bic r2, r2, #8
  2406. 1530 015e 1A60 str r2, [r3]
  2407. 1531 .L58:
  2408. 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2409. 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2410. 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL)
  2411. 1532 .loc 1 835 16
  2412. 1533 0160 7B68 ldr r3, [r7, #4]
  2413. 1534 0162 1B6C ldr r3, [r3, #64]
  2414. 1535 .loc 1 835 11
  2415. 1536 0164 002B cmp r3, #0
  2416. 1537 0166 03D0 beq .L55
  2417. 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2418. 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */
  2419. 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma);
  2420. 1538 .loc 1 838 15
  2421. 1539 0168 7B68 ldr r3, [r7, #4]
  2422. 1540 016a 1B6C ldr r3, [r3, #64]
  2423. 1541 .loc 1 838 11
  2424. 1542 016c 7868 ldr r0, [r7, #4]
  2425. 1543 016e 9847 blx r3
  2426. 1544 .LVL2:
  2427. 1545 .L55:
  2428. 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2429. 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2430. 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2431. 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2432. 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete Interrupt management ***********************************/
  2433. 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET)
  2434. 1546 .loc 1 844 42
  2435. 1547 0170 7B68 ldr r3, [r7, #4]
  2436. 1548 0172 DB6D ldr r3, [r3, #92]
  2437. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 43
  2438. 1549 .loc 1 844 35
  2439. 1550 0174 2022 movs r2, #32
  2440. 1551 0176 9A40 lsls r2, r2, r3
  2441. 1552 .loc 1 844 15
  2442. 1553 0178 FB68 ldr r3, [r7, #12]
  2443. 1554 017a 1340 ands r3, r3, r2
  2444. 1555 .loc 1 844 6
  2445. 1556 017c 002B cmp r3, #0
  2446. 1557 017e 00F08F80 beq .L59
  2447. 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2448. 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET)
  2449. 1558 .loc 1 846 8
  2450. 1559 0182 7B68 ldr r3, [r7, #4]
  2451. 1560 0184 1B68 ldr r3, [r3]
  2452. 1561 0186 1B68 ldr r3, [r3]
  2453. 1562 0188 03F01003 and r3, r3, #16
  2454. 1563 .loc 1 846 7
  2455. 1564 018c 002B cmp r3, #0
  2456. 1565 018e 00F08780 beq .L59
  2457. 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2458. 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer complete flag */
  2459. 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex;
  2460. 1566 .loc 1 849 44
  2461. 1567 0192 7B68 ldr r3, [r7, #4]
  2462. 1568 0194 DB6D ldr r3, [r3, #92]
  2463. 1569 .loc 1 849 37
  2464. 1570 0196 2022 movs r2, #32
  2465. 1571 0198 9A40 lsls r2, r2, r3
  2466. 1572 .loc 1 849 18
  2467. 1573 019a 3B69 ldr r3, [r7, #16]
  2468. 1574 019c 9A60 str r2, [r3, #8]
  2469. 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2470. 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_ABORT == hdma->State)
  2471. 1575 .loc 1 851 37
  2472. 1576 019e 7B68 ldr r3, [r7, #4]
  2473. 1577 01a0 93F83530 ldrb r3, [r3, #53]
  2474. 1578 01a4 DBB2 uxtb r3, r3
  2475. 1579 .loc 1 851 9
  2476. 1580 01a6 052B cmp r3, #5
  2477. 1581 01a8 36D1 bne .L60
  2478. 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2479. 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */
  2480. 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME);
  2481. 1582 .loc 1 854 13
  2482. 1583 01aa 7B68 ldr r3, [r7, #4]
  2483. 1584 01ac 1B68 ldr r3, [r3]
  2484. 1585 .loc 1 854 29
  2485. 1586 01ae 1A68 ldr r2, [r3]
  2486. 1587 .loc 1 854 13
  2487. 1588 01b0 7B68 ldr r3, [r7, #4]
  2488. 1589 01b2 1B68 ldr r3, [r3]
  2489. 1590 .loc 1 854 29
  2490. 1591 01b4 22F01602 bic r2, r2, #22
  2491. 1592 01b8 1A60 str r2, [r3]
  2492. 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE);
  2493. 1593 .loc 1 855 13
  2494. 1594 01ba 7B68 ldr r3, [r7, #4]
  2495. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 44
  2496. 1595 01bc 1B68 ldr r3, [r3]
  2497. 1596 .loc 1 855 29
  2498. 1597 01be 5A69 ldr r2, [r3, #20]
  2499. 1598 .loc 1 855 13
  2500. 1599 01c0 7B68 ldr r3, [r7, #4]
  2501. 1600 01c2 1B68 ldr r3, [r3]
  2502. 1601 .loc 1 855 29
  2503. 1602 01c4 22F08002 bic r2, r2, #128
  2504. 1603 01c8 5A61 str r2, [r3, #20]
  2505. 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2506. 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL))
  2507. 1604 .loc 1 857 17
  2508. 1605 01ca 7B68 ldr r3, [r7, #4]
  2509. 1606 01cc 1B6C ldr r3, [r3, #64]
  2510. 1607 .loc 1 857 11
  2511. 1608 01ce 002B cmp r3, #0
  2512. 1609 01d0 03D1 bne .L61
  2513. 1610 .loc 1 857 57 discriminator 1
  2514. 1611 01d2 7B68 ldr r3, [r7, #4]
  2515. 1612 01d4 9B6C ldr r3, [r3, #72]
  2516. 1613 .loc 1 857 49 discriminator 1
  2517. 1614 01d6 002B cmp r3, #0
  2518. 1615 01d8 07D0 beq .L62
  2519. 1616 .L61:
  2520. 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2521. 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT);
  2522. 1617 .loc 1 859 15
  2523. 1618 01da 7B68 ldr r3, [r7, #4]
  2524. 1619 01dc 1B68 ldr r3, [r3]
  2525. 1620 .loc 1 859 31
  2526. 1621 01de 1A68 ldr r2, [r3]
  2527. 1622 .loc 1 859 15
  2528. 1623 01e0 7B68 ldr r3, [r7, #4]
  2529. 1624 01e2 1B68 ldr r3, [r3]
  2530. 1625 .loc 1 859 31
  2531. 1626 01e4 22F00802 bic r2, r2, #8
  2532. 1627 01e8 1A60 str r2, [r3]
  2533. 1628 .L62:
  2534. 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2535. 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2536. 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
  2537. 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
  2538. 1629 .loc 1 863 35
  2539. 1630 01ea 7B68 ldr r3, [r7, #4]
  2540. 1631 01ec DB6D ldr r3, [r3, #92]
  2541. 1632 .loc 1 863 28
  2542. 1633 01ee 3F22 movs r2, #63
  2543. 1634 01f0 9A40 lsls r2, r2, r3
  2544. 1635 .loc 1 863 20
  2545. 1636 01f2 3B69 ldr r3, [r7, #16]
  2546. 1637 01f4 9A60 str r2, [r3, #8]
  2547. 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2548. 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  2549. 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  2550. 1638 .loc 1 866 21
  2551. 1639 01f6 7B68 ldr r3, [r7, #4]
  2552. 1640 01f8 0122 movs r2, #1
  2553. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 45
  2554. 1641 01fa 83F83520 strb r2, [r3, #53]
  2555. 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2556. 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  2557. 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  2558. 1642 .loc 1 869 9
  2559. 1643 01fe 7B68 ldr r3, [r7, #4]
  2560. 1644 0200 0022 movs r2, #0
  2561. 1645 0202 83F83420 strb r2, [r3, #52]
  2562. 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2563. 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL)
  2564. 1646 .loc 1 871 16
  2565. 1647 0206 7B68 ldr r3, [r7, #4]
  2566. 1648 0208 1B6D ldr r3, [r3, #80]
  2567. 1649 .loc 1 871 11
  2568. 1650 020a 002B cmp r3, #0
  2569. 1651 020c 7ED0 beq .L72
  2570. 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2571. 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback(hdma);
  2572. 1652 .loc 1 873 15
  2573. 1653 020e 7B68 ldr r3, [r7, #4]
  2574. 1654 0210 1B6D ldr r3, [r3, #80]
  2575. 1655 .loc 1 873 11
  2576. 1656 0212 7868 ldr r0, [r7, #4]
  2577. 1657 0214 9847 blx r3
  2578. 1658 .LVL3:
  2579. 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2580. 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return;
  2581. 1659 .loc 1 875 9
  2582. 1660 0216 79E0 b .L72
  2583. 1661 .L60:
  2584. 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2585. 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2586. 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET)
  2587. 1662 .loc 1 878 16
  2588. 1663 0218 7B68 ldr r3, [r7, #4]
  2589. 1664 021a 1B68 ldr r3, [r3]
  2590. 1665 .loc 1 878 26
  2591. 1666 021c 1B68 ldr r3, [r3]
  2592. 1667 .loc 1 878 32
  2593. 1668 021e 03F48023 and r3, r3, #262144
  2594. 1669 .loc 1 878 9
  2595. 1670 0222 002B cmp r3, #0
  2596. 1671 0224 1DD0 beq .L65
  2597. 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2598. 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */
  2599. 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET)
  2600. 1672 .loc 1 881 17
  2601. 1673 0226 7B68 ldr r3, [r7, #4]
  2602. 1674 0228 1B68 ldr r3, [r3]
  2603. 1675 .loc 1 881 27
  2604. 1676 022a 1B68 ldr r3, [r3]
  2605. 1677 .loc 1 881 32
  2606. 1678 022c 03F40023 and r3, r3, #524288
  2607. 1679 .loc 1 881 11
  2608. 1680 0230 002B cmp r3, #0
  2609. 1681 0232 0DD1 bne .L66
  2610. 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2611. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 46
  2612. 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1CpltCallback != NULL)
  2613. 1682 .loc 1 883 18
  2614. 1683 0234 7B68 ldr r3, [r7, #4]
  2615. 1684 0236 5B6C ldr r3, [r3, #68]
  2616. 1685 .loc 1 883 13
  2617. 1686 0238 002B cmp r3, #0
  2618. 1687 023a 31D0 beq .L59
  2619. 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2620. 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory1 */
  2621. 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback(hdma);
  2622. 1688 .loc 1 886 17
  2623. 1689 023c 7B68 ldr r3, [r7, #4]
  2624. 1690 023e 5B6C ldr r3, [r3, #68]
  2625. 1691 .loc 1 886 13
  2626. 1692 0240 7868 ldr r0, [r7, #4]
  2627. 1693 0242 9847 blx r3
  2628. 1694 .LVL4:
  2629. 1695 0244 2CE0 b .L59
  2630. 1696 .L75:
  2631. 1697 0246 00BF .align 2
  2632. 1698 .L74:
  2633. 1699 0248 00000000 .word SystemCoreClock
  2634. 1700 024c B5814E1B .word 458129845
  2635. 1701 .L66:
  2636. 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2637. 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2638. 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */
  2639. 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  2640. 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2641. 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL)
  2642. 1702 .loc 1 892 18
  2643. 1703 0250 7B68 ldr r3, [r7, #4]
  2644. 1704 0252 DB6B ldr r3, [r3, #60]
  2645. 1705 .loc 1 892 13
  2646. 1706 0254 002B cmp r3, #0
  2647. 1707 0256 23D0 beq .L59
  2648. 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2649. 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory0 */
  2650. 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma);
  2651. 1708 .loc 1 895 17
  2652. 1709 0258 7B68 ldr r3, [r7, #4]
  2653. 1710 025a DB6B ldr r3, [r3, #60]
  2654. 1711 .loc 1 895 13
  2655. 1712 025c 7868 ldr r0, [r7, #4]
  2656. 1713 025e 9847 blx r3
  2657. 1714 .LVL5:
  2658. 1715 0260 1EE0 b .L59
  2659. 1716 .L65:
  2660. 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2661. 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2662. 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2663. 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */
  2664. 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  2665. 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2666. 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET)
  2667. 1717 .loc 1 902 17
  2668. 1718 0262 7B68 ldr r3, [r7, #4]
  2669. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 47
  2670. 1719 0264 1B68 ldr r3, [r3]
  2671. 1720 .loc 1 902 27
  2672. 1721 0266 1B68 ldr r3, [r3]
  2673. 1722 .loc 1 902 32
  2674. 1723 0268 03F48073 and r3, r3, #256
  2675. 1724 .loc 1 902 11
  2676. 1725 026c 002B cmp r3, #0
  2677. 1726 026e 0FD1 bne .L67
  2678. 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2679. 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt */
  2680. 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC);
  2681. 1727 .loc 1 905 15
  2682. 1728 0270 7B68 ldr r3, [r7, #4]
  2683. 1729 0272 1B68 ldr r3, [r3]
  2684. 1730 .loc 1 905 31
  2685. 1731 0274 1A68 ldr r2, [r3]
  2686. 1732 .loc 1 905 15
  2687. 1733 0276 7B68 ldr r3, [r7, #4]
  2688. 1734 0278 1B68 ldr r3, [r3]
  2689. 1735 .loc 1 905 31
  2690. 1736 027a 22F01002 bic r2, r2, #16
  2691. 1737 027e 1A60 str r2, [r3]
  2692. 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2693. 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  2694. 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  2695. 1738 .loc 1 908 23
  2696. 1739 0280 7B68 ldr r3, [r7, #4]
  2697. 1740 0282 0122 movs r2, #1
  2698. 1741 0284 83F83520 strb r2, [r3, #53]
  2699. 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2700. 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  2701. 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  2702. 1742 .loc 1 911 11
  2703. 1743 0288 7B68 ldr r3, [r7, #4]
  2704. 1744 028a 0022 movs r2, #0
  2705. 1745 028c 83F83420 strb r2, [r3, #52]
  2706. 1746 .L67:
  2707. 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2708. 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2709. 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL)
  2710. 1747 .loc 1 914 16
  2711. 1748 0290 7B68 ldr r3, [r7, #4]
  2712. 1749 0292 DB6B ldr r3, [r3, #60]
  2713. 1750 .loc 1 914 11
  2714. 1751 0294 002B cmp r3, #0
  2715. 1752 0296 03D0 beq .L59
  2716. 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2717. 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete callback */
  2718. 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma);
  2719. 1753 .loc 1 917 15
  2720. 1754 0298 7B68 ldr r3, [r7, #4]
  2721. 1755 029a DB6B ldr r3, [r3, #60]
  2722. 1756 .loc 1 917 11
  2723. 1757 029c 7868 ldr r0, [r7, #4]
  2724. 1758 029e 9847 blx r3
  2725. 1759 .LVL6:
  2726. 1760 .L59:
  2727. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 48
  2728. 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2729. 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2730. 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2731. 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2732. 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2733. 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* manage error case */
  2734. 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE)
  2735. 1761 .loc 1 924 10
  2736. 1762 02a0 7B68 ldr r3, [r7, #4]
  2737. 1763 02a2 5B6D ldr r3, [r3, #84]
  2738. 1764 .loc 1 924 5
  2739. 1765 02a4 002B cmp r3, #0
  2740. 1766 02a6 32D0 beq .L51
  2741. 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2742. 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET)
  2743. 1767 .loc 1 926 13
  2744. 1768 02a8 7B68 ldr r3, [r7, #4]
  2745. 1769 02aa 5B6D ldr r3, [r3, #84]
  2746. 1770 .loc 1 926 25
  2747. 1771 02ac 03F00103 and r3, r3, #1
  2748. 1772 .loc 1 926 7
  2749. 1773 02b0 002B cmp r3, #0
  2750. 1774 02b2 22D0 beq .L68
  2751. 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2752. 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT;
  2753. 1775 .loc 1 928 19
  2754. 1776 02b4 7B68 ldr r3, [r7, #4]
  2755. 1777 02b6 0522 movs r2, #5
  2756. 1778 02b8 83F83520 strb r2, [r3, #53]
  2757. 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2758. 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */
  2759. 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
  2760. 1779 .loc 1 931 7
  2761. 1780 02bc 7B68 ldr r3, [r7, #4]
  2762. 1781 02be 1B68 ldr r3, [r3]
  2763. 1782 02c0 1A68 ldr r2, [r3]
  2764. 1783 02c2 7B68 ldr r3, [r7, #4]
  2765. 1784 02c4 1B68 ldr r3, [r3]
  2766. 1785 02c6 22F00102 bic r2, r2, #1
  2767. 1786 02ca 1A60 str r2, [r3]
  2768. 1787 .L71:
  2769. 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2770. 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** do
  2771. 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2772. 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (++count > timeout)
  2773. 1788 .loc 1 935 13
  2774. 1789 02cc BB68 ldr r3, [r7, #8]
  2775. 1790 02ce 0133 adds r3, r3, #1
  2776. 1791 .loc 1 935 12
  2777. 1792 02d0 BB60 str r3, [r7, #8]
  2778. 1793 02d2 7A69 ldr r2, [r7, #20]
  2779. 1794 02d4 9A42 cmp r2, r3
  2780. 1795 02d6 07D3 bcc .L73
  2781. 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2782. 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  2783. 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2784. 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2785. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 49
  2786. 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET);
  2787. 1796 .loc 1 940 18
  2788. 1797 02d8 7B68 ldr r3, [r7, #4]
  2789. 1798 02da 1B68 ldr r3, [r3]
  2790. 1799 .loc 1 940 28
  2791. 1800 02dc 1B68 ldr r3, [r3]
  2792. 1801 .loc 1 940 33
  2793. 1802 02de 03F00103 and r3, r3, #1
  2794. 1803 .loc 1 940 7
  2795. 1804 02e2 002B cmp r3, #0
  2796. 1805 02e4 F2D1 bne .L71
  2797. 1806 02e6 00E0 b .L70
  2798. 1807 .L73:
  2799. 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2800. 1808 .loc 1 937 11
  2801. 1809 02e8 00BF nop
  2802. 1810 .L70:
  2803. 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2804. 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
  2805. 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
  2806. 1811 .loc 1 943 19
  2807. 1812 02ea 7B68 ldr r3, [r7, #4]
  2808. 1813 02ec 0122 movs r2, #1
  2809. 1814 02ee 83F83520 strb r2, [r3, #53]
  2810. 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2811. 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
  2812. 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  2813. 1815 .loc 1 946 7
  2814. 1816 02f2 7B68 ldr r3, [r7, #4]
  2815. 1817 02f4 0022 movs r2, #0
  2816. 1818 02f6 83F83420 strb r2, [r3, #52]
  2817. 1819 .L68:
  2818. 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2819. 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2820. 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL)
  2821. 1820 .loc 1 949 12
  2822. 1821 02fa 7B68 ldr r3, [r7, #4]
  2823. 1822 02fc DB6C ldr r3, [r3, #76]
  2824. 1823 .loc 1 949 7
  2825. 1824 02fe 002B cmp r3, #0
  2826. 1825 0300 05D0 beq .L51
  2827. 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2828. 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer error callback */
  2829. 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback(hdma);
  2830. 1826 .loc 1 952 11
  2831. 1827 0302 7B68 ldr r3, [r7, #4]
  2832. 1828 0304 DB6C ldr r3, [r3, #76]
  2833. 1829 .loc 1 952 7
  2834. 1830 0306 7868 ldr r0, [r7, #4]
  2835. 1831 0308 9847 blx r3
  2836. 1832 .LVL7:
  2837. 1833 030a 00E0 b .L51
  2838. 1834 .L72:
  2839. 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2840. 1835 .loc 1 875 9
  2841. 1836 030c 00BF nop
  2842. 1837 .L51:
  2843. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 50
  2844. 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2845. 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2846. 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  2847. 1838 .loc 1 955 1
  2848. 1839 030e 1837 adds r7, r7, #24
  2849. 1840 .LCFI39:
  2850. 1841 .cfi_def_cfa_offset 8
  2851. 1842 0310 BD46 mov sp, r7
  2852. 1843 .LCFI40:
  2853. 1844 .cfi_def_cfa_register 13
  2854. 1845 @ sp needed
  2855. 1846 0312 80BD pop {r7, pc}
  2856. 1847 .cfi_endproc
  2857. 1848 .LFE242:
  2858. 1850 .section .text.HAL_DMA_RegisterCallback,"ax",%progbits
  2859. 1851 .align 1
  2860. 1852 .global HAL_DMA_RegisterCallback
  2861. 1853 .syntax unified
  2862. 1854 .thumb
  2863. 1855 .thumb_func
  2864. 1857 HAL_DMA_RegisterCallback:
  2865. 1858 .LFB243:
  2866. 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2867. 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  2868. 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Register callbacks
  2869. 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  2870. 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  2871. 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CallbackID User Callback identifier
  2872. 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter.
  2873. 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param pCallback pointer to private callback function which has pointer to
  2874. 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter.
  2875. 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  2876. 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  2877. 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Callb
  2878. 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2879. 1859 .loc 1 968 1
  2880. 1860 .cfi_startproc
  2881. 1861 @ args = 0, pretend = 0, frame = 24
  2882. 1862 @ frame_needed = 1, uses_anonymous_args = 0
  2883. 1863 @ link register save eliminated.
  2884. 1864 0000 80B4 push {r7}
  2885. 1865 .LCFI41:
  2886. 1866 .cfi_def_cfa_offset 4
  2887. 1867 .cfi_offset 7, -4
  2888. 1868 0002 87B0 sub sp, sp, #28
  2889. 1869 .LCFI42:
  2890. 1870 .cfi_def_cfa_offset 32
  2891. 1871 0004 00AF add r7, sp, #0
  2892. 1872 .LCFI43:
  2893. 1873 .cfi_def_cfa_register 7
  2894. 1874 0006 F860 str r0, [r7, #12]
  2895. 1875 0008 0B46 mov r3, r1
  2896. 1876 000a 7A60 str r2, [r7, #4]
  2897. 1877 000c FB72 strb r3, [r7, #11]
  2898. 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2899. 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
  2900. 1878 .loc 1 970 21
  2901. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 51
  2902. 1879 000e 0023 movs r3, #0
  2903. 1880 0010 FB75 strb r3, [r7, #23]
  2904. 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2905. 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
  2906. 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
  2907. 1881 .loc 1 973 3
  2908. 1882 0012 FB68 ldr r3, [r7, #12]
  2909. 1883 0014 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2
  2910. 1884 0018 012B cmp r3, #1
  2911. 1885 001a 01D1 bne .L77
  2912. 1886 .loc 1 973 3 is_stmt 0 discriminator 1
  2913. 1887 001c 0223 movs r3, #2
  2914. 1888 001e 3DE0 b .L78
  2915. 1889 .L77:
  2916. 1890 .loc 1 973 3 discriminator 2
  2917. 1891 0020 FB68 ldr r3, [r7, #12]
  2918. 1892 0022 0122 movs r2, #1
  2919. 1893 0024 83F83420 strb r2, [r3, #52]
  2920. 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2921. 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
  2922. 1894 .loc 1 975 33 is_stmt 1 discriminator 2
  2923. 1895 0028 FB68 ldr r3, [r7, #12]
  2924. 1896 002a 93F83530 ldrb r3, [r3, #53]
  2925. 1897 002e DBB2 uxtb r3, r3
  2926. 1898 .loc 1 975 5 discriminator 2
  2927. 1899 0030 012B cmp r3, #1
  2928. 1900 0032 2CD1 bne .L79
  2929. 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2930. 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID)
  2931. 1901 .loc 1 977 5
  2932. 1902 0034 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  2933. 1903 0036 052B cmp r3, #5
  2934. 1904 0038 26D8 bhi .L80
  2935. 1905 003a 01A2 adr r2, .L82
  2936. 1906 003c 52F823F0 ldr pc, [r2, r3, lsl #2]
  2937. 1907 .p2align 2
  2938. 1908 .L82:
  2939. 1909 0040 59000000 .word .L87+1
  2940. 1910 0044 61000000 .word .L86+1
  2941. 1911 0048 69000000 .word .L85+1
  2942. 1912 004c 71000000 .word .L84+1
  2943. 1913 0050 79000000 .word .L83+1
  2944. 1914 0054 81000000 .word .L81+1
  2945. 1915 .p2align 1
  2946. 1916 .L87:
  2947. 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  2948. 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID:
  2949. 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = pCallback;
  2950. 1917 .loc 1 980 30
  2951. 1918 0058 FB68 ldr r3, [r7, #12]
  2952. 1919 005a 7A68 ldr r2, [r7, #4]
  2953. 1920 005c DA63 str r2, [r3, #60]
  2954. 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  2955. 1921 .loc 1 981 7
  2956. 1922 005e 18E0 b .L89
  2957. 1923 .L86:
  2958. 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2959. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 52
  2960. 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID:
  2961. 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = pCallback;
  2962. 1924 .loc 1 984 34
  2963. 1925 0060 FB68 ldr r3, [r7, #12]
  2964. 1926 0062 7A68 ldr r2, [r7, #4]
  2965. 1927 0064 1A64 str r2, [r3, #64]
  2966. 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  2967. 1928 .loc 1 985 7
  2968. 1929 0066 14E0 b .L89
  2969. 1930 .L85:
  2970. 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2971. 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1CPLT_CB_ID:
  2972. 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = pCallback;
  2973. 1931 .loc 1 988 32
  2974. 1932 0068 FB68 ldr r3, [r7, #12]
  2975. 1933 006a 7A68 ldr r2, [r7, #4]
  2976. 1934 006c 5A64 str r2, [r3, #68]
  2977. 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  2978. 1935 .loc 1 989 7
  2979. 1936 006e 10E0 b .L89
  2980. 1937 .L84:
  2981. 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2982. 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1HALFCPLT_CB_ID:
  2983. 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = pCallback;
  2984. 1938 .loc 1 992 36
  2985. 1939 0070 FB68 ldr r3, [r7, #12]
  2986. 1940 0072 7A68 ldr r2, [r7, #4]
  2987. 1941 0074 9A64 str r2, [r3, #72]
  2988. 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  2989. 1942 .loc 1 993 7
  2990. 1943 0076 0CE0 b .L89
  2991. 1944 .L83:
  2992. 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  2993. 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID:
  2994. 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = pCallback;
  2995. 1945 .loc 1 996 31
  2996. 1946 0078 FB68 ldr r3, [r7, #12]
  2997. 1947 007a 7A68 ldr r2, [r7, #4]
  2998. 1948 007c DA64 str r2, [r3, #76]
  2999. 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3000. 1949 .loc 1 997 7
  3001. 1950 007e 08E0 b .L89
  3002. 1951 .L81:
  3003. 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3004. 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID:
  3005. 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = pCallback;
  3006. 1952 .loc 1 1000 31
  3007. 1953 0080 FB68 ldr r3, [r7, #12]
  3008. 1954 0082 7A68 ldr r2, [r7, #4]
  3009. 1955 0084 1A65 str r2, [r3, #80]
  3010. 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3011. 1956 .loc 1 1001 7
  3012. 1957 0086 04E0 b .L89
  3013. 1958 .L80:
  3014. 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3015. 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3016. 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
  3017. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 53
  3018. 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3019. 1959 .loc 1 1005 14
  3020. 1960 0088 0123 movs r3, #1
  3021. 1961 008a FB75 strb r3, [r7, #23]
  3022. 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3023. 1962 .loc 1 1006 7
  3024. 1963 008c 01E0 b .L89
  3025. 1964 .L79:
  3026. 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3027. 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3028. 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  3029. 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3030. 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
  3031. 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3032. 1965 .loc 1 1012 12
  3033. 1966 008e 0123 movs r3, #1
  3034. 1967 0090 FB75 strb r3, [r7, #23]
  3035. 1968 .L89:
  3036. 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3037. 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3038. 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */
  3039. 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  3040. 1969 .loc 1 1016 3
  3041. 1970 0092 FB68 ldr r3, [r7, #12]
  3042. 1971 0094 0022 movs r2, #0
  3043. 1972 0096 83F83420 strb r2, [r3, #52]
  3044. 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3045. 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
  3046. 1973 .loc 1 1018 10
  3047. 1974 009a FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  3048. 1975 .L78:
  3049. 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3050. 1976 .loc 1 1019 1
  3051. 1977 009c 1846 mov r0, r3
  3052. 1978 009e 1C37 adds r7, r7, #28
  3053. 1979 .LCFI44:
  3054. 1980 .cfi_def_cfa_offset 4
  3055. 1981 00a0 BD46 mov sp, r7
  3056. 1982 .LCFI45:
  3057. 1983 .cfi_def_cfa_register 13
  3058. 1984 @ sp needed
  3059. 1985 00a2 5DF8047B ldr r7, [sp], #4
  3060. 1986 .LCFI46:
  3061. 1987 .cfi_restore 7
  3062. 1988 .cfi_def_cfa_offset 0
  3063. 1989 00a6 7047 bx lr
  3064. 1990 .cfi_endproc
  3065. 1991 .LFE243:
  3066. 1993 .section .text.HAL_DMA_UnRegisterCallback,"ax",%progbits
  3067. 1994 .align 1
  3068. 1995 .global HAL_DMA_UnRegisterCallback
  3069. 1996 .syntax unified
  3070. 1997 .thumb
  3071. 1998 .thumb_func
  3072. 2000 HAL_DMA_UnRegisterCallback:
  3073. 2001 .LFB244:
  3074. 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3075. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 54
  3076. 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3077. 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief UnRegister callbacks
  3078. 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3079. 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  3080. 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CallbackID User Callback identifier
  3081. 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter.
  3082. 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  3083. 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3084. 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Cal
  3085. 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3086. 2002 .loc 1 1030 1
  3087. 2003 .cfi_startproc
  3088. 2004 @ args = 0, pretend = 0, frame = 16
  3089. 2005 @ frame_needed = 1, uses_anonymous_args = 0
  3090. 2006 @ link register save eliminated.
  3091. 2007 0000 80B4 push {r7}
  3092. 2008 .LCFI47:
  3093. 2009 .cfi_def_cfa_offset 4
  3094. 2010 .cfi_offset 7, -4
  3095. 2011 0002 85B0 sub sp, sp, #20
  3096. 2012 .LCFI48:
  3097. 2013 .cfi_def_cfa_offset 24
  3098. 2014 0004 00AF add r7, sp, #0
  3099. 2015 .LCFI49:
  3100. 2016 .cfi_def_cfa_register 7
  3101. 2017 0006 7860 str r0, [r7, #4]
  3102. 2018 0008 0B46 mov r3, r1
  3103. 2019 000a FB70 strb r3, [r7, #3]
  3104. 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
  3105. 2020 .loc 1 1031 21
  3106. 2021 000c 0023 movs r3, #0
  3107. 2022 000e FB73 strb r3, [r7, #15]
  3108. 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3109. 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
  3110. 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
  3111. 2023 .loc 1 1034 3
  3112. 2024 0010 7B68 ldr r3, [r7, #4]
  3113. 2025 0012 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2
  3114. 2026 0016 012B cmp r3, #1
  3115. 2027 0018 01D1 bne .L91
  3116. 2028 .loc 1 1034 3 is_stmt 0 discriminator 1
  3117. 2029 001a 0223 movs r3, #2
  3118. 2030 001c 53E0 b .L92
  3119. 2031 .L91:
  3120. 2032 .loc 1 1034 3 discriminator 2
  3121. 2033 001e 7B68 ldr r3, [r7, #4]
  3122. 2034 0020 0122 movs r2, #1
  3123. 2035 0022 83F83420 strb r2, [r3, #52]
  3124. 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3125. 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
  3126. 2036 .loc 1 1036 33 is_stmt 1 discriminator 2
  3127. 2037 0026 7B68 ldr r3, [r7, #4]
  3128. 2038 0028 93F83530 ldrb r3, [r3, #53]
  3129. 2039 002c DBB2 uxtb r3, r3
  3130. 2040 .loc 1 1036 5 discriminator 2
  3131. 2041 002e 012B cmp r3, #1
  3132. 2042 0030 42D1 bne .L93
  3133. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 55
  3134. 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3135. 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID)
  3136. 2043 .loc 1 1038 5
  3137. 2044 0032 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  3138. 2045 0034 062B cmp r3, #6
  3139. 2046 0036 3CD8 bhi .L94
  3140. 2047 0038 01A2 adr r2, .L96
  3141. 2048 003a 52F823F0 ldr pc, [r2, r3, lsl #2]
  3142. 2049 003e 00BF .p2align 2
  3143. 2050 .L96:
  3144. 2051 0040 5D000000 .word .L102+1
  3145. 2052 0044 65000000 .word .L101+1
  3146. 2053 0048 6D000000 .word .L100+1
  3147. 2054 004c 75000000 .word .L99+1
  3148. 2055 0050 7D000000 .word .L98+1
  3149. 2056 0054 85000000 .word .L97+1
  3150. 2057 0058 8D000000 .word .L95+1
  3151. 2058 .p2align 1
  3152. 2059 .L102:
  3153. 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3154. 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID:
  3155. 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
  3156. 2060 .loc 1 1041 30
  3157. 2061 005c 7B68 ldr r3, [r7, #4]
  3158. 2062 005e 0022 movs r2, #0
  3159. 2063 0060 DA63 str r2, [r3, #60]
  3160. 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3161. 2064 .loc 1 1042 7
  3162. 2065 0062 2BE0 b .L104
  3163. 2066 .L101:
  3164. 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3165. 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID:
  3166. 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
  3167. 2067 .loc 1 1045 34
  3168. 2068 0064 7B68 ldr r3, [r7, #4]
  3169. 2069 0066 0022 movs r2, #0
  3170. 2070 0068 1A64 str r2, [r3, #64]
  3171. 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3172. 2071 .loc 1 1046 7
  3173. 2072 006a 27E0 b .L104
  3174. 2073 .L100:
  3175. 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3176. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1CPLT_CB_ID:
  3177. 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
  3178. 2074 .loc 1 1049 32
  3179. 2075 006c 7B68 ldr r3, [r7, #4]
  3180. 2076 006e 0022 movs r2, #0
  3181. 2077 0070 5A64 str r2, [r3, #68]
  3182. 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3183. 2078 .loc 1 1050 7
  3184. 2079 0072 23E0 b .L104
  3185. 2080 .L99:
  3186. 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3187. 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1HALFCPLT_CB_ID:
  3188. 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
  3189. 2081 .loc 1 1053 36
  3190. 2082 0074 7B68 ldr r3, [r7, #4]
  3191. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 56
  3192. 2083 0076 0022 movs r2, #0
  3193. 2084 0078 9A64 str r2, [r3, #72]
  3194. 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3195. 2085 .loc 1 1054 7
  3196. 2086 007a 1FE0 b .L104
  3197. 2087 .L98:
  3198. 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3199. 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID:
  3200. 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
  3201. 2088 .loc 1 1057 31
  3202. 2089 007c 7B68 ldr r3, [r7, #4]
  3203. 2090 007e 0022 movs r2, #0
  3204. 2091 0080 DA64 str r2, [r3, #76]
  3205. 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3206. 2092 .loc 1 1058 7
  3207. 2093 0082 1BE0 b .L104
  3208. 2094 .L97:
  3209. 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3210. 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID:
  3211. 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
  3212. 2095 .loc 1 1061 31
  3213. 2096 0084 7B68 ldr r3, [r7, #4]
  3214. 2097 0086 0022 movs r2, #0
  3215. 2098 0088 1A65 str r2, [r3, #80]
  3216. 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3217. 2099 .loc 1 1062 7
  3218. 2100 008a 17E0 b .L104
  3219. 2101 .L95:
  3220. 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3221. 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ALL_CB_ID:
  3222. 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
  3223. 2102 .loc 1 1065 30
  3224. 2103 008c 7B68 ldr r3, [r7, #4]
  3225. 2104 008e 0022 movs r2, #0
  3226. 2105 0090 DA63 str r2, [r3, #60]
  3227. 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
  3228. 2106 .loc 1 1066 34
  3229. 2107 0092 7B68 ldr r3, [r7, #4]
  3230. 2108 0094 0022 movs r2, #0
  3231. 2109 0096 1A64 str r2, [r3, #64]
  3232. 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
  3233. 2110 .loc 1 1067 32
  3234. 2111 0098 7B68 ldr r3, [r7, #4]
  3235. 2112 009a 0022 movs r2, #0
  3236. 2113 009c 5A64 str r2, [r3, #68]
  3237. 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
  3238. 2114 .loc 1 1068 36
  3239. 2115 009e 7B68 ldr r3, [r7, #4]
  3240. 2116 00a0 0022 movs r2, #0
  3241. 2117 00a2 9A64 str r2, [r3, #72]
  3242. 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
  3243. 2118 .loc 1 1069 31
  3244. 2119 00a4 7B68 ldr r3, [r7, #4]
  3245. 2120 00a6 0022 movs r2, #0
  3246. 2121 00a8 DA64 str r2, [r3, #76]
  3247. 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
  3248. 2122 .loc 1 1070 31
  3249. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 57
  3250. 2123 00aa 7B68 ldr r3, [r7, #4]
  3251. 2124 00ac 0022 movs r2, #0
  3252. 2125 00ae 1A65 str r2, [r3, #80]
  3253. 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3254. 2126 .loc 1 1071 7
  3255. 2127 00b0 04E0 b .L104
  3256. 2128 .L94:
  3257. 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3258. 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3259. 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3260. 2129 .loc 1 1074 14
  3261. 2130 00b2 0123 movs r3, #1
  3262. 2131 00b4 FB73 strb r3, [r7, #15]
  3263. 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3264. 2132 .loc 1 1075 7
  3265. 2133 00b6 01E0 b .L104
  3266. 2134 .L93:
  3267. 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3268. 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3269. 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  3270. 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3271. 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3272. 2135 .loc 1 1080 12
  3273. 2136 00b8 0123 movs r3, #1
  3274. 2137 00ba FB73 strb r3, [r7, #15]
  3275. 2138 .L104:
  3276. 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3277. 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3278. 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */
  3279. 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
  3280. 2139 .loc 1 1084 3
  3281. 2140 00bc 7B68 ldr r3, [r7, #4]
  3282. 2141 00be 0022 movs r2, #0
  3283. 2142 00c0 83F83420 strb r2, [r3, #52]
  3284. 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3285. 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
  3286. 2143 .loc 1 1086 10
  3287. 2144 00c4 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  3288. 2145 .L92:
  3289. 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3290. 2146 .loc 1 1087 1
  3291. 2147 00c6 1846 mov r0, r3
  3292. 2148 00c8 1437 adds r7, r7, #20
  3293. 2149 .LCFI50:
  3294. 2150 .cfi_def_cfa_offset 4
  3295. 2151 00ca BD46 mov sp, r7
  3296. 2152 .LCFI51:
  3297. 2153 .cfi_def_cfa_register 13
  3298. 2154 @ sp needed
  3299. 2155 00cc 5DF8047B ldr r7, [sp], #4
  3300. 2156 .LCFI52:
  3301. 2157 .cfi_restore 7
  3302. 2158 .cfi_def_cfa_offset 0
  3303. 2159 00d0 7047 bx lr
  3304. 2160 .cfi_endproc
  3305. 2161 .LFE244:
  3306. 2163 00d2 00BF .section .text.HAL_DMA_GetState,"ax",%progbits
  3307. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 58
  3308. 2164 .align 1
  3309. 2165 .global HAL_DMA_GetState
  3310. 2166 .syntax unified
  3311. 2167 .thumb
  3312. 2168 .thumb_func
  3313. 2170 HAL_DMA_GetState:
  3314. 2171 .LFB245:
  3315. 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3316. 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3317. 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
  3318. 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3319. 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3320. 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group3
  3321. 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
  3322. 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
  3323. 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
  3324. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### State and Errors functions #####
  3325. 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
  3326. 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
  3327. 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** This subsection provides functions allowing to
  3328. 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Check the DMA state
  3329. 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Get error code
  3330. 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3331. 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
  3332. 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  3333. 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3334. 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3335. 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3336. 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Returns the DMA state.
  3337. 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3338. 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  3339. 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL state
  3340. 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3341. 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma)
  3342. 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3343. 2172 .loc 1 1115 1
  3344. 2173 .cfi_startproc
  3345. 2174 @ args = 0, pretend = 0, frame = 8
  3346. 2175 @ frame_needed = 1, uses_anonymous_args = 0
  3347. 2176 @ link register save eliminated.
  3348. 2177 0000 80B4 push {r7}
  3349. 2178 .LCFI53:
  3350. 2179 .cfi_def_cfa_offset 4
  3351. 2180 .cfi_offset 7, -4
  3352. 2181 0002 83B0 sub sp, sp, #12
  3353. 2182 .LCFI54:
  3354. 2183 .cfi_def_cfa_offset 16
  3355. 2184 0004 00AF add r7, sp, #0
  3356. 2185 .LCFI55:
  3357. 2186 .cfi_def_cfa_register 7
  3358. 2187 0006 7860 str r0, [r7, #4]
  3359. 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->State;
  3360. 2188 .loc 1 1116 14
  3361. 2189 0008 7B68 ldr r3, [r7, #4]
  3362. 2190 000a 93F83530 ldrb r3, [r3, #53]
  3363. 2191 000e DBB2 uxtb r3, r3
  3364. 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3365. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 59
  3366. 2192 .loc 1 1117 1
  3367. 2193 0010 1846 mov r0, r3
  3368. 2194 0012 0C37 adds r7, r7, #12
  3369. 2195 .LCFI56:
  3370. 2196 .cfi_def_cfa_offset 4
  3371. 2197 0014 BD46 mov sp, r7
  3372. 2198 .LCFI57:
  3373. 2199 .cfi_def_cfa_register 13
  3374. 2200 @ sp needed
  3375. 2201 0016 5DF8047B ldr r7, [sp], #4
  3376. 2202 .LCFI58:
  3377. 2203 .cfi_restore 7
  3378. 2204 .cfi_def_cfa_offset 0
  3379. 2205 001a 7047 bx lr
  3380. 2206 .cfi_endproc
  3381. 2207 .LFE245:
  3382. 2209 .section .text.HAL_DMA_GetError,"ax",%progbits
  3383. 2210 .align 1
  3384. 2211 .global HAL_DMA_GetError
  3385. 2212 .syntax unified
  3386. 2213 .thumb
  3387. 2214 .thumb_func
  3388. 2216 HAL_DMA_GetError:
  3389. 2217 .LFB246:
  3390. 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3391. 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3392. 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Return the DMA error code
  3393. 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3394. 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  3395. 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval DMA Error Code
  3396. 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3397. 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma)
  3398. 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3399. 2218 .loc 1 1126 1
  3400. 2219 .cfi_startproc
  3401. 2220 @ args = 0, pretend = 0, frame = 8
  3402. 2221 @ frame_needed = 1, uses_anonymous_args = 0
  3403. 2222 @ link register save eliminated.
  3404. 2223 0000 80B4 push {r7}
  3405. 2224 .LCFI59:
  3406. 2225 .cfi_def_cfa_offset 4
  3407. 2226 .cfi_offset 7, -4
  3408. 2227 0002 83B0 sub sp, sp, #12
  3409. 2228 .LCFI60:
  3410. 2229 .cfi_def_cfa_offset 16
  3411. 2230 0004 00AF add r7, sp, #0
  3412. 2231 .LCFI61:
  3413. 2232 .cfi_def_cfa_register 7
  3414. 2233 0006 7860 str r0, [r7, #4]
  3415. 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->ErrorCode;
  3416. 2234 .loc 1 1127 14
  3417. 2235 0008 7B68 ldr r3, [r7, #4]
  3418. 2236 000a 5B6D ldr r3, [r3, #84]
  3419. 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3420. 2237 .loc 1 1128 1
  3421. 2238 000c 1846 mov r0, r3
  3422. 2239 000e 0C37 adds r7, r7, #12
  3423. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 60
  3424. 2240 .LCFI62:
  3425. 2241 .cfi_def_cfa_offset 4
  3426. 2242 0010 BD46 mov sp, r7
  3427. 2243 .LCFI63:
  3428. 2244 .cfi_def_cfa_register 13
  3429. 2245 @ sp needed
  3430. 2246 0012 5DF8047B ldr r7, [sp], #4
  3431. 2247 .LCFI64:
  3432. 2248 .cfi_restore 7
  3433. 2249 .cfi_def_cfa_offset 0
  3434. 2250 0016 7047 bx lr
  3435. 2251 .cfi_endproc
  3436. 2252 .LFE246:
  3437. 2254 .section .text.DMA_SetConfig,"ax",%progbits
  3438. 2255 .align 1
  3439. 2256 .syntax unified
  3440. 2257 .thumb
  3441. 2258 .thumb_func
  3442. 2260 DMA_SetConfig:
  3443. 2261 .LFB247:
  3444. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3445. 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3446. 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
  3447. 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3448. 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3449. 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3450. 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
  3451. 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3452. 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3453. 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions
  3454. 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
  3455. 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3456. 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3457. 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3458. 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Sets the DMA Transfer parameter.
  3459. 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3460. 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  3461. 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
  3462. 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
  3463. 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
  3464. 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  3465. 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3466. 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32
  3467. 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3468. 2262 .loc 1 1152 1
  3469. 2263 .cfi_startproc
  3470. 2264 @ args = 0, pretend = 0, frame = 16
  3471. 2265 @ frame_needed = 1, uses_anonymous_args = 0
  3472. 2266 @ link register save eliminated.
  3473. 2267 0000 80B4 push {r7}
  3474. 2268 .LCFI65:
  3475. 2269 .cfi_def_cfa_offset 4
  3476. 2270 .cfi_offset 7, -4
  3477. 2271 0002 85B0 sub sp, sp, #20
  3478. 2272 .LCFI66:
  3479. 2273 .cfi_def_cfa_offset 24
  3480. 2274 0004 00AF add r7, sp, #0
  3481. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 61
  3482. 2275 .LCFI67:
  3483. 2276 .cfi_def_cfa_register 7
  3484. 2277 0006 F860 str r0, [r7, #12]
  3485. 2278 0008 B960 str r1, [r7, #8]
  3486. 2279 000a 7A60 str r2, [r7, #4]
  3487. 2280 000c 3B60 str r3, [r7]
  3488. 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear DBM bit */
  3489. 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM);
  3490. 2281 .loc 1 1154 7
  3491. 2282 000e FB68 ldr r3, [r7, #12]
  3492. 2283 0010 1B68 ldr r3, [r3]
  3493. 2284 .loc 1 1154 22
  3494. 2285 0012 1A68 ldr r2, [r3]
  3495. 2286 .loc 1 1154 7
  3496. 2287 0014 FB68 ldr r3, [r7, #12]
  3497. 2288 0016 1B68 ldr r3, [r3]
  3498. 2289 .loc 1 1154 22
  3499. 2290 0018 22F48022 bic r2, r2, #262144
  3500. 2291 001c 1A60 str r2, [r3]
  3501. 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3502. 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream data length */
  3503. 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->NDTR = DataLength;
  3504. 2292 .loc 1 1157 7
  3505. 2293 001e FB68 ldr r3, [r7, #12]
  3506. 2294 0020 1B68 ldr r3, [r3]
  3507. 2295 .loc 1 1157 24
  3508. 2296 0022 3A68 ldr r2, [r7]
  3509. 2297 0024 5A60 str r2, [r3, #4]
  3510. 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3511. 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory to Peripheral */
  3512. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH)
  3513. 2298 .loc 1 1160 17
  3514. 2299 0026 FB68 ldr r3, [r7, #12]
  3515. 2300 0028 9B68 ldr r3, [r3, #8]
  3516. 2301 .loc 1 1160 5
  3517. 2302 002a 402B cmp r3, #64
  3518. 2303 002c 08D1 bne .L110
  3519. 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3520. 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream destination address */
  3521. 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = DstAddress;
  3522. 2304 .loc 1 1163 9
  3523. 2305 002e FB68 ldr r3, [r7, #12]
  3524. 2306 0030 1B68 ldr r3, [r3]
  3525. 2307 .loc 1 1163 25
  3526. 2308 0032 7A68 ldr r2, [r7, #4]
  3527. 2309 0034 9A60 str r2, [r3, #8]
  3528. 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3529. 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream source address */
  3530. 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = SrcAddress;
  3531. 2310 .loc 1 1166 9
  3532. 2311 0036 FB68 ldr r3, [r7, #12]
  3533. 2312 0038 1B68 ldr r3, [r3]
  3534. 2313 .loc 1 1166 26
  3535. 2314 003a BA68 ldr r2, [r7, #8]
  3536. 2315 003c DA60 str r2, [r3, #12]
  3537. 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3538. 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Peripheral to Memory */
  3539. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 62
  3540. 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  3541. 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3542. 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream source address */
  3543. 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = SrcAddress;
  3544. 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3545. 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream destination address */
  3546. 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = DstAddress;
  3547. 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3548. 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3549. 2316 .loc 1 1177 1
  3550. 2317 003e 07E0 b .L112
  3551. 2318 .L110:
  3552. 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3553. 2319 .loc 1 1172 9
  3554. 2320 0040 FB68 ldr r3, [r7, #12]
  3555. 2321 0042 1B68 ldr r3, [r3]
  3556. 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3557. 2322 .loc 1 1172 25
  3558. 2323 0044 BA68 ldr r2, [r7, #8]
  3559. 2324 0046 9A60 str r2, [r3, #8]
  3560. 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3561. 2325 .loc 1 1175 9
  3562. 2326 0048 FB68 ldr r3, [r7, #12]
  3563. 2327 004a 1B68 ldr r3, [r3]
  3564. 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3565. 2328 .loc 1 1175 26
  3566. 2329 004c 7A68 ldr r2, [r7, #4]
  3567. 2330 004e DA60 str r2, [r3, #12]
  3568. 2331 .L112:
  3569. 2332 .loc 1 1177 1
  3570. 2333 0050 00BF nop
  3571. 2334 0052 1437 adds r7, r7, #20
  3572. 2335 .LCFI68:
  3573. 2336 .cfi_def_cfa_offset 4
  3574. 2337 0054 BD46 mov sp, r7
  3575. 2338 .LCFI69:
  3576. 2339 .cfi_def_cfa_register 13
  3577. 2340 @ sp needed
  3578. 2341 0056 5DF8047B ldr r7, [sp], #4
  3579. 2342 .LCFI70:
  3580. 2343 .cfi_restore 7
  3581. 2344 .cfi_def_cfa_offset 0
  3582. 2345 005a 7047 bx lr
  3583. 2346 .cfi_endproc
  3584. 2347 .LFE247:
  3585. 2349 .section .text.DMA_CalcBaseAndBitshift,"ax",%progbits
  3586. 2350 .align 1
  3587. 2351 .syntax unified
  3588. 2352 .thumb
  3589. 2353 .thumb_func
  3590. 2355 DMA_CalcBaseAndBitshift:
  3591. 2356 .LFB248:
  3592. 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3593. 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3594. 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Returns the DMA Stream base address depending on stream number
  3595. 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3596. 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  3597. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 63
  3598. 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval Stream base address
  3599. 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3600. 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma)
  3601. 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3602. 2357 .loc 1 1186 1
  3603. 2358 .cfi_startproc
  3604. 2359 @ args = 0, pretend = 0, frame = 16
  3605. 2360 @ frame_needed = 1, uses_anonymous_args = 0
  3606. 2361 @ link register save eliminated.
  3607. 2362 0000 80B4 push {r7}
  3608. 2363 .LCFI71:
  3609. 2364 .cfi_def_cfa_offset 4
  3610. 2365 .cfi_offset 7, -4
  3611. 2366 0002 85B0 sub sp, sp, #20
  3612. 2367 .LCFI72:
  3613. 2368 .cfi_def_cfa_offset 24
  3614. 2369 0004 00AF add r7, sp, #0
  3615. 2370 .LCFI73:
  3616. 2371 .cfi_def_cfa_register 7
  3617. 2372 0006 7860 str r0, [r7, #4]
  3618. 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U;
  3619. 2373 .loc 1 1187 44
  3620. 2374 0008 7B68 ldr r3, [r7, #4]
  3621. 2375 000a 1B68 ldr r3, [r3]
  3622. 2376 .loc 1 1187 55
  3623. 2377 000c DBB2 uxtb r3, r3
  3624. 2378 .loc 1 1187 64
  3625. 2379 000e 103B subs r3, r3, #16
  3626. 2380 .loc 1 1187 12
  3627. 2381 0010 144A ldr r2, .L117
  3628. 2382 0012 A2FB0323 umull r2, r3, r2, r3
  3629. 2383 0016 1B09 lsrs r3, r3, #4
  3630. 2384 0018 FB60 str r3, [r7, #12]
  3631. 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3632. 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* lookup table for necessary bitshift of flags within status registers */
  3633. 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static const uint8_t flagBitshiftOffset[8U] = {0U, 6U, 16U, 22U, 0U, 6U, 16U, 22U};
  3634. 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamIndex = flagBitshiftOffset[stream_number];
  3635. 2385 .loc 1 1191 41
  3636. 2386 001a 134A ldr r2, .L117+4
  3637. 2387 001c FB68 ldr r3, [r7, #12]
  3638. 2388 001e 1344 add r3, r3, r2
  3639. 2389 0020 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3640. 2390 0022 1A46 mov r2, r3
  3641. 2391 .loc 1 1191 21
  3642. 2392 0024 7B68 ldr r3, [r7, #4]
  3643. 2393 0026 DA65 str r2, [r3, #92]
  3644. 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3645. 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (stream_number > 3U)
  3646. 2394 .loc 1 1193 6
  3647. 2395 0028 FB68 ldr r3, [r7, #12]
  3648. 2396 002a 032B cmp r3, #3
  3649. 2397 002c 09D9 bls .L114
  3650. 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3651. 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* return pointer to HISR and HIFCR */
  3652. 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U);
  3653. 2398 .loc 1 1196 47
  3654. 2399 002e 7B68 ldr r3, [r7, #4]
  3655. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 64
  3656. 2400 0030 1B68 ldr r3, [r3]
  3657. 2401 .loc 1 1196 58
  3658. 2402 0032 23F47F73 bic r3, r3, #1020
  3659. 2403 0036 23F00303 bic r3, r3, #3
  3660. 2404 .loc 1 1196 81
  3661. 2405 003a 1A1D adds r2, r3, #4
  3662. 2406 .loc 1 1196 29
  3663. 2407 003c 7B68 ldr r3, [r7, #4]
  3664. 2408 003e 9A65 str r2, [r3, #88]
  3665. 2409 0040 07E0 b .L115
  3666. 2410 .L114:
  3667. 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3668. 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  3669. 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3670. 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* return pointer to LISR and LIFCR */
  3671. 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU));
  3672. 2411 .loc 1 1201 46
  3673. 2412 0042 7B68 ldr r3, [r7, #4]
  3674. 2413 0044 1B68 ldr r3, [r3]
  3675. 2414 .loc 1 1201 57
  3676. 2415 0046 23F47F73 bic r3, r3, #1020
  3677. 2416 004a 23F00303 bic r3, r3, #3
  3678. 2417 .loc 1 1201 29
  3679. 2418 004e 7A68 ldr r2, [r7, #4]
  3680. 2419 0050 9365 str r3, [r2, #88]
  3681. 2420 .L115:
  3682. 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3683. 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3684. 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->StreamBaseAddress;
  3685. 2421 .loc 1 1204 14
  3686. 2422 0052 7B68 ldr r3, [r7, #4]
  3687. 2423 0054 9B6D ldr r3, [r3, #88]
  3688. 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3689. 2424 .loc 1 1205 1
  3690. 2425 0056 1846 mov r0, r3
  3691. 2426 0058 1437 adds r7, r7, #20
  3692. 2427 .LCFI74:
  3693. 2428 .cfi_def_cfa_offset 4
  3694. 2429 005a BD46 mov sp, r7
  3695. 2430 .LCFI75:
  3696. 2431 .cfi_def_cfa_register 13
  3697. 2432 @ sp needed
  3698. 2433 005c 5DF8047B ldr r7, [sp], #4
  3699. 2434 .LCFI76:
  3700. 2435 .cfi_restore 7
  3701. 2436 .cfi_def_cfa_offset 0
  3702. 2437 0060 7047 bx lr
  3703. 2438 .L118:
  3704. 2439 0062 00BF .align 2
  3705. 2440 .L117:
  3706. 2441 0064 ABAAAAAA .word -1431655765
  3707. 2442 0068 00000000 .word flagBitshiftOffset.0
  3708. 2443 .cfi_endproc
  3709. 2444 .LFE248:
  3710. 2446 .section .text.DMA_CheckFifoParam,"ax",%progbits
  3711. 2447 .align 1
  3712. 2448 .syntax unified
  3713. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 65
  3714. 2449 .thumb
  3715. 2450 .thumb_func
  3716. 2452 DMA_CheckFifoParam:
  3717. 2453 .LFB249:
  3718. 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3719. 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
  3720. 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Check compatibility between FIFO threshold level and size of the memory burst
  3721. 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3722. 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
  3723. 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
  3724. 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
  3725. 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma)
  3726. 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3727. 2454 .loc 1 1214 1
  3728. 2455 .cfi_startproc
  3729. 2456 @ args = 0, pretend = 0, frame = 16
  3730. 2457 @ frame_needed = 1, uses_anonymous_args = 0
  3731. 2458 @ link register save eliminated.
  3732. 2459 0000 80B4 push {r7}
  3733. 2460 .LCFI77:
  3734. 2461 .cfi_def_cfa_offset 4
  3735. 2462 .cfi_offset 7, -4
  3736. 2463 0002 85B0 sub sp, sp, #20
  3737. 2464 .LCFI78:
  3738. 2465 .cfi_def_cfa_offset 24
  3739. 2466 0004 00AF add r7, sp, #0
  3740. 2467 .LCFI79:
  3741. 2468 .cfi_def_cfa_register 7
  3742. 2469 0006 7860 str r0, [r7, #4]
  3743. 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
  3744. 2470 .loc 1 1215 21
  3745. 2471 0008 0023 movs r3, #0
  3746. 2472 000a FB73 strb r3, [r7, #15]
  3747. 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
  3748. 2473 .loc 1 1216 12
  3749. 2474 000c 7B68 ldr r3, [r7, #4]
  3750. 2475 000e 9B6A ldr r3, [r3, #40]
  3751. 2476 0010 BB60 str r3, [r7, #8]
  3752. 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3753. 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Byte */
  3754. 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE)
  3755. 2477 .loc 1 1219 16
  3756. 2478 0012 7B68 ldr r3, [r7, #4]
  3757. 2479 0014 9B69 ldr r3, [r3, #24]
  3758. 2480 .loc 1 1219 5
  3759. 2481 0016 002B cmp r3, #0
  3760. 2482 0018 1FD1 bne .L120
  3761. 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3762. 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp)
  3763. 2483 .loc 1 1221 5
  3764. 2484 001a BB68 ldr r3, [r7, #8]
  3765. 2485 001c 032B cmp r3, #3
  3766. 2486 001e 56D8 bhi .L144
  3767. 2487 0020 01A2 adr r2, .L123
  3768. 2488 0022 52F823F0 ldr pc, [r2, r3, lsl #2]
  3769. 2489 0026 00BF .p2align 2
  3770. 2490 .L123:
  3771. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 66
  3772. 2491 0028 39000000 .word .L124+1
  3773. 2492 002c 4B000000 .word .L125+1
  3774. 2493 0030 39000000 .word .L124+1
  3775. 2494 0034 CF000000 .word .L144+1
  3776. 2495 .p2align 1
  3777. 2496 .L124:
  3778. 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3779. 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL:
  3780. 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
  3781. 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
  3782. 2497 .loc 1 1225 22
  3783. 2498 0038 7B68 ldr r3, [r7, #4]
  3784. 2499 003a DB6A ldr r3, [r3, #44]
  3785. 2500 .loc 1 1225 32
  3786. 2501 003c 03F08073 and r3, r3, #16777216
  3787. 2502 .loc 1 1225 10
  3788. 2503 0040 002B cmp r3, #0
  3789. 2504 0042 46D0 beq .L145
  3790. 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3791. 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3792. 2505 .loc 1 1227 16
  3793. 2506 0044 0123 movs r3, #1
  3794. 2507 0046 FB73 strb r3, [r7, #15]
  3795. 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3796. 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3797. 2508 .loc 1 1229 7
  3798. 2509 0048 43E0 b .L145
  3799. 2510 .L125:
  3800. 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL:
  3801. 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst == DMA_MBURST_INC16)
  3802. 2511 .loc 1 1231 21
  3803. 2512 004a 7B68 ldr r3, [r7, #4]
  3804. 2513 004c DB6A ldr r3, [r3, #44]
  3805. 2514 .loc 1 1231 10
  3806. 2515 004e B3F1C07F cmp r3, #25165824
  3807. 2516 0052 40D1 bne .L146
  3808. 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3809. 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3810. 2517 .loc 1 1233 16
  3811. 2518 0054 0123 movs r3, #1
  3812. 2519 0056 FB73 strb r3, [r7, #15]
  3813. 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3814. 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3815. 2520 .loc 1 1235 7
  3816. 2521 0058 3DE0 b .L146
  3817. 2522 .L120:
  3818. 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
  3819. 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3820. 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3821. 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3822. 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3823. 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3824. 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3825. 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Half-Word */
  3826. 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
  3827. 2523 .loc 1 1244 22
  3828. 2524 005a 7B68 ldr r3, [r7, #4]
  3829. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 67
  3830. 2525 005c 9B69 ldr r3, [r3, #24]
  3831. 2526 .loc 1 1244 11
  3832. 2527 005e B3F5005F cmp r3, #8192
  3833. 2528 0062 21D1 bne .L130
  3834. 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3835. 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp)
  3836. 2529 .loc 1 1246 5
  3837. 2530 0064 BB68 ldr r3, [r7, #8]
  3838. 2531 0066 032B cmp r3, #3
  3839. 2532 0068 37D8 bhi .L147
  3840. 2533 006a 01A2 adr r2, .L133
  3841. 2534 006c 52F823F0 ldr pc, [r2, r3, lsl #2]
  3842. 2535 .p2align 2
  3843. 2536 .L133:
  3844. 2537 0070 81000000 .word .L134+1
  3845. 2538 0074 87000000 .word .L135+1
  3846. 2539 0078 81000000 .word .L134+1
  3847. 2540 007c 99000000 .word .L132+1
  3848. 2541 .p2align 1
  3849. 2542 .L134:
  3850. 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3851. 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL:
  3852. 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
  3853. 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3854. 2543 .loc 1 1250 14
  3855. 2544 0080 0123 movs r3, #1
  3856. 2545 0082 FB73 strb r3, [r7, #15]
  3857. 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3858. 2546 .loc 1 1251 7
  3859. 2547 0084 30E0 b .L129
  3860. 2548 .L135:
  3861. 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL:
  3862. 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
  3863. 2549 .loc 1 1253 22
  3864. 2550 0086 7B68 ldr r3, [r7, #4]
  3865. 2551 0088 DB6A ldr r3, [r3, #44]
  3866. 2552 .loc 1 1253 32
  3867. 2553 008a 03F08073 and r3, r3, #16777216
  3868. 2554 .loc 1 1253 10
  3869. 2555 008e 002B cmp r3, #0
  3870. 2556 0090 25D0 beq .L148
  3871. 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3872. 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3873. 2557 .loc 1 1255 16
  3874. 2558 0092 0123 movs r3, #1
  3875. 2559 0094 FB73 strb r3, [r7, #15]
  3876. 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3877. 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3878. 2560 .loc 1 1257 7
  3879. 2561 0096 22E0 b .L148
  3880. 2562 .L132:
  3881. 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
  3882. 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst == DMA_MBURST_INC16)
  3883. 2563 .loc 1 1259 21
  3884. 2564 0098 7B68 ldr r3, [r7, #4]
  3885. 2565 009a DB6A ldr r3, [r3, #44]
  3886. 2566 .loc 1 1259 10
  3887. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 68
  3888. 2567 009c B3F1C07F cmp r3, #25165824
  3889. 2568 00a0 1FD1 bne .L149
  3890. 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3891. 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3892. 2569 .loc 1 1261 16
  3893. 2570 00a2 0123 movs r3, #1
  3894. 2571 00a4 FB73 strb r3, [r7, #15]
  3895. 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3896. 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3897. 2572 .loc 1 1263 7
  3898. 2573 00a6 1CE0 b .L149
  3899. 2574 .L130:
  3900. 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3901. 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3902. 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3903. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3904. 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3905. 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Word */
  3906. 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
  3907. 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3908. 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp)
  3909. 2575 .loc 1 1272 5
  3910. 2576 00a8 BB68 ldr r3, [r7, #8]
  3911. 2577 00aa 022B cmp r3, #2
  3912. 2578 00ac 03D9 bls .L139
  3913. 2579 00ae BB68 ldr r3, [r7, #8]
  3914. 2580 00b0 032B cmp r3, #3
  3915. 2581 00b2 03D0 beq .L140
  3916. 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3917. 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL:
  3918. 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL:
  3919. 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
  3920. 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3921. 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3922. 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
  3923. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
  3924. 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3925. 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
  3926. 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3927. 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3928. 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3929. 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3930. 2582 .loc 1 1286 7
  3931. 2583 00b4 18E0 b .L129
  3932. 2584 .L139:
  3933. 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
  3934. 2585 .loc 1 1277 14
  3935. 2586 00b6 0123 movs r3, #1
  3936. 2587 00b8 FB73 strb r3, [r7, #15]
  3937. 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
  3938. 2588 .loc 1 1278 7
  3939. 2589 00ba 15E0 b .L129
  3940. 2590 .L140:
  3941. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3942. 2591 .loc 1 1280 22
  3943. 2592 00bc 7B68 ldr r3, [r7, #4]
  3944. 2593 00be DB6A ldr r3, [r3, #44]
  3945. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 69
  3946. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3947. 2594 .loc 1 1280 32
  3948. 2595 00c0 03F08073 and r3, r3, #16777216
  3949. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
  3950. 2596 .loc 1 1280 10
  3951. 2597 00c4 002B cmp r3, #0
  3952. 2598 00c6 0ED0 beq .L150
  3953. 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3954. 2599 .loc 1 1282 16
  3955. 2600 00c8 0123 movs r3, #1
  3956. 2601 00ca FB73 strb r3, [r7, #15]
  3957. 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3958. 2602 .loc 1 1284 7
  3959. 2603 00cc 0BE0 b .L150
  3960. 2604 .L144:
  3961. 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3962. 2605 .loc 1 1239 7
  3963. 2606 00ce 00BF nop
  3964. 2607 00d0 0AE0 b .L129
  3965. 2608 .L145:
  3966. 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL:
  3967. 2609 .loc 1 1229 7
  3968. 2610 00d2 00BF nop
  3969. 2611 00d4 08E0 b .L129
  3970. 2612 .L146:
  3971. 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
  3972. 2613 .loc 1 1235 7
  3973. 2614 00d6 00BF nop
  3974. 2615 00d8 06E0 b .L129
  3975. 2616 .L147:
  3976. 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3977. 2617 .loc 1 1265 7
  3978. 2618 00da 00BF nop
  3979. 2619 00dc 04E0 b .L129
  3980. 2620 .L148:
  3981. 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
  3982. 2621 .loc 1 1257 7
  3983. 2622 00de 00BF nop
  3984. 2623 00e0 02E0 b .L129
  3985. 2624 .L149:
  3986. 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3987. 2625 .loc 1 1263 7
  3988. 2626 00e2 00BF nop
  3989. 2627 00e4 00E0 b .L129
  3990. 2628 .L150:
  3991. 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
  3992. 2629 .loc 1 1284 7
  3993. 2630 00e6 00BF nop
  3994. 2631 .L129:
  3995. 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3996. 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  3997. 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
  3998. 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
  3999. 2632 .loc 1 1290 10
  4000. 2633 00e8 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  4001. 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
  4002. 2634 .loc 1 1291 1
  4003. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 70
  4004. 2635 00ea 1846 mov r0, r3
  4005. 2636 00ec 1437 adds r7, r7, #20
  4006. 2637 .LCFI80:
  4007. 2638 .cfi_def_cfa_offset 4
  4008. 2639 00ee BD46 mov sp, r7
  4009. 2640 .LCFI81:
  4010. 2641 .cfi_def_cfa_register 13
  4011. 2642 @ sp needed
  4012. 2643 00f0 5DF8047B ldr r7, [sp], #4
  4013. 2644 .LCFI82:
  4014. 2645 .cfi_restore 7
  4015. 2646 .cfi_def_cfa_offset 0
  4016. 2647 00f4 7047 bx lr
  4017. 2648 .cfi_endproc
  4018. 2649 .LFE249:
  4019. 2651 00f6 00BF .section .rodata.flagBitshiftOffset.0,"a"
  4020. 2652 .align 2
  4021. 2655 flagBitshiftOffset.0:
  4022. 2656 0000 00061016 .ascii "\000\006\020\026\000\006\020\026"
  4023. 2656 00061016
  4024. 2657 .text
  4025. 2658 .Letext0:
  4026. 2659 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  4027. 2660 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  4028. 2661 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h"
  4029. 2662 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
  4030. 2663 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  4031. 2664 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
  4032. 2665 .file 8 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
  4033. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 71
  4034. DEFINED SYMBOLS
  4035. *ABS*:00000000 stm32f4xx_hal_dma.c
  4036. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:20 .text.HAL_DMA_Init:00000000 $t
  4037. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:26 .text.HAL_DMA_Init:00000000 HAL_DMA_Init
  4038. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2452 .text.DMA_CheckFifoParam:00000000 DMA_CheckFifoParam
  4039. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2355 .text.DMA_CalcBaseAndBitshift:00000000 DMA_CalcBaseAndBitshift
  4040. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:287 .text.HAL_DMA_Init:00000158 $d
  4041. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:292 .text.HAL_DMA_DeInit:00000000 $t
  4042. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:298 .text.HAL_DMA_DeInit:00000000 HAL_DMA_DeInit
  4043. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:447 .text.HAL_DMA_Start:00000000 $t
  4044. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:453 .text.HAL_DMA_Start:00000000 HAL_DMA_Start
  4045. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2260 .text.DMA_SetConfig:00000000 DMA_SetConfig
  4046. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:546 .text.HAL_DMA_Start_IT:00000000 $t
  4047. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:552 .text.HAL_DMA_Start_IT:00000000 HAL_DMA_Start_IT
  4048. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:688 .text.HAL_DMA_Abort:00000000 $t
  4049. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:694 .text.HAL_DMA_Abort:00000000 HAL_DMA_Abort
  4050. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:866 .text.HAL_DMA_Abort_IT:00000000 $t
  4051. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:872 .text.HAL_DMA_Abort_IT:00000000 HAL_DMA_Abort_IT
  4052. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:938 .text.HAL_DMA_PollForTransfer:00000000 $t
  4053. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:944 .text.HAL_DMA_PollForTransfer:00000000 HAL_DMA_PollForTransfer
  4054. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1268 .text.HAL_DMA_IRQHandler:00000000 $t
  4055. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1274 .text.HAL_DMA_IRQHandler:00000000 HAL_DMA_IRQHandler
  4056. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1699 .text.HAL_DMA_IRQHandler:00000248 $d
  4057. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1703 .text.HAL_DMA_IRQHandler:00000250 $t
  4058. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1851 .text.HAL_DMA_RegisterCallback:00000000 $t
  4059. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1857 .text.HAL_DMA_RegisterCallback:00000000 HAL_DMA_RegisterCallback
  4060. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1909 .text.HAL_DMA_RegisterCallback:00000040 $d
  4061. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1915 .text.HAL_DMA_RegisterCallback:00000058 $t
  4062. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1994 .text.HAL_DMA_UnRegisterCallback:00000000 $t
  4063. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2000 .text.HAL_DMA_UnRegisterCallback:00000000 HAL_DMA_UnRegisterCallback
  4064. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2051 .text.HAL_DMA_UnRegisterCallback:00000040 $d
  4065. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2058 .text.HAL_DMA_UnRegisterCallback:0000005c $t
  4066. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2164 .text.HAL_DMA_GetState:00000000 $t
  4067. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2170 .text.HAL_DMA_GetState:00000000 HAL_DMA_GetState
  4068. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2210 .text.HAL_DMA_GetError:00000000 $t
  4069. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2216 .text.HAL_DMA_GetError:00000000 HAL_DMA_GetError
  4070. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2255 .text.DMA_SetConfig:00000000 $t
  4071. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2350 .text.DMA_CalcBaseAndBitshift:00000000 $t
  4072. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2441 .text.DMA_CalcBaseAndBitshift:00000064 $d
  4073. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2655 .rodata.flagBitshiftOffset.0:00000000 flagBitshiftOffset.0
  4074. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2447 .text.DMA_CheckFifoParam:00000000 $t
  4075. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2491 .text.DMA_CheckFifoParam:00000028 $d
  4076. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2495 .text.DMA_CheckFifoParam:00000038 $t
  4077. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2537 .text.DMA_CheckFifoParam:00000070 $d
  4078. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2541 .text.DMA_CheckFifoParam:00000080 $t
  4079. C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2652 .rodata.flagBitshiftOffset.0:00000000 $d
  4080. UNDEFINED SYMBOLS
  4081. HAL_GetTick
  4082. SystemCoreClock