From 2628932a40d769d8d0180ba6fed1e7b9b2718982 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 3 May 2020 19:53:02 +0200 Subject: minkbd: repo restructure --- Blink/build/Blink.bin | Bin 3680 -> 0 bytes Blink/build/Blink.elf | Bin 171344 -> 0 bytes Blink/build/Blink.hex | 235 - Blink/build/Blink.map | 1476 --- Blink/build/main.d | 73 - Blink/build/main.lst | 360 - Blink/build/main.o | Bin 8360 -> 0 bytes Blink/build/startup_stm32f072xb.d | 1 - Blink/build/startup_stm32f072xb.o | Bin 4480 -> 0 bytes Blink/build/stm32f0xx_hal.d | 71 - Blink/build/stm32f0xx_hal.lst | 1454 --- Blink/build/stm32f0xx_hal.o | Bin 16080 -> 0 bytes Blink/build/stm32f0xx_hal_cortex.d | 72 - Blink/build/stm32f0xx_hal_cortex.lst | 3024 ----- Blink/build/stm32f0xx_hal_cortex.o | Bin 14500 -> 0 bytes Blink/build/stm32f0xx_hal_dma.d | 72 - Blink/build/stm32f0xx_hal_dma.lst | 2507 ---- Blink/build/stm32f0xx_hal_dma.o | Bin 19220 -> 0 bytes Blink/build/stm32f0xx_hal_exti.d | 72 - Blink/build/stm32f0xx_hal_exti.lst | 1373 --- Blink/build/stm32f0xx_hal_exti.o | Bin 11912 -> 0 bytes Blink/build/stm32f0xx_hal_flash.d | 72 - Blink/build/stm32f0xx_hal_flash.lst | 1966 --- Blink/build/stm32f0xx_hal_flash.o | Bin 15052 -> 0 bytes Blink/build/stm32f0xx_hal_flash_ex.d | 72 - Blink/build/stm32f0xx_hal_flash_ex.lst | 2711 ---- Blink/build/stm32f0xx_hal_flash_ex.o | Bin 21168 -> 0 bytes Blink/build/stm32f0xx_hal_gpio.d | 72 - Blink/build/stm32f0xx_hal_gpio.lst | 1501 --- Blink/build/stm32f0xx_hal_gpio.o | Bin 11936 -> 0 bytes Blink/build/stm32f0xx_hal_i2c.d | 72 - Blink/build/stm32f0xx_hal_i2c.lst | 20498 ------------------------------- Blink/build/stm32f0xx_hal_i2c.o | Bin 114068 -> 0 bytes Blink/build/stm32f0xx_hal_i2c_ex.d | 72 - Blink/build/stm32f0xx_hal_i2c_ex.lst | 862 -- Blink/build/stm32f0xx_hal_i2c_ex.o | Bin 12580 -> 0 bytes Blink/build/stm32f0xx_hal_msp.d | 73 - Blink/build/stm32f0xx_hal_msp.lst | 170 - Blink/build/stm32f0xx_hal_msp.o | Bin 4440 -> 0 bytes Blink/build/stm32f0xx_hal_pwr.d | 72 - Blink/build/stm32f0xx_hal_pwr.lst | 1014 -- Blink/build/stm32f0xx_hal_pwr.o | Bin 9496 -> 0 bytes Blink/build/stm32f0xx_hal_pwr_ex.d | 72 - Blink/build/stm32f0xx_hal_pwr_ex.lst | 710 -- Blink/build/stm32f0xx_hal_pwr_ex.o | Bin 7684 -> 0 bytes Blink/build/stm32f0xx_hal_rcc.d | 72 - Blink/build/stm32f0xx_hal_rcc.lst | 3828 ------ Blink/build/stm32f0xx_hal_rcc.o | Bin 20212 -> 0 bytes Blink/build/stm32f0xx_hal_rcc_ex.d | 72 - Blink/build/stm32f0xx_hal_rcc_ex.lst | 2572 ---- Blink/build/stm32f0xx_hal_rcc_ex.o | Bin 18104 -> 0 bytes Blink/build/stm32f0xx_hal_tim.d | 72 - Blink/build/stm32f0xx_hal_tim.lst | 29 - Blink/build/stm32f0xx_hal_tim.o | Bin 2948 -> 0 bytes Blink/build/stm32f0xx_hal_tim_ex.d | 72 - Blink/build/stm32f0xx_hal_tim_ex.lst | 29 - Blink/build/stm32f0xx_hal_tim_ex.o | Bin 2948 -> 0 bytes Blink/build/stm32f0xx_it.d | 76 - Blink/build/stm32f0xx_it.lst | 289 - Blink/build/stm32f0xx_it.o | Bin 5088 -> 0 bytes Blink/build/system_stm32f0xx.d | 71 - Blink/build/system_stm32f0xx.lst | 539 - Blink/build/system_stm32f0xx.o | Bin 6208 -> 0 bytes 63 files changed, 48520 deletions(-) delete mode 100755 Blink/build/Blink.bin delete mode 100755 Blink/build/Blink.elf delete mode 100644 Blink/build/Blink.hex delete mode 100644 Blink/build/Blink.map delete mode 100644 Blink/build/main.d delete mode 100644 Blink/build/main.lst delete mode 100644 Blink/build/main.o delete mode 100644 Blink/build/startup_stm32f072xb.d delete mode 100644 Blink/build/startup_stm32f072xb.o delete mode 100644 Blink/build/stm32f0xx_hal.d delete mode 100644 Blink/build/stm32f0xx_hal.lst delete mode 100644 Blink/build/stm32f0xx_hal.o delete mode 100644 Blink/build/stm32f0xx_hal_cortex.d delete mode 100644 Blink/build/stm32f0xx_hal_cortex.lst delete mode 100644 Blink/build/stm32f0xx_hal_cortex.o delete mode 100644 Blink/build/stm32f0xx_hal_dma.d delete mode 100644 Blink/build/stm32f0xx_hal_dma.lst delete mode 100644 Blink/build/stm32f0xx_hal_dma.o delete mode 100644 Blink/build/stm32f0xx_hal_exti.d delete mode 100644 Blink/build/stm32f0xx_hal_exti.lst delete mode 100644 Blink/build/stm32f0xx_hal_exti.o delete mode 100644 Blink/build/stm32f0xx_hal_flash.d delete mode 100644 Blink/build/stm32f0xx_hal_flash.lst delete mode 100644 Blink/build/stm32f0xx_hal_flash.o delete mode 100644 Blink/build/stm32f0xx_hal_flash_ex.d delete mode 100644 Blink/build/stm32f0xx_hal_flash_ex.lst delete mode 100644 Blink/build/stm32f0xx_hal_flash_ex.o delete mode 100644 Blink/build/stm32f0xx_hal_gpio.d delete mode 100644 Blink/build/stm32f0xx_hal_gpio.lst delete mode 100644 Blink/build/stm32f0xx_hal_gpio.o delete mode 100644 Blink/build/stm32f0xx_hal_i2c.d delete mode 100644 Blink/build/stm32f0xx_hal_i2c.lst delete mode 100644 Blink/build/stm32f0xx_hal_i2c.o delete mode 100644 Blink/build/stm32f0xx_hal_i2c_ex.d delete mode 100644 Blink/build/stm32f0xx_hal_i2c_ex.lst delete mode 100644 Blink/build/stm32f0xx_hal_i2c_ex.o delete mode 100644 Blink/build/stm32f0xx_hal_msp.d delete mode 100644 Blink/build/stm32f0xx_hal_msp.lst delete mode 100644 Blink/build/stm32f0xx_hal_msp.o delete mode 100644 Blink/build/stm32f0xx_hal_pwr.d delete mode 100644 Blink/build/stm32f0xx_hal_pwr.lst delete mode 100644 Blink/build/stm32f0xx_hal_pwr.o delete mode 100644 Blink/build/stm32f0xx_hal_pwr_ex.d delete mode 100644 Blink/build/stm32f0xx_hal_pwr_ex.lst delete mode 100644 Blink/build/stm32f0xx_hal_pwr_ex.o delete mode 100644 Blink/build/stm32f0xx_hal_rcc.d delete mode 100644 Blink/build/stm32f0xx_hal_rcc.lst delete mode 100644 Blink/build/stm32f0xx_hal_rcc.o delete mode 100644 Blink/build/stm32f0xx_hal_rcc_ex.d delete mode 100644 Blink/build/stm32f0xx_hal_rcc_ex.lst delete mode 100644 Blink/build/stm32f0xx_hal_rcc_ex.o delete mode 100644 Blink/build/stm32f0xx_hal_tim.d delete mode 100644 Blink/build/stm32f0xx_hal_tim.lst delete mode 100644 Blink/build/stm32f0xx_hal_tim.o delete mode 100644 Blink/build/stm32f0xx_hal_tim_ex.d delete mode 100644 Blink/build/stm32f0xx_hal_tim_ex.lst delete mode 100644 Blink/build/stm32f0xx_hal_tim_ex.o delete mode 100644 Blink/build/stm32f0xx_it.d delete mode 100644 Blink/build/stm32f0xx_it.lst delete mode 100644 Blink/build/stm32f0xx_it.o delete mode 100644 Blink/build/system_stm32f0xx.d delete mode 100644 Blink/build/system_stm32f0xx.lst delete mode 100644 Blink/build/system_stm32f0xx.o (limited to 'Blink/build') diff --git a/Blink/build/Blink.bin b/Blink/build/Blink.bin deleted file mode 100755 index fd256c8..0000000 Binary files a/Blink/build/Blink.bin and /dev/null differ diff --git a/Blink/build/Blink.elf b/Blink/build/Blink.elf deleted file mode 100755 index 91b162f..0000000 Binary files a/Blink/build/Blink.elf and /dev/null differ diff --git a/Blink/build/Blink.hex b/Blink/build/Blink.hex deleted file mode 100644 index 7b27fcf..0000000 --- a/Blink/build/Blink.hex +++ /dev/null @@ -1,235 +0,0 @@ -:020000040800F2 -:1000000000400020590D0008090300080B030008F8 -:1000100000000000000000000000000000000000E0 -:100020000000000000000000000000000D030008B8 -:1000300000000000000000000F030008110300088A -:10004000A90D0008A90D0008A90D0008A90D0008B8 -:10005000A90D0008A90D0008A90D0008A90D0008A8 -:10006000A90D0008A90D0008A90D0008A90D000898 -:10007000A90D0008A90D0008A90D0008A90D000888 -:10008000A90D0008A90D0008A90D0008A90D000878 -:10009000A90D0008A90D0008A90D0008A90D000868 -:1000A000A90D0008A90D0008A90D0008A90D000858 -:1000B000A90D0008A90D0008A90D0008A90D000848 -:1000C00010B5064C2378002B07D1054B002B02D02E -:1000D000044800E000BF0123237010BD0C00002085 -:1000E00000000000040E0008044B10B5002B03D0E4 -:1000F0000349044800E000BF10BDC04600000000F6 -:1001000010000020040E0008002243088B4274D324 -:1001100003098B425FD3030A8B4244D3030B8B4208 -:1001200028D3030C8B420DD3FF22090212BA030C11 -:100130008B4202D31212090265D0030B8B4219D3F2 -:1001400000E0090AC30B8B4201D3CB03C01A524112 -:10015000830B8B4201D38B03C01A5241430B8B425A -:1001600001D34B03C01A5241030B8B4201D30B0343 -:10017000C01A5241C30A8B4201D3CB02C01A52416A -:10018000830A8B4201D38B02C01A5241430A8B422D -:1001900001D34B02C01A5241030A8B4201D30B0216 -:1001A000C01A5241CDD2C3098B4201D3CB01C01A30 -:1001B000524183098B4201D38B01C01A524143093A -:1001C0008B4201D34B01C01A524103098B4201D328 -:1001D0000B01C01A5241C3088B4201D3CB00C01A95 -:1001E000524183088B4201D38B00C01A524143080D -:1001F0008B4201D34B00C01A5241411A00D2014632 -:10020000524110467047FFE701B5002000F006F8A4 -:1002100002BDC0460029F7D076E770477047C04658 -:1002200030B589B01422002103A800F0E3FD134B80 -:1002300059698020C002014359615A690240019204 -:10024000019A5A69802189020A435A615B690B400D -:100250000293029B8025AD01094C00222900200059 -:1002600000F024FD039501230493002305930693D6 -:1002700003A9200000F04EFC09B030BD0010024080 -:100280000004004800B593B03022002106A800F019 -:10029000B1FD1022002101A800F0ACFD022305935E -:1002A000013B08930F33099305A800F04DF807238D -:1002B00001930023029303930493002101A800F00B -:1002C0002DFB13B000BD000070B500F0EFFBFFF791 -:1002D000D9FFFFF7A5FF8026B6010A4D01223100A4 -:1002E000280000F0E3FCFA24A400200000F000FC49 -:1002F00000223100280000F0D9FC200000F0F8FBBB -:10030000E9E7C046000400487047FEE770477047C1 -:1003100010B500F0DBFB10BD82B00A4B99690122D9 -:100320001143996199690A400092009ADA69802123 -:1003300049050A43DA61DB690B400193019B02B076 -:100340007047C0460010024070B582B0041E00D154 -:1003500085E20368DB072BD5B34B5A680C231340A7 -:10036000042B1DD0B04B5A680C231340082B0ED021 -:100370006368012B41D0002B56D1AB4B1A68AB49B7 -:100380000A401A601A68AA490A401A603BE0A64B64 -:100390005B68C02252021340802252029342E7D18E -:1003A000A14B1B689B0303D56368002B00D159E266 -:1003B00023689B0778D59C4B5B680C221A4262D05D -:1003C000994B5A680C231340082B53D0E368002B39 -:1003D00000D18BE0944A136801210B43136000F0B5 -:1003E00081FB0500904B1B689B0776D400F07AFBDD -:1003F000401B0228F6D9032032E28B4A1168802381 -:100400005B020B4313606368002B25D000F06AFB8E -:100410000500854B1B689B03CAD400F063FB401B9F -:100420006428F6D903201BE2052B09D07E4B1A68FD -:100430007E490A401A601A687D490A401A60E2E75C -:10044000794B19688022D2020A431A601968802207 -:1004500052020A431A60D6E700F044FB0500724BD3 -:100460001B689B03A4D500F03DFB401B6428F6D914 -:100470000320F5E16C4B5B68C022520213408022DE -:1004800012029342A2D1684B1B689B0704D5E36814 -:10049000012B01D00120E3E163490B68F82293436B -:1004A0002269D20013430B6023681B0744D5E3691C -:1004B000002B2ED05C4A536A01210B43536200F09B -:1004C00011FB0500584B5B6A9B0735D400F00AFB13 -:1004D000401B0228F6D90320C2E153490B68F822D9 -:1004E00093432269D20013430B60DDE74E4A136841 -:1004F00001218B43136000F0F5FA05004A4B1B689D -:100500009B07D1D500F0EEFA401B0228F6D9032054 -:10051000A6E1454A536A01218B43536200F0E2FA97 -:100520000500414B5B6A9B0706D500F0DBFA401BD8 -:100530000228F6D9032093E123685B0700D47FE00B -:10054000394BDB69DB001DD4374AD1698020400577 -:100550000143D161D36903400193019B0125354BD0 -:100560001B68DB0510D5A368012B21D0002B36D1E9 -:100570002D4B1A6A01218A431A621A6A03318A438F -:100580001A621AE00025EAE72A4A116880235B0014 -:100590000B43136000F0A6FA0600264B1B68DB0530 -:1005A000E1D400F09FFA801B6428F6D9032057E1BC -:1005B0001D4A136A01210B431362A368002B24D048 -:1005C00000F090FA0600184B1B6A9B0736D400F027 -:1005D00089FA801B184B9842F5D9032040E1052B7E -:1005E00009D0114B1A6A01218A431A621A6A03312F -:1005F0008A431A62E1E70C4B1A6A04210A431A6221 -:100600001A6A03390A431A62D7E700F06BFA060048 -:10061000054B1B6A9B0711D500F064FA801B064B43 -:100620009842F5D903201BE100100240FFFFFEFFB6 -:10063000FFFFFBFF0070004088130000012D3AD03F -:100640002368DB0610D56369012B3AD0053358D1F6 -:10065000884A536B04218B435363536BF4318B43B0 -:10066000A169C9000B43536323689B0600D482E051 -:10067000804B5A680C2313400C2B60D07D4B5A687A -:100680000C231340082B53D0236A002B60D0794AE7 -:10069000516B80235B020B43536300F023FA050088 -:1006A000744B5B6BDB0366D400F01CFA401B022822 -:1006B000F6D90320D4E06F4AD3696F490B40D36168 -:1006C000BEE76C4B5A6B04210A435A635A6B0339D9 -:1006D0000A435A6300F006FA0500664B5B6B9B0702 -:1006E00006D400F0FFF9401B0228F6D90320B7E03A -:1006F00060494B6BF8229343A269D20013434B63CA -:10070000B2E75C4B5A6B04210A435A635A6B0339B4 -:100710008A435A6300F0E6F90500564B5B6B9B0772 -:10072000A2D500F0DFF9401B0228F6D9032097E09C -:10073000504B5B68C022520213409342A4D14D4BF0 -:100740005B6BDB0317D5236A012B14D0012087E0F4 -:10075000484A536B49490B40536300F0C3F9050005 -:10076000444B5B6BDB0306D500F0BCF9401B022851 -:10077000F6D9032074E0636A002B00D174E03D4A8F -:1007800051680C220A40082A4DD0022B12D0394A57 -:1007900013683B490B40136000F0A4F90400354B8B -:1007A0001B689B013DD500F09DF9001B0228F6D97E -:1007B000032055E02F4A136831490B40136000F0C5 -:1007C00091F905002B4B1B689B0106D500F08AF9B7 -:1007D000401B0228F6D9032042E0264BDA6A0F219B -:1007E0008A43216B0A43DA625A6826490A40E16A61 -:1007F000A06A01430A435A601968802252040A43DE -:100800001A6000F06FF904001A4B1B689B0106D4B4 -:1008100000F068F9001B0228F6D9032020E0002030 -:100820001EE000201CE0012B20D0124B5A68D96A30 -:10083000C0235B021340A06A834201D001200FE075 -:100840000F230B40216B8B4201D0012008E0F023E5 -:100850009B031A40E36A9A420AD0012000E001207B -:1008600002B070BD0120FBE70020F9E70120F7E7A7 -:100870000020F5E700100240FFFFFFEFFFFFFEFF43 -:10088000FFFFFFFEFF7FC2FF30B589B004AA1F4BF8 -:10089000180032C832C2110002680A606A4610337A -:1008A00013CB13C21B681360194B5A680C231340F7 -:1008B000082B04D00C2B26D0164809B030BD910C63 -:1008C0000F23194004A8445C1149C96A0B406946CA -:1008D000C95CC0235B021A4080235B029A4208D0A5 -:1008E000C0235B029A4209D00A48FFF70DFC60431F -:1008F000E3E70848FFF708FC6043DEE70648FFF738 -:1009000003FC6043D9E70448D7E7C0461C0E000843 -:100910000010024000127A00006CDC0270B5040086 -:100920000D00002800D189E0464B1A6801231340CE -:100930008B420BD243490B68012293432B430B603C -:100940000B681A40AA4201D0012078E023689A0778 -:100950000ED55B0705D53C4A5168E023DB000B430D -:100960005360394A5368F0218B43A1680B435360AD -:100970002368DB0735D56368012B09D0022B24D00F -:10098000032B28D0304A1268920705D4012056E084 -:100990002D4A1268920353D52B494A68032082439B -:1009A00013434B6000F09EF80600274B5B680C2257 -:1009B0001A4063689B009A4213D000F093F8801BA2 -:1009C000224B9842F1D9032039E01F4A1268920164 -:1009D000E2D4012033E01C4A526BD203DCD4012064 -:1009E0002DE0184B1A6801231340AB420BD915496F -:1009F0000B68012293432B430B600B681A40AA42F9 -:100A000001D001201BE023685B0706D50E4A53681E -:100A10000F490B40E1680B435360FFF735FF0A4B6A -:100A20005A6812090F2313400A4AD35CD8400A4B74 -:100A30001860002000F012F8002000E0012070BDD6 -:100A40000120FCE700200240001002408813000053 -:100A5000FFF8FFFF3C0E00080800002010B504005E -:100A60000F4B1978FA208000FFF74EFB01000D4B69 -:100A70001868FFF749FB00F051F900280DD1032C4D -:100A800001D901200AE0013000222100404200F09B -:100A900013F9054B1C60002000E0012010BDC0468A -:100AA00000000020080000200400002010B5064AC5 -:100AB000136810210B4313600020FFF7CFFFFFF7EF -:100AC0002BFC002010BDC04600200240034A1168E4 -:100AD000034B1B785B1813607047C046280000204A -:100AE00000000020014B18687047C0462800002015 -:100AF00070B50400FFF7F6FF0500631C02D0044B3D -:100B00001B78E418FFF7EEFF401BA042FAD370BD3C -:100B100000000020F0B5C64600B582B0002338E0E2 -:100B2000042600E00026AE4035003D430234A40018 -:100B3000574EA551574C25684246D4432E002640B7 -:100B40004A68D20302D5424615432E00514D2E600D -:100B50006D682E0026404A68920302D5424615432E -:100B60002E004C4D6E60AD682E0026404A68D202C1 -:100B700002D5424615432E00464DAE60ED682C402E -:100B80004A68920202D542462A431400414AD46080 -:100B900001330A681400DC4076D001259D402A40CC -:100BA0009046F5D04C68022C01D0122C0ED1DC08F6 -:100BB0000834A400275807261E40B6000F22B24072 -:100BC00097430A69B24016003E43265002685F0010 -:100BD00003242600BE40F643324094464A6814403F -:100BE000BC406246144304604C68621E012A03D96B -:100BF000112C01D0122C10D184683440A446CC684A -:100C0000BC406246144384604468AC434A6812099D -:100C1000012515409D4025434560C46826408C68E9 -:100C2000BC403443C4604A68D200B1D51A4DAE69A5 -:100C300001242643AE61AD692C400194019C9C08BF -:100C4000A51CAD00124EAF5903261E40B5000F265D -:100C5000AE40B7439026F605B04200D162E70F4E92 -:100C6000B0420BD00E4EB0420AD00E4EB04209D068 -:100C70000D4EB04200D153E7052654E7012652E756 -:100C8000022650E703264EE702B004BC9046F0BDB2 -:100C90000000014000040140001002400004004830 -:100CA00000080048000C004800100048002A01D14C -:100CB000816270478161FCE770B5002811DB830811 -:100CC000144DC0339B005C5903221040C000FC321D -:100CD00016008640B44389010A40824022435A519B -:100CE00070BDC0B20F230340083B9B0806339B0036 -:100CF000094A944663445D6803242040C000FF22F3 -:100D000014008440A5438901114081402943596062 -:100D1000E6E7C04600E100E000ED00E001380A4BE4 -:100D200098420FD8094A50600948036A1B021B0AFF -:100D3000C02109060B43036200239360073313604D -:100D4000002070470120FCE7FFFFFF0010E000E0FB -:100D500000ED00E0704700000D4885460D480E4943 -:100D60000E4A002302E0D458C4500433C4188C4205 -:100D7000F9D30B4A0B4C002301E013600432A2426A -:100D8000FBD3FFF7E7FF00F011F8FFF79DFAFEE74E -:100D900000400020000000200C000020540E00083D -:100DA0000C0000202C000020FEE7000070B500269B -:100DB0000C4D0D4C641BA410A64209D1002600F076 -:100DC00021F80A4D0A4C641BA410A64205D170BD3F -:100DD000B300EB5898470136EEE7B300EB5898475D -:100DE0000136F2E74C0E00084C0E00084C0E0008CD -:100DF000500E000803001218934200D1704719707A -:100E00000133F9E7F8B5C046F8BC08BC9E46704708 -:0C0E1000F8B5C046F8BC08BC9E46704710 -:100E1C0002030405060708090A0B0C0D0E0F10102F -:100E2C000102030405060708090A0B0C0D0E0F102E -:100E3C00000000000000000001020304060708097E -:040E4C00E9000008B1 -:040E5000C1000008D5 -:0C0E5400010000000400000000127A0001 -:0400000508000D5989 -:00000001FF diff --git a/Blink/build/Blink.map b/Blink/build/Blink.map deleted file mode 100644 index 78e8c40..0000000 --- a/Blink/build/Blink.map +++ /dev/null @@ -1,1476 +0,0 @@ -Archive member included to satisfy reference by file (symbol) - -/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (exit) -/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) (_global_impure_ptr) -/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_init_array) -/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (memset) -/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) (_exit) -/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) - build/stm32f0xx_hal_rcc.o (__aeabi_uidiv) -/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) (__aeabi_idiv0) - -Allocating common symbols -Common symbol size file - -uwTick 0x4 build/stm32f0xx_hal.o -pFlash 0x20 build/stm32f0xx_hal_flash.o - -Discarded input sections - - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .data 0x0000000000000000 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .text 0x0000000000000000 0x78 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.extab 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.exidx 0x0000000000000000 0x8 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.attributes - 0x0000000000000000 0x1b /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .text 0x0000000000000000 0x0 build/main.o - .data 0x0000000000000000 0x0 build/main.o - .bss 0x0000000000000000 0x0 build/main.o - .text 0x0000000000000000 0x0 build/stm32f0xx_it.o - .data 0x0000000000000000 0x0 build/stm32f0xx_it.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_it.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_msp.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_msp.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_msp.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_tim.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_tim.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_tim.o - .debug_info 0x0000000000000000 0x14d build/stm32f0xx_hal_tim.o - .debug_abbrev 0x0000000000000000 0x8f build/stm32f0xx_hal_tim.o - .debug_aranges - 0x0000000000000000 0x18 build/stm32f0xx_hal_tim.o - .debug_line 0x0000000000000000 0x164 build/stm32f0xx_hal_tim.o - .debug_str 0x0000000000000000 0x264 build/stm32f0xx_hal_tim.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_tim.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_tim.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_tim_ex.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_tim_ex.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_tim_ex.o - .debug_info 0x0000000000000000 0x14d build/stm32f0xx_hal_tim_ex.o - .debug_abbrev 0x0000000000000000 0x8f build/stm32f0xx_hal_tim_ex.o - .debug_aranges - 0x0000000000000000 0x18 build/stm32f0xx_hal_tim_ex.o - .debug_line 0x0000000000000000 0x164 build/stm32f0xx_hal_tim_ex.o - .debug_str 0x0000000000000000 0x267 build/stm32f0xx_hal_tim_ex.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_tim_ex.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_tim_ex.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_DeInit - 0x0000000000000000 0xcc build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_MCOConfig - 0x0000000000000000 0x54 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_EnableCSS - 0x0000000000000000 0x14 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_DisableCSS - 0x0000000000000000 0x14 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_GetHCLKFreq - 0x0000000000000000 0xc build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_GetPCLK1Freq - 0x0000000000000000 0x20 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_GetOscConfig - 0x0000000000000000 0xd4 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_GetClockConfig - 0x0000000000000000 0x38 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_CSSCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc.o - .text.HAL_RCC_NMI_IRQHandler - 0x0000000000000000 0x20 build/stm32f0xx_hal_rcc.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc_ex.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc_ex.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_PeriphCLKConfig - 0x0000000000000000 0x158 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_GetPeriphCLKConfig - 0x0000000000000000 0x5c build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_GetPeriphCLKFreq - 0x0000000000000000 0x1f4 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRSConfig - 0x0000000000000000 0x54 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate - 0x0000000000000000 0x10 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRSGetSynchronizationInfo - 0x0000000000000000 0x2c build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRSWaitSynchronization - 0x0000000000000000 0x9c build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRS_SyncOkCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRS_SyncWarnCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRS_ExpectedSyncCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRS_ErrorCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o - .text.HAL_RCCEx_CRS_IRQHandler - 0x0000000000000000 0x78 build/stm32f0xx_hal_rcc_ex.o - .debug_info 0x0000000000000000 0x7c3 build/stm32f0xx_hal_rcc_ex.o - .debug_abbrev 0x0000000000000000 0x208 build/stm32f0xx_hal_rcc_ex.o - .debug_loc 0x0000000000000000 0x857 build/stm32f0xx_hal_rcc_ex.o - .debug_aranges - 0x0000000000000000 0x78 build/stm32f0xx_hal_rcc_ex.o - .debug_ranges 0x0000000000000000 0x80 build/stm32f0xx_hal_rcc_ex.o - .debug_line 0x0000000000000000 0x468 build/stm32f0xx_hal_rcc_ex.o - .debug_str 0x0000000000000000 0x6ba build/stm32f0xx_hal_rcc_ex.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_rcc_ex.o - .debug_frame 0x0000000000000000 0x10c build/stm32f0xx_hal_rcc_ex.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_rcc_ex.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal.o - .text.HAL_MspInit - 0x0000000000000000 0x2 build/stm32f0xx_hal.o - .text.HAL_MspDeInit - 0x0000000000000000 0x2 build/stm32f0xx_hal.o - .text.HAL_DeInit - 0x0000000000000000 0x24 build/stm32f0xx_hal.o - .text.HAL_GetTickPrio - 0x0000000000000000 0xc build/stm32f0xx_hal.o - .text.HAL_SetTickFreq - 0x0000000000000000 0x2c build/stm32f0xx_hal.o - .text.HAL_GetTickFreq - 0x0000000000000000 0xc build/stm32f0xx_hal.o - .text.HAL_SuspendTick - 0x0000000000000000 0x10 build/stm32f0xx_hal.o - .text.HAL_ResumeTick - 0x0000000000000000 0x10 build/stm32f0xx_hal.o - .text.HAL_GetHalVersion - 0x0000000000000000 0x8 build/stm32f0xx_hal.o - .text.HAL_GetREVID - 0x0000000000000000 0xc build/stm32f0xx_hal.o - .text.HAL_GetDEVID - 0x0000000000000000 0x10 build/stm32f0xx_hal.o - .text.HAL_GetUIDw0 - 0x0000000000000000 0xc build/stm32f0xx_hal.o - .text.HAL_GetUIDw1 - 0x0000000000000000 0xc build/stm32f0xx_hal.o - .text.HAL_GetUIDw2 - 0x0000000000000000 0xc build/stm32f0xx_hal.o - .text.HAL_DBGMCU_EnableDBGStopMode - 0x0000000000000000 0x10 build/stm32f0xx_hal.o - .text.HAL_DBGMCU_DisableDBGStopMode - 0x0000000000000000 0x10 build/stm32f0xx_hal.o - .text.HAL_DBGMCU_EnableDBGStandbyMode - 0x0000000000000000 0x10 build/stm32f0xx_hal.o - .text.HAL_DBGMCU_DisableDBGStandbyMode - 0x0000000000000000 0x10 build/stm32f0xx_hal.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c.o - .text.I2C_Flush_TXDR - 0x0000000000000000 0x1e build/stm32f0xx_hal_i2c.o - .text.I2C_TransferConfig - 0x0000000000000000 0x2c build/stm32f0xx_hal_i2c.o - .text.I2C_Enable_IRQ - 0x0000000000000000 0x7c build/stm32f0xx_hal_i2c.o - .text.I2C_Disable_IRQ - 0x0000000000000000 0x70 build/stm32f0xx_hal_i2c.o - .text.I2C_ConvertOtherXferOptions - 0x0000000000000000 0x20 build/stm32f0xx_hal_i2c.o - .text.I2C_IsAcknowledgeFailed - 0x0000000000000000 0x80 build/stm32f0xx_hal_i2c.o - .text.I2C_WaitOnTXISFlagUntilTimeout - 0x0000000000000000 0x52 build/stm32f0xx_hal_i2c.o - .text.I2C_WaitOnFlagUntilTimeout - 0x0000000000000000 0x4c build/stm32f0xx_hal_i2c.o - .text.I2C_RequestMemoryWrite - 0x0000000000000000 0x74 build/stm32f0xx_hal_i2c.o - .text.I2C_RequestMemoryRead - 0x0000000000000000 0x70 build/stm32f0xx_hal_i2c.o - .text.I2C_WaitOnSTOPFlagUntilTimeout - 0x0000000000000000 0x4e build/stm32f0xx_hal_i2c.o - .text.I2C_WaitOnRXNEFlagUntilTimeout - 0x0000000000000000 0x84 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_MspInit - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Init - 0x0000000000000000 0xcc build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_MspDeInit - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_DeInit - 0x0000000000000000 0x32 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Transmit - 0x0000000000000000 0x16c build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Receive - 0x0000000000000000 0x16c build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Transmit - 0x0000000000000000 0x198 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Receive - 0x0000000000000000 0x17c build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Transmit_IT - 0x0000000000000000 0x94 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Receive_IT - 0x0000000000000000 0x94 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Transmit_IT - 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Receive_IT - 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Transmit_DMA - 0x0000000000000000 0x154 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Receive_DMA - 0x0000000000000000 0x154 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Transmit_DMA - 0x0000000000000000 0xf4 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Receive_DMA - 0x0000000000000000 0xf8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Mem_Write - 0x0000000000000000 0x1a0 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Mem_Read - 0x0000000000000000 0x1a8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Mem_Write_IT - 0x0000000000000000 0xd4 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Mem_Read_IT - 0x0000000000000000 0xd8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Mem_Write_DMA - 0x0000000000000000 0x168 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Mem_Read_DMA - 0x0000000000000000 0x16c build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_IsDeviceReady - 0x0000000000000000 0x180 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Seq_Transmit_IT - 0x0000000000000000 0xb8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Seq_Transmit_DMA - 0x0000000000000000 0x170 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Seq_Receive_IT - 0x0000000000000000 0xb8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Seq_Receive_DMA - 0x0000000000000000 0x170 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Seq_Transmit_IT - 0x0000000000000000 0xd4 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Seq_Transmit_DMA - 0x0000000000000000 0x198 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Seq_Receive_IT - 0x0000000000000000 0xd8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Slave_Seq_Receive_DMA - 0x0000000000000000 0x198 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_EnableListen_IT - 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_DisableListen_IT - 0x0000000000000000 0x32 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_Master_Abort_IT - 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_EV_IRQHandler - 0x0000000000000000 0x12 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_MasterTxCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_MasterRxCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.I2C_ITMasterSeqCplt - 0x0000000000000000 0x52 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_SlaveTxCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_SlaveRxCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.I2C_ITSlaveSeqCplt - 0x0000000000000000 0x58 build/stm32f0xx_hal_i2c.o - .text.I2C_DMASlaveTransmitCplt - 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c.o - .text.I2C_DMASlaveReceiveCplt - 0x0000000000000000 0x30 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_AddrCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.I2C_ITAddrCplt - 0x0000000000000000 0xa2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_ListenCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.I2C_ITListenCplt - 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_MemTxCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_MemRxCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_ErrorCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_AbortCpltCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o - .text.I2C_ITError - 0x0000000000000000 0xf8 build/stm32f0xx_hal_i2c.o - .text.I2C_ITSlaveCplt - 0x0000000000000000 0x118 build/stm32f0xx_hal_i2c.o - .text.I2C_Slave_ISR_IT - 0x0000000000000000 0x14c build/stm32f0xx_hal_i2c.o - .text.I2C_ITMasterCplt - 0x0000000000000000 0xd4 build/stm32f0xx_hal_i2c.o - .text.I2C_Master_ISR_IT - 0x0000000000000000 0x178 build/stm32f0xx_hal_i2c.o - .text.I2C_Slave_ISR_DMA - 0x0000000000000000 0x108 build/stm32f0xx_hal_i2c.o - .text.I2C_Master_ISR_DMA - 0x0000000000000000 0x13c build/stm32f0xx_hal_i2c.o - .text.I2C_DMAError - 0x0000000000000000 0x18 build/stm32f0xx_hal_i2c.o - .text.I2C_DMAMasterTransmitCplt - 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o - .text.I2C_DMAMasterReceiveCplt - 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_ER_IRQHandler - 0x0000000000000000 0x5e build/stm32f0xx_hal_i2c.o - .text.I2C_DMAAbort - 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_GetState - 0x0000000000000000 0x8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_GetMode - 0x0000000000000000 0x8 build/stm32f0xx_hal_i2c.o - .text.HAL_I2C_GetError - 0x0000000000000000 0x4 build/stm32f0xx_hal_i2c.o - .debug_info 0x0000000000000000 0x3b14 build/stm32f0xx_hal_i2c.o - .debug_abbrev 0x0000000000000000 0x2ab build/stm32f0xx_hal_i2c.o - .debug_loc 0x0000000000000000 0x49a3 build/stm32f0xx_hal_i2c.o - .debug_aranges - 0x0000000000000000 0x288 build/stm32f0xx_hal_i2c.o - .debug_ranges 0x0000000000000000 0x278 build/stm32f0xx_hal_i2c.o - .debug_line 0x0000000000000000 0x1611 build/stm32f0xx_hal_i2c.o - .debug_str 0x0000000000000000 0xfd6 build/stm32f0xx_hal_i2c.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_i2c.o - .debug_frame 0x0000000000000000 0x960 build/stm32f0xx_hal_i2c.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_i2c.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c_ex.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c_ex.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c_ex.o - .text.HAL_I2CEx_ConfigAnalogFilter - 0x0000000000000000 0x58 build/stm32f0xx_hal_i2c_ex.o - .text.HAL_I2CEx_ConfigDigitalFilter - 0x0000000000000000 0x54 build/stm32f0xx_hal_i2c_ex.o - .text.HAL_I2CEx_EnableWakeUp - 0x0000000000000000 0x4e build/stm32f0xx_hal_i2c_ex.o - .text.HAL_I2CEx_DisableWakeUp - 0x0000000000000000 0x50 build/stm32f0xx_hal_i2c_ex.o - .text.HAL_I2CEx_EnableFastModePlus - 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c_ex.o - .text.HAL_I2CEx_DisableFastModePlus - 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c_ex.o - .debug_info 0x0000000000000000 0x996 build/stm32f0xx_hal_i2c_ex.o - .debug_abbrev 0x0000000000000000 0x1c7 build/stm32f0xx_hal_i2c_ex.o - .debug_loc 0x0000000000000000 0x2e1 build/stm32f0xx_hal_i2c_ex.o - .debug_aranges - 0x0000000000000000 0x48 build/stm32f0xx_hal_i2c_ex.o - .debug_ranges 0x0000000000000000 0x38 build/stm32f0xx_hal_i2c_ex.o - .debug_line 0x0000000000000000 0x333 build/stm32f0xx_hal_i2c_ex.o - .debug_str 0x0000000000000000 0x87c build/stm32f0xx_hal_i2c_ex.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_i2c_ex.o - .debug_frame 0x0000000000000000 0xc0 build/stm32f0xx_hal_i2c_ex.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_i2c_ex.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_gpio.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_gpio.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_gpio.o - .text.HAL_GPIO_DeInit - 0x0000000000000000 0x104 build/stm32f0xx_hal_gpio.o - .text.HAL_GPIO_ReadPin - 0x0000000000000000 0xe build/stm32f0xx_hal_gpio.o - .text.HAL_GPIO_TogglePin - 0x0000000000000000 0x10 build/stm32f0xx_hal_gpio.o - .text.HAL_GPIO_LockPin - 0x0000000000000000 0x2c build/stm32f0xx_hal_gpio.o - .text.HAL_GPIO_EXTI_Callback - 0x0000000000000000 0x2 build/stm32f0xx_hal_gpio.o - .text.HAL_GPIO_EXTI_IRQHandler - 0x0000000000000000 0x1c build/stm32f0xx_hal_gpio.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_dma.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_dma.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_dma.o - .text.DMA_SetConfig - 0x0000000000000000 0x2a build/stm32f0xx_hal_dma.o - .text.DMA_CalcBaseAndBitshift - 0x0000000000000000 0x28 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_Init - 0x0000000000000000 0x50 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_DeInit - 0x0000000000000000 0x48 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_Start - 0x0000000000000000 0x4e build/stm32f0xx_hal_dma.o - .text.HAL_DMA_Start_IT - 0x0000000000000000 0x76 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_Abort - 0x0000000000000000 0x44 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_Abort_IT - 0x0000000000000000 0x4a build/stm32f0xx_hal_dma.o - .text.HAL_DMA_PollForTransfer - 0x0000000000000000 0xc4 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_IRQHandler - 0x0000000000000000 0xaa build/stm32f0xx_hal_dma.o - .text.HAL_DMA_RegisterCallback - 0x0000000000000000 0x54 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_UnRegisterCallback - 0x0000000000000000 0x60 build/stm32f0xx_hal_dma.o - .rodata.HAL_DMA_UnRegisterCallback - 0x0000000000000000 0x14 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_GetState - 0x0000000000000000 0x8 build/stm32f0xx_hal_dma.o - .text.HAL_DMA_GetError - 0x0000000000000000 0x4 build/stm32f0xx_hal_dma.o - .debug_info 0x0000000000000000 0x8ea build/stm32f0xx_hal_dma.o - .debug_abbrev 0x0000000000000000 0x252 build/stm32f0xx_hal_dma.o - .debug_loc 0x0000000000000000 0x973 build/stm32f0xx_hal_dma.o - .debug_aranges - 0x0000000000000000 0x88 build/stm32f0xx_hal_dma.o - .debug_ranges 0x0000000000000000 0x78 build/stm32f0xx_hal_dma.o - .debug_line 0x0000000000000000 0x43d build/stm32f0xx_hal_dma.o - .debug_str 0x0000000000000000 0x6c2 build/stm32f0xx_hal_dma.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_dma.o - .debug_frame 0x0000000000000000 0x198 build/stm32f0xx_hal_dma.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_dma.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_cortex.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_cortex.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_cortex.o - .text.HAL_NVIC_EnableIRQ - 0x0000000000000000 0x18 build/stm32f0xx_hal_cortex.o - .text.HAL_NVIC_DisableIRQ - 0x0000000000000000 0x20 build/stm32f0xx_hal_cortex.o - .text.HAL_NVIC_SystemReset - 0x0000000000000000 0x1c build/stm32f0xx_hal_cortex.o - .text.HAL_NVIC_GetPriority - 0x0000000000000000 0x4c build/stm32f0xx_hal_cortex.o - .text.HAL_NVIC_SetPendingIRQ - 0x0000000000000000 0x1c build/stm32f0xx_hal_cortex.o - .text.HAL_NVIC_GetPendingIRQ - 0x0000000000000000 0x20 build/stm32f0xx_hal_cortex.o - .text.HAL_NVIC_ClearPendingIRQ - 0x0000000000000000 0x1c build/stm32f0xx_hal_cortex.o - .text.HAL_SYSTICK_CLKSourceConfig - 0x0000000000000000 0x20 build/stm32f0xx_hal_cortex.o - .text.HAL_SYSTICK_Callback - 0x0000000000000000 0x2 build/stm32f0xx_hal_cortex.o - .text.HAL_SYSTICK_IRQHandler - 0x0000000000000000 0x8 build/stm32f0xx_hal_cortex.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_DeInit - 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_EnableBkUpAccess - 0x0000000000000000 0x14 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_DisableBkUpAccess - 0x0000000000000000 0x14 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_EnableWakeUpPin - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_DisableWakeUpPin - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_EnterSLEEPMode - 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_EnterSTOPMode - 0x0000000000000000 0x3c build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_EnterSTANDBYMode - 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_EnableSleepOnExit - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_DisableSleepOnExit - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_EnableSEVOnPend - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o - .text.HAL_PWR_DisableSEVOnPend - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o - .debug_info 0x0000000000000000 0x4ac build/stm32f0xx_hal_pwr.o - .debug_abbrev 0x0000000000000000 0x196 build/stm32f0xx_hal_pwr.o - .debug_loc 0x0000000000000000 0xe8 build/stm32f0xx_hal_pwr.o - .debug_aranges - 0x0000000000000000 0x78 build/stm32f0xx_hal_pwr.o - .debug_ranges 0x0000000000000000 0x68 build/stm32f0xx_hal_pwr.o - .debug_line 0x0000000000000000 0x2bf build/stm32f0xx_hal_pwr.o - .debug_str 0x0000000000000000 0x447 build/stm32f0xx_hal_pwr.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_pwr.o - .debug_frame 0x0000000000000000 0xdc build/stm32f0xx_hal_pwr.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_pwr.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr_ex.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr_ex.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWR_ConfigPVD - 0x0000000000000000 0x80 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWR_EnablePVD - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWR_DisablePVD - 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWR_PVDCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWR_PVD_IRQHandler - 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWREx_EnableVddio2Monitor - 0x0000000000000000 0x18 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWREx_DisableVddio2Monitor - 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWREx_Vddio2MonitorCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_pwr_ex.o - .text.HAL_PWREx_Vddio2Monitor_IRQHandler - 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr_ex.o - .debug_info 0x0000000000000000 0x338 build/stm32f0xx_hal_pwr_ex.o - .debug_abbrev 0x0000000000000000 0x161 build/stm32f0xx_hal_pwr_ex.o - .debug_loc 0x0000000000000000 0x40 build/stm32f0xx_hal_pwr_ex.o - .debug_aranges - 0x0000000000000000 0x60 build/stm32f0xx_hal_pwr_ex.o - .debug_ranges 0x0000000000000000 0x50 build/stm32f0xx_hal_pwr_ex.o - .debug_line 0x0000000000000000 0x28c build/stm32f0xx_hal_pwr_ex.o - .debug_str 0x0000000000000000 0x3a0 build/stm32f0xx_hal_pwr_ex.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_pwr_ex.o - .debug_frame 0x0000000000000000 0xb8 build/stm32f0xx_hal_pwr_ex.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_pwr_ex.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_flash.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_flash.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_flash.o - .text.FLASH_Program_HalfWord - 0x0000000000000000 0x20 build/stm32f0xx_hal_flash.o - .text.FLASH_SetErrorCode - 0x0000000000000000 0x3c build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_Program_IT - 0x0000000000000000 0x64 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_EndOfOperationCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_OperationErrorCallback - 0x0000000000000000 0x2 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_IRQHandler - 0x0000000000000000 0x154 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_Unlock - 0x0000000000000000 0x30 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_Lock - 0x0000000000000000 0x14 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_OB_Unlock - 0x0000000000000000 0x28 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_OB_Lock - 0x0000000000000000 0x18 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_GetError - 0x0000000000000000 0xc build/stm32f0xx_hal_flash.o - .text.FLASH_WaitForLastOperation - 0x0000000000000000 0x5c build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_Program - 0x0000000000000000 0xa0 build/stm32f0xx_hal_flash.o - .text.HAL_FLASH_OB_Launch - 0x0000000000000000 0x20 build/stm32f0xx_hal_flash.o - .debug_info 0x0000000000000000 0x707 build/stm32f0xx_hal_flash.o - .debug_abbrev 0x0000000000000000 0x282 build/stm32f0xx_hal_flash.o - .debug_loc 0x0000000000000000 0x420 build/stm32f0xx_hal_flash.o - .debug_aranges - 0x0000000000000000 0x88 build/stm32f0xx_hal_flash.o - .debug_ranges 0x0000000000000000 0x78 build/stm32f0xx_hal_flash.o - .debug_line 0x0000000000000000 0x3ba build/stm32f0xx_hal_flash.o - .debug_str 0x0000000000000000 0x5b5 build/stm32f0xx_hal_flash.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_flash.o - .debug_frame 0x0000000000000000 0x160 build/stm32f0xx_hal_flash.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_flash.o - COMMON 0x0000000000000000 0x20 build/stm32f0xx_hal_flash.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_flash_ex.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_flash_ex.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_MassErase - 0x0000000000000000 0x24 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_GetWRP - 0x0000000000000000 0xc build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_GetRDP - 0x0000000000000000 0x20 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_GetUser - 0x0000000000000000 0x10 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_RDP_LevelConfig - 0x0000000000000000 0x64 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_UserConfig - 0x0000000000000000 0x48 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_ProgramData - 0x0000000000000000 0x40 build/stm32f0xx_hal_flash_ex.o - .text.HAL_FLASHEx_OBErase - 0x0000000000000000 0x50 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_EnableWRP - 0x0000000000000000 0xbc build/stm32f0xx_hal_flash_ex.o - .text.FLASH_OB_DisableWRP - 0x0000000000000000 0xb8 build/stm32f0xx_hal_flash_ex.o - .text.HAL_FLASHEx_OBProgram - 0x0000000000000000 0x94 build/stm32f0xx_hal_flash_ex.o - .text.HAL_FLASHEx_OBGetConfig - 0x0000000000000000 0x1c build/stm32f0xx_hal_flash_ex.o - .text.HAL_FLASHEx_OBGetUserData - 0x0000000000000000 0x24 build/stm32f0xx_hal_flash_ex.o - .text.FLASH_PageErase - 0x0000000000000000 0x24 build/stm32f0xx_hal_flash_ex.o - .text.HAL_FLASHEx_Erase - 0x0000000000000000 0xa4 build/stm32f0xx_hal_flash_ex.o - .text.HAL_FLASHEx_Erase_IT - 0x0000000000000000 0x60 build/stm32f0xx_hal_flash_ex.o - .debug_info 0x0000000000000000 0xb00 build/stm32f0xx_hal_flash_ex.o - .debug_abbrev 0x0000000000000000 0x277 build/stm32f0xx_hal_flash_ex.o - .debug_loc 0x0000000000000000 0x915 build/stm32f0xx_hal_flash_ex.o - .debug_aranges - 0x0000000000000000 0x98 build/stm32f0xx_hal_flash_ex.o - .debug_ranges 0x0000000000000000 0x88 build/stm32f0xx_hal_flash_ex.o - .debug_line 0x0000000000000000 0x472 build/stm32f0xx_hal_flash_ex.o - .debug_str 0x0000000000000000 0x6cf build/stm32f0xx_hal_flash_ex.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_flash_ex.o - .debug_frame 0x0000000000000000 0x1bc build/stm32f0xx_hal_flash_ex.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_flash_ex.o - .text 0x0000000000000000 0x0 build/stm32f0xx_hal_exti.o - .data 0x0000000000000000 0x0 build/stm32f0xx_hal_exti.o - .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_SetConfigLine - 0x0000000000000000 0xc0 build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_GetConfigLine - 0x0000000000000000 0xa4 build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_ClearConfigLine - 0x0000000000000000 0x70 build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_RegisterCallback - 0x0000000000000000 0xe build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_GetHandle - 0x0000000000000000 0xe build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_IRQHandler - 0x0000000000000000 0x28 build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_GetPending - 0x0000000000000000 0x18 build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_ClearPending - 0x0000000000000000 0x14 build/stm32f0xx_hal_exti.o - .text.HAL_EXTI_GenerateSWI - 0x0000000000000000 0x14 build/stm32f0xx_hal_exti.o - .debug_info 0x0000000000000000 0x606 build/stm32f0xx_hal_exti.o - .debug_abbrev 0x0000000000000000 0x204 build/stm32f0xx_hal_exti.o - .debug_loc 0x0000000000000000 0x485 build/stm32f0xx_hal_exti.o - .debug_aranges - 0x0000000000000000 0x60 build/stm32f0xx_hal_exti.o - .debug_ranges 0x0000000000000000 0x50 build/stm32f0xx_hal_exti.o - .debug_line 0x0000000000000000 0x317 build/stm32f0xx_hal_exti.o - .debug_str 0x0000000000000000 0x480 build/stm32f0xx_hal_exti.o - .comment 0x0000000000000000 0x80 build/stm32f0xx_hal_exti.o - .debug_frame 0x0000000000000000 0xd4 build/stm32f0xx_hal_exti.o - .ARM.attributes - 0x0000000000000000 0x31 build/stm32f0xx_hal_exti.o - .text 0x0000000000000000 0x0 build/system_stm32f0xx.o - .data 0x0000000000000000 0x0 build/system_stm32f0xx.o - .bss 0x0000000000000000 0x0 build/system_stm32f0xx.o - .text.SystemCoreClockUpdate - 0x0000000000000000 0xac build/system_stm32f0xx.o - .rodata.APBPrescTable - 0x0000000000000000 0x8 build/system_stm32f0xx.o - .text 0x0000000000000000 0x14 build/startup_stm32f072xb.o - .data 0x0000000000000000 0x0 build/startup_stm32f072xb.o - .bss 0x0000000000000000 0x0 build/startup_stm32f072xb.o - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - .text.exit 0x0000000000000000 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - .debug_frame 0x0000000000000000 0x28 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - .ARM.attributes - 0x0000000000000000 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - .data._impure_ptr - 0x0000000000000000 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - .data.impure_data - 0x0000000000000000 0x60 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - .rodata._global_impure_ptr - 0x0000000000000000 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - .ARM.attributes - 0x0000000000000000 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - .text._exit 0x0000000000000000 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - .debug_frame 0x0000000000000000 0x20 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - .ARM.attributes - 0x0000000000000000 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o) - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o) - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .eh_frame 0x0000000000000000 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .ARM.attributes - 0x0000000000000000 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .text 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .data 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .bss 0x0000000000000000 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - -Memory Configuration - -Name Origin Length Attributes -RAM 0x0000000020000000 0x0000000000004000 xrw -FLASH 0x0000000008000000 0x0000000000010000 xr -*default* 0x0000000000000000 0xffffffffffffffff - -Linker script and memory map - -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD build/main.o -LOAD build/stm32f0xx_it.o -LOAD build/stm32f0xx_hal_msp.o -LOAD build/stm32f0xx_hal_tim.o -LOAD build/stm32f0xx_hal_tim_ex.o -LOAD build/stm32f0xx_hal_rcc.o -LOAD build/stm32f0xx_hal_rcc_ex.o -LOAD build/stm32f0xx_hal.o -LOAD build/stm32f0xx_hal_i2c.o -LOAD build/stm32f0xx_hal_i2c_ex.o -LOAD build/stm32f0xx_hal_gpio.o -LOAD build/stm32f0xx_hal_dma.o -LOAD build/stm32f0xx_hal_cortex.o -LOAD build/stm32f0xx_hal_pwr.o -LOAD build/stm32f0xx_hal_pwr_ex.o -LOAD build/stm32f0xx_hal_flash.o -LOAD build/stm32f0xx_hal_flash_ex.o -LOAD build/stm32f0xx_hal_exti.o -LOAD build/system_stm32f0xx.o -LOAD build/startup_stm32f072xb.o -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libm.a -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a -START GROUP -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a -END GROUP -START GROUP -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a -END GROUP -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o -LOAD /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - 0x0000000020004000 _estack = 0x20004000 - 0x0000000000000200 _Min_Heap_Size = 0x200 - 0x0000000000000400 _Min_Stack_Size = 0x400 - -.isr_vector 0x0000000008000000 0xc0 - 0x0000000008000000 . = ALIGN (0x4) - *(.isr_vector) - .isr_vector 0x0000000008000000 0xc0 build/startup_stm32f072xb.o - 0x0000000008000000 g_pfnVectors - 0x00000000080000c0 . = ALIGN (0x4) - -.text 0x00000000080000c0 0xd5c - 0x00000000080000c0 . = ALIGN (0x4) - *(.text) - .text 0x00000000080000c0 0x48 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .text 0x0000000008000108 0x114 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) - 0x0000000008000108 __udivsi3 - 0x0000000008000108 __aeabi_uidiv - 0x0000000008000214 __aeabi_uidivmod - .text 0x000000000800021c 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o) - 0x000000000800021c __aeabi_ldiv0 - 0x000000000800021c __aeabi_idiv0 - *(.text*) - .text.MX_GPIO_Init - 0x0000000008000220 0x64 build/main.o - .text.SystemClock_Config - 0x0000000008000284 0x42 build/main.o - 0x0000000008000284 SystemClock_Config - *fill* 0x00000000080002c6 0x2 - .text.main 0x00000000080002c8 0x40 build/main.o - 0x00000000080002c8 main - .text.NMI_Handler - 0x0000000008000308 0x2 build/stm32f0xx_it.o - 0x0000000008000308 NMI_Handler - .text.HardFault_Handler - 0x000000000800030a 0x2 build/stm32f0xx_it.o - 0x000000000800030a HardFault_Handler - .text.SVC_Handler - 0x000000000800030c 0x2 build/stm32f0xx_it.o - 0x000000000800030c SVC_Handler - .text.PendSV_Handler - 0x000000000800030e 0x2 build/stm32f0xx_it.o - 0x000000000800030e PendSV_Handler - .text.SysTick_Handler - 0x0000000008000310 0x8 build/stm32f0xx_it.o - 0x0000000008000310 SysTick_Handler - .text.HAL_MspInit - 0x0000000008000318 0x30 build/stm32f0xx_hal_msp.o - 0x0000000008000318 HAL_MspInit - .text.HAL_RCC_OscConfig - 0x0000000008000348 0x540 build/stm32f0xx_hal_rcc.o - 0x0000000008000348 HAL_RCC_OscConfig - .text.HAL_RCC_GetSysClockFreq - 0x0000000008000888 0x94 build/stm32f0xx_hal_rcc.o - 0x0000000008000888 HAL_RCC_GetSysClockFreq - .text.HAL_RCC_ClockConfig - 0x000000000800091c 0x140 build/stm32f0xx_hal_rcc.o - 0x000000000800091c HAL_RCC_ClockConfig - .text.HAL_InitTick - 0x0000000008000a5c 0x50 build/stm32f0xx_hal.o - 0x0000000008000a5c HAL_InitTick - .text.HAL_Init - 0x0000000008000aac 0x20 build/stm32f0xx_hal.o - 0x0000000008000aac HAL_Init - .text.HAL_IncTick - 0x0000000008000acc 0x18 build/stm32f0xx_hal.o - 0x0000000008000acc HAL_IncTick - .text.HAL_GetTick - 0x0000000008000ae4 0xc build/stm32f0xx_hal.o - 0x0000000008000ae4 HAL_GetTick - .text.HAL_Delay - 0x0000000008000af0 0x24 build/stm32f0xx_hal.o - 0x0000000008000af0 HAL_Delay - .text.HAL_GPIO_Init - 0x0000000008000b14 0x198 build/stm32f0xx_hal_gpio.o - 0x0000000008000b14 HAL_GPIO_Init - .text.HAL_GPIO_WritePin - 0x0000000008000cac 0xc build/stm32f0xx_hal_gpio.o - 0x0000000008000cac HAL_GPIO_WritePin - .text.HAL_NVIC_SetPriority - 0x0000000008000cb8 0x64 build/stm32f0xx_hal_cortex.o - 0x0000000008000cb8 HAL_NVIC_SetPriority - .text.HAL_SYSTICK_Config - 0x0000000008000d1c 0x38 build/stm32f0xx_hal_cortex.o - 0x0000000008000d1c HAL_SYSTICK_Config - .text.SystemInit - 0x0000000008000d54 0x2 build/system_stm32f0xx.o - 0x0000000008000d54 SystemInit - *fill* 0x0000000008000d56 0x2 - .text.Reset_Handler - 0x0000000008000d58 0x50 build/startup_stm32f072xb.o - 0x0000000008000d58 Reset_Handler - .text.Default_Handler - 0x0000000008000da8 0x2 build/startup_stm32f072xb.o - 0x0000000008000da8 TIM1_CC_IRQHandler - 0x0000000008000da8 TSC_IRQHandler - 0x0000000008000da8 ADC1_COMP_IRQHandler - 0x0000000008000da8 I2C1_IRQHandler - 0x0000000008000da8 RCC_CRS_IRQHandler - 0x0000000008000da8 SPI1_IRQHandler - 0x0000000008000da8 TIM6_DAC_IRQHandler - 0x0000000008000da8 USART3_4_IRQHandler - 0x0000000008000da8 EXTI2_3_IRQHandler - 0x0000000008000da8 I2C2_IRQHandler - 0x0000000008000da8 TIM17_IRQHandler - 0x0000000008000da8 CEC_CAN_IRQHandler - 0x0000000008000da8 RTC_IRQHandler - 0x0000000008000da8 PVD_VDDIO2_IRQHandler - 0x0000000008000da8 DMA1_Channel4_5_6_7_IRQHandler - 0x0000000008000da8 TIM16_IRQHandler - 0x0000000008000da8 TIM3_IRQHandler - 0x0000000008000da8 EXTI4_15_IRQHandler - 0x0000000008000da8 DMA1_Channel1_IRQHandler - 0x0000000008000da8 Default_Handler - 0x0000000008000da8 TIM14_IRQHandler - 0x0000000008000da8 TIM7_IRQHandler - 0x0000000008000da8 TIM15_IRQHandler - 0x0000000008000da8 EXTI0_1_IRQHandler - 0x0000000008000da8 USB_IRQHandler - 0x0000000008000da8 SPI2_IRQHandler - 0x0000000008000da8 WWDG_IRQHandler - 0x0000000008000da8 TIM2_IRQHandler - 0x0000000008000da8 DMA1_Channel2_3_IRQHandler - 0x0000000008000da8 USART2_IRQHandler - 0x0000000008000da8 FLASH_IRQHandler - 0x0000000008000da8 USART1_IRQHandler - 0x0000000008000da8 TIM1_BRK_UP_TRG_COM_IRQHandler - *fill* 0x0000000008000daa 0x2 - .text.__libc_init_array - 0x0000000008000dac 0x48 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - 0x0000000008000dac __libc_init_array - .text.memset 0x0000000008000df4 0x10 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - 0x0000000008000df4 memset - *(.glue_7) - .glue_7 0x0000000008000e04 0x0 linker stubs - *(.glue_7t) - .glue_7t 0x0000000008000e04 0x0 linker stubs - *(.eh_frame) - .eh_frame 0x0000000008000e04 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - *(.init) - .init 0x0000000008000e04 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x0000000008000e04 _init - .init 0x0000000008000e08 0x8 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - *(.fini) - .fini 0x0000000008000e10 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x0000000008000e10 _fini - .fini 0x0000000008000e14 0x8 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - 0x0000000008000e1c . = ALIGN (0x4) - 0x0000000008000e1c _etext = . - -.vfp11_veneer 0x0000000008000e1c 0x0 - .vfp11_veneer 0x0000000008000e1c 0x0 linker stubs - -.v4_bx 0x0000000008000e1c 0x0 - .v4_bx 0x0000000008000e1c 0x0 linker stubs - -.iplt 0x0000000008000e1c 0x0 - .iplt 0x0000000008000e1c 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - -.rodata 0x0000000008000e1c 0x30 - 0x0000000008000e1c . = ALIGN (0x4) - *(.rodata) - .rodata 0x0000000008000e1c 0x20 build/stm32f0xx_hal_rcc.o - *(.rodata*) - .rodata.AHBPrescTable - 0x0000000008000e3c 0x10 build/system_stm32f0xx.o - 0x0000000008000e3c AHBPrescTable - 0x0000000008000e4c . = ALIGN (0x4) - -.rel.dyn 0x0000000008000e4c 0x0 - .rel.iplt 0x0000000008000e4c 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - -.ARM.extab - *(.ARM.extab* .gnu.linkonce.armextab.*) - -.ARM 0x0000000008000e4c 0x0 - 0x0000000008000e4c __exidx_start = . - *(.ARM.exidx*) - 0x0000000008000e4c __exidx_end = . - -.preinit_array 0x0000000008000e4c 0x0 - 0x0000000008000e4c PROVIDE (__preinit_array_start = .) - *(.preinit_array*) - 0x0000000008000e4c PROVIDE (__preinit_array_end = .) - -.init_array 0x0000000008000e4c 0x4 - 0x0000000008000e4c PROVIDE (__init_array_start = .) - *(SORT_BY_NAME(.init_array.*)) - *(.init_array*) - .init_array 0x0000000008000e4c 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - 0x0000000008000e50 PROVIDE (__init_array_end = .) - -.fini_array 0x0000000008000e50 0x4 - [!provide] PROVIDE (__fini_array_start = .) - *(SORT_BY_NAME(.fini_array.*)) - *(.fini_array*) - .fini_array 0x0000000008000e50 0x4 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - [!provide] PROVIDE (__fini_array_end = .) - 0x0000000008000e54 _sidata = LOADADDR (.data) - -.data 0x0000000020000000 0xc load address 0x0000000008000e54 - 0x0000000020000000 . = ALIGN (0x4) - 0x0000000020000000 _sdata = . - *(.data) - *(.data*) - .data.uwTickFreq - 0x0000000020000000 0x1 build/stm32f0xx_hal.o - 0x0000000020000000 uwTickFreq - *fill* 0x0000000020000001 0x3 - .data.uwTickPrio - 0x0000000020000004 0x4 build/stm32f0xx_hal.o - 0x0000000020000004 uwTickPrio - .data.SystemCoreClock - 0x0000000020000008 0x4 build/system_stm32f0xx.o - 0x0000000020000008 SystemCoreClock - 0x000000002000000c . = ALIGN (0x4) - 0x000000002000000c _edata = . - -.igot.plt 0x000000002000000c 0x0 load address 0x0000000008000e60 - .igot.plt 0x000000002000000c 0x0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - 0x000000002000000c . = ALIGN (0x4) - -.bss 0x000000002000000c 0x20 load address 0x0000000008000e60 - 0x000000002000000c _sbss = . - 0x000000002000000c __bss_start__ = _sbss - *(.bss) - .bss 0x000000002000000c 0x1c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - *(.bss*) - *(COMMON) - COMMON 0x0000000020000028 0x4 build/stm32f0xx_hal.o - 0x0000000020000028 uwTick - 0x000000002000002c . = ALIGN (0x4) - 0x000000002000002c _ebss = . - 0x000000002000002c __bss_end__ = _ebss - -._user_heap_stack - 0x000000002000002c 0x604 load address 0x0000000008000e60 - 0x0000000020000030 . = ALIGN (0x8) - *fill* 0x000000002000002c 0x4 - [!provide] PROVIDE (end = .) - [!provide] PROVIDE (_end = .) - 0x0000000020000230 . = (. + _Min_Heap_Size) - *fill* 0x0000000020000030 0x200 - 0x0000000020000630 . = (. + _Min_Stack_Size) - *fill* 0x0000000020000230 0x400 - 0x0000000020000630 . = ALIGN (0x8) - -/DISCARD/ - libc.a(*) - libm.a(*) - libgcc.a(*) - -.ARM.attributes - 0x0000000000000000 0x28 - *(.ARM.attributes) - .ARM.attributes - 0x0000000000000000 0x1e /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .ARM.attributes - 0x000000000000001e 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .ARM.attributes - 0x000000000000004a 0x31 build/main.o - .ARM.attributes - 0x000000000000007b 0x31 build/stm32f0xx_it.o - .ARM.attributes - 0x00000000000000ac 0x31 build/stm32f0xx_hal_msp.o - .ARM.attributes - 0x00000000000000dd 0x31 build/stm32f0xx_hal_rcc.o - .ARM.attributes - 0x000000000000010e 0x31 build/stm32f0xx_hal.o - .ARM.attributes - 0x000000000000013f 0x31 build/stm32f0xx_hal_gpio.o - .ARM.attributes - 0x0000000000000170 0x31 build/stm32f0xx_hal_cortex.o - .ARM.attributes - 0x00000000000001a1 0x31 build/system_stm32f0xx.o - .ARM.attributes - 0x00000000000001d2 0x21 build/startup_stm32f072xb.o - .ARM.attributes - 0x00000000000001f3 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - .ARM.attributes - 0x000000000000021f 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - .ARM.attributes - 0x000000000000024b 0x1e /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) - .ARM.attributes - 0x0000000000000269 0x1e /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o) - .ARM.attributes - 0x0000000000000287 0x1e /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o -OUTPUT(build/Blink.elf elf32-littlearm) - -.debug_info 0x0000000000000000 0x3105 - .debug_info 0x0000000000000000 0x71a build/main.o - .debug_info 0x000000000000071a 0x1df build/stm32f0xx_it.o - .debug_info 0x00000000000008f9 0x28b build/stm32f0xx_hal_msp.o - .debug_info 0x0000000000000b84 0xade build/stm32f0xx_hal_rcc.o - .debug_info 0x0000000000001662 0x7f4 build/stm32f0xx_hal.o - .debug_info 0x0000000000001e56 0x703 build/stm32f0xx_hal_gpio.o - .debug_info 0x0000000000002559 0x8b7 build/stm32f0xx_hal_cortex.o - .debug_info 0x0000000000002e10 0x2d3 build/system_stm32f0xx.o - .debug_info 0x00000000000030e3 0x22 build/startup_stm32f072xb.o - -.debug_abbrev 0x0000000000000000 0xdee - .debug_abbrev 0x0000000000000000 0x1c8 build/main.o - .debug_abbrev 0x00000000000001c8 0xe4 build/stm32f0xx_it.o - .debug_abbrev 0x00000000000002ac 0x108 build/stm32f0xx_hal_msp.o - .debug_abbrev 0x00000000000003b4 0x269 build/stm32f0xx_hal_rcc.o - .debug_abbrev 0x000000000000061d 0x209 build/stm32f0xx_hal.o - .debug_abbrev 0x0000000000000826 0x213 build/stm32f0xx_hal_gpio.o - .debug_abbrev 0x0000000000000a39 0x279 build/stm32f0xx_hal_cortex.o - .debug_abbrev 0x0000000000000cb2 0x12a build/system_stm32f0xx.o - .debug_abbrev 0x0000000000000ddc 0x12 build/startup_stm32f072xb.o - -.debug_loc 0x0000000000000000 0x11b2 - .debug_loc 0x0000000000000000 0x79 build/main.o - .debug_loc 0x0000000000000079 0x20 build/stm32f0xx_it.o - .debug_loc 0x0000000000000099 0x20 build/stm32f0xx_hal_msp.o - .debug_loc 0x00000000000000b9 0x61b build/stm32f0xx_hal_rcc.o - .debug_loc 0x00000000000006d4 0x1bb build/stm32f0xx_hal.o - .debug_loc 0x000000000000088f 0x3e1 build/stm32f0xx_hal_gpio.o - .debug_loc 0x0000000000000c70 0x3f7 build/stm32f0xx_hal_cortex.o - .debug_loc 0x0000000000001067 0x14b build/system_stm32f0xx.o - -.debug_aranges 0x0000000000000000 0x300 - .debug_aranges - 0x0000000000000000 0x30 build/main.o - .debug_aranges - 0x0000000000000030 0x40 build/stm32f0xx_it.o - .debug_aranges - 0x0000000000000070 0x20 build/stm32f0xx_hal_msp.o - .debug_aranges - 0x0000000000000090 0x80 build/stm32f0xx_hal_rcc.o - .debug_aranges - 0x0000000000000110 0xd0 build/stm32f0xx_hal.o - .debug_aranges - 0x00000000000001e0 0x58 build/stm32f0xx_hal_gpio.o - .debug_aranges - 0x0000000000000238 0x78 build/stm32f0xx_hal_cortex.o - .debug_aranges - 0x00000000000002b0 0x28 build/system_stm32f0xx.o - .debug_aranges - 0x00000000000002d8 0x28 build/startup_stm32f072xb.o - -.debug_ranges 0x0000000000000000 0x2f0 - .debug_ranges 0x0000000000000000 0x20 build/main.o - .debug_ranges 0x0000000000000020 0x30 build/stm32f0xx_it.o - .debug_ranges 0x0000000000000050 0x10 build/stm32f0xx_hal_msp.o - .debug_ranges 0x0000000000000060 0x88 build/stm32f0xx_hal_rcc.o - .debug_ranges 0x00000000000000e8 0xc0 build/stm32f0xx_hal.o - .debug_ranges 0x00000000000001a8 0x48 build/stm32f0xx_hal_gpio.o - .debug_ranges 0x00000000000001f0 0xc8 build/stm32f0xx_hal_cortex.o - .debug_ranges 0x00000000000002b8 0x18 build/system_stm32f0xx.o - .debug_ranges 0x00000000000002d0 0x20 build/startup_stm32f072xb.o - -.debug_line 0x0000000000000000 0x171e - .debug_line 0x0000000000000000 0x218 build/main.o - .debug_line 0x0000000000000218 0x1cf build/stm32f0xx_it.o - .debug_line 0x00000000000003e7 0x1a3 build/stm32f0xx_hal_msp.o - .debug_line 0x000000000000058a 0x4e6 build/stm32f0xx_hal_rcc.o - .debug_line 0x0000000000000a70 0x3bb build/stm32f0xx_hal.o - .debug_line 0x0000000000000e2b 0x33c build/stm32f0xx_hal_gpio.o - .debug_line 0x0000000000001167 0x372 build/stm32f0xx_hal_cortex.o - .debug_line 0x00000000000014d9 0x1ce build/system_stm32f0xx.o - .debug_line 0x00000000000016a7 0x77 build/startup_stm32f072xb.o - -.debug_str 0x0000000000000000 0xf73 - .debug_str 0x0000000000000000 0x492 build/main.o - 0x4ec (size before relaxing) - .debug_str 0x0000000000000492 0x68 build/stm32f0xx_it.o - 0x297 (size before relaxing) - .debug_str 0x00000000000004fa 0x24 build/stm32f0xx_hal_msp.o - 0x2ad (size before relaxing) - .debug_str 0x000000000000051e 0x252 build/stm32f0xx_hal_rcc.o - 0x6c2 (size before relaxing) - .debug_str 0x0000000000000770 0x3d3 build/stm32f0xx_hal.o - 0x716 (size before relaxing) - .debug_str 0x0000000000000b43 0x123 build/stm32f0xx_hal_gpio.o - 0x4ad (size before relaxing) - .debug_str 0x0000000000000c66 0x292 build/stm32f0xx_hal_cortex.o - 0x700 (size before relaxing) - .debug_str 0x0000000000000ef8 0x57 build/system_stm32f0xx.o - 0x2d9 (size before relaxing) - .debug_str 0x0000000000000f4f 0x24 build/startup_stm32f072xb.o - 0x5a (size before relaxing) - -.comment 0x0000000000000000 0x7f - .comment 0x0000000000000000 0x7f build/main.o - 0x80 (size before relaxing) - .comment 0x000000000000007f 0x80 build/stm32f0xx_it.o - .comment 0x000000000000007f 0x80 build/stm32f0xx_hal_msp.o - .comment 0x000000000000007f 0x80 build/stm32f0xx_hal_rcc.o - .comment 0x000000000000007f 0x80 build/stm32f0xx_hal.o - .comment 0x000000000000007f 0x80 build/stm32f0xx_hal_gpio.o - .comment 0x000000000000007f 0x80 build/stm32f0xx_hal_cortex.o - .comment 0x000000000000007f 0x80 build/system_stm32f0xx.o - -.debug_frame 0x0000000000000000 0x684 - .debug_frame 0x0000000000000000 0x6c build/main.o - .debug_frame 0x000000000000006c 0x6c build/stm32f0xx_it.o - .debug_frame 0x00000000000000d8 0x24 build/stm32f0xx_hal_msp.o - .debug_frame 0x00000000000000fc 0x15c build/stm32f0xx_hal_rcc.o - .debug_frame 0x0000000000000258 0x1c0 build/stm32f0xx_hal.o - .debug_frame 0x0000000000000418 0xd8 build/stm32f0xx_hal_gpio.o - .debug_frame 0x00000000000004f0 0xec build/stm32f0xx_hal_cortex.o - .debug_frame 0x00000000000005dc 0x3c build/system_stm32f0xx.o - .debug_frame 0x0000000000000618 0x2c /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - .debug_frame 0x0000000000000644 0x20 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - .debug_frame 0x0000000000000664 0x20 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) - -Cross Reference Table - -Symbol File -ADC1_COMP_IRQHandler build/startup_stm32f072xb.o -AHBPrescTable build/system_stm32f0xx.o - build/stm32f0xx_hal_rcc.o -APBPrescTable build/system_stm32f0xx.o - build/stm32f0xx_hal_rcc.o -CEC_CAN_IRQHandler build/startup_stm32f072xb.o -DMA1_Channel1_IRQHandler build/startup_stm32f072xb.o -DMA1_Channel2_3_IRQHandler build/startup_stm32f072xb.o -DMA1_Channel4_5_6_7_IRQHandler build/startup_stm32f072xb.o -Default_Handler build/startup_stm32f072xb.o -EXTI0_1_IRQHandler build/startup_stm32f072xb.o -EXTI2_3_IRQHandler build/startup_stm32f072xb.o -EXTI4_15_IRQHandler build/startup_stm32f072xb.o -FLASH_IRQHandler build/startup_stm32f072xb.o -FLASH_PageErase build/stm32f0xx_hal_flash_ex.o - build/stm32f0xx_hal_flash.o -FLASH_WaitForLastOperation build/stm32f0xx_hal_flash.o - build/stm32f0xx_hal_flash_ex.o -HAL_DBGMCU_DisableDBGStandbyMode build/stm32f0xx_hal.o -HAL_DBGMCU_DisableDBGStopMode build/stm32f0xx_hal.o -HAL_DBGMCU_EnableDBGStandbyMode build/stm32f0xx_hal.o -HAL_DBGMCU_EnableDBGStopMode build/stm32f0xx_hal.o -HAL_DMA_Abort build/stm32f0xx_hal_dma.o -HAL_DMA_Abort_IT build/stm32f0xx_hal_dma.o - build/stm32f0xx_hal_i2c.o -HAL_DMA_DeInit build/stm32f0xx_hal_dma.o -HAL_DMA_GetError build/stm32f0xx_hal_dma.o -HAL_DMA_GetState build/stm32f0xx_hal_dma.o -HAL_DMA_IRQHandler build/stm32f0xx_hal_dma.o -HAL_DMA_Init build/stm32f0xx_hal_dma.o -HAL_DMA_PollForTransfer build/stm32f0xx_hal_dma.o -HAL_DMA_RegisterCallback build/stm32f0xx_hal_dma.o -HAL_DMA_Start build/stm32f0xx_hal_dma.o -HAL_DMA_Start_IT build/stm32f0xx_hal_dma.o - build/stm32f0xx_hal_i2c.o -HAL_DMA_UnRegisterCallback build/stm32f0xx_hal_dma.o -HAL_DeInit build/stm32f0xx_hal.o -HAL_Delay build/stm32f0xx_hal.o - build/main.o -HAL_EXTI_ClearConfigLine build/stm32f0xx_hal_exti.o -HAL_EXTI_ClearPending build/stm32f0xx_hal_exti.o -HAL_EXTI_GenerateSWI build/stm32f0xx_hal_exti.o -HAL_EXTI_GetConfigLine build/stm32f0xx_hal_exti.o -HAL_EXTI_GetHandle build/stm32f0xx_hal_exti.o -HAL_EXTI_GetPending build/stm32f0xx_hal_exti.o -HAL_EXTI_IRQHandler build/stm32f0xx_hal_exti.o -HAL_EXTI_RegisterCallback build/stm32f0xx_hal_exti.o -HAL_EXTI_SetConfigLine build/stm32f0xx_hal_exti.o -HAL_FLASHEx_Erase build/stm32f0xx_hal_flash_ex.o -HAL_FLASHEx_Erase_IT build/stm32f0xx_hal_flash_ex.o -HAL_FLASHEx_OBErase build/stm32f0xx_hal_flash_ex.o -HAL_FLASHEx_OBGetConfig build/stm32f0xx_hal_flash_ex.o -HAL_FLASHEx_OBGetUserData build/stm32f0xx_hal_flash_ex.o -HAL_FLASHEx_OBProgram build/stm32f0xx_hal_flash_ex.o -HAL_FLASH_EndOfOperationCallback build/stm32f0xx_hal_flash.o -HAL_FLASH_GetError build/stm32f0xx_hal_flash.o -HAL_FLASH_IRQHandler build/stm32f0xx_hal_flash.o -HAL_FLASH_Lock build/stm32f0xx_hal_flash.o -HAL_FLASH_OB_Launch build/stm32f0xx_hal_flash.o -HAL_FLASH_OB_Lock build/stm32f0xx_hal_flash.o -HAL_FLASH_OB_Unlock build/stm32f0xx_hal_flash.o -HAL_FLASH_OperationErrorCallback build/stm32f0xx_hal_flash.o -HAL_FLASH_Program build/stm32f0xx_hal_flash.o -HAL_FLASH_Program_IT build/stm32f0xx_hal_flash.o -HAL_FLASH_Unlock build/stm32f0xx_hal_flash.o -HAL_GPIO_DeInit build/stm32f0xx_hal_gpio.o -HAL_GPIO_EXTI_Callback build/stm32f0xx_hal_gpio.o -HAL_GPIO_EXTI_IRQHandler build/stm32f0xx_hal_gpio.o -HAL_GPIO_Init build/stm32f0xx_hal_gpio.o - build/stm32f0xx_hal_rcc.o - build/main.o -HAL_GPIO_LockPin build/stm32f0xx_hal_gpio.o -HAL_GPIO_ReadPin build/stm32f0xx_hal_gpio.o -HAL_GPIO_TogglePin build/stm32f0xx_hal_gpio.o -HAL_GPIO_WritePin build/stm32f0xx_hal_gpio.o - build/main.o -HAL_GetDEVID build/stm32f0xx_hal.o -HAL_GetHalVersion build/stm32f0xx_hal.o -HAL_GetREVID build/stm32f0xx_hal.o -HAL_GetTick build/stm32f0xx_hal.o - build/stm32f0xx_hal_flash.o - build/stm32f0xx_hal_dma.o - build/stm32f0xx_hal_i2c.o - build/stm32f0xx_hal_rcc_ex.o - build/stm32f0xx_hal_rcc.o -HAL_GetTickFreq build/stm32f0xx_hal.o -HAL_GetTickPrio build/stm32f0xx_hal.o -HAL_GetUIDw0 build/stm32f0xx_hal.o -HAL_GetUIDw1 build/stm32f0xx_hal.o -HAL_GetUIDw2 build/stm32f0xx_hal.o -HAL_I2CEx_ConfigAnalogFilter build/stm32f0xx_hal_i2c_ex.o -HAL_I2CEx_ConfigDigitalFilter build/stm32f0xx_hal_i2c_ex.o -HAL_I2CEx_DisableFastModePlus build/stm32f0xx_hal_i2c_ex.o -HAL_I2CEx_DisableWakeUp build/stm32f0xx_hal_i2c_ex.o -HAL_I2CEx_EnableFastModePlus build/stm32f0xx_hal_i2c_ex.o -HAL_I2CEx_EnableWakeUp build/stm32f0xx_hal_i2c_ex.o -HAL_I2C_AbortCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_AddrCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_DeInit build/stm32f0xx_hal_i2c.o -HAL_I2C_DisableListen_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_ER_IRQHandler build/stm32f0xx_hal_i2c.o -HAL_I2C_EV_IRQHandler build/stm32f0xx_hal_i2c.o -HAL_I2C_EnableListen_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_ErrorCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_GetError build/stm32f0xx_hal_i2c.o -HAL_I2C_GetMode build/stm32f0xx_hal_i2c.o -HAL_I2C_GetState build/stm32f0xx_hal_i2c.o -HAL_I2C_Init build/stm32f0xx_hal_i2c.o -HAL_I2C_IsDeviceReady build/stm32f0xx_hal_i2c.o -HAL_I2C_ListenCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_MasterRxCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_MasterTxCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Abort_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Receive build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Receive_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Receive_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Seq_Receive_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Seq_Receive_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Seq_Transmit_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Seq_Transmit_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Transmit build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Transmit_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Master_Transmit_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_MemRxCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_MemTxCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_Mem_Read build/stm32f0xx_hal_i2c.o -HAL_I2C_Mem_Read_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Mem_Read_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Mem_Write build/stm32f0xx_hal_i2c.o -HAL_I2C_Mem_Write_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Mem_Write_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_MspDeInit build/stm32f0xx_hal_i2c.o -HAL_I2C_MspInit build/stm32f0xx_hal_i2c.o -HAL_I2C_SlaveRxCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_SlaveTxCpltCallback build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Receive build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Receive_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Receive_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Seq_Receive_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Seq_Receive_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Seq_Transmit_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Seq_Transmit_IT build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Transmit build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Transmit_DMA build/stm32f0xx_hal_i2c.o -HAL_I2C_Slave_Transmit_IT build/stm32f0xx_hal_i2c.o -HAL_IncTick build/stm32f0xx_hal.o - build/stm32f0xx_it.o -HAL_Init build/stm32f0xx_hal.o - build/main.o -HAL_InitTick build/stm32f0xx_hal.o - build/stm32f0xx_hal_rcc.o -HAL_MspDeInit build/stm32f0xx_hal.o -HAL_MspInit build/stm32f0xx_hal_msp.o -HAL_NVIC_ClearPendingIRQ build/stm32f0xx_hal_cortex.o -HAL_NVIC_DisableIRQ build/stm32f0xx_hal_cortex.o -HAL_NVIC_EnableIRQ build/stm32f0xx_hal_cortex.o -HAL_NVIC_GetPendingIRQ build/stm32f0xx_hal_cortex.o -HAL_NVIC_GetPriority build/stm32f0xx_hal_cortex.o -HAL_NVIC_SetPendingIRQ build/stm32f0xx_hal_cortex.o -HAL_NVIC_SetPriority build/stm32f0xx_hal_cortex.o - build/stm32f0xx_hal.o -HAL_NVIC_SystemReset build/stm32f0xx_hal_cortex.o -HAL_PWREx_DisableVddio2Monitor build/stm32f0xx_hal_pwr_ex.o -HAL_PWREx_EnableVddio2Monitor build/stm32f0xx_hal_pwr_ex.o -HAL_PWREx_Vddio2MonitorCallback build/stm32f0xx_hal_pwr_ex.o -HAL_PWREx_Vddio2Monitor_IRQHandler build/stm32f0xx_hal_pwr_ex.o -HAL_PWR_ConfigPVD build/stm32f0xx_hal_pwr_ex.o -HAL_PWR_DeInit build/stm32f0xx_hal_pwr.o -HAL_PWR_DisableBkUpAccess build/stm32f0xx_hal_pwr.o -HAL_PWR_DisablePVD build/stm32f0xx_hal_pwr_ex.o -HAL_PWR_DisableSEVOnPend build/stm32f0xx_hal_pwr.o -HAL_PWR_DisableSleepOnExit build/stm32f0xx_hal_pwr.o -HAL_PWR_DisableWakeUpPin build/stm32f0xx_hal_pwr.o -HAL_PWR_EnableBkUpAccess build/stm32f0xx_hal_pwr.o -HAL_PWR_EnablePVD build/stm32f0xx_hal_pwr_ex.o -HAL_PWR_EnableSEVOnPend build/stm32f0xx_hal_pwr.o -HAL_PWR_EnableSleepOnExit build/stm32f0xx_hal_pwr.o -HAL_PWR_EnableWakeUpPin build/stm32f0xx_hal_pwr.o -HAL_PWR_EnterSLEEPMode build/stm32f0xx_hal_pwr.o -HAL_PWR_EnterSTANDBYMode build/stm32f0xx_hal_pwr.o -HAL_PWR_EnterSTOPMode build/stm32f0xx_hal_pwr.o -HAL_PWR_PVDCallback build/stm32f0xx_hal_pwr_ex.o -HAL_PWR_PVD_IRQHandler build/stm32f0xx_hal_pwr_ex.o -HAL_RCCEx_CRSConfig build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRSGetSynchronizationInfo build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRSSoftwareSynchronizationGenerate build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRSWaitSynchronization build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRS_ErrorCallback build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRS_ExpectedSyncCallback build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRS_IRQHandler build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRS_SyncOkCallback build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_CRS_SyncWarnCallback build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_GetPeriphCLKConfig build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_GetPeriphCLKFreq build/stm32f0xx_hal_rcc_ex.o -HAL_RCCEx_PeriphCLKConfig build/stm32f0xx_hal_rcc_ex.o -HAL_RCC_CSSCallback build/stm32f0xx_hal_rcc.o -HAL_RCC_ClockConfig build/stm32f0xx_hal_rcc.o - build/main.o -HAL_RCC_DeInit build/stm32f0xx_hal_rcc.o -HAL_RCC_DisableCSS build/stm32f0xx_hal_rcc.o -HAL_RCC_EnableCSS build/stm32f0xx_hal_rcc.o -HAL_RCC_GetClockConfig build/stm32f0xx_hal_rcc.o -HAL_RCC_GetHCLKFreq build/stm32f0xx_hal_rcc.o -HAL_RCC_GetOscConfig build/stm32f0xx_hal_rcc.o -HAL_RCC_GetPCLK1Freq build/stm32f0xx_hal_rcc.o - build/stm32f0xx_hal_rcc_ex.o -HAL_RCC_GetSysClockFreq build/stm32f0xx_hal_rcc.o - build/stm32f0xx_hal_rcc_ex.o -HAL_RCC_MCOConfig build/stm32f0xx_hal_rcc.o -HAL_RCC_NMI_IRQHandler build/stm32f0xx_hal_rcc.o -HAL_RCC_OscConfig build/stm32f0xx_hal_rcc.o - build/main.o -HAL_ResumeTick build/stm32f0xx_hal.o -HAL_SYSTICK_CLKSourceConfig build/stm32f0xx_hal_cortex.o -HAL_SYSTICK_Callback build/stm32f0xx_hal_cortex.o -HAL_SYSTICK_Config build/stm32f0xx_hal_cortex.o - build/stm32f0xx_hal.o -HAL_SYSTICK_IRQHandler build/stm32f0xx_hal_cortex.o -HAL_SetTickFreq build/stm32f0xx_hal.o -HAL_SuspendTick build/stm32f0xx_hal.o -HardFault_Handler build/stm32f0xx_it.o -I2C1_IRQHandler build/startup_stm32f072xb.o -I2C2_IRQHandler build/startup_stm32f072xb.o -NMI_Handler build/stm32f0xx_it.o -PVD_VDDIO2_IRQHandler build/startup_stm32f072xb.o -PendSV_Handler build/stm32f0xx_it.o -RCC_CRS_IRQHandler build/startup_stm32f072xb.o -RTC_IRQHandler build/startup_stm32f072xb.o -Reset_Handler build/startup_stm32f072xb.o -SPI1_IRQHandler build/startup_stm32f072xb.o -SPI2_IRQHandler build/startup_stm32f072xb.o -SVC_Handler build/stm32f0xx_it.o -SysTick_Handler build/stm32f0xx_it.o -SystemClock_Config build/main.o -SystemCoreClock build/system_stm32f0xx.o - build/stm32f0xx_hal.o - build/stm32f0xx_hal_rcc.o -SystemCoreClockUpdate build/system_stm32f0xx.o -SystemInit build/system_stm32f0xx.o - build/startup_stm32f072xb.o -TIM14_IRQHandler build/startup_stm32f072xb.o -TIM15_IRQHandler build/startup_stm32f072xb.o -TIM16_IRQHandler build/startup_stm32f072xb.o -TIM17_IRQHandler build/startup_stm32f072xb.o -TIM1_BRK_UP_TRG_COM_IRQHandler build/startup_stm32f072xb.o -TIM1_CC_IRQHandler build/startup_stm32f072xb.o -TIM2_IRQHandler build/startup_stm32f072xb.o -TIM3_IRQHandler build/startup_stm32f072xb.o -TIM6_DAC_IRQHandler build/startup_stm32f072xb.o -TIM7_IRQHandler build/startup_stm32f072xb.o -TSC_IRQHandler build/startup_stm32f072xb.o -USART1_IRQHandler build/startup_stm32f072xb.o -USART2_IRQHandler build/startup_stm32f072xb.o -USART3_4_IRQHandler build/startup_stm32f072xb.o -USB_IRQHandler build/startup_stm32f072xb.o -WWDG_IRQHandler build/startup_stm32f072xb.o -__aeabi_idiv0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) -__aeabi_ldiv0 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o) -__aeabi_uidiv /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) - build/system_stm32f0xx.o - build/stm32f0xx_hal_dma.o - build/stm32f0xx_hal.o - build/stm32f0xx_hal_rcc_ex.o - build/stm32f0xx_hal_rcc.o -__aeabi_uidivmod /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) -__bss_end__ /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -__bss_start__ /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -__call_exitprocs /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) -__deregister_frame_info /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o -__dso_handle /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o -__init_array_end /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) -__init_array_start /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) -__libc_fini_array /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -__libc_init_array /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) - build/startup_stm32f072xb.o - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -__preinit_array_end /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) -__preinit_array_start /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) -__register_frame_info /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o -__sf_fake_stderr /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) -__sf_fake_stdin /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) -__sf_fake_stdout /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) -__stack /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -__udivsi3 /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) -_ebss build/startup_stm32f072xb.o -_edata build/startup_stm32f072xb.o -_estack build/startup_stm32f072xb.o -_exit /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) -_fini /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o -_global_impure_ptr /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) -_impure_ptr /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o) -_init /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o) -_mainCRTStartup /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -_sbss build/startup_stm32f072xb.o -_sdata build/startup_stm32f072xb.o -_sidata build/startup_stm32f072xb.o -_start /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -atexit /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -exit /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -g_pfnVectors build/startup_stm32f072xb.o -hardware_init_hook /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -main build/main.o - build/startup_stm32f072xb.o - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -memset /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o) - build/main.o - /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -pFlash build/stm32f0xx_hal_flash.o - build/stm32f0xx_hal_flash_ex.o -software_init_hook /home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -uwTick build/stm32f0xx_hal.o -uwTickFreq build/stm32f0xx_hal.o -uwTickPrio build/stm32f0xx_hal.o - build/stm32f0xx_hal_rcc.o diff --git a/Blink/build/main.d b/Blink/build/main.d deleted file mode 100644 index ab9b544..0000000 --- a/Blink/build/main.d +++ /dev/null @@ -1,73 +0,0 @@ -build/main.o: Src/main.c Inc/main.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Inc/main.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/main.lst b/Blink/build/main.lst deleted file mode 100644 index 507741e..0000000 --- a/Blink/build/main.lst +++ /dev/null @@ -1,360 +0,0 @@ -ARM GAS /tmp/ccDVxZ8R.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "main.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.MX_GPIO_Init,"ax",%progbits - 16 .align 1 - 17 .syntax unified - 18 .code 16 - 19 .thumb_func - 20 .fpu softvfp - 22 MX_GPIO_Init: - 23 .LFB42: - 24 .file 1 "Src/main.c" - 1:Src/main.c **** - 2:Src/main.c **** #include "main.h" - 3:Src/main.c **** - 4:Src/main.c **** void SystemClock_Config(void); - 5:Src/main.c **** static void MX_GPIO_Init(void); - 6:Src/main.c **** - 7:Src/main.c **** int main(void) - 8:Src/main.c **** { - 9:Src/main.c **** HAL_Init(); - 10:Src/main.c **** SystemClock_Config(); - 11:Src/main.c **** - 12:Src/main.c **** MX_GPIO_Init(); - 13:Src/main.c **** - 14:Src/main.c **** while (1) - 15:Src/main.c **** { - 16:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,1); - 17:Src/main.c **** HAL_Delay(1000); - 18:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,0); - 19:Src/main.c **** HAL_Delay(1000); - 20:Src/main.c **** } - 21:Src/main.c **** } - 22:Src/main.c **** - 23:Src/main.c **** void SystemClock_Config(void) - 24:Src/main.c **** { - 25:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 26:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 27:Src/main.c **** - 28:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; - 29:Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; - 30:Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - 31:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; - 32:Src/main.c **** HAL_RCC_OscConfig(&RCC_OscInitStruct); - 33:Src/main.c **** - 34:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - ARM GAS /tmp/ccDVxZ8R.s page 2 - - - 35:Src/main.c **** |RCC_CLOCKTYPE_PCLK1; - 36:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; - 37:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 38:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; - 39:Src/main.c **** - 40:Src/main.c **** HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0); - 41:Src/main.c **** } - 42:Src/main.c **** - 43:Src/main.c **** static void MX_GPIO_Init(void) - 44:Src/main.c **** { - 25 .loc 1 44 0 - 26 .cfi_startproc - 27 @ args = 0, pretend = 0, frame = 32 - 28 @ frame_needed = 0, uses_anonymous_args = 0 - 29 0000 30B5 push {r4, r5, lr} - 30 .LCFI0: - 31 .cfi_def_cfa_offset 12 - 32 .cfi_offset 4, -12 - 33 .cfi_offset 5, -8 - 34 .cfi_offset 14, -4 - 35 0002 89B0 sub sp, sp, #36 - 36 .LCFI1: - 37 .cfi_def_cfa_offset 48 - 45:Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; - 38 .loc 1 45 0 - 39 0004 1422 movs r2, #20 - 40 0006 0021 movs r1, #0 - 41 0008 03A8 add r0, sp, #12 - 42 000a FFF7FEFF bl memset - 43 .LVL0: - 44 .LBB2: - 46:Src/main.c **** - 47:Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE(); - 45 .loc 1 47 0 - 46 000e 134B ldr r3, .L2 - 47 0010 5969 ldr r1, [r3, #20] - 48 0012 8020 movs r0, #128 - 49 0014 C002 lsls r0, r0, #11 - 50 0016 0143 orrs r1, r0 - 51 0018 5961 str r1, [r3, #20] - 52 001a 5A69 ldr r2, [r3, #20] - 53 001c 0240 ands r2, r0 - 54 001e 0192 str r2, [sp, #4] - 55 0020 019A ldr r2, [sp, #4] - 56 .LBE2: - 57 .LBB3: - 48:Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE(); - 58 .loc 1 48 0 - 59 0022 5A69 ldr r2, [r3, #20] - 60 0024 8021 movs r1, #128 - 61 0026 8902 lsls r1, r1, #10 - 62 0028 0A43 orrs r2, r1 - 63 002a 5A61 str r2, [r3, #20] - 64 002c 5B69 ldr r3, [r3, #20] - 65 002e 0B40 ands r3, r1 - 66 0030 0293 str r3, [sp, #8] - 67 0032 029B ldr r3, [sp, #8] - ARM GAS /tmp/ccDVxZ8R.s page 3 - - - 68 .LBE3: - 49:Src/main.c **** - 50:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET); - 69 .loc 1 50 0 - 70 0034 8025 movs r5, #128 - 71 0036 AD01 lsls r5, r5, #6 - 72 0038 094C ldr r4, .L2+4 - 73 003a 0022 movs r2, #0 - 74 003c 2900 movs r1, r5 - 75 003e 2000 movs r0, r4 - 76 0040 FFF7FEFF bl HAL_GPIO_WritePin - 77 .LVL1: - 51:Src/main.c **** - 52:Src/main.c **** GPIO_InitStruct.Pin = GPIO_PIN_13; - 78 .loc 1 52 0 - 79 0044 0395 str r5, [sp, #12] - 53:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - 80 .loc 1 53 0 - 81 0046 0123 movs r3, #1 - 82 0048 0493 str r3, [sp, #16] - 54:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; - 83 .loc 1 54 0 - 84 004a 0023 movs r3, #0 - 85 004c 0593 str r3, [sp, #20] - 55:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 86 .loc 1 55 0 - 87 004e 0693 str r3, [sp, #24] - 56:Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 88 .loc 1 56 0 - 89 0050 03A9 add r1, sp, #12 - 90 0052 2000 movs r0, r4 - 91 0054 FFF7FEFF bl HAL_GPIO_Init - 92 .LVL2: - 57:Src/main.c **** - 58:Src/main.c **** } - 93 .loc 1 58 0 - 94 0058 09B0 add sp, sp, #36 - 95 @ sp needed - 96 005a 30BD pop {r4, r5, pc} - 97 .L3: - 98 .align 2 - 99 .L2: - 100 005c 00100240 .word 1073876992 - 101 0060 00040048 .word 1207960576 - 102 .cfi_endproc - 103 .LFE42: - 105 .section .text.SystemClock_Config,"ax",%progbits - 106 .align 1 - 107 .global SystemClock_Config - 108 .syntax unified - 109 .code 16 - 110 .thumb_func - 111 .fpu softvfp - 113 SystemClock_Config: - 114 .LFB41: - 24:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 115 .loc 1 24 0 - ARM GAS /tmp/ccDVxZ8R.s page 4 - - - 116 .cfi_startproc - 117 @ args = 0, pretend = 0, frame = 72 - 118 @ frame_needed = 0, uses_anonymous_args = 0 - 119 0000 00B5 push {lr} - 120 .LCFI2: - 121 .cfi_def_cfa_offset 4 - 122 .cfi_offset 14, -4 - 123 0002 93B0 sub sp, sp, #76 - 124 .LCFI3: - 125 .cfi_def_cfa_offset 80 - 25:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 126 .loc 1 25 0 - 127 0004 3022 movs r2, #48 - 128 0006 0021 movs r1, #0 - 129 0008 06A8 add r0, sp, #24 - 130 000a FFF7FEFF bl memset - 131 .LVL3: - 26:Src/main.c **** - 132 .loc 1 26 0 - 133 000e 1022 movs r2, #16 - 134 0010 0021 movs r1, #0 - 135 0012 01A8 add r0, sp, #4 - 136 0014 FFF7FEFF bl memset - 137 .LVL4: - 28:Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON; - 138 .loc 1 28 0 - 139 0018 0223 movs r3, #2 - 140 001a 0593 str r3, [sp, #20] - 29:Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - 141 .loc 1 29 0 - 142 001c 013B subs r3, r3, #1 - 143 001e 0893 str r3, [sp, #32] - 30:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; - 144 .loc 1 30 0 - 145 0020 0F33 adds r3, r3, #15 - 146 0022 0993 str r3, [sp, #36] - 32:Src/main.c **** - 147 .loc 1 32 0 - 148 0024 05A8 add r0, sp, #20 - 149 0026 FFF7FEFF bl HAL_RCC_OscConfig - 150 .LVL5: - 34:Src/main.c **** |RCC_CLOCKTYPE_PCLK1; - 151 .loc 1 34 0 - 152 002a 0723 movs r3, #7 - 153 002c 0193 str r3, [sp, #4] - 36:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 154 .loc 1 36 0 - 155 002e 0023 movs r3, #0 - 156 0030 0293 str r3, [sp, #8] - 37:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; - 157 .loc 1 37 0 - 158 0032 0393 str r3, [sp, #12] - 38:Src/main.c **** - 159 .loc 1 38 0 - 160 0034 0493 str r3, [sp, #16] - 40:Src/main.c **** } - 161 .loc 1 40 0 - ARM GAS /tmp/ccDVxZ8R.s page 5 - - - 162 0036 0021 movs r1, #0 - 163 0038 01A8 add r0, sp, #4 - 164 003a FFF7FEFF bl HAL_RCC_ClockConfig - 165 .LVL6: - 41:Src/main.c **** - 166 .loc 1 41 0 - 167 003e 13B0 add sp, sp, #76 - 168 @ sp needed - 169 0040 00BD pop {pc} - 170 .cfi_endproc - 171 .LFE41: - 173 .section .text.main,"ax",%progbits - 174 .align 1 - 175 .global main - 176 .syntax unified - 177 .code 16 - 178 .thumb_func - 179 .fpu softvfp - 181 main: - 182 .LFB40: - 8:Src/main.c **** HAL_Init(); - 183 .loc 1 8 0 - 184 .cfi_startproc - 185 @ Volatile: function does not return. - 186 @ args = 0, pretend = 0, frame = 0 - 187 @ frame_needed = 0, uses_anonymous_args = 0 - 188 0000 70B5 push {r4, r5, r6, lr} - 189 .LCFI4: - 190 .cfi_def_cfa_offset 16 - 191 .cfi_offset 4, -16 - 192 .cfi_offset 5, -12 - 193 .cfi_offset 6, -8 - 194 .cfi_offset 14, -4 - 9:Src/main.c **** SystemClock_Config(); - 195 .loc 1 9 0 - 196 0002 FFF7FEFF bl HAL_Init - 197 .LVL7: - 10:Src/main.c **** - 198 .loc 1 10 0 - 199 0006 FFF7FEFF bl SystemClock_Config - 200 .LVL8: - 12:Src/main.c **** - 201 .loc 1 12 0 - 202 000a FFF7FEFF bl MX_GPIO_Init - 203 .LVL9: - 204 .L6: - 16:Src/main.c **** HAL_Delay(1000); - 205 .loc 1 16 0 discriminator 1 - 206 000e 8026 movs r6, #128 - 207 0010 B601 lsls r6, r6, #6 - 208 0012 0A4D ldr r5, .L7 - 209 0014 0122 movs r2, #1 - 210 0016 3100 movs r1, r6 - 211 0018 2800 movs r0, r5 - 212 001a FFF7FEFF bl HAL_GPIO_WritePin - 213 .LVL10: - 17:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,0); - ARM GAS /tmp/ccDVxZ8R.s page 6 - - - 214 .loc 1 17 0 discriminator 1 - 215 001e FA24 movs r4, #250 - 216 0020 A400 lsls r4, r4, #2 - 217 0022 2000 movs r0, r4 - 218 0024 FFF7FEFF bl HAL_Delay - 219 .LVL11: - 18:Src/main.c **** HAL_Delay(1000); - 220 .loc 1 18 0 discriminator 1 - 221 0028 0022 movs r2, #0 - 222 002a 3100 movs r1, r6 - 223 002c 2800 movs r0, r5 - 224 002e FFF7FEFF bl HAL_GPIO_WritePin - 225 .LVL12: - 19:Src/main.c **** } - 226 .loc 1 19 0 discriminator 1 - 227 0032 2000 movs r0, r4 - 228 0034 FFF7FEFF bl HAL_Delay - 229 .LVL13: - 230 0038 E9E7 b .L6 - 231 .L8: - 232 003a C046 .align 2 - 233 .L7: - 234 003c 00040048 .word 1207960576 - 235 .cfi_endproc - 236 .LFE40: - 238 .text - 239 .Letext0: - 240 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 241 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 242 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 243 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 244 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h" - 245 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h" - 246 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - 247 .file 9 "" - ARM GAS /tmp/ccDVxZ8R.s page 7 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 main.c - /tmp/ccDVxZ8R.s:16 .text.MX_GPIO_Init:0000000000000000 $t - /tmp/ccDVxZ8R.s:22 .text.MX_GPIO_Init:0000000000000000 MX_GPIO_Init - /tmp/ccDVxZ8R.s:100 .text.MX_GPIO_Init:000000000000005c $d - /tmp/ccDVxZ8R.s:106 .text.SystemClock_Config:0000000000000000 $t - /tmp/ccDVxZ8R.s:113 .text.SystemClock_Config:0000000000000000 SystemClock_Config - /tmp/ccDVxZ8R.s:174 .text.main:0000000000000000 $t - /tmp/ccDVxZ8R.s:181 .text.main:0000000000000000 main - /tmp/ccDVxZ8R.s:234 .text.main:000000000000003c $d - -UNDEFINED SYMBOLS -memset -HAL_GPIO_WritePin -HAL_GPIO_Init -HAL_RCC_OscConfig -HAL_RCC_ClockConfig -HAL_Init -HAL_Delay diff --git a/Blink/build/main.o b/Blink/build/main.o deleted file mode 100644 index c31b7a0..0000000 Binary files a/Blink/build/main.o and /dev/null differ diff --git a/Blink/build/startup_stm32f072xb.d b/Blink/build/startup_stm32f072xb.d deleted file mode 100644 index 1c25e32..0000000 --- a/Blink/build/startup_stm32f072xb.d +++ /dev/null @@ -1 +0,0 @@ -build/startup_stm32f072xb.o: startup_stm32f072xb.s diff --git a/Blink/build/startup_stm32f072xb.o b/Blink/build/startup_stm32f072xb.o deleted file mode 100644 index 73395e1..0000000 Binary files a/Blink/build/startup_stm32f072xb.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal.d b/Blink/build/stm32f0xx_hal.d deleted file mode 100644 index 61bf7c3..0000000 --- a/Blink/build/stm32f0xx_hal.d +++ /dev/null @@ -1,71 +0,0 @@ -build/stm32f0xx_hal.o: Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal.lst b/Blink/build/stm32f0xx_hal.lst deleted file mode 100644 index 29cc59b..0000000 --- a/Blink/build/stm32f0xx_hal.lst +++ /dev/null @@ -1,1454 +0,0 @@ -ARM GAS /tmp/ccZwh3uI.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_MspInit,"ax",%progbits - 16 .align 1 - 17 .weak HAL_MspInit - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_MspInit: - 24 .LFB42: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @file stm32f0xx_hal.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * This is the common part of the HAL initialization - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @verbatim - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ============================================================================== - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ##### How to use this driver ##### - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ============================================================================== - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..] - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** The common HAL driver contains a set of generic and common APIs that can be - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** used by the PPP peripheral drivers and the user to start using the HAL. - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..] - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** The HAL contains two APIs categories: - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) HAL Initialization and de-initialization functions - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) HAL Control functions - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @endverbatim - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ****************************************************************************** - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @attention - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** *

© Copyright (c) 2016 STMicroelectronics. - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * All rights reserved.

- 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * This software component is licensed by ST under BSD 3-Clause license, - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * the "License"; You may not use this file except in compliance with the - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * License. You may obtain a copy of the License at: - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * opensource.org/licenses/BSD-3-Clause - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ****************************************************************************** - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - ARM GAS /tmp/ccZwh3uI.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Includes ------------------------------------------------------------------*/ - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #include "stm32f0xx_hal.h" - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @addtogroup STM32F0xx_HAL_Driver - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL HAL - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief HAL module driver. - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #ifdef HAL_MODULE_ENABLED - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private typedef -----------------------------------------------------------*/ - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private define ------------------------------------------------------------*/ - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Private_Constants HAL Private Constants - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief STM32F0xx HAL Driver version number V1.7.3 - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_MAIN (0x01U) /*!< [31:24] main version */ - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_SUB1 (0x07U) /*!< [23:16] sub1 version */ - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_SUB2 (0x03U) /*!< [15:8] sub2 version */ - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_RC (0x00U) /*!< [7:0] release candidate */ - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION ((__STM32F0xx_HAL_VERSION_MAIN << 24U)\ - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** |(__STM32F0xx_HAL_VERSION_SUB1 << 16U)\ - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** |(__STM32F0xx_HAL_VERSION_SUB2 << 8U )\ - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** |(__STM32F0xx_HAL_VERSION_RC)) - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define IDCODE_DEVID_MASK (0x00000FFFU) - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @} - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private macro -------------------------------------------------------------*/ - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Private_Macros HAL Private Macros - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @} - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Exported variables ---------------------------------------------------------*/ - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Private_Variables HAL Exported Variables - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __IO uint32_t uwTick; - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t uwTickPrio = (1UL << __NVIC_PRIO_BITS); /* Invalid PRIO */ - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef uwTickFreq = HAL_TICK_FREQ_DEFAULT; /* 1KHz */ - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @} - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private function prototypes -----------------------------------------------*/ - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Exported functions ---------------------------------------------------------*/ - ARM GAS /tmp/ccZwh3uI.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Exported_Functions HAL Exported Functions - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group1 Initialization and de-initialization Functions - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Initialization and de-initialization functions - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @verbatim - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** =============================================================================== - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ##### Initialization and de-initialization functions ##### - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** =============================================================================== - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..] This section provides functions allowing to: - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Initializes the Flash interface, the NVIC allocation and initial clock - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** configuration. It initializes the systick also when timeout is needed - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** and the backup domain when enabled. - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) de-Initializes common part of the HAL. - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Configure The time base source to have 1ms time base with a dedicated - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** Tick interrupt priority. - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) SysTick timer is used by default as source of time base, but user - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** can eventually implement his proper time base source (a general purpose - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** timer for example or other time source), keeping in mind that Time base - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** handled in milliseconds basis. - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) Time base configuration function (HAL_InitTick ()) is called automatically - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** at the beginning of the program after reset by HAL_Init() or at any time - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** when clock is configured, by HAL_RCC_ClockConfig(). - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) Source of time base is configured to generate interrupts at regular - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** time intervals. Care must be taken if HAL_Delay() is called from a - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** peripheral ISR process, the Tick interrupt line must have higher priority - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (numerically lower) than the peripheral interrupt. Otherwise the caller - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ISR process will be blocked. - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) functions affecting time base configurations are declared as __Weak - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** to make override possible in case of other implementations in user file. - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @endverbatim - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function configures the Flash prefetch, - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Configures time base source, NVIC and Low level hardware - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is called at the beginning of program after reset and before - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * the clock configuration - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note The time base configuration is based on HSI clock when exiting from Reset. - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Once done, time base tick start incrementing. - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * In the default implementation,Systick is used as source of time base. - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The tick variable is incremented each 1ms in its ISR. - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval HAL status - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef HAL_Init(void) - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Configure Flash prefetch */ - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #if (PREFETCH_ENABLE != 0) - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #endif /* PREFETCH_ENABLE */ - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - ARM GAS /tmp/ccZwh3uI.s page 4 - - - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_InitTick(TICK_INT_PRIORITY); - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Init the low level hardware */ - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_MspInit(); - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Return function status */ - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_OK; - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function de-Initialize common part of the HAL and stops the SysTick - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * of time base. - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is optional. - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval HAL status - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef HAL_DeInit(void) - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Reset of all peripherals */ - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB1_FORCE_RESET(); - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB1_RELEASE_RESET(); - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB2_FORCE_RESET(); - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB2_RELEASE_RESET(); - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_AHB_FORCE_RESET(); - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_AHB_RELEASE_RESET(); - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* De-Init the low level hardware */ - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_MspDeInit(); - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Return function status */ - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_OK; - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Initialize the MSP. - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_MspInit(void) - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 26 .loc 1 189 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 @ link register save eliminated. - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* NOTE : This function should not be modified, when the callback is needed, - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** the HAL_MspInit could be implemented in the user file - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 31 .loc 1 193 0 - 32 @ sp needed - 33 0000 7047 bx lr - 34 .cfi_endproc - 35 .LFE42: - 37 .section .text.HAL_MspDeInit,"ax",%progbits - ARM GAS /tmp/ccZwh3uI.s page 5 - - - 38 .align 1 - 39 .weak HAL_MspDeInit - 40 .syntax unified - 41 .code 16 - 42 .thumb_func - 43 .fpu softvfp - 45 HAL_MspDeInit: - 46 .LFB43: - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief DeInitializes the MSP. - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_MspDeInit(void) - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 47 .loc 1 200 0 - 48 .cfi_startproc - 49 @ args = 0, pretend = 0, frame = 0 - 50 @ frame_needed = 0, uses_anonymous_args = 0 - 51 @ link register save eliminated. - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* NOTE : This function should not be modified, when the callback is needed, - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** the HAL_MspDeInit could be implemented in the user file - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 52 .loc 1 204 0 - 53 @ sp needed - 54 0000 7047 bx lr - 55 .cfi_endproc - 56 .LFE43: - 58 .section .text.HAL_DeInit,"ax",%progbits - 59 .align 1 - 60 .global HAL_DeInit - 61 .syntax unified - 62 .code 16 - 63 .thumb_func - 64 .fpu softvfp - 66 HAL_DeInit: - 67 .LFB41: - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Reset of all peripherals */ - 68 .loc 1 166 0 - 69 .cfi_startproc - 70 @ args = 0, pretend = 0, frame = 0 - 71 @ frame_needed = 0, uses_anonymous_args = 0 - 72 0000 10B5 push {r4, lr} - 73 .LCFI0: - 74 .cfi_def_cfa_offset 8 - 75 .cfi_offset 4, -8 - 76 .cfi_offset 14, -4 - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB1_RELEASE_RESET(); - 77 .loc 1 168 0 - 78 0002 074B ldr r3, .L4 - 79 0004 0121 movs r1, #1 - 80 0006 4942 rsbs r1, r1, #0 - 81 0008 1961 str r1, [r3, #16] - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 82 .loc 1 169 0 - 83 000a 0022 movs r2, #0 - ARM GAS /tmp/ccZwh3uI.s page 6 - - - 84 000c 1A61 str r2, [r3, #16] - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB2_RELEASE_RESET(); - 85 .loc 1 171 0 - 86 000e D960 str r1, [r3, #12] - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 87 .loc 1 172 0 - 88 0010 DA60 str r2, [r3, #12] - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_AHB_RELEASE_RESET(); - 89 .loc 1 174 0 - 90 0012 9962 str r1, [r3, #40] - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 91 .loc 1 175 0 - 92 0014 9A62 str r2, [r3, #40] - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 93 .loc 1 178 0 - 94 0016 FFF7FEFF bl HAL_MspDeInit - 95 .LVL0: - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 96 .loc 1 182 0 - 97 001a 0020 movs r0, #0 - 98 @ sp needed - 99 001c 10BD pop {r4, pc} - 100 .L5: - 101 001e C046 .align 2 - 102 .L4: - 103 0020 00100240 .word 1073876992 - 104 .cfi_endproc - 105 .LFE41: - 107 .global __aeabi_uidiv - 108 .section .text.HAL_InitTick,"ax",%progbits - 109 .align 1 - 110 .weak HAL_InitTick - 111 .syntax unified - 112 .code 16 - 113 .thumb_func - 114 .fpu softvfp - 116 HAL_InitTick: - 117 .LFB44: - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function configures the source of the time base. - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The time source is configured to have 1ms time base with a dedicated - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Tick interrupt priority. - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is called automatically at the beginning of program after - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * reset by HAL_Init() or at any time when clock is reconfigured by HAL_RCC_ClockConfig(). - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation, SysTick timer is the source of time base. - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * It is used to generate interrupts at regular time intervals. - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Care must be taken if HAL_Delay() is called from a peripheral ISR process, - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The SysTick interrupt must have higher priority (numerically lower) - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * than the peripheral interrupt. Otherwise the caller ISR process will be blocked. - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The function is declared as __Weak to be overwritten in case of other - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementation in user file. - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @param TickPriority Tick interrupt priority. - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval HAL status - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - ARM GAS /tmp/ccZwh3uI.s page 7 - - - 118 .loc 1 223 0 - 119 .cfi_startproc - 120 @ args = 0, pretend = 0, frame = 0 - 121 @ frame_needed = 0, uses_anonymous_args = 0 - 122 .LVL1: - 123 0000 10B5 push {r4, lr} - 124 .LCFI1: - 125 .cfi_def_cfa_offset 8 - 126 .cfi_offset 4, -8 - 127 .cfi_offset 14, -4 - 128 0002 0400 movs r4, r0 - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /*Configure the SysTick to have interrupt in 1ms time basis*/ - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) - 129 .loc 1 225 0 - 130 0004 0F4B ldr r3, .L11 - 131 0006 1978 ldrb r1, [r3] - 132 0008 FA20 movs r0, #250 - 133 .LVL2: - 134 000a 8000 lsls r0, r0, #2 - 135 000c FFF7FEFF bl __aeabi_uidiv - 136 .LVL3: - 137 0010 0100 movs r1, r0 - 138 0012 0D4B ldr r3, .L11+4 - 139 0014 1868 ldr r0, [r3] - 140 0016 FFF7FEFF bl __aeabi_uidiv - 141 .LVL4: - 142 001a FFF7FEFF bl HAL_SYSTICK_Config - 143 .LVL5: - 144 001e 0028 cmp r0, #0 - 145 0020 0DD1 bne .L8 - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_ERROR; - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Configure the SysTick IRQ priority */ - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (TickPriority < (1UL << __NVIC_PRIO_BITS)) - 146 .loc 1 231 0 - 147 0022 032C cmp r4, #3 - 148 0024 01D9 bls .L10 - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickPrio = TickPriority; - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** else - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_ERROR; - 149 .loc 1 238 0 - 150 0026 0120 movs r0, #1 - 151 0028 0AE0 b .L7 - 152 .L10: - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickPrio = TickPriority; - 153 .loc 1 233 0 - 154 002a 0130 adds r0, r0, #1 - 155 002c 0022 movs r2, #0 - 156 002e 2100 movs r1, r4 - 157 0030 4042 rsbs r0, r0, #0 - 158 0032 FFF7FEFF bl HAL_NVIC_SetPriority - ARM GAS /tmp/ccZwh3uI.s page 8 - - - 159 .LVL6: - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 160 .loc 1 234 0 - 161 0036 054B ldr r3, .L11+8 - 162 0038 1C60 str r4, [r3] - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Return function status */ - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_OK; - 163 .loc 1 242 0 - 164 003a 0020 movs r0, #0 - 165 003c 00E0 b .L7 - 166 .L8: - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 167 .loc 1 227 0 - 168 003e 0120 movs r0, #1 - 169 .L7: - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 170 .loc 1 243 0 - 171 @ sp needed - 172 .LVL7: - 173 0040 10BD pop {r4, pc} - 174 .L12: - 175 0042 C046 .align 2 - 176 .L11: - 177 0044 00000000 .word .LANCHOR0 - 178 0048 00000000 .word SystemCoreClock - 179 004c 00000000 .word .LANCHOR1 - 180 .cfi_endproc - 181 .LFE44: - 183 .section .text.HAL_Init,"ax",%progbits - 184 .align 1 - 185 .global HAL_Init - 186 .syntax unified - 187 .code 16 - 188 .thumb_func - 189 .fpu softvfp - 191 HAL_Init: - 192 .LFB40: - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Configure Flash prefetch */ - 193 .loc 1 142 0 - 194 .cfi_startproc - 195 @ args = 0, pretend = 0, frame = 0 - 196 @ frame_needed = 0, uses_anonymous_args = 0 - 197 0000 10B5 push {r4, lr} - 198 .LCFI2: - 199 .cfi_def_cfa_offset 8 - 200 .cfi_offset 4, -8 - 201 .cfi_offset 14, -4 - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #endif /* PREFETCH_ENABLE */ - 202 .loc 1 145 0 - 203 0002 064A ldr r2, .L14 - 204 0004 1368 ldr r3, [r2] - 205 0006 1021 movs r1, #16 - 206 0008 0B43 orrs r3, r1 - 207 000a 1360 str r3, [r2] - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - ARM GAS /tmp/ccZwh3uI.s page 9 - - - 208 .loc 1 150 0 - 209 000c 0020 movs r0, #0 - 210 000e FFF7FEFF bl HAL_InitTick - 211 .LVL8: - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 212 .loc 1 153 0 - 213 0012 FFF7FEFF bl HAL_MspInit - 214 .LVL9: - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 215 .loc 1 157 0 - 216 0016 0020 movs r0, #0 - 217 @ sp needed - 218 0018 10BD pop {r4, pc} - 219 .L15: - 220 001a C046 .align 2 - 221 .L14: - 222 001c 00200240 .word 1073881088 - 223 .cfi_endproc - 224 .LFE40: - 226 .section .text.HAL_IncTick,"ax",%progbits - 227 .align 1 - 228 .weak HAL_IncTick - 229 .syntax unified - 230 .code 16 - 231 .thumb_func - 232 .fpu softvfp - 234 HAL_IncTick: - 235 .LFB45: - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @} - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group2 HAL Control functions - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief HAL Control functions - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @verbatim - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** =============================================================================== - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ##### HAL Control functions ##### - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** =============================================================================== - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..] This section provides functions allowing to: - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Provide a tick value in millisecond - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Provide a blocking delay in millisecond - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Suspend the time base source interrupt - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Resume the time base source interrupt - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Get the HAL API driver version - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Get the device identifier - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Get the device revision identifier - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Enable/Disable Debug module during Sleep mode - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Enable/Disable Debug module during STOP mode - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Enable/Disable Debug module during STANDBY mode - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @endverbatim - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{ - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - ARM GAS /tmp/ccZwh3uI.s page 10 - - - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function is called to increment a global variable "uwTick" - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * used as application time base. - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation, this variable is incremented each 1ms - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * in SysTick ISR. - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file. - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_IncTick(void) - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 236 .loc 1 282 0 - 237 .cfi_startproc - 238 @ args = 0, pretend = 0, frame = 0 - 239 @ frame_needed = 0, uses_anonymous_args = 0 - 240 @ link register save eliminated. - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTick += uwTickFreq; - 241 .loc 1 283 0 - 242 0000 034A ldr r2, .L17 - 243 0002 1168 ldr r1, [r2] - 244 0004 034B ldr r3, .L17+4 - 245 0006 1B78 ldrb r3, [r3] - 246 0008 5B18 adds r3, r3, r1 - 247 000a 1360 str r3, [r2] - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 248 .loc 1 284 0 - 249 @ sp needed - 250 000c 7047 bx lr - 251 .L18: - 252 000e C046 .align 2 - 253 .L17: - 254 0010 00000000 .word uwTick - 255 0014 00000000 .word .LANCHOR0 - 256 .cfi_endproc - 257 .LFE45: - 259 .section .text.HAL_GetTick,"ax",%progbits - 260 .align 1 - 261 .weak HAL_GetTick - 262 .syntax unified - 263 .code 16 - 264 .thumb_func - 265 .fpu softvfp - 267 HAL_GetTick: - 268 .LFB46: - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Provides a tick value in millisecond. - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file. - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval tick value - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak uint32_t HAL_GetTick(void) - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 269 .loc 1 293 0 - 270 .cfi_startproc - 271 @ args = 0, pretend = 0, frame = 0 - 272 @ frame_needed = 0, uses_anonymous_args = 0 - 273 @ link register save eliminated. - ARM GAS /tmp/ccZwh3uI.s page 11 - - - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return uwTick; - 274 .loc 1 294 0 - 275 0000 014B ldr r3, .L20 - 276 0002 1868 ldr r0, [r3] - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 277 .loc 1 295 0 - 278 @ sp needed - 279 0004 7047 bx lr - 280 .L21: - 281 0006 C046 .align 2 - 282 .L20: - 283 0008 00000000 .word uwTick - 284 .cfi_endproc - 285 .LFE46: - 287 .section .text.HAL_GetTickPrio,"ax",%progbits - 288 .align 1 - 289 .global HAL_GetTickPrio - 290 .syntax unified - 291 .code 16 - 292 .thumb_func - 293 .fpu softvfp - 295 HAL_GetTickPrio: - 296 .LFB47: - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function returns a tick priority. - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval tick priority - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetTickPrio(void) - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 297 .loc 1 302 0 - 298 .cfi_startproc - 299 @ args = 0, pretend = 0, frame = 0 - 300 @ frame_needed = 0, uses_anonymous_args = 0 - 301 @ link register save eliminated. - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return uwTickPrio; - 302 .loc 1 303 0 - 303 0000 014B ldr r3, .L23 - 304 0002 1868 ldr r0, [r3] - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 305 .loc 1 304 0 - 306 @ sp needed - 307 0004 7047 bx lr - 308 .L24: - 309 0006 C046 .align 2 - 310 .L23: - 311 0008 00000000 .word .LANCHOR1 - 312 .cfi_endproc - 313 .LFE47: - 315 .section .text.HAL_SetTickFreq,"ax",%progbits - 316 .align 1 - 317 .global HAL_SetTickFreq - 318 .syntax unified - 319 .code 16 - 320 .thumb_func - 321 .fpu softvfp - 323 HAL_SetTickFreq: - ARM GAS /tmp/ccZwh3uI.s page 12 - - - 324 .LFB48: - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Set new tick Freq. - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval status - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq) - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 325 .loc 1 311 0 - 326 .cfi_startproc - 327 @ args = 0, pretend = 0, frame = 0 - 328 @ frame_needed = 0, uses_anonymous_args = 0 - 329 .LVL10: - 330 0000 10B5 push {r4, lr} - 331 .LCFI3: - 332 .cfi_def_cfa_offset 8 - 333 .cfi_offset 4, -8 - 334 .cfi_offset 14, -4 - 335 .LVL11: - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef status = HAL_OK; - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef prevTickFreq; - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** assert_param(IS_TICKFREQ(Freq)); - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (uwTickFreq != Freq) - 336 .loc 1 317 0 - 337 0002 084B ldr r3, .L28 - 338 0004 1C78 ldrb r4, [r3] - 339 0006 8442 cmp r4, r0 - 340 0008 09D0 beq .L27 - 341 .LVL12: - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Back up uwTickFreq frequency */ - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** prevTickFreq = uwTickFreq; - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Update uwTickFreq global variable used by HAL_InitTick() */ - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickFreq = Freq; - 342 .loc 1 323 0 - 343 000a 1870 strb r0, [r3] - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Apply the new tick Freq */ - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** status = HAL_InitTick(uwTickPrio); - 344 .loc 1 326 0 - 345 000c 064B ldr r3, .L28+4 - 346 000e 1868 ldr r0, [r3] - 347 .LVL13: - 348 0010 FFF7FEFF bl HAL_InitTick - 349 .LVL14: - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (status != HAL_OK) - 350 .loc 1 328 0 - 351 0014 0028 cmp r0, #0 - 352 0016 03D0 beq .L26 - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Restore previous tick frequency */ - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickFreq = prevTickFreq; - 353 .loc 1 331 0 - ARM GAS /tmp/ccZwh3uI.s page 13 - - - 354 0018 024B ldr r3, .L28 - 355 001a 1C70 strb r4, [r3] - 356 001c 00E0 b .L26 - 357 .LVL15: - 358 .L27: - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef prevTickFreq; - 359 .loc 1 312 0 - 360 001e 0020 movs r0, #0 - 361 .LVL16: - 362 .L26: - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return status; - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 363 .loc 1 336 0 - 364 @ sp needed - 365 0020 10BD pop {r4, pc} - 366 .L29: - 367 0022 C046 .align 2 - 368 .L28: - 369 0024 00000000 .word .LANCHOR0 - 370 0028 00000000 .word .LANCHOR1 - 371 .cfi_endproc - 372 .LFE48: - 374 .section .text.HAL_GetTickFreq,"ax",%progbits - 375 .align 1 - 376 .global HAL_GetTickFreq - 377 .syntax unified - 378 .code 16 - 379 .thumb_func - 380 .fpu softvfp - 382 HAL_GetTickFreq: - 383 .LFB49: - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief return tick frequency. - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval tick period in Hz - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef HAL_GetTickFreq(void) - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 384 .loc 1 343 0 - 385 .cfi_startproc - 386 @ args = 0, pretend = 0, frame = 0 - 387 @ frame_needed = 0, uses_anonymous_args = 0 - 388 @ link register save eliminated. - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return uwTickFreq; - 389 .loc 1 344 0 - 390 0000 014B ldr r3, .L31 - 391 0002 1878 ldrb r0, [r3] - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 392 .loc 1 345 0 - 393 @ sp needed - 394 0004 7047 bx lr - 395 .L32: - 396 0006 C046 .align 2 - 397 .L31: - ARM GAS /tmp/ccZwh3uI.s page 14 - - - 398 0008 00000000 .word .LANCHOR0 - 399 .cfi_endproc - 400 .LFE49: - 402 .section .text.HAL_Delay,"ax",%progbits - 403 .align 1 - 404 .weak HAL_Delay - 405 .syntax unified - 406 .code 16 - 407 .thumb_func - 408 .fpu softvfp - 410 HAL_Delay: - 411 .LFB50: - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function provides accurate delay (in milliseconds) based - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * on variable incremented. - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * It is used to generate interrupts at regular time intervals where uwTick - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is incremented. - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note ThiS function is declared as __weak to be overwritten in case of other - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file. - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @param Delay specifies the delay time length, in milliseconds. - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_Delay(uint32_t Delay) - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 412 .loc 1 359 0 - 413 .cfi_startproc - 414 @ args = 0, pretend = 0, frame = 0 - 415 @ frame_needed = 0, uses_anonymous_args = 0 - 416 .LVL17: - 417 0000 70B5 push {r4, r5, r6, lr} - 418 .LCFI4: - 419 .cfi_def_cfa_offset 16 - 420 .cfi_offset 4, -16 - 421 .cfi_offset 5, -12 - 422 .cfi_offset 6, -8 - 423 .cfi_offset 14, -4 - 424 0002 0400 movs r4, r0 - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t tickstart = HAL_GetTick(); - 425 .loc 1 360 0 - 426 0004 FFF7FEFF bl HAL_GetTick - 427 .LVL18: - 428 0008 0500 movs r5, r0 - 429 .LVL19: - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t wait = Delay; - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Add a freq to guarantee minimum wait */ - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (wait < HAL_MAX_DELAY) - 430 .loc 1 364 0 - 431 000a 631C adds r3, r4, #1 - 432 000c 02D0 beq .L35 - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** wait += (uint32_t)(uwTickFreq); - 433 .loc 1 366 0 - 434 000e 044B ldr r3, .L36 - 435 0010 1B78 ldrb r3, [r3] - ARM GAS /tmp/ccZwh3uI.s page 15 - - - 436 0012 E418 adds r4, r4, r3 - 437 .LVL20: - 438 .L35: - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** while((HAL_GetTick() - tickstart) < wait) - 439 .loc 1 369 0 discriminator 1 - 440 0014 FFF7FEFF bl HAL_GetTick - 441 .LVL21: - 442 0018 401B subs r0, r0, r5 - 443 001a A042 cmp r0, r4 - 444 001c FAD3 bcc .L35 - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 445 .loc 1 372 0 - 446 @ sp needed - 447 .LVL22: - 448 .LVL23: - 449 001e 70BD pop {r4, r5, r6, pc} - 450 .L37: - 451 .align 2 - 452 .L36: - 453 0020 00000000 .word .LANCHOR0 - 454 .cfi_endproc - 455 .LFE50: - 457 .section .text.HAL_SuspendTick,"ax",%progbits - 458 .align 1 - 459 .weak HAL_SuspendTick - 460 .syntax unified - 461 .code 16 - 462 .thumb_func - 463 .fpu softvfp - 465 HAL_SuspendTick: - 466 .LFB51: - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Suspend Tick increment. - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. It is - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * used to generate interrupts at regular time intervals. Once HAL_SuspendTick() - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is called, the the SysTick interrupt will be disabled and so Tick increment - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is suspended. - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file. - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_SuspendTick(void) - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 467 .loc 1 386 0 - 468 .cfi_startproc - 469 @ args = 0, pretend = 0, frame = 0 - 470 @ frame_needed = 0, uses_anonymous_args = 0 - 471 @ link register save eliminated. - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Disable SysTick Interrupt */ - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** CLEAR_BIT(SysTick->CTRL,SysTick_CTRL_TICKINT_Msk); - 472 .loc 1 388 0 - ARM GAS /tmp/ccZwh3uI.s page 16 - - - 473 0000 024A ldr r2, .L39 - 474 0002 1368 ldr r3, [r2] - 475 0004 0221 movs r1, #2 - 476 0006 8B43 bics r3, r1 - 477 0008 1360 str r3, [r2] - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 478 .loc 1 389 0 - 479 @ sp needed - 480 000a 7047 bx lr - 481 .L40: - 482 .align 2 - 483 .L39: - 484 000c 10E000E0 .word -536813552 - 485 .cfi_endproc - 486 .LFE51: - 488 .section .text.HAL_ResumeTick,"ax",%progbits - 489 .align 1 - 490 .weak HAL_ResumeTick - 491 .syntax unified - 492 .code 16 - 493 .thumb_func - 494 .fpu softvfp - 496 HAL_ResumeTick: - 497 .LFB52: - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Resume Tick increment. - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. It is - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * used to generate interrupts at regular time intervals. Once HAL_ResumeTick() - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is called, the the SysTick interrupt will be enabled and so Tick increment - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is resumed. - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file. - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_ResumeTick(void) - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 498 .loc 1 402 0 - 499 .cfi_startproc - 500 @ args = 0, pretend = 0, frame = 0 - 501 @ frame_needed = 0, uses_anonymous_args = 0 - 502 @ link register save eliminated. - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Enable SysTick Interrupt */ - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** SET_BIT(SysTick->CTRL,SysTick_CTRL_TICKINT_Msk); - 503 .loc 1 404 0 - 504 0000 024A ldr r2, .L42 - 505 0002 1368 ldr r3, [r2] - 506 0004 0221 movs r1, #2 - 507 0006 0B43 orrs r3, r1 - 508 0008 1360 str r3, [r2] - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 509 .loc 1 405 0 - 510 @ sp needed - 511 000a 7047 bx lr - 512 .L43: - 513 .align 2 - 514 .L42: - ARM GAS /tmp/ccZwh3uI.s page 17 - - - 515 000c 10E000E0 .word -536813552 - 516 .cfi_endproc - 517 .LFE52: - 519 .section .text.HAL_GetHalVersion,"ax",%progbits - 520 .align 1 - 521 .global HAL_GetHalVersion - 522 .syntax unified - 523 .code 16 - 524 .thumb_func - 525 .fpu softvfp - 527 HAL_GetHalVersion: - 528 .LFB53: - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This method returns the HAL revision - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval version 0xXYZR (8bits for each decimal, R for RC) - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetHalVersion(void) - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 529 .loc 1 412 0 - 530 .cfi_startproc - 531 @ args = 0, pretend = 0, frame = 0 - 532 @ frame_needed = 0, uses_anonymous_args = 0 - 533 @ link register save eliminated. - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return __STM32F0xx_HAL_VERSION; - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 534 .loc 1 414 0 - 535 0000 0048 ldr r0, .L45 - 536 @ sp needed - 537 0002 7047 bx lr - 538 .L46: - 539 .align 2 - 540 .L45: - 541 0004 00030701 .word 17236736 - 542 .cfi_endproc - 543 .LFE53: - 545 .section .text.HAL_GetREVID,"ax",%progbits - 546 .align 1 - 547 .global HAL_GetREVID - 548 .syntax unified - 549 .code 16 - 550 .thumb_func - 551 .fpu softvfp - 553 HAL_GetREVID: - 554 .LFB54: - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns the device revision identifier. - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device revision identifier - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetREVID(void) - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 555 .loc 1 421 0 - 556 .cfi_startproc - 557 @ args = 0, pretend = 0, frame = 0 - 558 @ frame_needed = 0, uses_anonymous_args = 0 - 559 @ link register save eliminated. - ARM GAS /tmp/ccZwh3uI.s page 18 - - - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return((DBGMCU->IDCODE) >> 16U); - 560 .loc 1 422 0 - 561 0000 014B ldr r3, .L48 - 562 0002 1868 ldr r0, [r3] - 563 0004 000C lsrs r0, r0, #16 - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 564 .loc 1 423 0 - 565 @ sp needed - 566 0006 7047 bx lr - 567 .L49: - 568 .align 2 - 569 .L48: - 570 0008 00580140 .word 1073829888 - 571 .cfi_endproc - 572 .LFE54: - 574 .section .text.HAL_GetDEVID,"ax",%progbits - 575 .align 1 - 576 .global HAL_GetDEVID - 577 .syntax unified - 578 .code 16 - 579 .thumb_func - 580 .fpu softvfp - 582 HAL_GetDEVID: - 583 .LFB55: - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns the device identifier. - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetDEVID(void) - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 584 .loc 1 430 0 - 585 .cfi_startproc - 586 @ args = 0, pretend = 0, frame = 0 - 587 @ frame_needed = 0, uses_anonymous_args = 0 - 588 @ link register save eliminated. - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return((DBGMCU->IDCODE) & IDCODE_DEVID_MASK); - 589 .loc 1 431 0 - 590 0000 024B ldr r3, .L51 - 591 0002 1868 ldr r0, [r3] - 592 0004 0005 lsls r0, r0, #20 - 593 0006 000D lsrs r0, r0, #20 - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 594 .loc 1 432 0 - 595 @ sp needed - 596 0008 7047 bx lr - 597 .L52: - 598 000a C046 .align 2 - 599 .L51: - 600 000c 00580140 .word 1073829888 - 601 .cfi_endproc - 602 .LFE55: - 604 .section .text.HAL_GetUIDw0,"ax",%progbits - 605 .align 1 - 606 .global HAL_GetUIDw0 - 607 .syntax unified - 608 .code 16 - ARM GAS /tmp/ccZwh3uI.s page 19 - - - 609 .thumb_func - 610 .fpu softvfp - 612 HAL_GetUIDw0: - 613 .LFB56: - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns first word of the unique device identifier (UID based on 96 bits) - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetUIDw0(void) - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 614 .loc 1 439 0 - 615 .cfi_startproc - 616 @ args = 0, pretend = 0, frame = 0 - 617 @ frame_needed = 0, uses_anonymous_args = 0 - 618 @ link register save eliminated. - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return(READ_REG(*((uint32_t *)UID_BASE))); - 619 .loc 1 440 0 - 620 0000 014B ldr r3, .L54 - 621 0002 1868 ldr r0, [r3] - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 622 .loc 1 441 0 - 623 @ sp needed - 624 0004 7047 bx lr - 625 .L55: - 626 0006 C046 .align 2 - 627 .L54: - 628 0008 ACF7FF1F .word 536868780 - 629 .cfi_endproc - 630 .LFE56: - 632 .section .text.HAL_GetUIDw1,"ax",%progbits - 633 .align 1 - 634 .global HAL_GetUIDw1 - 635 .syntax unified - 636 .code 16 - 637 .thumb_func - 638 .fpu softvfp - 640 HAL_GetUIDw1: - 641 .LFB57: - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns second word of the unique device identifier (UID based on 96 bits) - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetUIDw1(void) - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 642 .loc 1 448 0 - 643 .cfi_startproc - 644 @ args = 0, pretend = 0, frame = 0 - 645 @ frame_needed = 0, uses_anonymous_args = 0 - 646 @ link register save eliminated. - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return(READ_REG(*((uint32_t *)(UID_BASE + 4U)))); - 647 .loc 1 449 0 - 648 0000 014B ldr r3, .L57 - 649 0002 1868 ldr r0, [r3] - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 650 .loc 1 450 0 - ARM GAS /tmp/ccZwh3uI.s page 20 - - - 651 @ sp needed - 652 0004 7047 bx lr - 653 .L58: - 654 0006 C046 .align 2 - 655 .L57: - 656 0008 B0F7FF1F .word 536868784 - 657 .cfi_endproc - 658 .LFE57: - 660 .section .text.HAL_GetUIDw2,"ax",%progbits - 661 .align 1 - 662 .global HAL_GetUIDw2 - 663 .syntax unified - 664 .code 16 - 665 .thumb_func - 666 .fpu softvfp - 668 HAL_GetUIDw2: - 669 .LFB58: - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns third word of the unique device identifier (UID based on 96 bits) - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetUIDw2(void) - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 670 .loc 1 457 0 - 671 .cfi_startproc - 672 @ args = 0, pretend = 0, frame = 0 - 673 @ frame_needed = 0, uses_anonymous_args = 0 - 674 @ link register save eliminated. - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return(READ_REG(*((uint32_t *)(UID_BASE + 8U)))); - 675 .loc 1 458 0 - 676 0000 014B ldr r3, .L60 - 677 0002 1868 ldr r0, [r3] - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 678 .loc 1 459 0 - 679 @ sp needed - 680 0004 7047 bx lr - 681 .L61: - 682 0006 C046 .align 2 - 683 .L60: - 684 0008 B4F7FF1F .word 536868788 - 685 .cfi_endproc - 686 .LFE58: - 688 .section .text.HAL_DBGMCU_EnableDBGStopMode,"ax",%progbits - 689 .align 1 - 690 .global HAL_DBGMCU_EnableDBGStopMode - 691 .syntax unified - 692 .code 16 - 693 .thumb_func - 694 .fpu softvfp - 696 HAL_DBGMCU_EnableDBGStopMode: - 697 .LFB59: - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Enable the Debug Module during STOP mode - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - ARM GAS /tmp/ccZwh3uI.s page 21 - - - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_EnableDBGStopMode(void) - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 698 .loc 1 466 0 - 699 .cfi_startproc - 700 @ args = 0, pretend = 0, frame = 0 - 701 @ frame_needed = 0, uses_anonymous_args = 0 - 702 @ link register save eliminated. - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP); - 703 .loc 1 467 0 - 704 0000 024A ldr r2, .L63 - 705 0002 5368 ldr r3, [r2, #4] - 706 0004 0221 movs r1, #2 - 707 0006 0B43 orrs r3, r1 - 708 0008 5360 str r3, [r2, #4] - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 709 .loc 1 468 0 - 710 @ sp needed - 711 000a 7047 bx lr - 712 .L64: - 713 .align 2 - 714 .L63: - 715 000c 00580140 .word 1073829888 - 716 .cfi_endproc - 717 .LFE59: - 719 .section .text.HAL_DBGMCU_DisableDBGStopMode,"ax",%progbits - 720 .align 1 - 721 .global HAL_DBGMCU_DisableDBGStopMode - 722 .syntax unified - 723 .code 16 - 724 .thumb_func - 725 .fpu softvfp - 727 HAL_DBGMCU_DisableDBGStopMode: - 728 .LFB60: - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Disable the Debug Module during STOP mode - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_DisableDBGStopMode(void) - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 729 .loc 1 475 0 - 730 .cfi_startproc - 731 @ args = 0, pretend = 0, frame = 0 - 732 @ frame_needed = 0, uses_anonymous_args = 0 - 733 @ link register save eliminated. - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP); - 734 .loc 1 476 0 - 735 0000 024A ldr r2, .L66 - 736 0002 5368 ldr r3, [r2, #4] - 737 0004 0221 movs r1, #2 - 738 0006 8B43 bics r3, r1 - 739 0008 5360 str r3, [r2, #4] - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 740 .loc 1 477 0 - 741 @ sp needed - 742 000a 7047 bx lr - 743 .L67: - ARM GAS /tmp/ccZwh3uI.s page 22 - - - 744 .align 2 - 745 .L66: - 746 000c 00580140 .word 1073829888 - 747 .cfi_endproc - 748 .LFE60: - 750 .section .text.HAL_DBGMCU_EnableDBGStandbyMode,"ax",%progbits - 751 .align 1 - 752 .global HAL_DBGMCU_EnableDBGStandbyMode - 753 .syntax unified - 754 .code 16 - 755 .thumb_func - 756 .fpu softvfp - 758 HAL_DBGMCU_EnableDBGStandbyMode: - 759 .LFB61: - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Enable the Debug Module during STANDBY mode - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_EnableDBGStandbyMode(void) - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 760 .loc 1 484 0 - 761 .cfi_startproc - 762 @ args = 0, pretend = 0, frame = 0 - 763 @ frame_needed = 0, uses_anonymous_args = 0 - 764 @ link register save eliminated. - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY); - 765 .loc 1 485 0 - 766 0000 024A ldr r2, .L69 - 767 0002 5368 ldr r3, [r2, #4] - 768 0004 0421 movs r1, #4 - 769 0006 0B43 orrs r3, r1 - 770 0008 5360 str r3, [r2, #4] - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 771 .loc 1 486 0 - 772 @ sp needed - 773 000a 7047 bx lr - 774 .L70: - 775 .align 2 - 776 .L69: - 777 000c 00580140 .word 1073829888 - 778 .cfi_endproc - 779 .LFE61: - 781 .section .text.HAL_DBGMCU_DisableDBGStandbyMode,"ax",%progbits - 782 .align 1 - 783 .global HAL_DBGMCU_DisableDBGStandbyMode - 784 .syntax unified - 785 .code 16 - 786 .thumb_func - 787 .fpu softvfp - 789 HAL_DBGMCU_DisableDBGStandbyMode: - 790 .LFB62: - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Disable the Debug Module during STANDBY mode - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */ - ARM GAS /tmp/ccZwh3uI.s page 23 - - - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_DisableDBGStandbyMode(void) - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** { - 791 .loc 1 493 0 - 792 .cfi_startproc - 793 @ args = 0, pretend = 0, frame = 0 - 794 @ frame_needed = 0, uses_anonymous_args = 0 - 795 @ link register save eliminated. - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY); - 796 .loc 1 494 0 - 797 0000 024A ldr r2, .L72 - 798 0002 5368 ldr r3, [r2, #4] - 799 0004 0421 movs r1, #4 - 800 0006 8B43 bics r3, r1 - 801 0008 5360 str r3, [r2, #4] - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** } - 802 .loc 1 495 0 - 803 @ sp needed - 804 000a 7047 bx lr - 805 .L73: - 806 .align 2 - 807 .L72: - 808 000c 00580140 .word 1073829888 - 809 .cfi_endproc - 810 .LFE62: - 812 .global uwTickFreq - 813 .global uwTickPrio - 814 .comm uwTick,4,4 - 815 .section .data.uwTickFreq,"aw",%progbits - 816 .set .LANCHOR0,. + 0 - 819 uwTickFreq: - 820 0000 01 .byte 1 - 821 .section .data.uwTickPrio,"aw",%progbits - 822 .align 2 - 823 .set .LANCHOR1,. + 0 - 826 uwTickPrio: - 827 0000 04000000 .word 4 - 828 .text - 829 .Letext0: - 830 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 831 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 832 .file 4 "Drivers/CMSIS/Include/core_cm0.h" - 833 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 834 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 835 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 836 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - 837 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h" - ARM GAS /tmp/ccZwh3uI.s page 24 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal.c - /tmp/ccZwh3uI.s:16 .text.HAL_MspInit:0000000000000000 $t - /tmp/ccZwh3uI.s:23 .text.HAL_MspInit:0000000000000000 HAL_MspInit - /tmp/ccZwh3uI.s:38 .text.HAL_MspDeInit:0000000000000000 $t - /tmp/ccZwh3uI.s:45 .text.HAL_MspDeInit:0000000000000000 HAL_MspDeInit - /tmp/ccZwh3uI.s:59 .text.HAL_DeInit:0000000000000000 $t - /tmp/ccZwh3uI.s:66 .text.HAL_DeInit:0000000000000000 HAL_DeInit - /tmp/ccZwh3uI.s:103 .text.HAL_DeInit:0000000000000020 $d - /tmp/ccZwh3uI.s:109 .text.HAL_InitTick:0000000000000000 $t - /tmp/ccZwh3uI.s:116 .text.HAL_InitTick:0000000000000000 HAL_InitTick - /tmp/ccZwh3uI.s:177 .text.HAL_InitTick:0000000000000044 $d - /tmp/ccZwh3uI.s:184 .text.HAL_Init:0000000000000000 $t - /tmp/ccZwh3uI.s:191 .text.HAL_Init:0000000000000000 HAL_Init - /tmp/ccZwh3uI.s:222 .text.HAL_Init:000000000000001c $d - /tmp/ccZwh3uI.s:227 .text.HAL_IncTick:0000000000000000 $t - /tmp/ccZwh3uI.s:234 .text.HAL_IncTick:0000000000000000 HAL_IncTick - /tmp/ccZwh3uI.s:254 .text.HAL_IncTick:0000000000000010 $d - *COM*:0000000000000004 uwTick - /tmp/ccZwh3uI.s:260 .text.HAL_GetTick:0000000000000000 $t - /tmp/ccZwh3uI.s:267 .text.HAL_GetTick:0000000000000000 HAL_GetTick - /tmp/ccZwh3uI.s:283 .text.HAL_GetTick:0000000000000008 $d - /tmp/ccZwh3uI.s:288 .text.HAL_GetTickPrio:0000000000000000 $t - /tmp/ccZwh3uI.s:295 .text.HAL_GetTickPrio:0000000000000000 HAL_GetTickPrio - /tmp/ccZwh3uI.s:311 .text.HAL_GetTickPrio:0000000000000008 $d - /tmp/ccZwh3uI.s:316 .text.HAL_SetTickFreq:0000000000000000 $t - /tmp/ccZwh3uI.s:323 .text.HAL_SetTickFreq:0000000000000000 HAL_SetTickFreq - /tmp/ccZwh3uI.s:369 .text.HAL_SetTickFreq:0000000000000024 $d - /tmp/ccZwh3uI.s:375 .text.HAL_GetTickFreq:0000000000000000 $t - /tmp/ccZwh3uI.s:382 .text.HAL_GetTickFreq:0000000000000000 HAL_GetTickFreq - /tmp/ccZwh3uI.s:398 .text.HAL_GetTickFreq:0000000000000008 $d - /tmp/ccZwh3uI.s:403 .text.HAL_Delay:0000000000000000 $t - /tmp/ccZwh3uI.s:410 .text.HAL_Delay:0000000000000000 HAL_Delay - /tmp/ccZwh3uI.s:453 .text.HAL_Delay:0000000000000020 $d - /tmp/ccZwh3uI.s:458 .text.HAL_SuspendTick:0000000000000000 $t - /tmp/ccZwh3uI.s:465 .text.HAL_SuspendTick:0000000000000000 HAL_SuspendTick - /tmp/ccZwh3uI.s:484 .text.HAL_SuspendTick:000000000000000c $d - /tmp/ccZwh3uI.s:489 .text.HAL_ResumeTick:0000000000000000 $t - /tmp/ccZwh3uI.s:496 .text.HAL_ResumeTick:0000000000000000 HAL_ResumeTick - /tmp/ccZwh3uI.s:515 .text.HAL_ResumeTick:000000000000000c $d - /tmp/ccZwh3uI.s:520 .text.HAL_GetHalVersion:0000000000000000 $t - /tmp/ccZwh3uI.s:527 .text.HAL_GetHalVersion:0000000000000000 HAL_GetHalVersion - /tmp/ccZwh3uI.s:541 .text.HAL_GetHalVersion:0000000000000004 $d - /tmp/ccZwh3uI.s:546 .text.HAL_GetREVID:0000000000000000 $t - /tmp/ccZwh3uI.s:553 .text.HAL_GetREVID:0000000000000000 HAL_GetREVID - /tmp/ccZwh3uI.s:570 .text.HAL_GetREVID:0000000000000008 $d - /tmp/ccZwh3uI.s:575 .text.HAL_GetDEVID:0000000000000000 $t - /tmp/ccZwh3uI.s:582 .text.HAL_GetDEVID:0000000000000000 HAL_GetDEVID - /tmp/ccZwh3uI.s:600 .text.HAL_GetDEVID:000000000000000c $d - /tmp/ccZwh3uI.s:605 .text.HAL_GetUIDw0:0000000000000000 $t - /tmp/ccZwh3uI.s:612 .text.HAL_GetUIDw0:0000000000000000 HAL_GetUIDw0 - /tmp/ccZwh3uI.s:628 .text.HAL_GetUIDw0:0000000000000008 $d - /tmp/ccZwh3uI.s:633 .text.HAL_GetUIDw1:0000000000000000 $t - /tmp/ccZwh3uI.s:640 .text.HAL_GetUIDw1:0000000000000000 HAL_GetUIDw1 - /tmp/ccZwh3uI.s:656 .text.HAL_GetUIDw1:0000000000000008 $d - /tmp/ccZwh3uI.s:661 .text.HAL_GetUIDw2:0000000000000000 $t - /tmp/ccZwh3uI.s:668 .text.HAL_GetUIDw2:0000000000000000 HAL_GetUIDw2 - ARM GAS /tmp/ccZwh3uI.s page 25 - - - /tmp/ccZwh3uI.s:684 .text.HAL_GetUIDw2:0000000000000008 $d - /tmp/ccZwh3uI.s:689 .text.HAL_DBGMCU_EnableDBGStopMode:0000000000000000 $t - /tmp/ccZwh3uI.s:696 .text.HAL_DBGMCU_EnableDBGStopMode:0000000000000000 HAL_DBGMCU_EnableDBGStopMode - /tmp/ccZwh3uI.s:715 .text.HAL_DBGMCU_EnableDBGStopMode:000000000000000c $d - /tmp/ccZwh3uI.s:720 .text.HAL_DBGMCU_DisableDBGStopMode:0000000000000000 $t - /tmp/ccZwh3uI.s:727 .text.HAL_DBGMCU_DisableDBGStopMode:0000000000000000 HAL_DBGMCU_DisableDBGStopMode - /tmp/ccZwh3uI.s:746 .text.HAL_DBGMCU_DisableDBGStopMode:000000000000000c $d - /tmp/ccZwh3uI.s:751 .text.HAL_DBGMCU_EnableDBGStandbyMode:0000000000000000 $t - /tmp/ccZwh3uI.s:758 .text.HAL_DBGMCU_EnableDBGStandbyMode:0000000000000000 HAL_DBGMCU_EnableDBGStandbyMode - /tmp/ccZwh3uI.s:777 .text.HAL_DBGMCU_EnableDBGStandbyMode:000000000000000c $d - /tmp/ccZwh3uI.s:782 .text.HAL_DBGMCU_DisableDBGStandbyMode:0000000000000000 $t - /tmp/ccZwh3uI.s:789 .text.HAL_DBGMCU_DisableDBGStandbyMode:0000000000000000 HAL_DBGMCU_DisableDBGStandbyMode - /tmp/ccZwh3uI.s:808 .text.HAL_DBGMCU_DisableDBGStandbyMode:000000000000000c $d - /tmp/ccZwh3uI.s:819 .data.uwTickFreq:0000000000000000 uwTickFreq - /tmp/ccZwh3uI.s:826 .data.uwTickPrio:0000000000000000 uwTickPrio - /tmp/ccZwh3uI.s:822 .data.uwTickPrio:0000000000000000 $d - -UNDEFINED SYMBOLS -__aeabi_uidiv -HAL_SYSTICK_Config -HAL_NVIC_SetPriority -SystemCoreClock diff --git a/Blink/build/stm32f0xx_hal.o b/Blink/build/stm32f0xx_hal.o deleted file mode 100644 index 7605f2b..0000000 Binary files a/Blink/build/stm32f0xx_hal.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_cortex.d b/Blink/build/stm32f0xx_hal_cortex.d deleted file mode 100644 index d624ae2..0000000 --- a/Blink/build/stm32f0xx_hal_cortex.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_cortex.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_cortex.lst b/Blink/build/stm32f0xx_hal_cortex.lst deleted file mode 100644 index 3a83907..0000000 --- a/Blink/build/stm32f0xx_hal_cortex.lst +++ /dev/null @@ -1,3024 +0,0 @@ -ARM GAS /tmp/ccgMYYoM.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_cortex.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_NVIC_SetPriority,"ax",%progbits - 16 .align 1 - 17 .global HAL_NVIC_SetPriority - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_NVIC_SetPriority: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @file stm32f0xx_hal_cortex.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief CORTEX HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * functionalities of the CORTEX: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * + Initialization and de-initialization functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * + Peripheral Control functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @verbatim - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ============================================================================== - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ##### How to use this driver ##### - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ============================================================================== - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..] - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *** How to configure Interrupts using CORTEX HAL driver *** - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** =========================================================== - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..] - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** This section provides functions allowing to configure the NVIC interrupts (IRQ). - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** The Cortex-M0 exceptions are managed by CMSIS functions. - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#) Enable and Configure the priority of the selected IRQ Channels. - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** The priority can be 0..3. - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** -@- Lower priority values gives higher priority. - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** -@- Priority Order: - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#@) Lowest priority. - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#@) Lowest hardware priority (IRQn position). - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#) Configure the priority of the selected IRQ Channels using HAL_NVIC_SetPriority() - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#) Enable the selected IRQ Channels using HAL_NVIC_EnableIRQ() - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - ARM GAS /tmp/ccgMYYoM.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** -@- Negative value of IRQn_Type are not allowed. - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..] - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *** How to configure Systick using CORTEX HAL driver *** - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ======================================================== - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..] - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** Setup SysTick Timer for time base. - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) The HAL_SYSTICK_Config()function calls the SysTick_Config() function which - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** is a CMSIS function that: - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Configures the SysTick Reload register with value passed as function parameter. - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Configures the SysTick IRQ priority to the lowest value (0x03). - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Resets the SysTick Counter register. - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Configures the SysTick Counter clock source to be Core Clock Source (HCLK). - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Enables the SysTick Interrupt. - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Starts the SysTick Counter. - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) You can change the SysTick Clock source to be HCLK_Div8 by calling the macro - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK_DIV8) just after the - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_Config() function call. The HAL_SYSTICK_CLKSourceConfig() macro is defined - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** inside the stm32f0xx_hal_cortex.h file. - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) You can change the SysTick IRQ priority by calling the - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_NVIC_SetPriority(SysTick_IRQn,...) function just after the HAL_SYSTICK_Config() function - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** call. The HAL_NVIC_SetPriority() call the NVIC_SetPriority() function which is a CMSIS funct - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) To adjust the SysTick time base, use the following formula: - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s) - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Reload Value is the parameter to be passed for HAL_SYSTICK_Config() function - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Reload Value should not exceed 0xFFFFFF - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @endverbatim - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ****************************************************************************** - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @attention - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *

© Copyright (c) 2016 STMicroelectronics. - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * All rights reserved.

- 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This software component is licensed by ST under BSD 3-Clause license, - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * the "License"; You may not use this file except in compliance with the - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * License. You may obtain a copy of the License at: - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * opensource.org/licenses/BSD-3-Clause - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ****************************************************************************** - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Includes ------------------------------------------------------------------*/ - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** #include "stm32f0xx_hal.h" - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @addtogroup STM32F0xx_HAL_Driver - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{ - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX CORTEX - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief CORTEX CORTEX HAL module driver - ARM GAS /tmp/ccgMYYoM.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{ - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** #ifdef HAL_CORTEX_MODULE_ENABLED - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private typedef -----------------------------------------------------------*/ - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private define ------------------------------------------------------------*/ - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private macro -------------------------------------------------------------*/ - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private variables ---------------------------------------------------------*/ - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private function prototypes -----------------------------------------------*/ - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Exported functions ---------------------------------------------------------*/ - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions CORTEX Exported Functions - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{ - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions_Group1 Initialization and de-initialization functions - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Initialization and Configuration functions - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @verbatim - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ============================================================================== - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ##### Initialization and de-initialization functions ##### - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ============================================================================== - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..] - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** This section provides the CORTEX HAL driver functions allowing to configure Interrupts - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** Systick functionalities - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @endverbatim - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{ - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Sets the priority of an interrupt. - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number . - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to stm32f0xx.h file) - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param PreemptPriority The preemption priority for the IRQn channel. - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be a value between 0 and 3. - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * A lower priority value indicates a higher priority - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param SubPriority the subpriority level for the IRQ channel. - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * with stm32f0xx devices, this parameter is a dummy value and it is ignored, because - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * no subpriority supported in Cortex M0 based products. - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 26 .loc 1 137 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 .LVL0: - 31 0000 70B5 push {r4, r5, r6, lr} - 32 .LCFI0: - 33 .cfi_def_cfa_offset 16 - 34 .cfi_offset 4, -16 - 35 .cfi_offset 5, -12 - ARM GAS /tmp/ccgMYYoM.s page 4 - - - 36 .cfi_offset 6, -8 - 37 .cfi_offset 14, -4 - 38 .LVL1: - 39 .LBB32: - 40 .LBB33: - 41 .file 2 "Drivers/CMSIS/Include/core_cm0.h" - 1:Drivers/CMSIS/Include/core_cm0.h **** /**************************************************************************//** - 2:Drivers/CMSIS/Include/core_cm0.h **** * @file core_cm0.h - 3:Drivers/CMSIS/Include/core_cm0.h **** * @brief CMSIS Cortex-M0 Core Peripheral Access Layer Header File - 4:Drivers/CMSIS/Include/core_cm0.h **** * @version V5.0.5 - 5:Drivers/CMSIS/Include/core_cm0.h **** * @date 28. May 2018 - 6:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/ - 7:Drivers/CMSIS/Include/core_cm0.h **** /* - 8:Drivers/CMSIS/Include/core_cm0.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - 9:Drivers/CMSIS/Include/core_cm0.h **** * - 10:Drivers/CMSIS/Include/core_cm0.h **** * SPDX-License-Identifier: Apache-2.0 - 11:Drivers/CMSIS/Include/core_cm0.h **** * - 12:Drivers/CMSIS/Include/core_cm0.h **** * Licensed under the Apache License, Version 2.0 (the License); you may - 13:Drivers/CMSIS/Include/core_cm0.h **** * not use this file except in compliance with the License. - 14:Drivers/CMSIS/Include/core_cm0.h **** * You may obtain a copy of the License at - 15:Drivers/CMSIS/Include/core_cm0.h **** * - 16:Drivers/CMSIS/Include/core_cm0.h **** * www.apache.org/licenses/LICENSE-2.0 - 17:Drivers/CMSIS/Include/core_cm0.h **** * - 18:Drivers/CMSIS/Include/core_cm0.h **** * Unless required by applicable law or agreed to in writing, software - 19:Drivers/CMSIS/Include/core_cm0.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT - 20:Drivers/CMSIS/Include/core_cm0.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - 21:Drivers/CMSIS/Include/core_cm0.h **** * See the License for the specific language governing permissions and - 22:Drivers/CMSIS/Include/core_cm0.h **** * limitations under the License. - 23:Drivers/CMSIS/Include/core_cm0.h **** */ - 24:Drivers/CMSIS/Include/core_cm0.h **** - 25:Drivers/CMSIS/Include/core_cm0.h **** #if defined ( __ICCARM__ ) - 26:Drivers/CMSIS/Include/core_cm0.h **** #pragma system_include /* treat file as system include file for MISRA check */ - 27:Drivers/CMSIS/Include/core_cm0.h **** #elif defined (__clang__) - 28:Drivers/CMSIS/Include/core_cm0.h **** #pragma clang system_header /* treat file as system include file */ - 29:Drivers/CMSIS/Include/core_cm0.h **** #endif - 30:Drivers/CMSIS/Include/core_cm0.h **** - 31:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CORE_CM0_H_GENERIC - 32:Drivers/CMSIS/Include/core_cm0.h **** #define __CORE_CM0_H_GENERIC - 33:Drivers/CMSIS/Include/core_cm0.h **** - 34:Drivers/CMSIS/Include/core_cm0.h **** #include - 35:Drivers/CMSIS/Include/core_cm0.h **** - 36:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus - 37:Drivers/CMSIS/Include/core_cm0.h **** extern "C" { - 38:Drivers/CMSIS/Include/core_cm0.h **** #endif - 39:Drivers/CMSIS/Include/core_cm0.h **** - 40:Drivers/CMSIS/Include/core_cm0.h **** /** - 41:Drivers/CMSIS/Include/core_cm0.h **** \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions - 42:Drivers/CMSIS/Include/core_cm0.h **** CMSIS violates the following MISRA-C:2004 rules: - 43:Drivers/CMSIS/Include/core_cm0.h **** - 44:Drivers/CMSIS/Include/core_cm0.h **** \li Required Rule 8.5, object/function definition in header file.
- 45:Drivers/CMSIS/Include/core_cm0.h **** Function definitions in header files are used to allow 'inlining'. - 46:Drivers/CMSIS/Include/core_cm0.h **** - 47:Drivers/CMSIS/Include/core_cm0.h **** \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
- 48:Drivers/CMSIS/Include/core_cm0.h **** Unions are used for effective representation of core registers. - 49:Drivers/CMSIS/Include/core_cm0.h **** - 50:Drivers/CMSIS/Include/core_cm0.h **** \li Advisory Rule 19.7, Function-like macro defined.
- 51:Drivers/CMSIS/Include/core_cm0.h **** Function-like macros are used to allow more efficient code. - ARM GAS /tmp/ccgMYYoM.s page 5 - - - 52:Drivers/CMSIS/Include/core_cm0.h **** */ - 53:Drivers/CMSIS/Include/core_cm0.h **** - 54:Drivers/CMSIS/Include/core_cm0.h **** - 55:Drivers/CMSIS/Include/core_cm0.h **** /******************************************************************************* - 56:Drivers/CMSIS/Include/core_cm0.h **** * CMSIS definitions - 57:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/ - 58:Drivers/CMSIS/Include/core_cm0.h **** /** - 59:Drivers/CMSIS/Include/core_cm0.h **** \ingroup Cortex_M0 - 60:Drivers/CMSIS/Include/core_cm0.h **** @{ - 61:Drivers/CMSIS/Include/core_cm0.h **** */ - 62:Drivers/CMSIS/Include/core_cm0.h **** - 63:Drivers/CMSIS/Include/core_cm0.h **** #include "cmsis_version.h" - 64:Drivers/CMSIS/Include/core_cm0.h **** - 65:Drivers/CMSIS/Include/core_cm0.h **** /* CMSIS CM0 definitions */ - 66:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] C - 67:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] C - 68:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_CMSIS_VERSION ((__CM0_CMSIS_VERSION_MAIN << 16U) | \ - 69:Drivers/CMSIS/Include/core_cm0.h **** __CM0_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL - 70:Drivers/CMSIS/Include/core_cm0.h **** - 71:Drivers/CMSIS/Include/core_cm0.h **** #define __CORTEX_M (0U) /*!< Cortex-M Core */ - 72:Drivers/CMSIS/Include/core_cm0.h **** - 73:Drivers/CMSIS/Include/core_cm0.h **** /** __FPU_USED indicates whether an FPU is used or not. - 74:Drivers/CMSIS/Include/core_cm0.h **** This core does not support an FPU at all - 75:Drivers/CMSIS/Include/core_cm0.h **** */ - 76:Drivers/CMSIS/Include/core_cm0.h **** #define __FPU_USED 0U - 77:Drivers/CMSIS/Include/core_cm0.h **** - 78:Drivers/CMSIS/Include/core_cm0.h **** #if defined ( __CC_ARM ) - 79:Drivers/CMSIS/Include/core_cm0.h **** #if defined __TARGET_FPU_VFP - 80:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - 81:Drivers/CMSIS/Include/core_cm0.h **** #endif - 82:Drivers/CMSIS/Include/core_cm0.h **** - 83:Drivers/CMSIS/Include/core_cm0.h **** #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - 84:Drivers/CMSIS/Include/core_cm0.h **** #if defined __ARM_PCS_VFP - 85:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - 86:Drivers/CMSIS/Include/core_cm0.h **** #endif - 87:Drivers/CMSIS/Include/core_cm0.h **** - 88:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __GNUC__ ) - 89:Drivers/CMSIS/Include/core_cm0.h **** #if defined (__VFP_FP__) && !defined(__SOFTFP__) - 90:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - 91:Drivers/CMSIS/Include/core_cm0.h **** #endif - 92:Drivers/CMSIS/Include/core_cm0.h **** - 93:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __ICCARM__ ) - 94:Drivers/CMSIS/Include/core_cm0.h **** #if defined __ARMVFP__ - 95:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - 96:Drivers/CMSIS/Include/core_cm0.h **** #endif - 97:Drivers/CMSIS/Include/core_cm0.h **** - 98:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __TI_ARM__ ) - 99:Drivers/CMSIS/Include/core_cm0.h **** #if defined __TI_VFP_SUPPORT__ - 100:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - 101:Drivers/CMSIS/Include/core_cm0.h **** #endif - 102:Drivers/CMSIS/Include/core_cm0.h **** - 103:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __TASKING__ ) - 104:Drivers/CMSIS/Include/core_cm0.h **** #if defined __FPU_VFP__ - 105:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - 106:Drivers/CMSIS/Include/core_cm0.h **** #endif - 107:Drivers/CMSIS/Include/core_cm0.h **** - 108:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __CSMC__ ) - ARM GAS /tmp/ccgMYYoM.s page 6 - - - 109:Drivers/CMSIS/Include/core_cm0.h **** #if ( __CSMC__ & 0x400U) - 110:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - 111:Drivers/CMSIS/Include/core_cm0.h **** #endif - 112:Drivers/CMSIS/Include/core_cm0.h **** - 113:Drivers/CMSIS/Include/core_cm0.h **** #endif - 114:Drivers/CMSIS/Include/core_cm0.h **** - 115:Drivers/CMSIS/Include/core_cm0.h **** #include "cmsis_compiler.h" /* CMSIS compiler specific defines */ - 116:Drivers/CMSIS/Include/core_cm0.h **** - 117:Drivers/CMSIS/Include/core_cm0.h **** - 118:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus - 119:Drivers/CMSIS/Include/core_cm0.h **** } - 120:Drivers/CMSIS/Include/core_cm0.h **** #endif - 121:Drivers/CMSIS/Include/core_cm0.h **** - 122:Drivers/CMSIS/Include/core_cm0.h **** #endif /* __CORE_CM0_H_GENERIC */ - 123:Drivers/CMSIS/Include/core_cm0.h **** - 124:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CMSIS_GENERIC - 125:Drivers/CMSIS/Include/core_cm0.h **** - 126:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CORE_CM0_H_DEPENDANT - 127:Drivers/CMSIS/Include/core_cm0.h **** #define __CORE_CM0_H_DEPENDANT - 128:Drivers/CMSIS/Include/core_cm0.h **** - 129:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus - 130:Drivers/CMSIS/Include/core_cm0.h **** extern "C" { - 131:Drivers/CMSIS/Include/core_cm0.h **** #endif - 132:Drivers/CMSIS/Include/core_cm0.h **** - 133:Drivers/CMSIS/Include/core_cm0.h **** /* check device defines and use defaults */ - 134:Drivers/CMSIS/Include/core_cm0.h **** #if defined __CHECK_DEVICE_DEFINES - 135:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CM0_REV - 136:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_REV 0x0000U - 137:Drivers/CMSIS/Include/core_cm0.h **** #warning "__CM0_REV not defined in device header file; using default!" - 138:Drivers/CMSIS/Include/core_cm0.h **** #endif - 139:Drivers/CMSIS/Include/core_cm0.h **** - 140:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __NVIC_PRIO_BITS - 141:Drivers/CMSIS/Include/core_cm0.h **** #define __NVIC_PRIO_BITS 2U - 142:Drivers/CMSIS/Include/core_cm0.h **** #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" - 143:Drivers/CMSIS/Include/core_cm0.h **** #endif - 144:Drivers/CMSIS/Include/core_cm0.h **** - 145:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __Vendor_SysTickConfig - 146:Drivers/CMSIS/Include/core_cm0.h **** #define __Vendor_SysTickConfig 0U - 147:Drivers/CMSIS/Include/core_cm0.h **** #warning "__Vendor_SysTickConfig not defined in device header file; using default!" - 148:Drivers/CMSIS/Include/core_cm0.h **** #endif - 149:Drivers/CMSIS/Include/core_cm0.h **** #endif - 150:Drivers/CMSIS/Include/core_cm0.h **** - 151:Drivers/CMSIS/Include/core_cm0.h **** /* IO definitions (access restrictions to peripheral registers) */ - 152:Drivers/CMSIS/Include/core_cm0.h **** /** - 153:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_glob_defs CMSIS Global Defines - 154:Drivers/CMSIS/Include/core_cm0.h **** - 155:Drivers/CMSIS/Include/core_cm0.h **** IO Type Qualifiers are used - 156:Drivers/CMSIS/Include/core_cm0.h **** \li to specify the access to peripheral variables. - 157:Drivers/CMSIS/Include/core_cm0.h **** \li for automatic generation of peripheral register debug information. - 158:Drivers/CMSIS/Include/core_cm0.h **** */ - 159:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus - 160:Drivers/CMSIS/Include/core_cm0.h **** #define __I volatile /*!< Defines 'read only' permissions */ - 161:Drivers/CMSIS/Include/core_cm0.h **** #else - 162:Drivers/CMSIS/Include/core_cm0.h **** #define __I volatile const /*!< Defines 'read only' permissions */ - 163:Drivers/CMSIS/Include/core_cm0.h **** #endif - 164:Drivers/CMSIS/Include/core_cm0.h **** #define __O volatile /*!< Defines 'write only' permissions */ - 165:Drivers/CMSIS/Include/core_cm0.h **** #define __IO volatile /*!< Defines 'read / write' permissions */ - ARM GAS /tmp/ccgMYYoM.s page 7 - - - 166:Drivers/CMSIS/Include/core_cm0.h **** - 167:Drivers/CMSIS/Include/core_cm0.h **** /* following defines should be used for structure members */ - 168:Drivers/CMSIS/Include/core_cm0.h **** #define __IM volatile const /*! Defines 'read only' structure member permissions */ - 169:Drivers/CMSIS/Include/core_cm0.h **** #define __OM volatile /*! Defines 'write only' structure member permissions */ - 170:Drivers/CMSIS/Include/core_cm0.h **** #define __IOM volatile /*! Defines 'read / write' structure member permissions */ - 171:Drivers/CMSIS/Include/core_cm0.h **** - 172:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group Cortex_M0 */ - 173:Drivers/CMSIS/Include/core_cm0.h **** - 174:Drivers/CMSIS/Include/core_cm0.h **** - 175:Drivers/CMSIS/Include/core_cm0.h **** - 176:Drivers/CMSIS/Include/core_cm0.h **** /******************************************************************************* - 177:Drivers/CMSIS/Include/core_cm0.h **** * Register Abstraction - 178:Drivers/CMSIS/Include/core_cm0.h **** Core Register contain: - 179:Drivers/CMSIS/Include/core_cm0.h **** - Core Register - 180:Drivers/CMSIS/Include/core_cm0.h **** - Core NVIC Register - 181:Drivers/CMSIS/Include/core_cm0.h **** - Core SCB Register - 182:Drivers/CMSIS/Include/core_cm0.h **** - Core SysTick Register - 183:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/ - 184:Drivers/CMSIS/Include/core_cm0.h **** /** - 185:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_core_register Defines and Type Definitions - 186:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions and defines for Cortex-M processor based devices. - 187:Drivers/CMSIS/Include/core_cm0.h **** */ - 188:Drivers/CMSIS/Include/core_cm0.h **** - 189:Drivers/CMSIS/Include/core_cm0.h **** /** - 190:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register - 191:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_CORE Status and Control Registers - 192:Drivers/CMSIS/Include/core_cm0.h **** \brief Core Register type definitions. - 193:Drivers/CMSIS/Include/core_cm0.h **** @{ - 194:Drivers/CMSIS/Include/core_cm0.h **** */ - 195:Drivers/CMSIS/Include/core_cm0.h **** - 196:Drivers/CMSIS/Include/core_cm0.h **** /** - 197:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Application Program Status Register (APSR). - 198:Drivers/CMSIS/Include/core_cm0.h **** */ - 199:Drivers/CMSIS/Include/core_cm0.h **** typedef union - 200:Drivers/CMSIS/Include/core_cm0.h **** { - 201:Drivers/CMSIS/Include/core_cm0.h **** struct - 202:Drivers/CMSIS/Include/core_cm0.h **** { - 203:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */ - 204:Drivers/CMSIS/Include/core_cm0.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ - 205:Drivers/CMSIS/Include/core_cm0.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */ - 206:Drivers/CMSIS/Include/core_cm0.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ - 207:Drivers/CMSIS/Include/core_cm0.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */ - 208:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */ - 209:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */ - 210:Drivers/CMSIS/Include/core_cm0.h **** } APSR_Type; - 211:Drivers/CMSIS/Include/core_cm0.h **** - 212:Drivers/CMSIS/Include/core_cm0.h **** /* APSR Register Definitions */ - 213:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_N_Pos 31U /*!< APSR - 214:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR - 215:Drivers/CMSIS/Include/core_cm0.h **** - 216:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_Z_Pos 30U /*!< APSR - 217:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR - 218:Drivers/CMSIS/Include/core_cm0.h **** - 219:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_C_Pos 29U /*!< APSR - 220:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR - 221:Drivers/CMSIS/Include/core_cm0.h **** - 222:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_V_Pos 28U /*!< APSR - ARM GAS /tmp/ccgMYYoM.s page 8 - - - 223:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR - 224:Drivers/CMSIS/Include/core_cm0.h **** - 225:Drivers/CMSIS/Include/core_cm0.h **** - 226:Drivers/CMSIS/Include/core_cm0.h **** /** - 227:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Interrupt Program Status Register (IPSR). - 228:Drivers/CMSIS/Include/core_cm0.h **** */ - 229:Drivers/CMSIS/Include/core_cm0.h **** typedef union - 230:Drivers/CMSIS/Include/core_cm0.h **** { - 231:Drivers/CMSIS/Include/core_cm0.h **** struct - 232:Drivers/CMSIS/Include/core_cm0.h **** { - 233:Drivers/CMSIS/Include/core_cm0.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ - 234:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ - 235:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */ - 236:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */ - 237:Drivers/CMSIS/Include/core_cm0.h **** } IPSR_Type; - 238:Drivers/CMSIS/Include/core_cm0.h **** - 239:Drivers/CMSIS/Include/core_cm0.h **** /* IPSR Register Definitions */ - 240:Drivers/CMSIS/Include/core_cm0.h **** #define IPSR_ISR_Pos 0U /*!< IPSR - 241:Drivers/CMSIS/Include/core_cm0.h **** #define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR - 242:Drivers/CMSIS/Include/core_cm0.h **** - 243:Drivers/CMSIS/Include/core_cm0.h **** - 244:Drivers/CMSIS/Include/core_cm0.h **** /** - 245:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Special-Purpose Program Status Registers (xPSR). - 246:Drivers/CMSIS/Include/core_cm0.h **** */ - 247:Drivers/CMSIS/Include/core_cm0.h **** typedef union - 248:Drivers/CMSIS/Include/core_cm0.h **** { - 249:Drivers/CMSIS/Include/core_cm0.h **** struct - 250:Drivers/CMSIS/Include/core_cm0.h **** { - 251:Drivers/CMSIS/Include/core_cm0.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ - 252:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ - 253:Drivers/CMSIS/Include/core_cm0.h **** uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ - 254:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */ - 255:Drivers/CMSIS/Include/core_cm0.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ - 256:Drivers/CMSIS/Include/core_cm0.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */ - 257:Drivers/CMSIS/Include/core_cm0.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ - 258:Drivers/CMSIS/Include/core_cm0.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */ - 259:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */ - 260:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */ - 261:Drivers/CMSIS/Include/core_cm0.h **** } xPSR_Type; - 262:Drivers/CMSIS/Include/core_cm0.h **** - 263:Drivers/CMSIS/Include/core_cm0.h **** /* xPSR Register Definitions */ - 264:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_N_Pos 31U /*!< xPSR - 265:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR - 266:Drivers/CMSIS/Include/core_cm0.h **** - 267:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_Z_Pos 30U /*!< xPSR - 268:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR - 269:Drivers/CMSIS/Include/core_cm0.h **** - 270:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_C_Pos 29U /*!< xPSR - 271:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR - 272:Drivers/CMSIS/Include/core_cm0.h **** - 273:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_V_Pos 28U /*!< xPSR - 274:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR - 275:Drivers/CMSIS/Include/core_cm0.h **** - 276:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_T_Pos 24U /*!< xPSR - 277:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR - 278:Drivers/CMSIS/Include/core_cm0.h **** - 279:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_ISR_Pos 0U /*!< xPSR - ARM GAS /tmp/ccgMYYoM.s page 9 - - - 280:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR - 281:Drivers/CMSIS/Include/core_cm0.h **** - 282:Drivers/CMSIS/Include/core_cm0.h **** - 283:Drivers/CMSIS/Include/core_cm0.h **** /** - 284:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Control Registers (CONTROL). - 285:Drivers/CMSIS/Include/core_cm0.h **** */ - 286:Drivers/CMSIS/Include/core_cm0.h **** typedef union - 287:Drivers/CMSIS/Include/core_cm0.h **** { - 288:Drivers/CMSIS/Include/core_cm0.h **** struct - 289:Drivers/CMSIS/Include/core_cm0.h **** { - 290:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:1; /*!< bit: 0 Reserved */ - 291:Drivers/CMSIS/Include/core_cm0.h **** uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ - 292:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ - 293:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */ - 294:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */ - 295:Drivers/CMSIS/Include/core_cm0.h **** } CONTROL_Type; - 296:Drivers/CMSIS/Include/core_cm0.h **** - 297:Drivers/CMSIS/Include/core_cm0.h **** /* CONTROL Register Definitions */ - 298:Drivers/CMSIS/Include/core_cm0.h **** #define CONTROL_SPSEL_Pos 1U /*!< CONT - 299:Drivers/CMSIS/Include/core_cm0.h **** #define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONT - 300:Drivers/CMSIS/Include/core_cm0.h **** - 301:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_CORE */ - 302:Drivers/CMSIS/Include/core_cm0.h **** - 303:Drivers/CMSIS/Include/core_cm0.h **** - 304:Drivers/CMSIS/Include/core_cm0.h **** /** - 305:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register - 306:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) - 307:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions for the NVIC Registers - 308:Drivers/CMSIS/Include/core_cm0.h **** @{ - 309:Drivers/CMSIS/Include/core_cm0.h **** */ - 310:Drivers/CMSIS/Include/core_cm0.h **** - 311:Drivers/CMSIS/Include/core_cm0.h **** /** - 312:Drivers/CMSIS/Include/core_cm0.h **** \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). - 313:Drivers/CMSIS/Include/core_cm0.h **** */ - 314:Drivers/CMSIS/Include/core_cm0.h **** typedef struct - 315:Drivers/CMSIS/Include/core_cm0.h **** { - 316:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ - 317:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED0[31U]; - 318:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register - 319:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RSERVED1[31U]; - 320:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register * - 321:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED2[31U]; - 322:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register - 323:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED3[31U]; - 324:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED4[64U]; - 325:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */ - 326:Drivers/CMSIS/Include/core_cm0.h **** } NVIC_Type; - 327:Drivers/CMSIS/Include/core_cm0.h **** - 328:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_NVIC */ - 329:Drivers/CMSIS/Include/core_cm0.h **** - 330:Drivers/CMSIS/Include/core_cm0.h **** - 331:Drivers/CMSIS/Include/core_cm0.h **** /** - 332:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register - 333:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_SCB System Control Block (SCB) - 334:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions for the System Control Block Registers - 335:Drivers/CMSIS/Include/core_cm0.h **** @{ - 336:Drivers/CMSIS/Include/core_cm0.h **** */ - ARM GAS /tmp/ccgMYYoM.s page 10 - - - 337:Drivers/CMSIS/Include/core_cm0.h **** - 338:Drivers/CMSIS/Include/core_cm0.h **** /** - 339:Drivers/CMSIS/Include/core_cm0.h **** \brief Structure type to access the System Control Block (SCB). - 340:Drivers/CMSIS/Include/core_cm0.h **** */ - 341:Drivers/CMSIS/Include/core_cm0.h **** typedef struct - 342:Drivers/CMSIS/Include/core_cm0.h **** { - 343:Drivers/CMSIS/Include/core_cm0.h **** __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ - 344:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Regi - 345:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED0; - 346:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset - 347:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ - 348:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register * - 349:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED1; - 350:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registe - 351:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State - 352:Drivers/CMSIS/Include/core_cm0.h **** } SCB_Type; - 353:Drivers/CMSIS/Include/core_cm0.h **** - 354:Drivers/CMSIS/Include/core_cm0.h **** /* SCB CPUID Register Definitions */ - 355:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB - 356:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB - 357:Drivers/CMSIS/Include/core_cm0.h **** - 358:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_VARIANT_Pos 20U /*!< SCB - 359:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB - 360:Drivers/CMSIS/Include/core_cm0.h **** - 361:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB - 362:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB - 363:Drivers/CMSIS/Include/core_cm0.h **** - 364:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_PARTNO_Pos 4U /*!< SCB - 365:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB - 366:Drivers/CMSIS/Include/core_cm0.h **** - 367:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_REVISION_Pos 0U /*!< SCB - 368:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB - 369:Drivers/CMSIS/Include/core_cm0.h **** - 370:Drivers/CMSIS/Include/core_cm0.h **** /* SCB Interrupt Control State Register Definitions */ - 371:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB - 372:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB - 373:Drivers/CMSIS/Include/core_cm0.h **** - 374:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB - 375:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB - 376:Drivers/CMSIS/Include/core_cm0.h **** - 377:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB - 378:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB - 379:Drivers/CMSIS/Include/core_cm0.h **** - 380:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB - 381:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB - 382:Drivers/CMSIS/Include/core_cm0.h **** - 383:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB - 384:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB - 385:Drivers/CMSIS/Include/core_cm0.h **** - 386:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB - 387:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB - 388:Drivers/CMSIS/Include/core_cm0.h **** - 389:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB - 390:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB - 391:Drivers/CMSIS/Include/core_cm0.h **** - 392:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB - 393:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB - ARM GAS /tmp/ccgMYYoM.s page 11 - - - 394:Drivers/CMSIS/Include/core_cm0.h **** - 395:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB - 396:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB - 397:Drivers/CMSIS/Include/core_cm0.h **** - 398:Drivers/CMSIS/Include/core_cm0.h **** /* SCB Application Interrupt and Reset Control Register Definitions */ - 399:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB - 400:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB - 401:Drivers/CMSIS/Include/core_cm0.h **** - 402:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB - 403:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB - 404:Drivers/CMSIS/Include/core_cm0.h **** - 405:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB - 406:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB - 407:Drivers/CMSIS/Include/core_cm0.h **** - 408:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB - 409:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB - 410:Drivers/CMSIS/Include/core_cm0.h **** - 411:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB - 412:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB - 413:Drivers/CMSIS/Include/core_cm0.h **** - 414:Drivers/CMSIS/Include/core_cm0.h **** /* SCB System Control Register Definitions */ - 415:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB - 416:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB - 417:Drivers/CMSIS/Include/core_cm0.h **** - 418:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB - 419:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB - 420:Drivers/CMSIS/Include/core_cm0.h **** - 421:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB - 422:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB - 423:Drivers/CMSIS/Include/core_cm0.h **** - 424:Drivers/CMSIS/Include/core_cm0.h **** /* SCB Configuration Control Register Definitions */ - 425:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_STKALIGN_Pos 9U /*!< SCB - 426:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB - 427:Drivers/CMSIS/Include/core_cm0.h **** - 428:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB - 429:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB - 430:Drivers/CMSIS/Include/core_cm0.h **** - 431:Drivers/CMSIS/Include/core_cm0.h **** /* SCB System Handler Control and State Register Definitions */ - 432:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB - 433:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB - 434:Drivers/CMSIS/Include/core_cm0.h **** - 435:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_SCB */ - 436:Drivers/CMSIS/Include/core_cm0.h **** - 437:Drivers/CMSIS/Include/core_cm0.h **** - 438:Drivers/CMSIS/Include/core_cm0.h **** /** - 439:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register - 440:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_SysTick System Tick Timer (SysTick) - 441:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions for the System Timer Registers. - 442:Drivers/CMSIS/Include/core_cm0.h **** @{ - 443:Drivers/CMSIS/Include/core_cm0.h **** */ - 444:Drivers/CMSIS/Include/core_cm0.h **** - 445:Drivers/CMSIS/Include/core_cm0.h **** /** - 446:Drivers/CMSIS/Include/core_cm0.h **** \brief Structure type to access the System Timer (SysTick). - 447:Drivers/CMSIS/Include/core_cm0.h **** */ - 448:Drivers/CMSIS/Include/core_cm0.h **** typedef struct - 449:Drivers/CMSIS/Include/core_cm0.h **** { - 450:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Regis - ARM GAS /tmp/ccgMYYoM.s page 12 - - - 451:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ - 452:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register * - 453:Drivers/CMSIS/Include/core_cm0.h **** __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ - 454:Drivers/CMSIS/Include/core_cm0.h **** } SysTick_Type; - 455:Drivers/CMSIS/Include/core_cm0.h **** - 456:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Control / Status Register Definitions */ - 457:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysT - 458:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysT - 459:Drivers/CMSIS/Include/core_cm0.h **** - 460:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysT - 461:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysT - 462:Drivers/CMSIS/Include/core_cm0.h **** - 463:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_TICKINT_Pos 1U /*!< SysT - 464:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysT - 465:Drivers/CMSIS/Include/core_cm0.h **** - 466:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_ENABLE_Pos 0U /*!< SysT - 467:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysT - 468:Drivers/CMSIS/Include/core_cm0.h **** - 469:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Reload Register Definitions */ - 470:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_LOAD_RELOAD_Pos 0U /*!< SysT - 471:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysT - 472:Drivers/CMSIS/Include/core_cm0.h **** - 473:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Current Register Definitions */ - 474:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_VAL_CURRENT_Pos 0U /*!< SysT - 475:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysT - 476:Drivers/CMSIS/Include/core_cm0.h **** - 477:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Calibration Register Definitions */ - 478:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_NOREF_Pos 31U /*!< SysT - 479:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysT - 480:Drivers/CMSIS/Include/core_cm0.h **** - 481:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_SKEW_Pos 30U /*!< SysT - 482:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysT - 483:Drivers/CMSIS/Include/core_cm0.h **** - 484:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_TENMS_Pos 0U /*!< SysT - 485:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysT - 486:Drivers/CMSIS/Include/core_cm0.h **** - 487:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_SysTick */ - 488:Drivers/CMSIS/Include/core_cm0.h **** - 489:Drivers/CMSIS/Include/core_cm0.h **** - 490:Drivers/CMSIS/Include/core_cm0.h **** /** - 491:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register - 492:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) - 493:Drivers/CMSIS/Include/core_cm0.h **** \brief Cortex-M0 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible ove - 494:Drivers/CMSIS/Include/core_cm0.h **** Therefore they are not covered by the Cortex-M0 header file. - 495:Drivers/CMSIS/Include/core_cm0.h **** @{ - 496:Drivers/CMSIS/Include/core_cm0.h **** */ - 497:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_CoreDebug */ - 498:Drivers/CMSIS/Include/core_cm0.h **** - 499:Drivers/CMSIS/Include/core_cm0.h **** - 500:Drivers/CMSIS/Include/core_cm0.h **** /** - 501:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register - 502:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_core_bitfield Core register bit field macros - 503:Drivers/CMSIS/Include/core_cm0.h **** \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). - 504:Drivers/CMSIS/Include/core_cm0.h **** @{ - 505:Drivers/CMSIS/Include/core_cm0.h **** */ - 506:Drivers/CMSIS/Include/core_cm0.h **** - 507:Drivers/CMSIS/Include/core_cm0.h **** /** - ARM GAS /tmp/ccgMYYoM.s page 13 - - - 508:Drivers/CMSIS/Include/core_cm0.h **** \brief Mask and shift a bit field value for use in a register bit range. - 509:Drivers/CMSIS/Include/core_cm0.h **** \param[in] field Name of the register bit field. - 510:Drivers/CMSIS/Include/core_cm0.h **** \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. - 511:Drivers/CMSIS/Include/core_cm0.h **** \return Masked and shifted value. - 512:Drivers/CMSIS/Include/core_cm0.h **** */ - 513:Drivers/CMSIS/Include/core_cm0.h **** #define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) - 514:Drivers/CMSIS/Include/core_cm0.h **** - 515:Drivers/CMSIS/Include/core_cm0.h **** /** - 516:Drivers/CMSIS/Include/core_cm0.h **** \brief Mask and shift a register value to extract a bit filed value. - 517:Drivers/CMSIS/Include/core_cm0.h **** \param[in] field Name of the register bit field. - 518:Drivers/CMSIS/Include/core_cm0.h **** \param[in] value Value of register. This parameter is interpreted as an uint32_t type. - 519:Drivers/CMSIS/Include/core_cm0.h **** \return Masked and shifted bit field value. - 520:Drivers/CMSIS/Include/core_cm0.h **** */ - 521:Drivers/CMSIS/Include/core_cm0.h **** #define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) - 522:Drivers/CMSIS/Include/core_cm0.h **** - 523:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_core_bitfield */ - 524:Drivers/CMSIS/Include/core_cm0.h **** - 525:Drivers/CMSIS/Include/core_cm0.h **** - 526:Drivers/CMSIS/Include/core_cm0.h **** /** - 527:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register - 528:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_core_base Core Definitions - 529:Drivers/CMSIS/Include/core_cm0.h **** \brief Definitions for base addresses, unions, and structures. - 530:Drivers/CMSIS/Include/core_cm0.h **** @{ - 531:Drivers/CMSIS/Include/core_cm0.h **** */ - 532:Drivers/CMSIS/Include/core_cm0.h **** - 533:Drivers/CMSIS/Include/core_cm0.h **** /* Memory mapping of Core Hardware */ - 534:Drivers/CMSIS/Include/core_cm0.h **** #define SCS_BASE (0xE000E000UL) /*!< System Control Space Bas - 535:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ - 536:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ - 537:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Bas - 538:Drivers/CMSIS/Include/core_cm0.h **** - 539:Drivers/CMSIS/Include/core_cm0.h **** #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct - 540:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration st - 541:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struc - 542:Drivers/CMSIS/Include/core_cm0.h **** - 543:Drivers/CMSIS/Include/core_cm0.h **** - 544:Drivers/CMSIS/Include/core_cm0.h **** /*@} */ - 545:Drivers/CMSIS/Include/core_cm0.h **** - 546:Drivers/CMSIS/Include/core_cm0.h **** - 547:Drivers/CMSIS/Include/core_cm0.h **** - 548:Drivers/CMSIS/Include/core_cm0.h **** /******************************************************************************* - 549:Drivers/CMSIS/Include/core_cm0.h **** * Hardware Abstraction Layer - 550:Drivers/CMSIS/Include/core_cm0.h **** Core Function Interface contains: - 551:Drivers/CMSIS/Include/core_cm0.h **** - Core NVIC Functions - 552:Drivers/CMSIS/Include/core_cm0.h **** - Core SysTick Functions - 553:Drivers/CMSIS/Include/core_cm0.h **** - Core Register Access Functions - 554:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/ - 555:Drivers/CMSIS/Include/core_cm0.h **** /** - 556:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference - 557:Drivers/CMSIS/Include/core_cm0.h **** */ - 558:Drivers/CMSIS/Include/core_cm0.h **** - 559:Drivers/CMSIS/Include/core_cm0.h **** - 560:Drivers/CMSIS/Include/core_cm0.h **** - 561:Drivers/CMSIS/Include/core_cm0.h **** /* ########################## NVIC functions #################################### */ - 562:Drivers/CMSIS/Include/core_cm0.h **** /** - 563:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_Core_FunctionInterface - 564:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_NVICFunctions NVIC Functions - ARM GAS /tmp/ccgMYYoM.s page 14 - - - 565:Drivers/CMSIS/Include/core_cm0.h **** \brief Functions that manage interrupts and exceptions via the NVIC. - 566:Drivers/CMSIS/Include/core_cm0.h **** @{ - 567:Drivers/CMSIS/Include/core_cm0.h **** */ - 568:Drivers/CMSIS/Include/core_cm0.h **** - 569:Drivers/CMSIS/Include/core_cm0.h **** #ifdef CMSIS_NVIC_VIRTUAL - 570:Drivers/CMSIS/Include/core_cm0.h **** #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE - 571:Drivers/CMSIS/Include/core_cm0.h **** #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" - 572:Drivers/CMSIS/Include/core_cm0.h **** #endif - 573:Drivers/CMSIS/Include/core_cm0.h **** #include CMSIS_NVIC_VIRTUAL_HEADER_FILE - 574:Drivers/CMSIS/Include/core_cm0.h **** #else - 575:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping - 576:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping - 577:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_EnableIRQ __NVIC_EnableIRQ - 578:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ - 579:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_DisableIRQ __NVIC_DisableIRQ - 580:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ - 581:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ - 582:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ - 583:Drivers/CMSIS/Include/core_cm0.h **** /*#define NVIC_GetActive __NVIC_GetActive not available for Cortex-M0 */ - 584:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetPriority __NVIC_SetPriority - 585:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetPriority __NVIC_GetPriority - 586:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SystemReset __NVIC_SystemReset - 587:Drivers/CMSIS/Include/core_cm0.h **** #endif /* CMSIS_NVIC_VIRTUAL */ - 588:Drivers/CMSIS/Include/core_cm0.h **** - 589:Drivers/CMSIS/Include/core_cm0.h **** #ifdef CMSIS_VECTAB_VIRTUAL - 590:Drivers/CMSIS/Include/core_cm0.h **** #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE - 591:Drivers/CMSIS/Include/core_cm0.h **** #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" - 592:Drivers/CMSIS/Include/core_cm0.h **** #endif - 593:Drivers/CMSIS/Include/core_cm0.h **** #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE - 594:Drivers/CMSIS/Include/core_cm0.h **** #else - 595:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetVector __NVIC_SetVector - 596:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetVector __NVIC_GetVector - 597:Drivers/CMSIS/Include/core_cm0.h **** #endif /* (CMSIS_VECTAB_VIRTUAL) */ - 598:Drivers/CMSIS/Include/core_cm0.h **** - 599:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_USER_IRQ_OFFSET 16 - 600:Drivers/CMSIS/Include/core_cm0.h **** - 601:Drivers/CMSIS/Include/core_cm0.h **** - 602:Drivers/CMSIS/Include/core_cm0.h **** /* The following EXC_RETURN values are saved the LR on exception entry */ - 603:Drivers/CMSIS/Include/core_cm0.h **** #define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after ret - 604:Drivers/CMSIS/Include/core_cm0.h **** #define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after retu - 605:Drivers/CMSIS/Include/core_cm0.h **** #define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after retu - 606:Drivers/CMSIS/Include/core_cm0.h **** - 607:Drivers/CMSIS/Include/core_cm0.h **** - 608:Drivers/CMSIS/Include/core_cm0.h **** /* Interrupt Priorities are WORD accessible only under Armv6-M */ - 609:Drivers/CMSIS/Include/core_cm0.h **** /* The following MACROS handle generation of the register offset and byte masks */ - 610:Drivers/CMSIS/Include/core_cm0.h **** #define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) - 611:Drivers/CMSIS/Include/core_cm0.h **** #define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) ) - 612:Drivers/CMSIS/Include/core_cm0.h **** #define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) - 613:Drivers/CMSIS/Include/core_cm0.h **** - 614:Drivers/CMSIS/Include/core_cm0.h **** #define __NVIC_SetPriorityGrouping(X) (void)(X) - 615:Drivers/CMSIS/Include/core_cm0.h **** #define __NVIC_GetPriorityGrouping() (0U) - 616:Drivers/CMSIS/Include/core_cm0.h **** - 617:Drivers/CMSIS/Include/core_cm0.h **** /** - 618:Drivers/CMSIS/Include/core_cm0.h **** \brief Enable Interrupt - 619:Drivers/CMSIS/Include/core_cm0.h **** \details Enables a device specific interrupt in the NVIC interrupt controller. - 620:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number. - 621:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative. - ARM GAS /tmp/ccgMYYoM.s page 15 - - - 622:Drivers/CMSIS/Include/core_cm0.h **** */ - 623:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) - 624:Drivers/CMSIS/Include/core_cm0.h **** { - 625:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 626:Drivers/CMSIS/Include/core_cm0.h **** { - 627:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 628:Drivers/CMSIS/Include/core_cm0.h **** } - 629:Drivers/CMSIS/Include/core_cm0.h **** } - 630:Drivers/CMSIS/Include/core_cm0.h **** - 631:Drivers/CMSIS/Include/core_cm0.h **** - 632:Drivers/CMSIS/Include/core_cm0.h **** /** - 633:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Interrupt Enable status - 634:Drivers/CMSIS/Include/core_cm0.h **** \details Returns a device specific interrupt enable status from the NVIC interrupt controller. - 635:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number. - 636:Drivers/CMSIS/Include/core_cm0.h **** \return 0 Interrupt is not enabled. - 637:Drivers/CMSIS/Include/core_cm0.h **** \return 1 Interrupt is enabled. - 638:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative. - 639:Drivers/CMSIS/Include/core_cm0.h **** */ - 640:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) - 641:Drivers/CMSIS/Include/core_cm0.h **** { - 642:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 643:Drivers/CMSIS/Include/core_cm0.h **** { - 644:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL) - 645:Drivers/CMSIS/Include/core_cm0.h **** } - 646:Drivers/CMSIS/Include/core_cm0.h **** else - 647:Drivers/CMSIS/Include/core_cm0.h **** { - 648:Drivers/CMSIS/Include/core_cm0.h **** return(0U); - 649:Drivers/CMSIS/Include/core_cm0.h **** } - 650:Drivers/CMSIS/Include/core_cm0.h **** } - 651:Drivers/CMSIS/Include/core_cm0.h **** - 652:Drivers/CMSIS/Include/core_cm0.h **** - 653:Drivers/CMSIS/Include/core_cm0.h **** /** - 654:Drivers/CMSIS/Include/core_cm0.h **** \brief Disable Interrupt - 655:Drivers/CMSIS/Include/core_cm0.h **** \details Disables a device specific interrupt in the NVIC interrupt controller. - 656:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number. - 657:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative. - 658:Drivers/CMSIS/Include/core_cm0.h **** */ - 659:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) - 660:Drivers/CMSIS/Include/core_cm0.h **** { - 661:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 662:Drivers/CMSIS/Include/core_cm0.h **** { - 663:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 664:Drivers/CMSIS/Include/core_cm0.h **** __DSB(); - 665:Drivers/CMSIS/Include/core_cm0.h **** __ISB(); - 666:Drivers/CMSIS/Include/core_cm0.h **** } - 667:Drivers/CMSIS/Include/core_cm0.h **** } - 668:Drivers/CMSIS/Include/core_cm0.h **** - 669:Drivers/CMSIS/Include/core_cm0.h **** - 670:Drivers/CMSIS/Include/core_cm0.h **** /** - 671:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Pending Interrupt - 672:Drivers/CMSIS/Include/core_cm0.h **** \details Reads the NVIC pending register and returns the pending bit for the specified device spe - 673:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number. - 674:Drivers/CMSIS/Include/core_cm0.h **** \return 0 Interrupt status is not pending. - 675:Drivers/CMSIS/Include/core_cm0.h **** \return 1 Interrupt status is pending. - 676:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative. - 677:Drivers/CMSIS/Include/core_cm0.h **** */ - 678:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) - ARM GAS /tmp/ccgMYYoM.s page 16 - - - 679:Drivers/CMSIS/Include/core_cm0.h **** { - 680:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 681:Drivers/CMSIS/Include/core_cm0.h **** { - 682:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL) - 683:Drivers/CMSIS/Include/core_cm0.h **** } - 684:Drivers/CMSIS/Include/core_cm0.h **** else - 685:Drivers/CMSIS/Include/core_cm0.h **** { - 686:Drivers/CMSIS/Include/core_cm0.h **** return(0U); - 687:Drivers/CMSIS/Include/core_cm0.h **** } - 688:Drivers/CMSIS/Include/core_cm0.h **** } - 689:Drivers/CMSIS/Include/core_cm0.h **** - 690:Drivers/CMSIS/Include/core_cm0.h **** - 691:Drivers/CMSIS/Include/core_cm0.h **** /** - 692:Drivers/CMSIS/Include/core_cm0.h **** \brief Set Pending Interrupt - 693:Drivers/CMSIS/Include/core_cm0.h **** \details Sets the pending bit of a device specific interrupt in the NVIC pending register. - 694:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number. - 695:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative. - 696:Drivers/CMSIS/Include/core_cm0.h **** */ - 697:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) - 698:Drivers/CMSIS/Include/core_cm0.h **** { - 699:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 700:Drivers/CMSIS/Include/core_cm0.h **** { - 701:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 702:Drivers/CMSIS/Include/core_cm0.h **** } - 703:Drivers/CMSIS/Include/core_cm0.h **** } - 704:Drivers/CMSIS/Include/core_cm0.h **** - 705:Drivers/CMSIS/Include/core_cm0.h **** - 706:Drivers/CMSIS/Include/core_cm0.h **** /** - 707:Drivers/CMSIS/Include/core_cm0.h **** \brief Clear Pending Interrupt - 708:Drivers/CMSIS/Include/core_cm0.h **** \details Clears the pending bit of a device specific interrupt in the NVIC pending register. - 709:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number. - 710:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative. - 711:Drivers/CMSIS/Include/core_cm0.h **** */ - 712:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) - 713:Drivers/CMSIS/Include/core_cm0.h **** { - 714:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 715:Drivers/CMSIS/Include/core_cm0.h **** { - 716:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 717:Drivers/CMSIS/Include/core_cm0.h **** } - 718:Drivers/CMSIS/Include/core_cm0.h **** } - 719:Drivers/CMSIS/Include/core_cm0.h **** - 720:Drivers/CMSIS/Include/core_cm0.h **** - 721:Drivers/CMSIS/Include/core_cm0.h **** /** - 722:Drivers/CMSIS/Include/core_cm0.h **** \brief Set Interrupt Priority - 723:Drivers/CMSIS/Include/core_cm0.h **** \details Sets the priority of a device specific interrupt or a processor exception. - 724:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt, - 725:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception. - 726:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number. - 727:Drivers/CMSIS/Include/core_cm0.h **** \param [in] priority Priority to set. - 728:Drivers/CMSIS/Include/core_cm0.h **** \note The priority cannot be set for every processor exception. - 729:Drivers/CMSIS/Include/core_cm0.h **** */ - 730:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) - 731:Drivers/CMSIS/Include/core_cm0.h **** { - 732:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 42 .loc 2 732 0 - 43 0002 0028 cmp r0, #0 - 44 0004 11DB blt .L2 - ARM GAS /tmp/ccgMYYoM.s page 17 - - - 733:Drivers/CMSIS/Include/core_cm0.h **** { - 734:Drivers/CMSIS/Include/core_cm0.h **** NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn)) - 45 .loc 2 734 0 - 46 0006 8308 lsrs r3, r0, #2 - 47 0008 144D ldr r5, .L4 - 48 000a C033 adds r3, r3, #192 - 49 000c 9B00 lsls r3, r3, #2 - 50 000e 5C59 ldr r4, [r3, r5] - 51 0010 0322 movs r2, #3 - 52 .LVL2: - 53 0012 1040 ands r0, r2 - 54 .LVL3: - 55 0014 C000 lsls r0, r0, #3 - 56 0016 FC32 adds r2, r2, #252 - 57 0018 1600 movs r6, r2 - 58 001a 8640 lsls r6, r6, r0 - 59 001c B443 bics r4, r6 - 735:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); - 60 .loc 2 735 0 - 61 001e 8901 lsls r1, r1, #6 - 62 .LVL4: - 63 0020 0A40 ands r2, r1 - 64 0022 8240 lsls r2, r2, r0 - 734:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); - 65 .loc 2 734 0 - 66 0024 2243 orrs r2, r4 - 67 0026 5A51 str r2, [r3, r5] - 68 .LVL5: - 69 .L1: - 70 .LBE33: - 71 .LBE32: - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */ - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority)); - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_SetPriority(IRQn,PreemptPriority); - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 72 .loc 1 141 0 - 73 @ sp needed - 74 0028 70BD pop {r4, r5, r6, pc} - 75 .LVL6: - 76 .L2: - 77 .LBB35: - 78 .LBB34: - 736:Drivers/CMSIS/Include/core_cm0.h **** } - 737:Drivers/CMSIS/Include/core_cm0.h **** else - 738:Drivers/CMSIS/Include/core_cm0.h **** { - 739:Drivers/CMSIS/Include/core_cm0.h **** SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn)) - 79 .loc 2 739 0 - 80 002a C0B2 uxtb r0, r0 - 81 002c 0F23 movs r3, #15 - 82 002e 0340 ands r3, r0 - 83 0030 083B subs r3, r3, #8 - 84 0032 9B08 lsrs r3, r3, #2 - 85 0034 0633 adds r3, r3, #6 - 86 0036 9B00 lsls r3, r3, #2 - 87 0038 094A ldr r2, .L4+4 - 88 .LVL7: - 89 003a 9446 mov ip, r2 - ARM GAS /tmp/ccgMYYoM.s page 18 - - - 90 003c 6344 add r3, r3, ip - 91 003e 5D68 ldr r5, [r3, #4] - 92 0040 0324 movs r4, #3 - 93 0042 2040 ands r0, r4 - 94 .LVL8: - 95 0044 C000 lsls r0, r0, #3 - 96 0046 FF22 movs r2, #255 - 97 0048 1400 movs r4, r2 - 98 004a 8440 lsls r4, r4, r0 - 99 004c A543 bics r5, r4 - 740:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); - 100 .loc 2 740 0 - 101 004e 8901 lsls r1, r1, #6 - 102 .LVL9: - 103 0050 1140 ands r1, r2 - 104 0052 8140 lsls r1, r1, r0 - 739:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); - 105 .loc 2 739 0 - 106 0054 2943 orrs r1, r5 - 107 0056 5960 str r1, [r3, #4] - 108 .LVL10: - 109 .LBE34: - 110 .LBE35: - 111 .loc 1 141 0 - 112 0058 E6E7 b .L1 - 113 .L5: - 114 005a C046 .align 2 - 115 .L4: - 116 005c 00E100E0 .word -536813312 - 117 0060 00ED00E0 .word -536810240 - 118 .cfi_endproc - 119 .LFE40: - 121 .section .text.HAL_NVIC_EnableIRQ,"ax",%progbits - 122 .align 1 - 123 .global HAL_NVIC_EnableIRQ - 124 .syntax unified - 125 .code 16 - 126 .thumb_func - 127 .fpu softvfp - 129 HAL_NVIC_EnableIRQ: - 130 .LFB41: - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Enables a device specific interrupt in the NVIC interrupt controller. - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @note To configure interrupts priority correctly, the NVIC_PriorityGroupConfig() - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * function should be called before. - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number. - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_EnableIRQ(IRQn_Type IRQn) - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 131 .loc 1 153 0 - 132 .cfi_startproc - 133 @ args = 0, pretend = 0, frame = 0 - 134 @ frame_needed = 0, uses_anonymous_args = 0 - ARM GAS /tmp/ccgMYYoM.s page 19 - - - 135 @ link register save eliminated. - 136 .LVL11: - 137 .LBB36: - 138 .LBB37: - 625:Drivers/CMSIS/Include/core_cm0.h **** { - 139 .loc 2 625 0 - 140 0000 0028 cmp r0, #0 - 141 0002 05DB blt .L6 - 627:Drivers/CMSIS/Include/core_cm0.h **** } - 142 .loc 2 627 0 - 143 0004 1F23 movs r3, #31 - 144 0006 1840 ands r0, r3 - 145 .LVL12: - 146 0008 1E3B subs r3, r3, #30 - 147 000a 8340 lsls r3, r3, r0 - 148 000c 014A ldr r2, .L8 - 149 000e 1360 str r3, [r2] - 150 .LVL13: - 151 .L6: - 152 .LBE37: - 153 .LBE36: - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */ - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Enable interrupt */ - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_EnableIRQ(IRQn); - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 154 .loc 1 159 0 - 155 @ sp needed - 156 0010 7047 bx lr - 157 .L9: - 158 0012 C046 .align 2 - 159 .L8: - 160 0014 00E100E0 .word -536813312 - 161 .cfi_endproc - 162 .LFE41: - 164 .section .text.HAL_NVIC_DisableIRQ,"ax",%progbits - 165 .align 1 - 166 .global HAL_NVIC_DisableIRQ - 167 .syntax unified - 168 .code 16 - 169 .thumb_func - 170 .fpu softvfp - 172 HAL_NVIC_DisableIRQ: - 173 .LFB42: - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Disables a device specific interrupt in the NVIC interrupt controller. - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number. - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_DisableIRQ(IRQn_Type IRQn) - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 174 .loc 1 169 0 - 175 .cfi_startproc - ARM GAS /tmp/ccgMYYoM.s page 20 - - - 176 @ args = 0, pretend = 0, frame = 0 - 177 @ frame_needed = 0, uses_anonymous_args = 0 - 178 @ link register save eliminated. - 179 .LVL14: - 180 .LBB38: - 181 .LBB39: - 661:Drivers/CMSIS/Include/core_cm0.h **** { - 182 .loc 2 661 0 - 183 0000 0028 cmp r0, #0 - 184 0002 0ADB blt .L10 - 663:Drivers/CMSIS/Include/core_cm0.h **** __DSB(); - 185 .loc 2 663 0 - 186 0004 1F23 movs r3, #31 - 187 0006 1840 ands r0, r3 - 188 .LVL15: - 189 0008 1E3B subs r3, r3, #30 - 190 000a 8340 lsls r3, r3, r0 - 191 000c 0349 ldr r1, .L12 - 192 000e 8022 movs r2, #128 - 193 0010 8B50 str r3, [r1, r2] - 194 .LBB40: - 195 .LBB41: - 196 .file 3 "Drivers/CMSIS/Include/cmsis_gcc.h" - 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//** - 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h - 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file - 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4 - 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018 - 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ - 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /* - 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - 9:Drivers/CMSIS/Include/cmsis_gcc.h **** * - 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0 - 11:Drivers/CMSIS/Include/cmsis_gcc.h **** * - 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may - 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License. - 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at - 15:Drivers/CMSIS/Include/cmsis_gcc.h **** * - 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0 - 17:Drivers/CMSIS/Include/cmsis_gcc.h **** * - 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software - 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT - 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and - 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. - 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 24:Drivers/CMSIS/Include/cmsis_gcc.h **** - 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H - 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H - 27:Drivers/CMSIS/Include/cmsis_gcc.h **** - 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ - 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push - 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" - 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" - 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" - 33:Drivers/CMSIS/Include/cmsis_gcc.h **** - 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ - ARM GAS /tmp/ccgMYYoM.s page 21 - - - 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin - 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) - 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 38:Drivers/CMSIS/Include/cmsis_gcc.h **** - 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ - 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM - 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm - 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE - 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline - 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE - 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline - 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE - 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline - 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN - 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__)) - 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED - 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used)) - 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK - 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak)) - 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED - 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) - 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT - 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) - 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION - 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1))) - 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ - 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push - 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" - 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" - 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; - 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop - 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) - 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE - 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push - 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" - 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" - 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; - 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop - 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- - 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ - 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push - 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" - 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" - 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; - 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop - ARM GAS /tmp/ccgMYYoM.s page 22 - - - 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add - 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE - 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push - 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" - 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" - 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; - 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop - 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))- - 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ - 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push - 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" - 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" - 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; - 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop - 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add - 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED - 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x))) - 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT - 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict - 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 116:Drivers/CMSIS/Include/cmsis_gcc.h **** - 117:Drivers/CMSIS/Include/cmsis_gcc.h **** - 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */ - 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface - 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions - 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ - 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 123:Drivers/CMSIS/Include/cmsis_gcc.h **** - 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts - 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR. - 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. - 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void) - 130:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory"); - 132:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 133:Drivers/CMSIS/Include/cmsis_gcc.h **** - 134:Drivers/CMSIS/Include/cmsis_gcc.h **** - 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts - 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR. - 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. - 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void) - 141:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); - 143:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 144:Drivers/CMSIS/Include/cmsis_gcc.h **** - 145:Drivers/CMSIS/Include/cmsis_gcc.h **** - 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register - 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register. - ARM GAS /tmp/ccgMYYoM.s page 23 - - - 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value - 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void) - 152:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 154:Drivers/CMSIS/Include/cmsis_gcc.h **** - 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) ); - 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 157:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 158:Drivers/CMSIS/Include/cmsis_gcc.h **** - 159:Drivers/CMSIS/Include/cmsis_gcc.h **** - 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure) - 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode. - 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value - 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) - 167:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 169:Drivers/CMSIS/Include/cmsis_gcc.h **** - 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); - 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 172:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 174:Drivers/CMSIS/Include/cmsis_gcc.h **** - 175:Drivers/CMSIS/Include/cmsis_gcc.h **** - 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register - 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register. - 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set - 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) - 182:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); - 184:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 185:Drivers/CMSIS/Include/cmsis_gcc.h **** - 186:Drivers/CMSIS/Include/cmsis_gcc.h **** - 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure) - 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state. - 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set - 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) - 194:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); - 196:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 198:Drivers/CMSIS/Include/cmsis_gcc.h **** - 199:Drivers/CMSIS/Include/cmsis_gcc.h **** - 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register - 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register. - 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value - 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void) - ARM GAS /tmp/ccgMYYoM.s page 24 - - - 206:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 208:Drivers/CMSIS/Include/cmsis_gcc.h **** - 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); - 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 211:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 212:Drivers/CMSIS/Include/cmsis_gcc.h **** - 213:Drivers/CMSIS/Include/cmsis_gcc.h **** - 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register - 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register. - 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value - 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void) - 220:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 222:Drivers/CMSIS/Include/cmsis_gcc.h **** - 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) ); - 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 225:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 226:Drivers/CMSIS/Include/cmsis_gcc.h **** - 227:Drivers/CMSIS/Include/cmsis_gcc.h **** - 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register - 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register. - 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value - 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void) - 234:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 236:Drivers/CMSIS/Include/cmsis_gcc.h **** - 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); - 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 239:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 240:Drivers/CMSIS/Include/cmsis_gcc.h **** - 241:Drivers/CMSIS/Include/cmsis_gcc.h **** - 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer - 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP). - 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value - 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void) - 248:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 250:Drivers/CMSIS/Include/cmsis_gcc.h **** - 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) ); - 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 253:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 254:Drivers/CMSIS/Include/cmsis_gcc.h **** - 255:Drivers/CMSIS/Include/cmsis_gcc.h **** - 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure) - 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s - 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value - 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) - ARM GAS /tmp/ccgMYYoM.s page 25 - - - 263:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 265:Drivers/CMSIS/Include/cmsis_gcc.h **** - 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); - 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 268:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 270:Drivers/CMSIS/Include/cmsis_gcc.h **** - 271:Drivers/CMSIS/Include/cmsis_gcc.h **** - 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer - 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP). - 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set - 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) - 278:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); - 280:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 281:Drivers/CMSIS/Include/cmsis_gcc.h **** - 282:Drivers/CMSIS/Include/cmsis_gcc.h **** - 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) - 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta - 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set - 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) - 290:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); - 292:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 294:Drivers/CMSIS/Include/cmsis_gcc.h **** - 295:Drivers/CMSIS/Include/cmsis_gcc.h **** - 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer - 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP). - 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value - 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void) - 302:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 304:Drivers/CMSIS/Include/cmsis_gcc.h **** - 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) ); - 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 307:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 308:Drivers/CMSIS/Include/cmsis_gcc.h **** - 309:Drivers/CMSIS/Include/cmsis_gcc.h **** - 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure) - 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat - 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value - 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) - 317:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 319:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccgMYYoM.s page 26 - - - 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); - 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 322:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 324:Drivers/CMSIS/Include/cmsis_gcc.h **** - 325:Drivers/CMSIS/Include/cmsis_gcc.h **** - 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer - 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP). - 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set - 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) - 332:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); - 334:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 335:Drivers/CMSIS/Include/cmsis_gcc.h **** - 336:Drivers/CMSIS/Include/cmsis_gcc.h **** - 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure) - 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. - 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set - 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) - 344:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); - 346:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 348:Drivers/CMSIS/Include/cmsis_gcc.h **** - 349:Drivers/CMSIS/Include/cmsis_gcc.h **** - 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure) - 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. - 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value - 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) - 357:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 359:Drivers/CMSIS/Include/cmsis_gcc.h **** - 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); - 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 362:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 363:Drivers/CMSIS/Include/cmsis_gcc.h **** - 364:Drivers/CMSIS/Include/cmsis_gcc.h **** - 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure) - 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. - 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set - 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) - 371:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); - 373:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 375:Drivers/CMSIS/Include/cmsis_gcc.h **** - 376:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccgMYYoM.s page 27 - - - 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask - 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register. - 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value - 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) - 383:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 385:Drivers/CMSIS/Include/cmsis_gcc.h **** - 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 388:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 389:Drivers/CMSIS/Include/cmsis_gcc.h **** - 390:Drivers/CMSIS/Include/cmsis_gcc.h **** - 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure) - 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg - 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value - 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) - 398:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 400:Drivers/CMSIS/Include/cmsis_gcc.h **** - 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory"); - 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 403:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 405:Drivers/CMSIS/Include/cmsis_gcc.h **** - 406:Drivers/CMSIS/Include/cmsis_gcc.h **** - 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask - 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register. - 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask - 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) - 413:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 415:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 416:Drivers/CMSIS/Include/cmsis_gcc.h **** - 417:Drivers/CMSIS/Include/cmsis_gcc.h **** - 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure) - 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state. - 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask - 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) - 425:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); - 427:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 429:Drivers/CMSIS/Include/cmsis_gcc.h **** - 430:Drivers/CMSIS/Include/cmsis_gcc.h **** - 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) - ARM GAS /tmp/ccgMYYoM.s page 28 - - - 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ - 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR. - 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. - 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void) - 440:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory"); - 442:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 443:Drivers/CMSIS/Include/cmsis_gcc.h **** - 444:Drivers/CMSIS/Include/cmsis_gcc.h **** - 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ - 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR. - 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. - 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void) - 451:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory"); - 453:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 454:Drivers/CMSIS/Include/cmsis_gcc.h **** - 455:Drivers/CMSIS/Include/cmsis_gcc.h **** - 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority - 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register. - 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value - 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) - 462:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 464:Drivers/CMSIS/Include/cmsis_gcc.h **** - 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) ); - 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 467:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 468:Drivers/CMSIS/Include/cmsis_gcc.h **** - 469:Drivers/CMSIS/Include/cmsis_gcc.h **** - 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure) - 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state. - 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value - 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) - 477:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 479:Drivers/CMSIS/Include/cmsis_gcc.h **** - 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); - 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 482:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 484:Drivers/CMSIS/Include/cmsis_gcc.h **** - 485:Drivers/CMSIS/Include/cmsis_gcc.h **** - 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority - 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register. - 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set - 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - ARM GAS /tmp/ccgMYYoM.s page 29 - - - 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) - 492:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); - 494:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 495:Drivers/CMSIS/Include/cmsis_gcc.h **** - 496:Drivers/CMSIS/Include/cmsis_gcc.h **** - 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure) - 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state. - 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set - 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) - 504:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); - 506:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 508:Drivers/CMSIS/Include/cmsis_gcc.h **** - 509:Drivers/CMSIS/Include/cmsis_gcc.h **** - 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition - 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable - 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level. - 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set - 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) - 517:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); - 519:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 520:Drivers/CMSIS/Include/cmsis_gcc.h **** - 521:Drivers/CMSIS/Include/cmsis_gcc.h **** - 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask - 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register. - 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value - 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) - 528:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 530:Drivers/CMSIS/Include/cmsis_gcc.h **** - 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); - 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 533:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 534:Drivers/CMSIS/Include/cmsis_gcc.h **** - 535:Drivers/CMSIS/Include/cmsis_gcc.h **** - 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure) - 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state. - 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value - 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) - 543:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 545:Drivers/CMSIS/Include/cmsis_gcc.h **** - 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); - 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - ARM GAS /tmp/ccgMYYoM.s page 30 - - - 548:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 550:Drivers/CMSIS/Include/cmsis_gcc.h **** - 551:Drivers/CMSIS/Include/cmsis_gcc.h **** - 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask - 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register. - 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set - 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) - 558:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); - 560:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 561:Drivers/CMSIS/Include/cmsis_gcc.h **** - 562:Drivers/CMSIS/Include/cmsis_gcc.h **** - 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure) - 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state. - 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set - 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) - 570:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); - 572:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 574:Drivers/CMSIS/Include/cmsis_gcc.h **** - 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ - 578:Drivers/CMSIS/Include/cmsis_gcc.h **** - 579:Drivers/CMSIS/Include/cmsis_gcc.h **** - 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - 582:Drivers/CMSIS/Include/cmsis_gcc.h **** - 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit - 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure - 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. - 588:Drivers/CMSIS/Include/cmsis_gcc.h **** - 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). - 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value - 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) - 593:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI - 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; - 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) ); - 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; - 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 603:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 604:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccgMYYoM.s page 31 - - - 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) - 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure) - 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. - 610:Drivers/CMSIS/Include/cmsis_gcc.h **** - 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in - 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value - 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) - 615:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI - 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; - 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); - 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; - 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 624:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 626:Drivers/CMSIS/Include/cmsis_gcc.h **** - 627:Drivers/CMSIS/Include/cmsis_gcc.h **** - 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit - 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure - 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. - 633:Drivers/CMSIS/Include/cmsis_gcc.h **** - 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). - 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) - 638:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI - 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; - 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); - 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 646:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 647:Drivers/CMSIS/Include/cmsis_gcc.h **** - 648:Drivers/CMSIS/Include/cmsis_gcc.h **** - 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) - 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. - 654:Drivers/CMSIS/Include/cmsis_gcc.h **** - 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s - 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) - 659:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI - ARM GAS /tmp/ccgMYYoM.s page 32 - - - 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; - 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); - 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 666:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 668:Drivers/CMSIS/Include/cmsis_gcc.h **** - 669:Drivers/CMSIS/Include/cmsis_gcc.h **** - 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit - 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure - 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. - 675:Drivers/CMSIS/Include/cmsis_gcc.h **** - 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). - 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value - 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) - 680:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI - 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; - 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) ); - 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; - 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 690:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 691:Drivers/CMSIS/Include/cmsis_gcc.h **** - 692:Drivers/CMSIS/Include/cmsis_gcc.h **** - 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure) - 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. - 698:Drivers/CMSIS/Include/cmsis_gcc.h **** - 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec - 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value - 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) - 703:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI - 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; - 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); - 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; - 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 712:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 714:Drivers/CMSIS/Include/cmsis_gcc.h **** - 715:Drivers/CMSIS/Include/cmsis_gcc.h **** - 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit - 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - ARM GAS /tmp/ccgMYYoM.s page 33 - - - 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure - 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. - 721:Drivers/CMSIS/Include/cmsis_gcc.h **** - 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). - 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set - 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) - 726:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI - 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; - 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); - 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 734:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 735:Drivers/CMSIS/Include/cmsis_gcc.h **** - 736:Drivers/CMSIS/Include/cmsis_gcc.h **** - 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) - 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure) - 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. - 742:Drivers/CMSIS/Include/cmsis_gcc.h **** - 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu - 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set - 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) - 747:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI - 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; - 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); - 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 754:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 756:Drivers/CMSIS/Include/cmsis_gcc.h **** - 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ - 759:Drivers/CMSIS/Include/cmsis_gcc.h **** - 760:Drivers/CMSIS/Include/cmsis_gcc.h **** - 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR - 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register. - 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value - 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void) - 767:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) - 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed - 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) - 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ - 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr(); - 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - ARM GAS /tmp/ccgMYYoM.s page 34 - - - 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 777:Drivers/CMSIS/Include/cmsis_gcc.h **** - 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); - 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U); - 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 784:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 785:Drivers/CMSIS/Include/cmsis_gcc.h **** - 786:Drivers/CMSIS/Include/cmsis_gcc.h **** - 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR - 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register. - 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set - 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) - 793:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr) - 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed - 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) - 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ - 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr); - 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); - 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr; - 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 807:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 808:Drivers/CMSIS/Include/cmsis_gcc.h **** - 809:Drivers/CMSIS/Include/cmsis_gcc.h **** - 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */ - 811:Drivers/CMSIS/Include/cmsis_gcc.h **** - 812:Drivers/CMSIS/Include/cmsis_gcc.h **** - 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */ - 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface - 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions - 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ - 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 818:Drivers/CMSIS/Include/cmsis_gcc.h **** - 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2. - 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l" - 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */ - 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__) - 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r) - 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r) - 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) - 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else - 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) - 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) - 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) - 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - 831:Drivers/CMSIS/Include/cmsis_gcc.h **** - 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - ARM GAS /tmp/ccgMYYoM.s page 35 - - - 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation - 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes. - 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop") - 837:Drivers/CMSIS/Include/cmsis_gcc.h **** - 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt - 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o - 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi") - 843:Drivers/CMSIS/Include/cmsis_gcc.h **** - 844:Drivers/CMSIS/Include/cmsis_gcc.h **** - 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event - 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter - 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs. - 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe") - 851:Drivers/CMSIS/Include/cmsis_gcc.h **** - 852:Drivers/CMSIS/Include/cmsis_gcc.h **** - 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event - 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. - 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev") - 858:Drivers/CMSIS/Include/cmsis_gcc.h **** - 859:Drivers/CMSIS/Include/cmsis_gcc.h **** - 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier - 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor, - 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory, - 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed. - 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void) - 867:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory"); - 869:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 870:Drivers/CMSIS/Include/cmsis_gcc.h **** - 871:Drivers/CMSIS/Include/cmsis_gcc.h **** - 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier - 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier. - 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete. - 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void) - 878:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory"); - 197 .loc 3 879 0 - 198 .syntax divided - 199 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 200 0012 BFF34F8F dsb 0xF - 201 @ 0 "" 2 - 202 .thumb - 203 .syntax unified - 204 .LBE41: - 205 .LBE40: - 206 .LBB42: - ARM GAS /tmp/ccgMYYoM.s page 36 - - - 207 .LBB43: - 868:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 208 .loc 3 868 0 - 209 .syntax divided - 210 @ 868 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 211 0016 BFF36F8F isb 0xF - 212 @ 0 "" 2 - 213 .LVL16: - 214 .thumb - 215 .syntax unified - 216 .L10: - 217 .LBE43: - 218 .LBE42: - 219 .LBE39: - 220 .LBE38: - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */ - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Disable interrupt */ - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_DisableIRQ(IRQn); - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 221 .loc 1 175 0 - 222 @ sp needed - 223 001a 7047 bx lr - 224 .L13: - 225 .align 2 - 226 .L12: - 227 001c 00E100E0 .word -536813312 - 228 .cfi_endproc - 229 .LFE42: - 231 .section .text.HAL_NVIC_SystemReset,"ax",%progbits - 232 .align 1 - 233 .global HAL_NVIC_SystemReset - 234 .syntax unified - 235 .code 16 - 236 .thumb_func - 237 .fpu softvfp - 239 HAL_NVIC_SystemReset: - 240 .LFB43: - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Initiates a system reset request to reset the MCU. - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_SystemReset(void) - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 241 .loc 1 182 0 - 242 .cfi_startproc - 243 @ Volatile: function does not return. - 244 @ args = 0, pretend = 0, frame = 0 - 245 @ frame_needed = 0, uses_anonymous_args = 0 - 246 @ link register save eliminated. - 247 .LBB50: - 248 .LBB51: - 249 .LBB52: - 250 .LBB53: - 251 .loc 3 879 0 - ARM GAS /tmp/ccgMYYoM.s page 37 - - - 252 .syntax divided - 253 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 254 0000 BFF34F8F dsb 0xF - 255 @ 0 "" 2 - 256 .thumb - 257 .syntax unified - 258 .LBE53: - 259 .LBE52: - 741:Drivers/CMSIS/Include/core_cm0.h **** } - 742:Drivers/CMSIS/Include/core_cm0.h **** } - 743:Drivers/CMSIS/Include/core_cm0.h **** - 744:Drivers/CMSIS/Include/core_cm0.h **** - 745:Drivers/CMSIS/Include/core_cm0.h **** /** - 746:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Interrupt Priority - 747:Drivers/CMSIS/Include/core_cm0.h **** \details Reads the priority of a device specific interrupt or a processor exception. - 748:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt, - 749:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception. - 750:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number. - 751:Drivers/CMSIS/Include/core_cm0.h **** \return Interrupt Priority. - 752:Drivers/CMSIS/Include/core_cm0.h **** Value is aligned automatically to the implemented priority bits of the microc - 753:Drivers/CMSIS/Include/core_cm0.h **** */ - 754:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) - 755:Drivers/CMSIS/Include/core_cm0.h **** { - 756:Drivers/CMSIS/Include/core_cm0.h **** - 757:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0) - 758:Drivers/CMSIS/Include/core_cm0.h **** { - 759:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - - 760:Drivers/CMSIS/Include/core_cm0.h **** } - 761:Drivers/CMSIS/Include/core_cm0.h **** else - 762:Drivers/CMSIS/Include/core_cm0.h **** { - 763:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - - 764:Drivers/CMSIS/Include/core_cm0.h **** } - 765:Drivers/CMSIS/Include/core_cm0.h **** } - 766:Drivers/CMSIS/Include/core_cm0.h **** - 767:Drivers/CMSIS/Include/core_cm0.h **** - 768:Drivers/CMSIS/Include/core_cm0.h **** /** - 769:Drivers/CMSIS/Include/core_cm0.h **** \brief Encode Priority - 770:Drivers/CMSIS/Include/core_cm0.h **** \details Encodes the priority for an interrupt with the given priority group, - 771:Drivers/CMSIS/Include/core_cm0.h **** preemptive priority value, and subpriority value. - 772:Drivers/CMSIS/Include/core_cm0.h **** In case of a conflict between priority grouping and available - 773:Drivers/CMSIS/Include/core_cm0.h **** priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. - 774:Drivers/CMSIS/Include/core_cm0.h **** \param [in] PriorityGroup Used priority group. - 775:Drivers/CMSIS/Include/core_cm0.h **** \param [in] PreemptPriority Preemptive priority value (starting from 0). - 776:Drivers/CMSIS/Include/core_cm0.h **** \param [in] SubPriority Subpriority value (starting from 0). - 777:Drivers/CMSIS/Include/core_cm0.h **** \return Encoded priority. Value can be used in the function \ref NVIC_SetP - 778:Drivers/CMSIS/Include/core_cm0.h **** */ - 779:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uin - 780:Drivers/CMSIS/Include/core_cm0.h **** { - 781:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used - 782:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PreemptPriorityBits; - 783:Drivers/CMSIS/Include/core_cm0.h **** uint32_t SubPriorityBits; - 784:Drivers/CMSIS/Include/core_cm0.h **** - 785:Drivers/CMSIS/Include/core_cm0.h **** PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NV - 786:Drivers/CMSIS/Include/core_cm0.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint - 787:Drivers/CMSIS/Include/core_cm0.h **** - 788:Drivers/CMSIS/Include/core_cm0.h **** return ( - 789:Drivers/CMSIS/Include/core_cm0.h **** ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits - ARM GAS /tmp/ccgMYYoM.s page 38 - - - 790:Drivers/CMSIS/Include/core_cm0.h **** ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) - 791:Drivers/CMSIS/Include/core_cm0.h **** ); - 792:Drivers/CMSIS/Include/core_cm0.h **** } - 793:Drivers/CMSIS/Include/core_cm0.h **** - 794:Drivers/CMSIS/Include/core_cm0.h **** - 795:Drivers/CMSIS/Include/core_cm0.h **** /** - 796:Drivers/CMSIS/Include/core_cm0.h **** \brief Decode Priority - 797:Drivers/CMSIS/Include/core_cm0.h **** \details Decodes an interrupt priority value with a given priority group to - 798:Drivers/CMSIS/Include/core_cm0.h **** preemptive priority value and subpriority value. - 799:Drivers/CMSIS/Include/core_cm0.h **** In case of a conflict between priority grouping and available - 800:Drivers/CMSIS/Include/core_cm0.h **** priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. - 801:Drivers/CMSIS/Include/core_cm0.h **** \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC - 802:Drivers/CMSIS/Include/core_cm0.h **** \param [in] PriorityGroup Used priority group. - 803:Drivers/CMSIS/Include/core_cm0.h **** \param [out] pPreemptPriority Preemptive priority value (starting from 0). - 804:Drivers/CMSIS/Include/core_cm0.h **** \param [out] pSubPriority Subpriority value (starting from 0). - 805:Drivers/CMSIS/Include/core_cm0.h **** */ - 806:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* cons - 807:Drivers/CMSIS/Include/core_cm0.h **** { - 808:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used - 809:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PreemptPriorityBits; - 810:Drivers/CMSIS/Include/core_cm0.h **** uint32_t SubPriorityBits; - 811:Drivers/CMSIS/Include/core_cm0.h **** - 812:Drivers/CMSIS/Include/core_cm0.h **** PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NV - 813:Drivers/CMSIS/Include/core_cm0.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint - 814:Drivers/CMSIS/Include/core_cm0.h **** - 815:Drivers/CMSIS/Include/core_cm0.h **** *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1 - 816:Drivers/CMSIS/Include/core_cm0.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1 - 817:Drivers/CMSIS/Include/core_cm0.h **** } - 818:Drivers/CMSIS/Include/core_cm0.h **** - 819:Drivers/CMSIS/Include/core_cm0.h **** - 820:Drivers/CMSIS/Include/core_cm0.h **** - 821:Drivers/CMSIS/Include/core_cm0.h **** /** - 822:Drivers/CMSIS/Include/core_cm0.h **** \brief Set Interrupt Vector - 823:Drivers/CMSIS/Include/core_cm0.h **** \details Sets an interrupt vector in SRAM based interrupt vector table. - 824:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt, - 825:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception. - 826:Drivers/CMSIS/Include/core_cm0.h **** Address 0 must be mapped to SRAM. - 827:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number - 828:Drivers/CMSIS/Include/core_cm0.h **** \param [in] vector Address of interrupt handler function - 829:Drivers/CMSIS/Include/core_cm0.h **** */ - 830:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) - 831:Drivers/CMSIS/Include/core_cm0.h **** { - 832:Drivers/CMSIS/Include/core_cm0.h **** uint32_t *vectors = (uint32_t *)0x0U; - 833:Drivers/CMSIS/Include/core_cm0.h **** vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; - 834:Drivers/CMSIS/Include/core_cm0.h **** } - 835:Drivers/CMSIS/Include/core_cm0.h **** - 836:Drivers/CMSIS/Include/core_cm0.h **** - 837:Drivers/CMSIS/Include/core_cm0.h **** /** - 838:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Interrupt Vector - 839:Drivers/CMSIS/Include/core_cm0.h **** \details Reads an interrupt vector from interrupt vector table. - 840:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt, - 841:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception. - 842:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number. - 843:Drivers/CMSIS/Include/core_cm0.h **** \return Address of interrupt handler function - 844:Drivers/CMSIS/Include/core_cm0.h **** */ - 845:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) - 846:Drivers/CMSIS/Include/core_cm0.h **** { - ARM GAS /tmp/ccgMYYoM.s page 39 - - - 847:Drivers/CMSIS/Include/core_cm0.h **** uint32_t *vectors = (uint32_t *)0x0U; - 848:Drivers/CMSIS/Include/core_cm0.h **** return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; - 849:Drivers/CMSIS/Include/core_cm0.h **** } - 850:Drivers/CMSIS/Include/core_cm0.h **** - 851:Drivers/CMSIS/Include/core_cm0.h **** - 852:Drivers/CMSIS/Include/core_cm0.h **** /** - 853:Drivers/CMSIS/Include/core_cm0.h **** \brief System Reset - 854:Drivers/CMSIS/Include/core_cm0.h **** \details Initiates a system reset request to reset the MCU. - 855:Drivers/CMSIS/Include/core_cm0.h **** */ - 856:Drivers/CMSIS/Include/core_cm0.h **** __NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) - 857:Drivers/CMSIS/Include/core_cm0.h **** { - 858:Drivers/CMSIS/Include/core_cm0.h **** __DSB(); /* Ensure all outstanding memor - 859:Drivers/CMSIS/Include/core_cm0.h **** buffered write are completed - 860:Drivers/CMSIS/Include/core_cm0.h **** SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | - 260 .loc 2 860 0 - 261 0004 034B ldr r3, .L16 - 262 0006 044A ldr r2, .L16+4 - 263 0008 DA60 str r2, [r3, #12] - 264 .LBB54: - 265 .LBB55: - 266 .loc 3 879 0 - 267 .syntax divided - 268 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 269 000a BFF34F8F dsb 0xF - 270 @ 0 "" 2 - 271 .thumb - 272 .syntax unified - 273 .L15: - 274 .LBE55: - 275 .LBE54: - 861:Drivers/CMSIS/Include/core_cm0.h **** SCB_AIRCR_SYSRESETREQ_Msk); - 862:Drivers/CMSIS/Include/core_cm0.h **** __DSB(); /* Ensure completion of memory - 863:Drivers/CMSIS/Include/core_cm0.h **** - 864:Drivers/CMSIS/Include/core_cm0.h **** for(;;) /* wait until reset */ - 865:Drivers/CMSIS/Include/core_cm0.h **** { - 866:Drivers/CMSIS/Include/core_cm0.h **** __NOP(); - 276 .loc 2 866 0 - 277 .syntax divided - 278 @ 866 "Drivers/CMSIS/Include/core_cm0.h" 1 - 279 000e C046 nop - 280 @ 0 "" 2 - 281 .thumb - 282 .syntax unified - 283 0010 FDE7 b .L15 - 284 .L17: - 285 0012 C046 .align 2 - 286 .L16: - 287 0014 00ED00E0 .word -536810240 - 288 0018 0400FA05 .word 100270084 - 289 .LBE51: - 290 .LBE50: - 291 .cfi_endproc - 292 .LFE43: - 294 .section .text.HAL_SYSTICK_Config,"ax",%progbits - 295 .align 1 - 296 .global HAL_SYSTICK_Config - 297 .syntax unified - ARM GAS /tmp/ccgMYYoM.s page 40 - - - 298 .code 16 - 299 .thumb_func - 300 .fpu softvfp - 302 HAL_SYSTICK_Config: - 303 .LFB44: - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* System Reset */ - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_SystemReset(); - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Initializes the System Timer and its interrupt, and starts the System Tick Timer. - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * Counter is in free running mode to generate periodic interrupts. - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param TicksNumb Specifies the ticks Number of ticks between two interrupts. - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval status: - 0 Function succeeded. - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 1 Function failed. - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb) - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 304 .loc 1 195 0 - 305 .cfi_startproc - 306 @ args = 0, pretend = 0, frame = 0 - 307 @ frame_needed = 0, uses_anonymous_args = 0 - 308 @ link register save eliminated. - 309 .LVL17: - 310 .LBB56: - 311 .LBB57: - 867:Drivers/CMSIS/Include/core_cm0.h **** } - 868:Drivers/CMSIS/Include/core_cm0.h **** } - 869:Drivers/CMSIS/Include/core_cm0.h **** - 870:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of CMSIS_Core_NVICFunctions */ - 871:Drivers/CMSIS/Include/core_cm0.h **** - 872:Drivers/CMSIS/Include/core_cm0.h **** - 873:Drivers/CMSIS/Include/core_cm0.h **** /* ########################## FPU functions #################################### */ - 874:Drivers/CMSIS/Include/core_cm0.h **** /** - 875:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_Core_FunctionInterface - 876:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_FpuFunctions FPU Functions - 877:Drivers/CMSIS/Include/core_cm0.h **** \brief Function that provides FPU type. - 878:Drivers/CMSIS/Include/core_cm0.h **** @{ - 879:Drivers/CMSIS/Include/core_cm0.h **** */ - 880:Drivers/CMSIS/Include/core_cm0.h **** - 881:Drivers/CMSIS/Include/core_cm0.h **** /** - 882:Drivers/CMSIS/Include/core_cm0.h **** \brief get FPU type - 883:Drivers/CMSIS/Include/core_cm0.h **** \details returns the FPU type - 884:Drivers/CMSIS/Include/core_cm0.h **** \returns - 885:Drivers/CMSIS/Include/core_cm0.h **** - \b 0: No FPU - 886:Drivers/CMSIS/Include/core_cm0.h **** - \b 1: Single precision FPU - 887:Drivers/CMSIS/Include/core_cm0.h **** - \b 2: Double + Single precision FPU - 888:Drivers/CMSIS/Include/core_cm0.h **** */ - 889:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t SCB_GetFPUType(void) - 890:Drivers/CMSIS/Include/core_cm0.h **** { - 891:Drivers/CMSIS/Include/core_cm0.h **** return 0U; /* No FPU */ - 892:Drivers/CMSIS/Include/core_cm0.h **** } - 893:Drivers/CMSIS/Include/core_cm0.h **** - 894:Drivers/CMSIS/Include/core_cm0.h **** - 895:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of CMSIS_Core_FpuFunctions */ - 896:Drivers/CMSIS/Include/core_cm0.h **** - 897:Drivers/CMSIS/Include/core_cm0.h **** - ARM GAS /tmp/ccgMYYoM.s page 41 - - - 898:Drivers/CMSIS/Include/core_cm0.h **** - 899:Drivers/CMSIS/Include/core_cm0.h **** /* ################################## SysTick function ######################################## - 900:Drivers/CMSIS/Include/core_cm0.h **** /** - 901:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_Core_FunctionInterface - 902:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_SysTickFunctions SysTick Functions - 903:Drivers/CMSIS/Include/core_cm0.h **** \brief Functions that configure the System. - 904:Drivers/CMSIS/Include/core_cm0.h **** @{ - 905:Drivers/CMSIS/Include/core_cm0.h **** */ - 906:Drivers/CMSIS/Include/core_cm0.h **** - 907:Drivers/CMSIS/Include/core_cm0.h **** #if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) - 908:Drivers/CMSIS/Include/core_cm0.h **** - 909:Drivers/CMSIS/Include/core_cm0.h **** /** - 910:Drivers/CMSIS/Include/core_cm0.h **** \brief System Tick Configuration - 911:Drivers/CMSIS/Include/core_cm0.h **** \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. - 912:Drivers/CMSIS/Include/core_cm0.h **** Counter is in free running mode to generate periodic interrupts. - 913:Drivers/CMSIS/Include/core_cm0.h **** \param [in] ticks Number of ticks between two interrupts. - 914:Drivers/CMSIS/Include/core_cm0.h **** \return 0 Function succeeded. - 915:Drivers/CMSIS/Include/core_cm0.h **** \return 1 Function failed. - 916:Drivers/CMSIS/Include/core_cm0.h **** \note When the variable __Vendor_SysTickConfig is set to 1, then the - 917:Drivers/CMSIS/Include/core_cm0.h **** function SysTick_Config is not included. In this case, the file device. - 918:Drivers/CMSIS/Include/core_cm0.h **** must contain a vendor-specific implementation of this function. - 919:Drivers/CMSIS/Include/core_cm0.h **** */ - 920:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) - 921:Drivers/CMSIS/Include/core_cm0.h **** { - 922:Drivers/CMSIS/Include/core_cm0.h **** if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) - 312 .loc 2 922 0 - 313 0000 0138 subs r0, r0, #1 - 314 .LVL18: - 315 0002 0A4B ldr r3, .L21 - 316 0004 9842 cmp r0, r3 - 317 0006 0FD8 bhi .L20 - 923:Drivers/CMSIS/Include/core_cm0.h **** { - 924:Drivers/CMSIS/Include/core_cm0.h **** return (1UL); /* Reload value impossible */ - 925:Drivers/CMSIS/Include/core_cm0.h **** } - 926:Drivers/CMSIS/Include/core_cm0.h **** - 927:Drivers/CMSIS/Include/core_cm0.h **** SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ - 318 .loc 2 927 0 - 319 0008 094A ldr r2, .L21+4 - 320 000a 5060 str r0, [r2, #4] - 321 .LVL19: - 322 .LBB58: - 323 .LBB59: - 739:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); - 324 .loc 2 739 0 - 325 000c 0948 ldr r0, .L21+8 - 326 .LVL20: - 327 000e 036A ldr r3, [r0, #32] - 328 0010 1B02 lsls r3, r3, #8 - 329 0012 1B0A lsrs r3, r3, #8 - 330 0014 C021 movs r1, #192 - 331 0016 0906 lsls r1, r1, #24 - 332 0018 0B43 orrs r3, r1 - 333 001a 0362 str r3, [r0, #32] - 334 .LVL21: - 335 .LBE59: - 336 .LBE58: - 928:Drivers/CMSIS/Include/core_cm0.h **** NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Int - ARM GAS /tmp/ccgMYYoM.s page 42 - - - 929:Drivers/CMSIS/Include/core_cm0.h **** SysTick->VAL = 0UL; /* Load the SysTick Counter Val - 337 .loc 2 929 0 - 338 001c 0023 movs r3, #0 - 339 001e 9360 str r3, [r2, #8] - 930:Drivers/CMSIS/Include/core_cm0.h **** SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - 340 .loc 2 930 0 - 341 0020 0733 adds r3, r3, #7 - 342 0022 1360 str r3, [r2] - 931:Drivers/CMSIS/Include/core_cm0.h **** SysTick_CTRL_TICKINT_Msk | - 932:Drivers/CMSIS/Include/core_cm0.h **** SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTi - 933:Drivers/CMSIS/Include/core_cm0.h **** return (0UL); /* Function successful */ - 343 .loc 2 933 0 - 344 0024 0020 movs r0, #0 - 345 .LVL22: - 346 .L18: - 347 .LBE57: - 348 .LBE56: - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return SysTick_Config(TicksNumb); - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 349 .loc 1 197 0 - 350 @ sp needed - 351 0026 7047 bx lr - 352 .LVL23: - 353 .L20: - 354 .LBB61: - 355 .LBB60: - 924:Drivers/CMSIS/Include/core_cm0.h **** } - 356 .loc 2 924 0 - 357 0028 0120 movs r0, #1 - 358 .LVL24: - 359 .LBE60: - 360 .LBE61: - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return SysTick_Config(TicksNumb); - 361 .loc 1 196 0 - 362 002a FCE7 b .L18 - 363 .L22: - 364 .align 2 - 365 .L21: - 366 002c FFFFFF00 .word 16777215 - 367 0030 10E000E0 .word -536813552 - 368 0034 00ED00E0 .word -536810240 - 369 .cfi_endproc - 370 .LFE44: - 372 .section .text.HAL_NVIC_GetPriority,"ax",%progbits - 373 .align 1 - 374 .global HAL_NVIC_GetPriority - 375 .syntax unified - 376 .code 16 - 377 .thumb_func - 378 .fpu softvfp - 380 HAL_NVIC_GetPriority: - 381 .LFB45: - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @} - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions_Group2 Peripheral Control functions - ARM GAS /tmp/ccgMYYoM.s page 43 - - - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Cortex control functions - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @verbatim - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ============================================================================== - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ##### Peripheral Control functions ##### - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ============================================================================== - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..] - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** This subsection provides a set of functions allowing to control the CORTEX - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (NVIC, SYSTICK) functionalities. - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @endverbatim - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{ - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Gets the priority of an interrupt. - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number. - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** uint32_t HAL_NVIC_GetPriority(IRQn_Type IRQn) - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 382 .loc 1 227 0 - 383 .cfi_startproc - 384 @ args = 0, pretend = 0, frame = 0 - 385 @ frame_needed = 0, uses_anonymous_args = 0 - 386 @ link register save eliminated. - 387 .LVL25: - 388 .LBB64: - 389 .LBB65: - 757:Drivers/CMSIS/Include/core_cm0.h **** { - 390 .loc 2 757 0 - 391 0000 0028 cmp r0, #0 - 392 0002 0CDB blt .L24 - 759:Drivers/CMSIS/Include/core_cm0.h **** } - 393 .loc 2 759 0 - 394 0004 8308 lsrs r3, r0, #2 - 395 0006 C033 adds r3, r3, #192 - 396 0008 9B00 lsls r3, r3, #2 - 397 000a 0E4A ldr r2, .L26 - 398 000c 9B58 ldr r3, [r3, r2] - 399 000e 0322 movs r2, #3 - 400 0010 1040 ands r0, r2 - 401 .LVL26: - 402 0012 C000 lsls r0, r0, #3 - 403 0014 C340 lsrs r3, r3, r0 - 404 0016 9B09 lsrs r3, r3, #6 - 405 0018 0320 movs r0, #3 - 406 001a 1840 ands r0, r3 - 407 .LVL27: - 408 .L23: - 409 .LBE65: - 410 .LBE64: - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Get priority for Cortex-M system or device specific interrupts */ - ARM GAS /tmp/ccgMYYoM.s page 44 - - - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return NVIC_GetPriority(IRQn); - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 411 .loc 1 230 0 - 412 @ sp needed - 413 001c 7047 bx lr - 414 .LVL28: - 415 .L24: - 416 .LBB67: - 417 .LBB66: - 763:Drivers/CMSIS/Include/core_cm0.h **** } - 418 .loc 2 763 0 - 419 001e C0B2 uxtb r0, r0 - 420 0020 0F23 movs r3, #15 - 421 0022 0340 ands r3, r0 - 422 0024 083B subs r3, r3, #8 - 423 0026 9B08 lsrs r3, r3, #2 - 424 0028 0633 adds r3, r3, #6 - 425 002a 9B00 lsls r3, r3, #2 - 426 002c 064A ldr r2, .L26+4 - 427 002e 9446 mov ip, r2 - 428 0030 6344 add r3, r3, ip - 429 0032 5B68 ldr r3, [r3, #4] - 430 0034 0322 movs r2, #3 - 431 0036 1040 ands r0, r2 - 432 .LVL29: - 433 0038 C000 lsls r0, r0, #3 - 434 003a C340 lsrs r3, r3, r0 - 435 003c 9B09 lsrs r3, r3, #6 - 436 003e 0320 movs r0, #3 - 437 0040 1840 ands r0, r3 - 438 .LVL30: - 439 .LBE66: - 440 .LBE67: - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 441 .loc 1 229 0 - 442 0042 EBE7 b .L23 - 443 .L27: - 444 .align 2 - 445 .L26: - 446 0044 00E100E0 .word -536813312 - 447 0048 00ED00E0 .word -536810240 - 448 .cfi_endproc - 449 .LFE45: - 451 .section .text.HAL_NVIC_SetPendingIRQ,"ax",%progbits - 452 .align 1 - 453 .global HAL_NVIC_SetPendingIRQ - 454 .syntax unified - 455 .code 16 - 456 .thumb_func - 457 .fpu softvfp - 459 HAL_NVIC_SetPendingIRQ: - 460 .LFB46: - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Sets Pending bit of an external interrupt. - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration - ARM GAS /tmp/ccgMYYoM.s page 45 - - - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn) - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 461 .loc 1 240 0 - 462 .cfi_startproc - 463 @ args = 0, pretend = 0, frame = 0 - 464 @ frame_needed = 0, uses_anonymous_args = 0 - 465 @ link register save eliminated. - 466 .LVL31: - 467 .LBB68: - 468 .LBB69: - 699:Drivers/CMSIS/Include/core_cm0.h **** { - 469 .loc 2 699 0 - 470 0000 0028 cmp r0, #0 - 471 0002 07DB blt .L28 - 701:Drivers/CMSIS/Include/core_cm0.h **** } - 472 .loc 2 701 0 - 473 0004 1F23 movs r3, #31 - 474 0006 1840 ands r0, r3 - 475 .LVL32: - 476 0008 1E3B subs r3, r3, #30 - 477 000a 8340 lsls r3, r3, r0 - 478 000c 0249 ldr r1, .L30 - 479 000e 8022 movs r2, #128 - 480 0010 5200 lsls r2, r2, #1 - 481 0012 8B50 str r3, [r1, r2] - 482 .LVL33: - 483 .L28: - 484 .LBE69: - 485 .LBE68: - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */ - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Set interrupt pending */ - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_SetPendingIRQ(IRQn); - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 486 .loc 1 246 0 - 487 @ sp needed - 488 0014 7047 bx lr - 489 .L31: - 490 0016 C046 .align 2 - 491 .L30: - 492 0018 00E100E0 .word -536813312 - 493 .cfi_endproc - 494 .LFE46: - 496 .section .text.HAL_NVIC_GetPendingIRQ,"ax",%progbits - 497 .align 1 - 498 .global HAL_NVIC_GetPendingIRQ - 499 .syntax unified - 500 .code 16 - 501 .thumb_func - 502 .fpu softvfp - 504 HAL_NVIC_GetPendingIRQ: - 505 .LFB47: - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - ARM GAS /tmp/ccgMYYoM.s page 46 - - - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Gets Pending Interrupt (reads the pending register in the NVIC - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * and returns the pending bit for the specified interrupt). - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number. - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval status: - 0 Interrupt status is not pending. - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 1 Interrupt status is pending. - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn) - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 506 .loc 1 258 0 - 507 .cfi_startproc - 508 @ args = 0, pretend = 0, frame = 0 - 509 @ frame_needed = 0, uses_anonymous_args = 0 - 510 @ link register save eliminated. - 511 .LVL34: - 512 .LBB70: - 513 .LBB71: - 680:Drivers/CMSIS/Include/core_cm0.h **** { - 514 .loc 2 680 0 - 515 0000 0028 cmp r0, #0 - 516 0002 09DB blt .L34 - 682:Drivers/CMSIS/Include/core_cm0.h **** } - 517 .loc 2 682 0 - 518 0004 054A ldr r2, .L35 - 519 0006 8023 movs r3, #128 - 520 0008 5B00 lsls r3, r3, #1 - 521 000a D358 ldr r3, [r2, r3] - 522 000c 1F22 movs r2, #31 - 523 000e 1040 ands r0, r2 - 524 .LVL35: - 525 0010 C340 lsrs r3, r3, r0 - 526 0012 0120 movs r0, #1 - 527 0014 1840 ands r0, r3 - 528 .LVL36: - 529 .L32: - 530 .LBE71: - 531 .LBE70: - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */ - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Return 1 if pending else 0 */ - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return NVIC_GetPendingIRQ(IRQn); - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 532 .loc 1 264 0 - 533 @ sp needed - 534 0016 7047 bx lr - 535 .LVL37: - 536 .L34: - 537 .LBB73: - 538 .LBB72: - 686:Drivers/CMSIS/Include/core_cm0.h **** } - 539 .loc 2 686 0 - 540 0018 0020 movs r0, #0 - 541 .LVL38: - 542 .LBE72: - ARM GAS /tmp/ccgMYYoM.s page 47 - - - 543 .LBE73: - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 544 .loc 1 263 0 - 545 001a FCE7 b .L32 - 546 .L36: - 547 .align 2 - 548 .L35: - 549 001c 00E100E0 .word -536813312 - 550 .cfi_endproc - 551 .LFE47: - 553 .section .text.HAL_NVIC_ClearPendingIRQ,"ax",%progbits - 554 .align 1 - 555 .global HAL_NVIC_ClearPendingIRQ - 556 .syntax unified - 557 .code 16 - 558 .thumb_func - 559 .fpu softvfp - 561 HAL_NVIC_ClearPendingIRQ: - 562 .LFB48: - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Clears the pending bit of an external interrupt. - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number. - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn) - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 563 .loc 1 274 0 - 564 .cfi_startproc - 565 @ args = 0, pretend = 0, frame = 0 - 566 @ frame_needed = 0, uses_anonymous_args = 0 - 567 @ link register save eliminated. - 568 .LVL39: - 569 .LBB74: - 570 .LBB75: - 714:Drivers/CMSIS/Include/core_cm0.h **** { - 571 .loc 2 714 0 - 572 0000 0028 cmp r0, #0 - 573 0002 07DB blt .L37 - 716:Drivers/CMSIS/Include/core_cm0.h **** } - 574 .loc 2 716 0 - 575 0004 1F23 movs r3, #31 - 576 0006 1840 ands r0, r3 - 577 .LVL40: - 578 0008 1E3B subs r3, r3, #30 - 579 000a 8340 lsls r3, r3, r0 - 580 000c 0249 ldr r1, .L39 - 581 000e C022 movs r2, #192 - 582 0010 5200 lsls r2, r2, #1 - 583 0012 8B50 str r3, [r1, r2] - 584 .LVL41: - 585 .L37: - 586 .LBE75: - 587 .LBE74: - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */ - ARM GAS /tmp/ccgMYYoM.s page 48 - - - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Clear pending interrupt */ - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_ClearPendingIRQ(IRQn); - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 588 .loc 1 280 0 - 589 @ sp needed - 590 0014 7047 bx lr - 591 .L40: - 592 0016 C046 .align 2 - 593 .L39: - 594 0018 00E100E0 .word -536813312 - 595 .cfi_endproc - 596 .LFE48: - 598 .section .text.HAL_SYSTICK_CLKSourceConfig,"ax",%progbits - 599 .align 1 - 600 .global HAL_SYSTICK_CLKSourceConfig - 601 .syntax unified - 602 .code 16 - 603 .thumb_func - 604 .fpu softvfp - 606 HAL_SYSTICK_CLKSourceConfig: - 607 .LFB49: - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Configures the SysTick clock source. - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param CLKSource specifies the SysTick clock source. - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be one of the following values: - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @arg SYSTICK_CLKSOURCE_HCLK_DIV8: AHB clock divided by 8 selected as SysTick clock - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @arg SYSTICK_CLKSOURCE_HCLK: AHB clock selected as SysTick clock source. - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource) - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 608 .loc 1 291 0 - 609 .cfi_startproc - 610 @ args = 0, pretend = 0, frame = 0 - 611 @ frame_needed = 0, uses_anonymous_args = 0 - 612 @ link register save eliminated. - 613 .LVL42: - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */ - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_SYSTICK_CLK_SOURCE(CLKSource)); - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** if (CLKSource == SYSTICK_CLKSOURCE_HCLK) - 614 .loc 1 294 0 - 615 0000 0428 cmp r0, #4 - 616 0002 05D0 beq .L44 - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** SysTick->CTRL |= SYSTICK_CLKSOURCE_HCLK; - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** else - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** SysTick->CTRL &= ~SYSTICK_CLKSOURCE_HCLK; - 617 .loc 1 300 0 - 618 0004 054A ldr r2, .L45 - 619 0006 1368 ldr r3, [r2] - 620 0008 0421 movs r1, #4 - 621 000a 8B43 bics r3, r1 - ARM GAS /tmp/ccgMYYoM.s page 49 - - - 622 000c 1360 str r3, [r2] - 623 .L41: - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 624 .loc 1 302 0 - 625 @ sp needed - 626 000e 7047 bx lr - 627 .L44: - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 628 .loc 1 296 0 - 629 0010 024A ldr r2, .L45 - 630 0012 1368 ldr r3, [r2] - 631 0014 0421 movs r1, #4 - 632 0016 0B43 orrs r3, r1 - 633 0018 1360 str r3, [r2] - 634 001a F8E7 b .L41 - 635 .L46: - 636 .align 2 - 637 .L45: - 638 001c 10E000E0 .word -536813552 - 639 .cfi_endproc - 640 .LFE49: - 642 .section .text.HAL_SYSTICK_Callback,"ax",%progbits - 643 .align 1 - 644 .weak HAL_SYSTICK_Callback - 645 .syntax unified - 646 .code 16 - 647 .thumb_func - 648 .fpu softvfp - 650 HAL_SYSTICK_Callback: - 651 .LFB51: - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief This function handles SYSTICK interrupt request. - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_SYSTICK_IRQHandler(void) - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_Callback(); - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief SYSTICK callback. - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** __weak void HAL_SYSTICK_Callback(void) - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** { - 652 .loc 1 318 0 - 653 .cfi_startproc - 654 @ args = 0, pretend = 0, frame = 0 - 655 @ frame_needed = 0, uses_anonymous_args = 0 - 656 @ link register save eliminated. - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* NOTE : This function Should not be modified, when the callback is needed, - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** the HAL_SYSTICK_Callback could be implemented in the user file - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */ - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 657 .loc 1 322 0 - ARM GAS /tmp/ccgMYYoM.s page 50 - - - 658 @ sp needed - 659 0000 7047 bx lr - 660 .cfi_endproc - 661 .LFE51: - 663 .section .text.HAL_SYSTICK_IRQHandler,"ax",%progbits - 664 .align 1 - 665 .global HAL_SYSTICK_IRQHandler - 666 .syntax unified - 667 .code 16 - 668 .thumb_func - 669 .fpu softvfp - 671 HAL_SYSTICK_IRQHandler: - 672 .LFB50: - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_Callback(); - 673 .loc 1 309 0 - 674 .cfi_startproc - 675 @ args = 0, pretend = 0, frame = 0 - 676 @ frame_needed = 0, uses_anonymous_args = 0 - 677 0000 10B5 push {r4, lr} - 678 .LCFI1: - 679 .cfi_def_cfa_offset 8 - 680 .cfi_offset 4, -8 - 681 .cfi_offset 14, -4 - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** } - 682 .loc 1 310 0 - 683 0002 FFF7FEFF bl HAL_SYSTICK_Callback - 684 .LVL43: - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** - 685 .loc 1 311 0 - 686 @ sp needed - 687 0006 10BD pop {r4, pc} - 688 .cfi_endproc - 689 .LFE50: - 691 .text - 692 .Letext0: - 693 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 694 .file 5 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 695 .file 6 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 696 .file 7 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 697 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccgMYYoM.s page 51 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_cortex.c - /tmp/ccgMYYoM.s:16 .text.HAL_NVIC_SetPriority:0000000000000000 $t - /tmp/ccgMYYoM.s:23 .text.HAL_NVIC_SetPriority:0000000000000000 HAL_NVIC_SetPriority - /tmp/ccgMYYoM.s:116 .text.HAL_NVIC_SetPriority:000000000000005c $d - /tmp/ccgMYYoM.s:122 .text.HAL_NVIC_EnableIRQ:0000000000000000 $t - /tmp/ccgMYYoM.s:129 .text.HAL_NVIC_EnableIRQ:0000000000000000 HAL_NVIC_EnableIRQ - /tmp/ccgMYYoM.s:160 .text.HAL_NVIC_EnableIRQ:0000000000000014 $d - /tmp/ccgMYYoM.s:165 .text.HAL_NVIC_DisableIRQ:0000000000000000 $t - /tmp/ccgMYYoM.s:172 .text.HAL_NVIC_DisableIRQ:0000000000000000 HAL_NVIC_DisableIRQ - /tmp/ccgMYYoM.s:227 .text.HAL_NVIC_DisableIRQ:000000000000001c $d - /tmp/ccgMYYoM.s:232 .text.HAL_NVIC_SystemReset:0000000000000000 $t - /tmp/ccgMYYoM.s:239 .text.HAL_NVIC_SystemReset:0000000000000000 HAL_NVIC_SystemReset - /tmp/ccgMYYoM.s:287 .text.HAL_NVIC_SystemReset:0000000000000014 $d - /tmp/ccgMYYoM.s:295 .text.HAL_SYSTICK_Config:0000000000000000 $t - /tmp/ccgMYYoM.s:302 .text.HAL_SYSTICK_Config:0000000000000000 HAL_SYSTICK_Config - /tmp/ccgMYYoM.s:366 .text.HAL_SYSTICK_Config:000000000000002c $d - /tmp/ccgMYYoM.s:373 .text.HAL_NVIC_GetPriority:0000000000000000 $t - /tmp/ccgMYYoM.s:380 .text.HAL_NVIC_GetPriority:0000000000000000 HAL_NVIC_GetPriority - /tmp/ccgMYYoM.s:446 .text.HAL_NVIC_GetPriority:0000000000000044 $d - /tmp/ccgMYYoM.s:452 .text.HAL_NVIC_SetPendingIRQ:0000000000000000 $t - /tmp/ccgMYYoM.s:459 .text.HAL_NVIC_SetPendingIRQ:0000000000000000 HAL_NVIC_SetPendingIRQ - /tmp/ccgMYYoM.s:492 .text.HAL_NVIC_SetPendingIRQ:0000000000000018 $d - /tmp/ccgMYYoM.s:497 .text.HAL_NVIC_GetPendingIRQ:0000000000000000 $t - /tmp/ccgMYYoM.s:504 .text.HAL_NVIC_GetPendingIRQ:0000000000000000 HAL_NVIC_GetPendingIRQ - /tmp/ccgMYYoM.s:549 .text.HAL_NVIC_GetPendingIRQ:000000000000001c $d - /tmp/ccgMYYoM.s:554 .text.HAL_NVIC_ClearPendingIRQ:0000000000000000 $t - /tmp/ccgMYYoM.s:561 .text.HAL_NVIC_ClearPendingIRQ:0000000000000000 HAL_NVIC_ClearPendingIRQ - /tmp/ccgMYYoM.s:594 .text.HAL_NVIC_ClearPendingIRQ:0000000000000018 $d - /tmp/ccgMYYoM.s:599 .text.HAL_SYSTICK_CLKSourceConfig:0000000000000000 $t - /tmp/ccgMYYoM.s:606 .text.HAL_SYSTICK_CLKSourceConfig:0000000000000000 HAL_SYSTICK_CLKSourceConfig - /tmp/ccgMYYoM.s:638 .text.HAL_SYSTICK_CLKSourceConfig:000000000000001c $d - /tmp/ccgMYYoM.s:643 .text.HAL_SYSTICK_Callback:0000000000000000 $t - /tmp/ccgMYYoM.s:650 .text.HAL_SYSTICK_Callback:0000000000000000 HAL_SYSTICK_Callback - /tmp/ccgMYYoM.s:664 .text.HAL_SYSTICK_IRQHandler:0000000000000000 $t - /tmp/ccgMYYoM.s:671 .text.HAL_SYSTICK_IRQHandler:0000000000000000 HAL_SYSTICK_IRQHandler - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_cortex.o b/Blink/build/stm32f0xx_hal_cortex.o deleted file mode 100644 index 921bbd4..0000000 Binary files a/Blink/build/stm32f0xx_hal_cortex.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_dma.d b/Blink/build/stm32f0xx_hal_dma.d deleted file mode 100644 index 15be8e5..0000000 --- a/Blink/build/stm32f0xx_hal_dma.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_dma.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_dma.lst b/Blink/build/stm32f0xx_hal_dma.lst deleted file mode 100644 index fab311d..0000000 --- a/Blink/build/stm32f0xx_hal_dma.lst +++ /dev/null @@ -1,2507 +0,0 @@ -ARM GAS /tmp/ccXKeozk.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_dma.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.DMA_SetConfig,"ax",%progbits - 16 .align 1 - 17 .syntax unified - 18 .code 16 - 19 .thumb_func - 20 .fpu softvfp - 22 DMA_SetConfig: - 23 .LFB52: - 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @file stm32f0xx_hal_dma.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief DMA HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * This file provides firmware functions to manage the following - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral: - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * + Initialization and de-initialization functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * + IO operation functions - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * + Peripheral State and errors functions - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ============================================================================== - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### How to use this driver ##### - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ============================================================================== - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Channel - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (except for internal SRAM / FLASH memories: no initialization is - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** necessary). Please refer to Reference manual for connection between peripherals - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** and DMA requests . - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) For a given Channel, program the required configuration through the following parameters: - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Transfer Direction, Source and Destination data formats, - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Circular or Normal mode, Channel Priority level, Source and Destination Increment mode, - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** using HAL_DMA_Init() function. - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of er - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** detection. - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) Use HAL_DMA_Abort() function to abort the current transfer - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** -@- In Memory-to-Memory transfer mode, Circular mode is not allowed. - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *** Polling mode IO operation *** - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ================================= - ARM GAS /tmp/ccXKeozk.s page 2 - - - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** address and destination address and the Length of data to be transferred - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case a fixed Timeout can be configured by User depending from his application. - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *** Interrupt mode IO operation *** - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =================================== - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority() - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ() - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Source address and destination address and the Length of data to be transferred. - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** In this case the DMA interrupt is configured - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_Channel_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** add his own function by customization of function pointer XferCpltCallback and - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** XferErrorCallback (i.e a member of DMA handle structure). - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *** DMA HAL driver macros list *** - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ============================================= - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Below the list of most used macros in DMA HAL driver. - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (@) You can refer to the DMA HAL driver header file for more useful macros - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ****************************************************************************** - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @attention - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *

© Copyright (c) 2016 STMicroelectronics. - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * All rights reserved.

- 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * This software component is licensed by ST under BSD 3-Clause license, - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the "License"; You may not use this file except in compliance with the - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * License. You may obtain a copy of the License at: - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * opensource.org/licenses/BSD-3-Clause - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ****************************************************************************** - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Includes ------------------------------------------------------------------*/ - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #include "stm32f0xx_hal.h" - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @addtogroup STM32F0xx_HAL_Driver - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA DMA - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief DMA HAL module driver - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #ifdef HAL_DMA_MODULE_ENABLED - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - ARM GAS /tmp/ccXKeozk.s page 3 - - - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private typedef -----------------------------------------------------------*/ - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private define ------------------------------------------------------------*/ - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private macro -------------------------------------------------------------*/ - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private variables ---------------------------------------------------------*/ - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private function prototypes -----------------------------------------------*/ - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Private_Functions DMA Private Functions - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32 - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma); - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @} - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Exported functions ---------------------------------------------------------*/ - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions DMA Exported Functions - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group1 Initialization and de-initialization functions - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Initialization and de-initialization functions - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =============================================================================== - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### Initialization and de-initialization functions ##### - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =============================================================================== - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** This section provides functions allowing to initialize the DMA Channel source - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** and destination addresses, incrementation and data sizes, transfer direction, - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** circular/normal mode selection, memory-to-memory mode selection and Channel priority value. - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** The HAL_DMA_Init() function follows the DMA configuration procedures as described in - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** reference manual. - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Initialize the DMA according to the specified - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * parameters in the DMA_InitTypeDef and initialize the associated handle. - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t tmp = 0U; - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the DMA handle allocation */ - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(NULL == hdma) - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */ - ARM GAS /tmp/ccXKeozk.s page 4 - - - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc)); - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc)); - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment)); - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment)); - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode)); - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change DMA peripheral state */ - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get the CR register value */ - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tmp = hdma->Instance->CCR; - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR bits */ - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tmp &= ((uint32_t)~(DMA_CCR_PL | DMA_CCR_MSIZE | DMA_CCR_PSIZE | \ - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CCR_MINC | DMA_CCR_PINC | DMA_CCR_CIRC | \ - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CCR_DIR)); - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Prepare the DMA Channel configuration */ - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tmp |= hdma->Init.Direction | - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Write to DMA Channel CR register */ - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR = tmp; - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Initialize DmaBaseAddress and ChannelIndex parameters used - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */ - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CalcBaseAndBitshift(hdma); - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Initialise the error code */ - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Initialize the DMA state*/ - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Allocate lock resource and initialize it */ - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Lock = HAL_UNLOCKED; - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK; - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief DeInitialize the DMA peripheral - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma) - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the DMA handle allocation */ - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(NULL == hdma) - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - ARM GAS /tmp/ccXKeozk.s page 5 - - - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */ - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the selected DMA Channelx */ - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel control register */ - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR = 0U; - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel Number of Data to Transfer register */ - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CNDTR = 0U; - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel peripheral address register */ - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CPAR = 0U; - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel memory address register */ - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CMAR = 0U; - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get DMA Base Address */ - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CalcBaseAndBitshift(hdma); - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */ - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clean callbacks */ - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = NULL; - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL; - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL; - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset the error code */ - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset the DMA state */ - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_RESET; - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Release Lock */ - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK; - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @} - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group2 Input and Output operation functions - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief I/O operation functions - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =============================================================================== - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### IO operation functions ##### - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =============================================================================== - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] This section provides functions allowing to: - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Configure the source, destination address and data length and Start DMA transfer - ARM GAS /tmp/ccXKeozk.s page 6 - - - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Configure the source, destination address and data length and - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Start DMA transfer with interrupt - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Abort DMA transfer - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Poll for transfer complete - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Handle DMA interrupt request - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Start the DMA Transfer. - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */ - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */ - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma); - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change DMA peripheral state */ - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the peripheral */ - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure the source, destination address and the data length */ - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Enable the Peripheral */ - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= DMA_CCR_EN; - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Remain BUSY */ - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_BUSY; - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status; - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - ARM GAS /tmp/ccXKeozk.s page 7 - - - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Start the DMA Transfer with interrupt enabled. - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddres - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */ - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */ - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma); - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change DMA peripheral state */ - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the peripheral */ - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure the source, destination address and the data length */ - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Enable the transfer complete, & transfer error interrupts */ - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half transfer interrupt is optional: enable it only if associated callback is available */ - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(NULL != hdma->XferHalfCpltCallback ) - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= (DMA_IT_TC | DMA_IT_TE); - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT; - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Enable the Peripheral */ - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= DMA_CCR_EN; - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Remain BUSY */ - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_BUSY; - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status; - ARM GAS /tmp/ccXKeozk.s page 8 - - - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Abort the DMA Transfer. - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma) - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* no transfer ongoing */ - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable DMA IT */ - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the channel */ - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */ - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = (DMA_FLAG_GL1 << hdma->ChannelIndex); - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state*/ - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK; - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Abort the DMA Transfer in Interrupt mode. - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream. - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State) - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* no transfer ongoing */ - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR; - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - ARM GAS /tmp/ccXKeozk.s page 9 - - - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable DMA IT */ - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the channel */ - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */ - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */ - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Call User Abort callback */ - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL) - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback(hdma); - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status; - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Polling for transfer complete. - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param CompleteLevel Specifies the DMA level complete. - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param Timeout Timeout duration. - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, uint32_t CompleteLevel, uint32_t - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t temp; - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t tickstart = 0U; - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State) - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* no transfer ongoing */ - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Polling mode not supported in circular mode */ - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if (RESET != (hdma->Instance->CCR & DMA_CCR_CIRC)) - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get the level transfer complete flag */ - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_FULL_TRANSFER == CompleteLevel) - ARM GAS /tmp/ccXKeozk.s page 10 - - - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer Complete flag */ - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** temp = DMA_FLAG_TC1 << hdma->ChannelIndex; - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half Transfer Complete flag */ - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** temp = DMA_FLAG_HT1 << hdma->ChannelIndex; - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get tick */ - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tickstart = HAL_GetTick(); - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** while(RESET == (hdma->DmaBaseAddress->ISR & temp)) - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(RESET != (hdma->DmaBaseAddress->ISR & (DMA_FLAG_TE1 << hdma->ChannelIndex))) - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* When a DMA transfer error occurs */ - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* A hardware clear of its EN bits is performed */ - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */ - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Update error code */ - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TE; - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */ - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State= HAL_DMA_STATE_READY; - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check for the Timeout */ - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(Timeout != HAL_MAX_DELAY) - 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Update error code */ - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; - 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */ - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_FULL_TRANSFER == CompleteLevel) - 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the transfer complete flag */ - 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_TC1 << hdma->ChannelIndex; - 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - ARM GAS /tmp/ccXKeozk.s page 11 - - - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* The selected Channelx EN bit is cleared (DMA is disabled and - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** all transfers are complete) */ - 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the half transfer complete flag */ - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_HT1 << hdma->ChannelIndex; - 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process unlocked */ - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK; - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Handle DMA interrupt request. - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval None - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t flag_it = hdma->DmaBaseAddress->ISR; - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t source_it = hdma->Instance->CCR; - 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half Transfer Complete Interrupt management ******************************/ - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if ((RESET != (flag_it & (DMA_FLAG_HT1 << hdma->ChannelIndex))) && (RESET != (source_it & DMA_IT_ - 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U) - 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the half transfer interrupt */ - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT; - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the half transfer complete flag */ - 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_HT1 << hdma->ChannelIndex; - 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA peripheral state is not updated in Half Transfer */ - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* State is updated only in Transfer Complete case */ - 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) - 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half transfer callback */ - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma); - 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer Complete Interrupt management ***********************************/ - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else if ((RESET != (flag_it & (DMA_FLAG_TC1 << hdma->ChannelIndex))) && (RESET != (source_it & DM - 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U) - 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the transfer complete & transfer error interrupts */ - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* if the DMA mode is not CIRCULAR */ - ARM GAS /tmp/ccXKeozk.s page 12 - - - 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_TE); - 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */ - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the transfer complete flag */ - 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_TC1 << hdma->ChannelIndex; - 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL) - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer complete callback */ - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback(hdma); - 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer Error Interrupt management ***************************************/ - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else if (( RESET != (flag_it & (DMA_FLAG_TE1 << hdma->ChannelIndex))) && (RESET != (source_it & D - 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* When a DMA transfer error occurs */ - 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* A hardware clear of its EN bits is performed */ - 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Then, disable all DMA interrupts */ - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); - 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */ - 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Update error code */ - 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TE; - 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */ - 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; - 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */ - 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL) - 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer error callback */ - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback(hdma); - 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Register callbacks - 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream. - 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param CallbackID User Callback identifer - 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter. - 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param pCallback pointer to private callback function which has pointer to - 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter. - 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - ARM GAS /tmp/ccXKeozk.s page 13 - - - 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Callb - 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */ - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma); - 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) - 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** switch (CallbackID) - 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID: - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = pCallback; - 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID: - 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = pCallback; - 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID: - 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = pCallback; - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID: - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = pCallback; - 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** default: - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR; - 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR; - 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Release Lock */ - 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status; - 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief UnRegister callbacks - 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream. - 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param CallbackID User Callback identifer - 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter. - 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Cal - 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */ - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma); - ARM GAS /tmp/ccXKeozk.s page 14 - - - 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) - 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** switch (CallbackID) - 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID: - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = NULL; - 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID: - 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; - 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID: - 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL; - 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID: - 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL; - 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ALL_CB_ID: - 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = NULL; - 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL; - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL; - 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** default: - 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR; - 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR; - 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Release Lock */ - 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status; - 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @} - 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group3 Peripheral State functions - 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Peripheral State functions - 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * - 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim - 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =============================================================================== - 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### State and Errors functions ##### - 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =============================================================================== - 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] - 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** This subsection provides functions allowing to - ARM GAS /tmp/ccXKeozk.s page 15 - - - 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Check the DMA state - 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Get error code - 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim - 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Returns the DMA state. - 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL state - 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma) - 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->State; - 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Return the DMA error code - 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval DMA Error Code - 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma) - 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->ErrorCode; - 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @} - 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @} - 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions - 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{ - 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Set the DMA Transfer parameters. - 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel. - 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address - 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address - 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination - 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status - 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32 - 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 25 .loc 1 827 0 - 26 .cfi_startproc - 27 @ args = 0, pretend = 0, frame = 0 - 28 @ frame_needed = 0, uses_anonymous_args = 0 - 29 .LVL0: - ARM GAS /tmp/ccXKeozk.s page 16 - - - 30 0000 70B5 push {r4, r5, r6, lr} - 31 .LCFI0: - 32 .cfi_def_cfa_offset 16 - 33 .cfi_offset 4, -16 - 34 .cfi_offset 5, -12 - 35 .cfi_offset 6, -8 - 36 .cfi_offset 14, -4 - 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */ - 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = (DMA_FLAG_GL1 << hdma->ChannelIndex); - 37 .loc 1 829 0 - 38 0002 C56B ldr r5, [r0, #60] - 39 0004 0124 movs r4, #1 - 40 0006 066C ldr r6, [r0, #64] - 41 0008 B440 lsls r4, r4, r6 - 42 000a 6C60 str r4, [r5, #4] - 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel data length */ - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CNDTR = DataLength; - 43 .loc 1 832 0 - 44 000c 0468 ldr r4, [r0] - 45 000e 6360 str r3, [r4, #4] - 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Memory to Peripheral */ - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) - 46 .loc 1 835 0 - 47 0010 4368 ldr r3, [r0, #4] - 48 .LVL1: - 49 0012 102B cmp r3, #16 - 50 0014 04D0 beq .L4 - 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel destination address */ - 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CPAR = DstAddress; - 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel source address */ - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CMAR = SrcAddress; - 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Peripheral to Memory */ - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel source address */ - 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CPAR = SrcAddress; - 51 .loc 1 847 0 - 52 0016 0368 ldr r3, [r0] - 53 0018 9960 str r1, [r3, #8] - 54 .LVL2: - 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel destination address */ - 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CMAR = DstAddress; - 55 .loc 1 850 0 - 56 001a 0368 ldr r3, [r0] - 57 001c DA60 str r2, [r3, #12] - 58 .L1: - 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 59 .loc 1 852 0 - 60 @ sp needed - 61 001e 70BD pop {r4, r5, r6, pc} - ARM GAS /tmp/ccXKeozk.s page 17 - - - 62 .LVL3: - 63 .L4: - 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 64 .loc 1 838 0 - 65 0020 0368 ldr r3, [r0] - 66 0022 9A60 str r2, [r3, #8] - 67 .LVL4: - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 68 .loc 1 841 0 - 69 0024 0368 ldr r3, [r0] - 70 0026 D960 str r1, [r3, #12] - 71 0028 F9E7 b .L1 - 72 .cfi_endproc - 73 .LFE52: - 75 .global __aeabi_uidiv - 76 .section .text.DMA_CalcBaseAndBitshift,"ax",%progbits - 77 .align 1 - 78 .syntax unified - 79 .code 16 - 80 .thumb_func - 81 .fpu softvfp - 83 DMA_CalcBaseAndBitshift: - 84 .LFB53: - 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** - 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief set the DMA base address and channel index depending on DMA instance - 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains - 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream. - 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval None - 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */ - 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma) - 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 85 .loc 1 861 0 - 86 .cfi_startproc - 87 @ args = 0, pretend = 0, frame = 0 - 88 @ frame_needed = 0, uses_anonymous_args = 0 - 89 .LVL5: - 90 0000 10B5 push {r4, lr} - 91 .LCFI1: - 92 .cfi_def_cfa_offset 8 - 93 .cfi_offset 4, -8 - 94 .cfi_offset 14, -4 - 95 0002 0400 movs r4, r0 - 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #if defined (DMA2) - 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* calculation of the channel index */ - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if ((uint32_t)(hdma->Instance) < (uint32_t)(DMA2_Channel1)) - 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA1 */ - 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Ch - 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress = DMA1; - 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else - 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA2 */ - 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA2_Channel1) / ((uint32_t)DMA2_Ch - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; - 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - ARM GAS /tmp/ccXKeozk.s page 18 - - - 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #else - 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* calculation of the channel index */ - 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA1 */ - 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Chan - 96 .loc 1 879 0 - 97 0004 0368 ldr r3, [r0] - 98 0006 064A ldr r2, .L6 - 99 0008 9446 mov ip, r2 - 100 000a 6344 add r3, r3, ip - 101 000c 1800 movs r0, r3 - 102 .LVL6: - 103 000e 1421 movs r1, #20 - 104 0010 FFF7FEFF bl __aeabi_uidiv - 105 .LVL7: - 106 0014 8000 lsls r0, r0, #2 - 107 0016 2064 str r0, [r4, #64] - 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress = DMA1; - 108 .loc 1 880 0 - 109 0018 024B ldr r3, .L6+4 - 110 001a E363 str r3, [r4, #60] - 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #endif - 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 111 .loc 1 882 0 - 112 @ sp needed - 113 .LVL8: - 114 001c 10BD pop {r4, pc} - 115 .L7: - 116 001e C046 .align 2 - 117 .L6: - 118 0020 F8FFFDBF .word -1073872904 - 119 0024 00000240 .word 1073872896 - 120 .cfi_endproc - 121 .LFE53: - 123 .section .text.HAL_DMA_Init,"ax",%progbits - 124 .align 1 - 125 .global HAL_DMA_Init - 126 .syntax unified - 127 .code 16 - 128 .thumb_func - 129 .fpu softvfp - 131 HAL_DMA_Init: - 132 .LFB40: - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t tmp = 0U; - 133 .loc 1 139 0 - 134 .cfi_startproc - 135 @ args = 0, pretend = 0, frame = 0 - 136 @ frame_needed = 0, uses_anonymous_args = 0 - 137 .LVL9: - 138 0000 70B5 push {r4, r5, r6, lr} - 139 .LCFI2: - 140 .cfi_def_cfa_offset 16 - 141 .cfi_offset 4, -16 - 142 .cfi_offset 5, -12 - 143 .cfi_offset 6, -8 - 144 .cfi_offset 14, -4 - 145 0002 041E subs r4, r0, #0 - 146 .LVL10: - ARM GAS /tmp/ccXKeozk.s page 19 - - - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 147 .loc 1 143 0 - 148 0004 20D0 beq .L10 - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 149 .loc 1 159 0 - 150 0006 2125 movs r5, #33 - 151 0008 0223 movs r3, #2 - 152 000a 4355 strb r3, [r0, r5] - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 153 .loc 1 162 0 - 154 000c 0168 ldr r1, [r0] - 155 000e 0B68 ldr r3, [r1] - 156 .LVL11: - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CCR_MINC | DMA_CCR_PINC | DMA_CCR_CIRC | \ - 157 .loc 1 165 0 - 158 0010 0E4A ldr r2, .L11 - 159 0012 1A40 ands r2, r3 - 160 .LVL12: - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | - 161 .loc 1 170 0 - 162 0014 4368 ldr r3, [r0, #4] - 163 0016 8068 ldr r0, [r0, #8] - 164 .LVL13: - 165 0018 0343 orrs r3, r0 - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 166 .loc 1 171 0 - 167 001a E068 ldr r0, [r4, #12] - 168 001c 0343 orrs r3, r0 - 169 001e 2069 ldr r0, [r4, #16] - 170 0020 0343 orrs r3, r0 - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; - 171 .loc 1 172 0 - 172 0022 6069 ldr r0, [r4, #20] - 173 0024 0343 orrs r3, r0 - 174 0026 A069 ldr r0, [r4, #24] - 175 0028 0343 orrs r3, r0 - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 176 .loc 1 173 0 - 177 002a E069 ldr r0, [r4, #28] - 178 002c 0343 orrs r3, r0 - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | - 179 .loc 1 170 0 - 180 002e 1343 orrs r3, r2 - 181 .LVL14: - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 182 .loc 1 176 0 - 183 0030 0B60 str r3, [r1] - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 184 .loc 1 180 0 - 185 0032 2000 movs r0, r4 - 186 0034 FFF7FEFF bl DMA_CalcBaseAndBitshift - 187 .LVL15: - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 188 .loc 1 183 0 - 189 0038 0023 movs r3, #0 - 190 003a A363 str r3, [r4, #56] - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - ARM GAS /tmp/ccXKeozk.s page 20 - - - 191 .loc 1 186 0 - 192 003c 0122 movs r2, #1 - 193 003e 6255 strb r2, [r4, r5] - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 194 .loc 1 189 0 - 195 0040 1F32 adds r2, r2, #31 - 196 0042 A354 strb r3, [r4, r2] - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 197 .loc 1 191 0 - 198 0044 0020 movs r0, #0 - 199 .L9: - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 200 .loc 1 192 0 - 201 @ sp needed - 202 .LVL16: - 203 0046 70BD pop {r4, r5, r6, pc} - 204 .LVL17: - 205 .L10: - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 206 .loc 1 145 0 - 207 0048 0120 movs r0, #1 - 208 .LVL18: - 209 004a FCE7 b .L9 - 210 .L12: - 211 .align 2 - 212 .L11: - 213 004c 0FC0FFFF .word -16369 - 214 .cfi_endproc - 215 .LFE40: - 217 .section .text.HAL_DMA_DeInit,"ax",%progbits - 218 .align 1 - 219 .global HAL_DMA_DeInit - 220 .syntax unified - 221 .code 16 - 222 .thumb_func - 223 .fpu softvfp - 225 HAL_DMA_DeInit: - 226 .LFB41: - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the DMA handle allocation */ - 227 .loc 1 201 0 - 228 .cfi_startproc - 229 @ args = 0, pretend = 0, frame = 0 - 230 @ frame_needed = 0, uses_anonymous_args = 0 - 231 .LVL19: - 232 0000 70B5 push {r4, r5, r6, lr} - 233 .LCFI3: - 234 .cfi_def_cfa_offset 16 - 235 .cfi_offset 4, -16 - 236 .cfi_offset 5, -12 - 237 .cfi_offset 6, -8 - 238 .cfi_offset 14, -4 - 239 0002 041E subs r4, r0, #0 - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 240 .loc 1 203 0 - 241 0004 1ED0 beq .L15 - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 242 .loc 1 212 0 - ARM GAS /tmp/ccXKeozk.s page 21 - - - 243 0006 0268 ldr r2, [r0] - 244 0008 1368 ldr r3, [r2] - 245 000a 0126 movs r6, #1 - 246 000c B343 bics r3, r6 - 247 000e 1360 str r3, [r2] - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 248 .loc 1 215 0 - 249 0010 0368 ldr r3, [r0] - 250 0012 0025 movs r5, #0 - 251 0014 1D60 str r5, [r3] - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 252 .loc 1 218 0 - 253 0016 0368 ldr r3, [r0] - 254 0018 5D60 str r5, [r3, #4] - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 255 .loc 1 221 0 - 256 001a 0368 ldr r3, [r0] - 257 001c 9D60 str r5, [r3, #8] - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 258 .loc 1 224 0 - 259 001e 0368 ldr r3, [r0] - 260 0020 DD60 str r5, [r3, #12] - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 261 .loc 1 227 0 - 262 0022 FFF7FEFF bl DMA_CalcBaseAndBitshift - 263 .LVL20: - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 264 .loc 1 230 0 - 265 0026 E36B ldr r3, [r4, #60] - 266 0028 226C ldr r2, [r4, #64] - 267 002a 9640 lsls r6, r6, r2 - 268 002c 5E60 str r6, [r3, #4] - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; - 269 .loc 1 233 0 - 270 002e A562 str r5, [r4, #40] - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL; - 271 .loc 1 234 0 - 272 0030 E562 str r5, [r4, #44] - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL; - 273 .loc 1 235 0 - 274 0032 2563 str r5, [r4, #48] - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 275 .loc 1 236 0 - 276 0034 6563 str r5, [r4, #52] - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 277 .loc 1 239 0 - 278 0036 A563 str r5, [r4, #56] - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 279 .loc 1 242 0 - 280 0038 2123 movs r3, #33 - 281 003a E554 strb r5, [r4, r3] - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 282 .loc 1 245 0 - 283 003c 013B subs r3, r3, #1 - 284 003e E554 strb r5, [r4, r3] - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 285 .loc 1 247 0 - ARM GAS /tmp/ccXKeozk.s page 22 - - - 286 0040 0020 movs r0, #0 - 287 .L14: - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 288 .loc 1 248 0 - 289 @ sp needed - 290 .LVL21: - 291 0042 70BD pop {r4, r5, r6, pc} - 292 .LVL22: - 293 .L15: - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 294 .loc 1 205 0 - 295 0044 0120 movs r0, #1 - 296 .LVL23: - 297 0046 FCE7 b .L14 - 298 .cfi_endproc - 299 .LFE41: - 301 .section .text.HAL_DMA_Start,"ax",%progbits - 302 .align 1 - 303 .global HAL_DMA_Start - 304 .syntax unified - 305 .code 16 - 306 .thumb_func - 307 .fpu softvfp - 309 HAL_DMA_Start: - 310 .LFB42: - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 311 .loc 1 283 0 - 312 .cfi_startproc - 313 @ args = 0, pretend = 0, frame = 0 - 314 @ frame_needed = 0, uses_anonymous_args = 0 - 315 .LVL24: - 316 0000 70B5 push {r4, r5, r6, lr} - 317 .LCFI4: - 318 .cfi_def_cfa_offset 16 - 319 .cfi_offset 4, -16 - 320 .cfi_offset 5, -12 - 321 .cfi_offset 6, -8 - 322 .cfi_offset 14, -4 - 323 0002 0400 movs r4, r0 - 324 .LVL25: - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 325 .loc 1 290 0 - 326 0004 2020 movs r0, #32 - 327 .LVL26: - 328 0006 205C ldrb r0, [r4, r0] - 329 0008 0128 cmp r0, #1 - 330 000a 1ED0 beq .L19 - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 331 .loc 1 290 0 is_stmt 0 discriminator 2 - 332 000c 2020 movs r0, #32 - 333 000e 0125 movs r5, #1 - 334 0010 2554 strb r5, [r4, r0] - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 335 .loc 1 292 0 is_stmt 1 discriminator 2 - 336 0012 0130 adds r0, r0, #1 - 337 0014 205C ldrb r0, [r4, r0] - 338 0016 0128 cmp r0, #1 - ARM GAS /tmp/ccXKeozk.s page 23 - - - 339 0018 04D0 beq .L20 - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 340 .loc 1 311 0 - 341 001a 2023 movs r3, #32 - 342 .LVL27: - 343 001c 0022 movs r2, #0 - 344 .LVL28: - 345 001e E254 strb r2, [r4, r3] - 346 .LVL29: - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 347 .loc 1 314 0 - 348 0020 0220 movs r0, #2 - 349 .LVL30: - 350 .L17: - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 351 .loc 1 318 0 - 352 @ sp needed - 353 .LVL31: - 354 0022 70BD pop {r4, r5, r6, pc} - 355 .LVL32: - 356 .L20: - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 357 .loc 1 295 0 - 358 0024 2030 adds r0, r0, #32 - 359 0026 0135 adds r5, r5, #1 - 360 0028 2554 strb r5, [r4, r0] - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 361 .loc 1 297 0 - 362 002a 0020 movs r0, #0 - 363 002c A063 str r0, [r4, #56] - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 364 .loc 1 300 0 - 365 002e 2668 ldr r6, [r4] - 366 0030 3068 ldr r0, [r6] - 367 0032 013D subs r5, r5, #1 - 368 0034 A843 bics r0, r5 - 369 0036 3060 str r0, [r6] - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 370 .loc 1 303 0 - 371 0038 2000 movs r0, r4 - 372 003a FFF7FEFF bl DMA_SetConfig - 373 .LVL33: - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 374 .loc 1 306 0 - 375 003e 2268 ldr r2, [r4] - 376 0040 1368 ldr r3, [r2] - 377 0042 2B43 orrs r3, r5 - 378 0044 1360 str r3, [r2] - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 379 .loc 1 284 0 - 380 0046 0020 movs r0, #0 - 381 0048 EBE7 b .L17 - 382 .LVL34: - 383 .L19: - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 384 .loc 1 290 0 - 385 004a 0220 movs r0, #2 - ARM GAS /tmp/ccXKeozk.s page 24 - - - 386 004c E9E7 b .L17 - 387 .cfi_endproc - 388 .LFE42: - 390 .section .text.HAL_DMA_Start_IT,"ax",%progbits - 391 .align 1 - 392 .global HAL_DMA_Start_IT - 393 .syntax unified - 394 .code 16 - 395 .thumb_func - 396 .fpu softvfp - 398 HAL_DMA_Start_IT: - 399 .LFB43: - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 400 .loc 1 330 0 - 401 .cfi_startproc - 402 @ args = 0, pretend = 0, frame = 0 - 403 @ frame_needed = 0, uses_anonymous_args = 0 - 404 .LVL35: - 405 0000 70B5 push {r4, r5, r6, lr} - 406 .LCFI5: - 407 .cfi_def_cfa_offset 16 - 408 .cfi_offset 4, -16 - 409 .cfi_offset 5, -12 - 410 .cfi_offset 6, -8 - 411 .cfi_offset 14, -4 - 412 0002 0400 movs r4, r0 - 413 .LVL36: - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 414 .loc 1 337 0 - 415 0004 2020 movs r0, #32 - 416 .LVL37: - 417 0006 205C ldrb r0, [r4, r0] - 418 0008 0128 cmp r0, #1 - 419 000a 32D0 beq .L26 - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 420 .loc 1 337 0 is_stmt 0 discriminator 2 - 421 000c 2020 movs r0, #32 - 422 000e 0125 movs r5, #1 - 423 0010 2554 strb r5, [r4, r0] - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 424 .loc 1 339 0 is_stmt 1 discriminator 2 - 425 0012 0130 adds r0, r0, #1 - 426 0014 205C ldrb r0, [r4, r0] - 427 0016 0128 cmp r0, #1 - 428 0018 04D0 beq .L27 - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 429 .loc 1 370 0 - 430 001a 2023 movs r3, #32 - 431 .LVL38: - 432 001c 0022 movs r2, #0 - 433 .LVL39: - 434 001e E254 strb r2, [r4, r3] - 435 .LVL40: - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 436 .loc 1 373 0 - 437 0020 0220 movs r0, #2 - 438 .LVL41: - ARM GAS /tmp/ccXKeozk.s page 25 - - - 439 .L22: - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 440 .loc 1 377 0 - 441 @ sp needed - 442 .LVL42: - 443 0022 70BD pop {r4, r5, r6, pc} - 444 .LVL43: - 445 .L27: - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 446 .loc 1 342 0 - 447 0024 2030 adds r0, r0, #32 - 448 0026 0135 adds r5, r5, #1 - 449 0028 2554 strb r5, [r4, r0] - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 450 .loc 1 344 0 - 451 002a 0020 movs r0, #0 - 452 002c A063 str r0, [r4, #56] - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 453 .loc 1 347 0 - 454 002e 2568 ldr r5, [r4] - 455 0030 2868 ldr r0, [r5] - 456 0032 0126 movs r6, #1 - 457 0034 B043 bics r0, r6 - 458 0036 2860 str r0, [r5] - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 459 .loc 1 350 0 - 460 0038 2000 movs r0, r4 - 461 003a FFF7FEFF bl DMA_SetConfig - 462 .LVL44: - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 463 .loc 1 354 0 - 464 003e E36A ldr r3, [r4, #44] - 465 0040 002B cmp r3, #0 - 466 0042 0BD0 beq .L24 - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 467 .loc 1 356 0 - 468 0044 2268 ldr r2, [r4] - 469 0046 1368 ldr r3, [r2] - 470 0048 0E21 movs r1, #14 - 471 004a 0B43 orrs r3, r1 - 472 004c 1360 str r3, [r2] - 473 .L25: - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 474 .loc 1 365 0 - 475 004e 2268 ldr r2, [r4] - 476 0050 1368 ldr r3, [r2] - 477 0052 0121 movs r1, #1 - 478 0054 0B43 orrs r3, r1 - 479 0056 1360 str r3, [r2] - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 480 .loc 1 331 0 - 481 0058 0020 movs r0, #0 - 482 005a E2E7 b .L22 - 483 .L24: - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT; - 484 .loc 1 360 0 - 485 005c 2268 ldr r2, [r4] - ARM GAS /tmp/ccXKeozk.s page 26 - - - 486 005e 1368 ldr r3, [r2] - 487 0060 0A21 movs r1, #10 - 488 0062 0B43 orrs r3, r1 - 489 0064 1360 str r3, [r2] - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 490 .loc 1 361 0 - 491 0066 2268 ldr r2, [r4] - 492 0068 1368 ldr r3, [r2] - 493 006a 0639 subs r1, r1, #6 - 494 006c 8B43 bics r3, r1 - 495 006e 1360 str r3, [r2] - 496 0070 EDE7 b .L25 - 497 .LVL45: - 498 .L26: - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 499 .loc 1 337 0 - 500 0072 0220 movs r0, #2 - 501 0074 D5E7 b .L22 - 502 .cfi_endproc - 503 .LFE43: - 505 .section .text.HAL_DMA_Abort,"ax",%progbits - 506 .align 1 - 507 .global HAL_DMA_Abort - 508 .syntax unified - 509 .code 16 - 510 .thumb_func - 511 .fpu softvfp - 513 HAL_DMA_Abort: - 514 .LFB44: - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) - 515 .loc 1 386 0 - 516 .cfi_startproc - 517 @ args = 0, pretend = 0, frame = 0 - 518 @ frame_needed = 0, uses_anonymous_args = 0 - 519 .LVL46: - 520 0000 10B5 push {r4, lr} - 521 .LCFI6: - 522 .cfi_def_cfa_offset 8 - 523 .cfi_offset 4, -8 - 524 .cfi_offset 14, -4 - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 525 .loc 1 387 0 - 526 0002 2123 movs r3, #33 - 527 0004 C35C ldrb r3, [r0, r3] - 528 0006 022B cmp r3, #2 - 529 0008 06D0 beq .L29 - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 530 .loc 1 390 0 - 531 000a 0423 movs r3, #4 - 532 000c 8363 str r3, [r0, #56] - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 533 .loc 1 393 0 - 534 000e 1C33 adds r3, r3, #28 - 535 0010 0022 movs r2, #0 - 536 0012 C254 strb r2, [r0, r3] - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 537 .loc 1 395 0 - ARM GAS /tmp/ccXKeozk.s page 27 - - - 538 0014 0120 movs r0, #1 - 539 .LVL47: - 540 .L30: - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 541 .loc 1 415 0 - 542 @ sp needed - 543 0016 10BD pop {r4, pc} - 544 .LVL48: - 545 .L29: - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 546 .loc 1 400 0 - 547 0018 0268 ldr r2, [r0] - 548 001a 1368 ldr r3, [r2] - 549 001c 0E21 movs r1, #14 - 550 001e 8B43 bics r3, r1 - 551 0020 1360 str r3, [r2] - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 552 .loc 1 403 0 - 553 0022 0168 ldr r1, [r0] - 554 0024 0A68 ldr r2, [r1] - 555 0026 0123 movs r3, #1 - 556 0028 9A43 bics r2, r3 - 557 002a 0A60 str r2, [r1] - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 558 .loc 1 406 0 - 559 002c C26B ldr r2, [r0, #60] - 560 002e 1900 movs r1, r3 - 561 0030 046C ldr r4, [r0, #64] - 562 0032 A140 lsls r1, r1, r4 - 563 0034 5160 str r1, [r2, #4] - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 564 .loc 1 409 0 - 565 0036 2122 movs r2, #33 - 566 0038 8354 strb r3, [r0, r2] - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 567 .loc 1 412 0 - 568 003a 1F33 adds r3, r3, #31 - 569 003c 0022 movs r2, #0 - 570 003e C254 strb r2, [r0, r3] - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 571 .loc 1 414 0 - 572 0040 0020 movs r0, #0 - 573 .LVL49: - 574 0042 E8E7 b .L30 - 575 .cfi_endproc - 576 .LFE44: - 578 .section .text.HAL_DMA_Abort_IT,"ax",%progbits - 579 .align 1 - 580 .global HAL_DMA_Abort_IT - 581 .syntax unified - 582 .code 16 - 583 .thumb_func - 584 .fpu softvfp - 586 HAL_DMA_Abort_IT: - 587 .LFB45: - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 588 .loc 1 424 0 - ARM GAS /tmp/ccXKeozk.s page 28 - - - 589 .cfi_startproc - 590 @ args = 0, pretend = 0, frame = 0 - 591 @ frame_needed = 0, uses_anonymous_args = 0 - 592 .LVL50: - 593 0000 10B5 push {r4, lr} - 594 .LCFI7: - 595 .cfi_def_cfa_offset 8 - 596 .cfi_offset 4, -8 - 597 .cfi_offset 14, -4 - 598 .LVL51: - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 599 .loc 1 427 0 - 600 0002 2123 movs r3, #33 - 601 0004 C35C ldrb r3, [r0, r3] - 602 0006 022B cmp r3, #2 - 603 0008 03D0 beq .L32 - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 604 .loc 1 430 0 - 605 000a 0423 movs r3, #4 - 606 000c 8363 str r3, [r0, #56] - 607 .LVL52: - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 608 .loc 1 432 0 - 609 000e 0120 movs r0, #1 - 610 .LVL53: - 611 .L33: - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 612 .loc 1 459 0 - 613 @ sp needed - 614 0010 10BD pop {r4, pc} - 615 .LVL54: - 616 .L32: - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 617 .loc 1 438 0 - 618 0012 0268 ldr r2, [r0] - 619 0014 1368 ldr r3, [r2] - 620 0016 0E21 movs r1, #14 - 621 0018 8B43 bics r3, r1 - 622 001a 1360 str r3, [r2] - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 623 .loc 1 441 0 - 624 001c 0168 ldr r1, [r0] - 625 001e 0A68 ldr r2, [r1] - 626 0020 0123 movs r3, #1 - 627 0022 9A43 bics r2, r3 - 628 0024 0A60 str r2, [r1] - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 629 .loc 1 444 0 - 630 0026 C26B ldr r2, [r0, #60] - 631 0028 1900 movs r1, r3 - 632 002a 046C ldr r4, [r0, #64] - 633 002c A140 lsls r1, r1, r4 - 634 002e 5160 str r1, [r2, #4] - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 635 .loc 1 447 0 - 636 0030 2122 movs r2, #33 - 637 0032 8354 strb r3, [r0, r2] - ARM GAS /tmp/ccXKeozk.s page 29 - - - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 638 .loc 1 450 0 - 639 0034 1F33 adds r3, r3, #31 - 640 0036 0022 movs r2, #0 - 641 0038 C254 strb r2, [r0, r3] - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 642 .loc 1 453 0 - 643 003a 436B ldr r3, [r0, #52] - 644 003c 002B cmp r3, #0 - 645 003e 02D0 beq .L34 - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 646 .loc 1 455 0 - 647 0040 9847 blx r3 - 648 .LVL55: - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 649 .loc 1 425 0 - 650 0042 0020 movs r0, #0 - 651 0044 E4E7 b .L33 - 652 .LVL56: - 653 .L34: - 654 0046 0020 movs r0, #0 - 655 .LVL57: - 656 0048 E2E7 b .L33 - 657 .cfi_endproc - 658 .LFE45: - 660 .section .text.HAL_DMA_PollForTransfer,"ax",%progbits - 661 .align 1 - 662 .global HAL_DMA_PollForTransfer - 663 .syntax unified - 664 .code 16 - 665 .thumb_func - 666 .fpu softvfp - 668 HAL_DMA_PollForTransfer: - 669 .LFB46: - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t temp; - 670 .loc 1 470 0 - 671 .cfi_startproc - 672 @ args = 0, pretend = 0, frame = 8 - 673 @ frame_needed = 0, uses_anonymous_args = 0 - 674 .LVL58: - 675 0000 F0B5 push {r4, r5, r6, r7, lr} - 676 .LCFI8: - 677 .cfi_def_cfa_offset 20 - 678 .cfi_offset 4, -20 - 679 .cfi_offset 5, -16 - 680 .cfi_offset 6, -12 - 681 .cfi_offset 7, -8 - 682 .cfi_offset 14, -4 - 683 0002 83B0 sub sp, sp, #12 - 684 .LCFI9: - 685 .cfi_def_cfa_offset 32 - 686 0004 0400 movs r4, r0 - 687 0006 0D00 movs r5, r1 - 688 0008 1700 movs r7, r2 - 689 .LVL59: - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 690 .loc 1 474 0 - ARM GAS /tmp/ccXKeozk.s page 30 - - - 691 000a 2123 movs r3, #33 - 692 000c C35C ldrb r3, [r0, r3] - 693 000e 022B cmp r3, #2 - 694 0010 07D0 beq .L36 - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma); - 695 .loc 1 477 0 - 696 0012 0423 movs r3, #4 - 697 0014 8363 str r3, [r0, #56] - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 698 .loc 1 478 0 - 699 0016 1C33 adds r3, r3, #28 - 700 0018 0022 movs r2, #0 - 701 .LVL60: - 702 001a C254 strb r2, [r0, r3] - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 703 .loc 1 479 0 - 704 001c 0120 movs r0, #1 - 705 .LVL61: - 706 .L37: - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 707 .loc 1 562 0 - 708 001e 03B0 add sp, sp, #12 - 709 @ sp needed - 710 .LVL62: - 711 .LVL63: - 712 .LVL64: - 713 0020 F0BD pop {r4, r5, r6, r7, pc} - 714 .LVL65: - 715 .L36: - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 716 .loc 1 483 0 - 717 0022 0368 ldr r3, [r0] - 718 0024 1B68 ldr r3, [r3] - 719 0026 9B06 lsls r3, r3, #26 - 720 0028 24D4 bmi .L48 - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 721 .loc 1 490 0 - 722 002a 0029 cmp r1, #0 - 723 002c 27D1 bne .L39 - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 724 .loc 1 493 0 - 725 002e 0226 movs r6, #2 - 726 0030 036C ldr r3, [r0, #64] - 727 0032 9E40 lsls r6, r6, r3 - 728 .LVL66: - 729 .L40: - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 730 .loc 1 502 0 - 731 0034 FFF7FEFF bl HAL_GetTick - 732 .LVL67: - 733 0038 0190 str r0, [sp, #4] - 734 .LVL68: - 735 .L43: - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 736 .loc 1 504 0 - 737 003a E26B ldr r2, [r4, #60] - 738 003c 1368 ldr r3, [r2] - ARM GAS /tmp/ccXKeozk.s page 31 - - - 739 003e 1E42 tst r6, r3 - 740 0040 2DD1 bne .L49 - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 741 .loc 1 506 0 - 742 0042 1068 ldr r0, [r2] - 743 0044 216C ldr r1, [r4, #64] - 744 0046 0823 movs r3, #8 - 745 0048 8B40 lsls r3, r3, r1 - 746 004a 0342 tst r3, r0 - 747 004c 1BD1 bne .L50 - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 748 .loc 1 525 0 - 749 004e 7B1C adds r3, r7, #1 - 750 0050 F3D0 beq .L43 - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 751 .loc 1 527 0 - 752 0052 002F cmp r7, #0 - 753 0054 05D0 beq .L44 - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 754 .loc 1 527 0 is_stmt 0 discriminator 1 - 755 0056 FFF7FEFF bl HAL_GetTick - 756 .LVL69: - 757 005a 019B ldr r3, [sp, #4] - 758 005c C01A subs r0, r0, r3 - 759 005e B842 cmp r0, r7 - 760 0060 EBD9 bls .L43 - 761 .L44: - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 762 .loc 1 530 0 is_stmt 1 - 763 0062 2023 movs r3, #32 - 764 0064 A363 str r3, [r4, #56] - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 765 .loc 1 533 0 - 766 0066 2122 movs r2, #33 - 767 0068 0121 movs r1, #1 - 768 006a A154 strb r1, [r4, r2] - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 769 .loc 1 536 0 - 770 006c 0022 movs r2, #0 - 771 006e E254 strb r2, [r4, r3] - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 772 .loc 1 538 0 - 773 0070 0120 movs r0, #1 - 774 0072 D4E7 b .L37 - 775 .LVL70: - 776 .L48: - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR; - 777 .loc 1 485 0 - 778 0074 8023 movs r3, #128 - 779 0076 5B00 lsls r3, r3, #1 - 780 0078 8363 str r3, [r0, #56] - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 781 .loc 1 486 0 - 782 007a 0120 movs r0, #1 - 783 .LVL71: - 784 007c CFE7 b .L37 - 785 .LVL72: - ARM GAS /tmp/ccXKeozk.s page 32 - - - 786 .L39: - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 787 .loc 1 498 0 - 788 007e 0426 movs r6, #4 - 789 0080 036C ldr r3, [r0, #64] - 790 0082 9E40 lsls r6, r6, r3 - 791 .LVL73: - 792 0084 D6E7 b .L40 - 793 .LVL74: - 794 .L50: - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 795 .loc 1 511 0 - 796 0086 0123 movs r3, #1 - 797 0088 1800 movs r0, r3 - 798 008a 8840 lsls r0, r0, r1 - 799 008c 5060 str r0, [r2, #4] - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 800 .loc 1 514 0 - 801 008e A363 str r3, [r4, #56] - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 802 .loc 1 517 0 - 803 0090 2122 movs r2, #33 - 804 0092 A354 strb r3, [r4, r2] - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 805 .loc 1 520 0 - 806 0094 1F33 adds r3, r3, #31 - 807 0096 0022 movs r2, #0 - 808 0098 E254 strb r2, [r4, r3] - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 809 .loc 1 522 0 - 810 009a 0120 movs r0, #1 - 811 009c BFE7 b .L37 - 812 .L49: - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 813 .loc 1 543 0 - 814 009e 002D cmp r5, #0 - 815 00a0 0BD1 bne .L46 - 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 816 .loc 1 546 0 - 817 00a2 0223 movs r3, #2 - 818 00a4 216C ldr r1, [r4, #64] - 819 00a6 8B40 lsls r3, r3, r1 - 820 00a8 5360 str r3, [r2, #4] - 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 821 .loc 1 550 0 - 822 00aa 2123 movs r3, #33 - 823 00ac 0122 movs r2, #1 - 824 00ae E254 strb r2, [r4, r3] - 825 .L47: - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 826 .loc 1 559 0 - 827 00b0 2023 movs r3, #32 - 828 00b2 0022 movs r2, #0 - 829 00b4 E254 strb r2, [r4, r3] - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 830 .loc 1 561 0 - 831 00b6 0020 movs r0, #0 - ARM GAS /tmp/ccXKeozk.s page 33 - - - 832 00b8 B1E7 b .L37 - 833 .L46: - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 834 .loc 1 555 0 - 835 00ba 0423 movs r3, #4 - 836 00bc 216C ldr r1, [r4, #64] - 837 00be 8B40 lsls r3, r3, r1 - 838 00c0 5360 str r3, [r2, #4] - 839 00c2 F5E7 b .L47 - 840 .cfi_endproc - 841 .LFE46: - 843 .section .text.HAL_DMA_IRQHandler,"ax",%progbits - 844 .align 1 - 845 .global HAL_DMA_IRQHandler - 846 .syntax unified - 847 .code 16 - 848 .thumb_func - 849 .fpu softvfp - 851 HAL_DMA_IRQHandler: - 852 .LFB47: - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t flag_it = hdma->DmaBaseAddress->ISR; - 853 .loc 1 571 0 - 854 .cfi_startproc - 855 @ args = 0, pretend = 0, frame = 0 - 856 @ frame_needed = 0, uses_anonymous_args = 0 - 857 .LVL75: - 858 0000 70B5 push {r4, r5, r6, lr} - 859 .LCFI10: - 860 .cfi_def_cfa_offset 16 - 861 .cfi_offset 4, -16 - 862 .cfi_offset 5, -12 - 863 .cfi_offset 6, -8 - 864 .cfi_offset 14, -4 - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t source_it = hdma->Instance->CCR; - 865 .loc 1 572 0 - 866 0002 C36B ldr r3, [r0, #60] - 867 0004 1A68 ldr r2, [r3] - 868 .LVL76: - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 869 .loc 1 573 0 - 870 0006 0468 ldr r4, [r0] - 871 0008 2568 ldr r5, [r4] - 872 .LVL77: - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 873 .loc 1 576 0 - 874 000a 016C ldr r1, [r0, #64] - 875 000c 0423 movs r3, #4 - 876 000e 8B40 lsls r3, r3, r1 - 877 0010 1A42 tst r2, r3 - 878 0012 12D0 beq .L52 - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 879 .loc 1 576 0 is_stmt 0 discriminator 1 - 880 0014 6B07 lsls r3, r5, #29 - 881 0016 10D5 bpl .L52 - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 882 .loc 1 579 0 is_stmt 1 - 883 0018 2368 ldr r3, [r4] - ARM GAS /tmp/ccXKeozk.s page 34 - - - 884 001a 9B06 lsls r3, r3, #26 - 885 001c 03D4 bmi .L53 - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 886 .loc 1 582 0 - 887 001e 2368 ldr r3, [r4] - 888 0020 0422 movs r2, #4 - 889 .LVL78: - 890 0022 9343 bics r3, r2 - 891 0024 2360 str r3, [r4] - 892 .L53: - 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 893 .loc 1 586 0 - 894 0026 C26B ldr r2, [r0, #60] - 895 0028 0423 movs r3, #4 - 896 002a 016C ldr r1, [r0, #64] - 897 002c 8B40 lsls r3, r3, r1 - 898 002e 5360 str r3, [r2, #4] - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 899 .loc 1 591 0 - 900 0030 C36A ldr r3, [r0, #44] - 901 0032 002B cmp r3, #0 - 902 0034 00D0 beq .L51 - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 903 .loc 1 594 0 - 904 0036 9847 blx r3 - 905 .LVL79: - 906 .L51: - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 907 .loc 1 650 0 - 908 @ sp needed - 909 .LVL80: - 910 0038 70BD pop {r4, r5, r6, pc} - 911 .LVL81: - 912 .L52: - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 913 .loc 1 599 0 - 914 003a 0223 movs r3, #2 - 915 003c 8B40 lsls r3, r3, r1 - 916 003e 1A42 tst r2, r3 - 917 0040 18D0 beq .L55 - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 918 .loc 1 599 0 is_stmt 0 discriminator 1 - 919 0042 AB07 lsls r3, r5, #30 - 920 0044 16D5 bpl .L55 - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 921 .loc 1 601 0 is_stmt 1 - 922 0046 2368 ldr r3, [r4] - 923 0048 9B06 lsls r3, r3, #26 - 924 004a 06D4 bmi .L56 - 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 925 .loc 1 605 0 - 926 004c 2368 ldr r3, [r4] - 927 004e 0A22 movs r2, #10 - 928 .LVL82: - 929 0050 9343 bics r3, r2 - 930 0052 2360 str r3, [r4] - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - ARM GAS /tmp/ccXKeozk.s page 35 - - - 931 .loc 1 608 0 - 932 0054 2123 movs r3, #33 - 933 0056 093A subs r2, r2, #9 - 934 0058 C254 strb r2, [r0, r3] - 935 .L56: - 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 936 .loc 1 612 0 - 937 005a C26B ldr r2, [r0, #60] - 938 005c 0223 movs r3, #2 - 939 005e 016C ldr r1, [r0, #64] - 940 0060 8B40 lsls r3, r3, r1 - 941 0062 5360 str r3, [r2, #4] - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 942 .loc 1 615 0 - 943 0064 2023 movs r3, #32 - 944 0066 0022 movs r2, #0 - 945 0068 C254 strb r2, [r0, r3] - 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 946 .loc 1 617 0 - 947 006a 836A ldr r3, [r0, #40] - 948 006c 002B cmp r3, #0 - 949 006e E3D0 beq .L51 - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 950 .loc 1 620 0 - 951 0070 9847 blx r3 - 952 .LVL83: - 953 0072 E1E7 b .L51 - 954 .LVL84: - 955 .L55: - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 956 .loc 1 625 0 - 957 0074 0823 movs r3, #8 - 958 0076 8B40 lsls r3, r3, r1 - 959 0078 1A42 tst r2, r3 - 960 007a DDD0 beq .L51 - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 961 .loc 1 625 0 is_stmt 0 discriminator 1 - 962 007c 2B07 lsls r3, r5, #28 - 963 007e DBD5 bpl .L51 - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 964 .loc 1 630 0 is_stmt 1 - 965 0080 2368 ldr r3, [r4] - 966 0082 0E22 movs r2, #14 - 967 .LVL85: - 968 0084 9343 bics r3, r2 - 969 0086 2360 str r3, [r4] - 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 970 .loc 1 633 0 - 971 0088 C26B ldr r2, [r0, #60] - 972 008a 0123 movs r3, #1 - 973 008c 1900 movs r1, r3 - 974 008e 046C ldr r4, [r0, #64] - 975 0090 A140 lsls r1, r1, r4 - 976 0092 5160 str r1, [r2, #4] - 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 977 .loc 1 636 0 - 978 0094 8363 str r3, [r0, #56] - ARM GAS /tmp/ccXKeozk.s page 36 - - - 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 979 .loc 1 639 0 - 980 0096 2122 movs r2, #33 - 981 0098 8354 strb r3, [r0, r2] - 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 982 .loc 1 642 0 - 983 009a 1F33 adds r3, r3, #31 - 984 009c 0022 movs r2, #0 - 985 009e C254 strb r2, [r0, r3] - 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 986 .loc 1 644 0 - 987 00a0 036B ldr r3, [r0, #48] - 988 00a2 002B cmp r3, #0 - 989 00a4 C8D0 beq .L51 - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 990 .loc 1 647 0 - 991 00a6 9847 blx r3 - 992 .LVL86: - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 993 .loc 1 650 0 - 994 00a8 C6E7 b .L51 - 995 .cfi_endproc - 996 .LFE47: - 998 .section .text.HAL_DMA_RegisterCallback,"ax",%progbits - 999 .align 1 - 1000 .global HAL_DMA_RegisterCallback - 1001 .syntax unified - 1002 .code 16 - 1003 .thumb_func - 1004 .fpu softvfp - 1006 HAL_DMA_RegisterCallback: - 1007 .LFB48: - 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 1008 .loc 1 663 0 - 1009 .cfi_startproc - 1010 @ args = 0, pretend = 0, frame = 0 - 1011 @ frame_needed = 0, uses_anonymous_args = 0 - 1012 .LVL87: - 1013 0000 10B5 push {r4, lr} - 1014 .LCFI11: - 1015 .cfi_def_cfa_offset 8 - 1016 .cfi_offset 4, -8 - 1017 .cfi_offset 14, -4 - 1018 .LVL88: - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1019 .loc 1 667 0 - 1020 0002 2023 movs r3, #32 - 1021 0004 C35C ldrb r3, [r0, r3] - 1022 0006 012B cmp r3, #1 - 1023 0008 22D0 beq .L64 - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1024 .loc 1 667 0 is_stmt 0 discriminator 2 - 1025 000a 2023 movs r3, #32 - 1026 000c 0124 movs r4, #1 - 1027 000e C454 strb r4, [r0, r3] - 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 1028 .loc 1 669 0 is_stmt 1 discriminator 2 - ARM GAS /tmp/ccXKeozk.s page 37 - - - 1029 0010 0133 adds r3, r3, #1 - 1030 0012 C35C ldrb r3, [r0, r3] - 1031 0014 012B cmp r3, #1 - 1032 0016 05D0 beq .L68 - 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 1033 .loc 1 696 0 - 1034 0018 0123 movs r3, #1 - 1035 .L59: - 1036 .LVL89: - 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1037 .loc 1 700 0 - 1038 001a 2022 movs r2, #32 - 1039 .LVL90: - 1040 001c 0021 movs r1, #0 - 1041 .LVL91: - 1042 001e 8154 strb r1, [r0, r2] - 1043 .LVL92: - 1044 .L58: - 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1045 .loc 1 703 0 - 1046 0020 1800 movs r0, r3 - 1047 .LVL93: - 1048 @ sp needed - 1049 0022 10BD pop {r4, pc} - 1050 .LVL94: - 1051 .L68: - 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 1052 .loc 1 671 0 - 1053 0024 0129 cmp r1, #1 - 1054 0026 0AD0 beq .L60 - 1055 0028 0029 cmp r1, #0 - 1056 002a 05D0 beq .L61 - 1057 002c 0229 cmp r1, #2 - 1058 002e 09D0 beq .L62 - 1059 0030 0329 cmp r1, #3 - 1060 0032 0AD0 beq .L63 - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1061 .loc 1 690 0 - 1062 0034 0123 movs r3, #1 - 1063 0036 F0E7 b .L59 - 1064 .L61: - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1065 .loc 1 674 0 - 1066 0038 8262 str r2, [r0, #40] - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1067 .loc 1 664 0 - 1068 003a 0023 movs r3, #0 - 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1069 .loc 1 675 0 - 1070 003c EDE7 b .L59 - 1071 .L60: - 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1072 .loc 1 678 0 - 1073 003e C262 str r2, [r0, #44] - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1074 .loc 1 664 0 - 1075 0040 0023 movs r3, #0 - ARM GAS /tmp/ccXKeozk.s page 38 - - - 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1076 .loc 1 679 0 - 1077 0042 EAE7 b .L59 - 1078 .L62: - 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1079 .loc 1 682 0 - 1080 0044 0263 str r2, [r0, #48] - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1081 .loc 1 664 0 - 1082 0046 0023 movs r3, #0 - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1083 .loc 1 683 0 - 1084 0048 E7E7 b .L59 - 1085 .L63: - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1086 .loc 1 686 0 - 1087 004a 4263 str r2, [r0, #52] - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1088 .loc 1 664 0 - 1089 004c 0023 movs r3, #0 - 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1090 .loc 1 687 0 - 1091 004e E4E7 b .L59 - 1092 .L64: - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1093 .loc 1 667 0 - 1094 0050 0223 movs r3, #2 - 1095 0052 E5E7 b .L58 - 1096 .cfi_endproc - 1097 .LFE48: - 1099 .section .text.HAL_DMA_UnRegisterCallback,"ax",%progbits - 1100 .align 1 - 1101 .global HAL_DMA_UnRegisterCallback - 1102 .syntax unified - 1103 .code 16 - 1104 .thumb_func - 1105 .fpu softvfp - 1107 HAL_DMA_UnRegisterCallback: - 1108 .LFB49: - 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; - 1109 .loc 1 714 0 - 1110 .cfi_startproc - 1111 @ args = 0, pretend = 0, frame = 0 - 1112 @ frame_needed = 0, uses_anonymous_args = 0 - 1113 @ link register save eliminated. - 1114 .LVL95: - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1115 .loc 1 718 0 - 1116 0000 2023 movs r3, #32 - 1117 0002 C35C ldrb r3, [r0, r3] - 1118 0004 012B cmp r3, #1 - 1119 0006 26D0 beq .L78 - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1120 .loc 1 718 0 is_stmt 0 discriminator 2 - 1121 0008 2023 movs r3, #32 - 1122 000a 0122 movs r2, #1 - 1123 000c C254 strb r2, [r0, r3] - ARM GAS /tmp/ccXKeozk.s page 39 - - - 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 1124 .loc 1 720 0 is_stmt 1 discriminator 2 - 1125 000e 0133 adds r3, r3, #1 - 1126 0010 C35C ldrb r3, [r0, r3] - 1127 0012 012B cmp r3, #1 - 1128 0014 05D0 beq .L81 - 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 1129 .loc 1 754 0 - 1130 0016 0123 movs r3, #1 - 1131 .LVL96: - 1132 .L71: - 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1133 .loc 1 758 0 - 1134 0018 2022 movs r2, #32 - 1135 001a 0021 movs r1, #0 - 1136 001c 8154 strb r1, [r0, r2] - 1137 .LVL97: - 1138 .L70: - 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1139 .loc 1 761 0 - 1140 001e 1800 movs r0, r3 - 1141 .LVL98: - 1142 @ sp needed - 1143 0020 7047 bx lr - 1144 .LVL99: - 1145 .L81: - 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** { - 1146 .loc 1 722 0 - 1147 0022 0429 cmp r1, #4 - 1148 0024 15D8 bhi .L80 - 1149 0026 8900 lsls r1, r1, #2 - 1150 .LVL100: - 1151 0028 0C4B ldr r3, .L82 - 1152 002a 5B58 ldr r3, [r3, r1] - 1153 002c 9F46 mov pc, r3 - 1154 .section .rodata.HAL_DMA_UnRegisterCallback,"a",%progbits - 1155 .align 2 - 1156 .L73: - 1157 0000 2E000000 .word .L72 - 1158 0004 34000000 .word .L74 - 1159 0008 3A000000 .word .L75 - 1160 000c 40000000 .word .L76 - 1161 0010 46000000 .word .L77 - 1162 .section .text.HAL_DMA_UnRegisterCallback - 1163 .L72: - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1164 .loc 1 725 0 - 1165 002e 0023 movs r3, #0 - 1166 0030 8362 str r3, [r0, #40] - 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1167 .loc 1 726 0 - 1168 0032 F1E7 b .L71 - 1169 .L74: - 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1170 .loc 1 729 0 - 1171 0034 0023 movs r3, #0 - 1172 0036 C362 str r3, [r0, #44] - ARM GAS /tmp/ccXKeozk.s page 40 - - - 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1173 .loc 1 730 0 - 1174 0038 EEE7 b .L71 - 1175 .L75: - 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1176 .loc 1 733 0 - 1177 003a 0023 movs r3, #0 - 1178 003c 0363 str r3, [r0, #48] - 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1179 .loc 1 734 0 - 1180 003e EBE7 b .L71 - 1181 .L76: - 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1182 .loc 1 737 0 - 1183 0040 0023 movs r3, #0 - 1184 0042 4363 str r3, [r0, #52] - 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1185 .loc 1 738 0 - 1186 0044 E8E7 b .L71 - 1187 .L77: - 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; - 1188 .loc 1 741 0 - 1189 0046 0023 movs r3, #0 - 1190 0048 8362 str r3, [r0, #40] - 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL; - 1191 .loc 1 742 0 - 1192 004a C362 str r3, [r0, #44] - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL; - 1193 .loc 1 743 0 - 1194 004c 0363 str r3, [r0, #48] - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1195 .loc 1 744 0 - 1196 004e 4363 str r3, [r0, #52] - 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1197 .loc 1 745 0 - 1198 0050 E2E7 b .L71 - 1199 .LVL101: - 1200 .L80: - 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break; - 1201 .loc 1 748 0 - 1202 0052 0123 movs r3, #1 - 1203 0054 E0E7 b .L71 - 1204 .L78: - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1205 .loc 1 718 0 - 1206 0056 0223 movs r3, #2 - 1207 0058 E1E7 b .L70 - 1208 .L83: - 1209 005a C046 .align 2 - 1210 .L82: - 1211 005c 00000000 .word .L73 - 1212 .cfi_endproc - 1213 .LFE49: - 1215 .section .text.HAL_DMA_GetState,"ax",%progbits - 1216 .align 1 - 1217 .global HAL_DMA_GetState - 1218 .syntax unified - ARM GAS /tmp/ccXKeozk.s page 41 - - - 1219 .code 16 - 1220 .thumb_func - 1221 .fpu softvfp - 1223 HAL_DMA_GetState: - 1224 .LFB50: - 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->State; - 1225 .loc 1 790 0 - 1226 .cfi_startproc - 1227 @ args = 0, pretend = 0, frame = 0 - 1228 @ frame_needed = 0, uses_anonymous_args = 0 - 1229 @ link register save eliminated. - 1230 .LVL102: - 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 1231 .loc 1 791 0 - 1232 0000 2123 movs r3, #33 - 1233 0002 C05C ldrb r0, [r0, r3] - 1234 .LVL103: - 1235 0004 C0B2 uxtb r0, r0 - 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1236 .loc 1 792 0 - 1237 @ sp needed - 1238 0006 7047 bx lr - 1239 .cfi_endproc - 1240 .LFE50: - 1242 .section .text.HAL_DMA_GetError,"ax",%progbits - 1243 .align 1 - 1244 .global HAL_DMA_GetError - 1245 .syntax unified - 1246 .code 16 - 1247 .thumb_func - 1248 .fpu softvfp - 1250 HAL_DMA_GetError: - 1251 .LFB51: - 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->ErrorCode; - 1252 .loc 1 801 0 - 1253 .cfi_startproc - 1254 @ args = 0, pretend = 0, frame = 0 - 1255 @ frame_needed = 0, uses_anonymous_args = 0 - 1256 @ link register save eliminated. - 1257 .LVL104: - 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** } - 1258 .loc 1 802 0 - 1259 0000 806B ldr r0, [r0, #56] - 1260 .LVL105: - 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** - 1261 .loc 1 803 0 - 1262 @ sp needed - 1263 0002 7047 bx lr - 1264 .cfi_endproc - 1265 .LFE51: - 1267 .text - 1268 .Letext0: - 1269 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 1270 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 1271 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 1272 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 1273 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" - ARM GAS /tmp/ccXKeozk.s page 42 - - - 1274 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 1275 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h" - 1276 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccXKeozk.s page 43 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_dma.c - /tmp/ccXKeozk.s:16 .text.DMA_SetConfig:0000000000000000 $t - /tmp/ccXKeozk.s:22 .text.DMA_SetConfig:0000000000000000 DMA_SetConfig - /tmp/ccXKeozk.s:77 .text.DMA_CalcBaseAndBitshift:0000000000000000 $t - /tmp/ccXKeozk.s:83 .text.DMA_CalcBaseAndBitshift:0000000000000000 DMA_CalcBaseAndBitshift - /tmp/ccXKeozk.s:118 .text.DMA_CalcBaseAndBitshift:0000000000000020 $d - /tmp/ccXKeozk.s:124 .text.HAL_DMA_Init:0000000000000000 $t - /tmp/ccXKeozk.s:131 .text.HAL_DMA_Init:0000000000000000 HAL_DMA_Init - /tmp/ccXKeozk.s:213 .text.HAL_DMA_Init:000000000000004c $d - /tmp/ccXKeozk.s:218 .text.HAL_DMA_DeInit:0000000000000000 $t - /tmp/ccXKeozk.s:225 .text.HAL_DMA_DeInit:0000000000000000 HAL_DMA_DeInit - /tmp/ccXKeozk.s:302 .text.HAL_DMA_Start:0000000000000000 $t - /tmp/ccXKeozk.s:309 .text.HAL_DMA_Start:0000000000000000 HAL_DMA_Start - /tmp/ccXKeozk.s:391 .text.HAL_DMA_Start_IT:0000000000000000 $t - /tmp/ccXKeozk.s:398 .text.HAL_DMA_Start_IT:0000000000000000 HAL_DMA_Start_IT - /tmp/ccXKeozk.s:506 .text.HAL_DMA_Abort:0000000000000000 $t - /tmp/ccXKeozk.s:513 .text.HAL_DMA_Abort:0000000000000000 HAL_DMA_Abort - /tmp/ccXKeozk.s:579 .text.HAL_DMA_Abort_IT:0000000000000000 $t - /tmp/ccXKeozk.s:586 .text.HAL_DMA_Abort_IT:0000000000000000 HAL_DMA_Abort_IT - /tmp/ccXKeozk.s:661 .text.HAL_DMA_PollForTransfer:0000000000000000 $t - /tmp/ccXKeozk.s:668 .text.HAL_DMA_PollForTransfer:0000000000000000 HAL_DMA_PollForTransfer - /tmp/ccXKeozk.s:844 .text.HAL_DMA_IRQHandler:0000000000000000 $t - /tmp/ccXKeozk.s:851 .text.HAL_DMA_IRQHandler:0000000000000000 HAL_DMA_IRQHandler - /tmp/ccXKeozk.s:999 .text.HAL_DMA_RegisterCallback:0000000000000000 $t - /tmp/ccXKeozk.s:1006 .text.HAL_DMA_RegisterCallback:0000000000000000 HAL_DMA_RegisterCallback - /tmp/ccXKeozk.s:1100 .text.HAL_DMA_UnRegisterCallback:0000000000000000 $t - /tmp/ccXKeozk.s:1107 .text.HAL_DMA_UnRegisterCallback:0000000000000000 HAL_DMA_UnRegisterCallback - /tmp/ccXKeozk.s:1155 .rodata.HAL_DMA_UnRegisterCallback:0000000000000000 $d - /tmp/ccXKeozk.s:1211 .text.HAL_DMA_UnRegisterCallback:000000000000005c $d - /tmp/ccXKeozk.s:1216 .text.HAL_DMA_GetState:0000000000000000 $t - /tmp/ccXKeozk.s:1223 .text.HAL_DMA_GetState:0000000000000000 HAL_DMA_GetState - /tmp/ccXKeozk.s:1243 .text.HAL_DMA_GetError:0000000000000000 $t - /tmp/ccXKeozk.s:1250 .text.HAL_DMA_GetError:0000000000000000 HAL_DMA_GetError - -UNDEFINED SYMBOLS -__aeabi_uidiv -HAL_GetTick diff --git a/Blink/build/stm32f0xx_hal_dma.o b/Blink/build/stm32f0xx_hal_dma.o deleted file mode 100644 index 9636209..0000000 Binary files a/Blink/build/stm32f0xx_hal_dma.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_exti.d b/Blink/build/stm32f0xx_hal_exti.d deleted file mode 100644 index d5b56ec..0000000 --- a/Blink/build/stm32f0xx_hal_exti.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_exti.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_exti.lst b/Blink/build/stm32f0xx_hal_exti.lst deleted file mode 100644 index 40844fc..0000000 --- a/Blink/build/stm32f0xx_hal_exti.lst +++ /dev/null @@ -1,1373 +0,0 @@ -ARM GAS /tmp/cc3BRWh4.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_exti.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits - 16 .align 1 - 17 .global HAL_EXTI_SetConfigLine - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_EXTI_SetConfigLine: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @file stm32f0xx_hal_exti.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + Initialization and de-initialization functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + IO operation functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ============================================================================== - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### EXTI Peripheral features ##### - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ============================================================================== - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..] - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Each Exti line can be configured within this driver. - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Interrupt - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Event - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** occurs: - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising edge pending interrupt - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - ARM GAS /tmp/cc3BRWh4.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** be selected through multiplexer. - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### How to use this driver ##### - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ============================================================================== - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..] - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine(). - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure. - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure. - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure. - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel" - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** member from GPIO_InitTypeDef structure. - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_EXTI_GetConfigLine(). - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter. - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter. - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine(). - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter. - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback(). - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as first parameter. - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide which callback will be registered using one value from - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_CallbackIDTypeDef. - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide callback function pointer. - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending(). - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_GetPending(). - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI(). - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ****************************************************************************** - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @attention - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *

© Copyright (c) 2019 STMicroelectronics. - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * All rights reserved.

- 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This software component is licensed by ST under BSD 3-Clause license, - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * the "License"; You may not use this file except in compliance with the - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * License. You may obtain a copy of the License at: - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * opensource.org/licenses/BSD-3-Clause - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ****************************************************************************** - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/ - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #include "stm32f0xx_hal.h" - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup STM32F0xx_HAL_Driver - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ - ARM GAS /tmp/cc3BRWh4.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule: - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * of bounds [0,3] in following API : - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_SetConfigLine - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_GetConfigLine - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/ - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/ - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @} - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/ - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/ - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/ - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/ - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1 - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Configuration functions - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### Configuration functions ##### - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line. - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set. - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 26 .loc 1 144 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - ARM GAS /tmp/cc3BRWh4.s page 4 - - - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 .LVL0: - 31 0000 70B5 push {r4, r5, r6, lr} - 32 .LCFI0: - 33 .cfi_def_cfa_offset 16 - 34 .cfi_offset 4, -16 - 35 .cfi_offset 5, -12 - 36 .cfi_offset 6, -8 - 37 .cfi_offset 14, -4 - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) - 38 .loc 1 150 0 - 39 0002 0028 cmp r0, #0 - 40 0004 53D0 beq .L11 - 41 .loc 1 150 0 is_stmt 0 discriminator 1 - 42 0006 0029 cmp r1, #0 - 43 0008 53D0 beq .L12 - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line)); - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode)); - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Assign line number to handle */ - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = pExtiConfig->Line; - 44 .loc 1 160 0 is_stmt 1 - 45 000a 0B68 ldr r3, [r1] - 46 000c 0360 str r3, [r0] - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); - 47 .loc 1 163 0 - 48 000e 0C68 ldr r4, [r1] - 49 0010 1F22 movs r2, #31 - 50 0012 2240 ands r2, r4 - 51 .LVL1: - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); - 52 .loc 1 164 0 - 53 0014 0123 movs r3, #1 - 54 0016 9340 lsls r3, r3, r2 - 55 .LVL2: - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure triggers for configurable lines */ - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u) - 56 .loc 1 167 0 - 57 0018 A001 lsls r0, r4, #6 - 58 001a 13D5 bpl .L3 - 59 .LVL3: - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger)); - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - ARM GAS /tmp/cc3BRWh4.s page 5 - - - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure rising trigger */ - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u) - 60 .loc 1 173 0 - 61 001c 8868 ldr r0, [r1, #8] - 62 001e C007 lsls r0, r0, #31 - 63 0020 20D5 bpl .L4 - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR |= maskline; - 64 .loc 1 175 0 - 65 0022 254D ldr r5, .L15 - 66 0024 A868 ldr r0, [r5, #8] - 67 0026 1843 orrs r0, r3 - 68 0028 A860 str r0, [r5, #8] - 69 .L5: - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR &= ~maskline; - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure falling trigger */ - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u) - 70 .loc 1 184 0 - 71 002a 8868 ldr r0, [r1, #8] - 72 002c 8007 lsls r0, r0, #30 - 73 002e 1ED5 bpl .L6 - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR |= maskline; - 74 .loc 1 186 0 - 75 0030 214D ldr r5, .L15 - 76 0032 E868 ldr r0, [r5, #12] - 77 0034 1843 orrs r0, r3 - 78 0036 E860 str r0, [r5, #12] - 79 .L7: - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR &= ~maskline; - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */ - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) - 80 .loc 1 195 0 - 81 0038 C025 movs r5, #192 - 82 003a ED04 lsls r5, r5, #19 - 83 003c 0868 ldr r0, [r1] - 84 003e 2840 ands r0, r5 - 85 0040 A842 cmp r0, r5 - 86 0042 19D0 beq .L13 - 87 .LVL4: - 88 .L3: - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel)); - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); - ARM GAS /tmp/cc3BRWh4.s page 6 - - - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure interrupt mode : read current mode */ - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u) - 89 .loc 1 209 0 - 90 0044 4A68 ldr r2, [r1, #4] - 91 0046 D207 lsls r2, r2, #31 - 92 0048 26D5 bpl .L8 - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR |= maskline; - 93 .loc 1 211 0 - 94 004a 1B48 ldr r0, .L15 - 95 004c 0268 ldr r2, [r0] - 96 004e 1A43 orrs r2, r3 - 97 0050 0260 str r2, [r0] - 98 .L9: - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR &= ~maskline; - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure event mode : read current mode */ - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u) - 99 .loc 1 220 0 - 100 0052 4A68 ldr r2, [r1, #4] - 101 0054 9207 lsls r2, r2, #30 - 102 0056 24D4 bmi .L14 - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR |= maskline; - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR &= ~maskline; - 103 .loc 1 226 0 - 104 0058 1749 ldr r1, .L15 - 105 .LVL5: - 106 005a 4A68 ldr r2, [r1, #4] - 107 005c 9A43 bics r2, r3 - 108 005e 4A60 str r2, [r1, #4] - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; - 109 .loc 1 229 0 - 110 0060 0020 movs r0, #0 - 111 .LVL6: - 112 .L2: - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 113 .loc 1 230 0 - ARM GAS /tmp/cc3BRWh4.s page 7 - - - 114 @ sp needed - 115 0062 70BD pop {r4, r5, r6, pc} - 116 .LVL7: - 117 .L4: - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 118 .loc 1 179 0 - 119 0064 144D ldr r5, .L15 - 120 0066 A868 ldr r0, [r5, #8] - 121 0068 9843 bics r0, r3 - 122 006a A860 str r0, [r5, #8] - 123 006c DDE7 b .L5 - 124 .L6: - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 125 .loc 1 190 0 - 126 006e 124D ldr r5, .L15 - 127 0070 E868 ldr r0, [r5, #12] - 128 0072 9843 bics r0, r3 - 129 0074 E860 str r0, [r5, #12] - 130 0076 DFE7 b .L7 - 131 .L13: - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); - 132 .loc 1 200 0 - 133 0078 9208 lsrs r2, r2, #2 - 134 .LVL8: - 135 007a 104E ldr r6, .L15+4 - 136 007c 0232 adds r2, r2, #2 - 137 007e 9200 lsls r2, r2, #2 - 138 0080 9559 ldr r5, [r2, r6] - 139 .LVL9: - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); - 140 .loc 1 201 0 - 141 0082 0320 movs r0, #3 - 142 0084 0440 ands r4, r0 - 143 .LVL10: - 144 0086 A400 lsls r4, r4, #2 - 145 0088 0C30 adds r0, r0, #12 - 146 008a A040 lsls r0, r0, r4 - 147 008c 8543 bics r5, r0 - 148 .LVL11: - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; - 149 .loc 1 202 0 - 150 008e C868 ldr r0, [r1, #12] - 151 0090 A040 lsls r0, r0, r4 - 152 0092 2843 orrs r0, r5 - 153 .LVL12: - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 154 .loc 1 203 0 - 155 0094 9051 str r0, [r2, r6] - 156 0096 D5E7 b .L3 - 157 .LVL13: - 158 .L8: - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 159 .loc 1 215 0 - 160 0098 0748 ldr r0, .L15 - 161 009a 0268 ldr r2, [r0] - 162 009c 9A43 bics r2, r3 - 163 009e 0260 str r2, [r0] - ARM GAS /tmp/cc3BRWh4.s page 8 - - - 164 00a0 D7E7 b .L9 - 165 .L14: - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 166 .loc 1 222 0 - 167 00a2 0549 ldr r1, .L15 - 168 .LVL14: - 169 00a4 4A68 ldr r2, [r1, #4] - 170 00a6 1343 orrs r3, r2 - 171 .LVL15: - 172 00a8 4B60 str r3, [r1, #4] - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 173 .loc 1 229 0 - 174 00aa 0020 movs r0, #0 - 175 00ac D9E7 b .L2 - 176 .LVL16: - 177 .L11: - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 178 .loc 1 152 0 - 179 00ae 0120 movs r0, #1 - 180 .LVL17: - 181 00b0 D7E7 b .L2 - 182 .LVL18: - 183 .L12: - 184 00b2 0120 movs r0, #1 - 185 .LVL19: - 186 00b4 D5E7 b .L2 - 187 .L16: - 188 00b6 C046 .align 2 - 189 .L15: - 190 00b8 00040140 .word 1073808384 - 191 00bc 00000140 .word 1073807360 - 192 .cfi_endproc - 193 .LFE40: - 195 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits - 196 .align 1 - 197 .global HAL_EXTI_GetConfigLine - 198 .syntax unified - 199 .code 16 - 200 .thumb_func - 201 .fpu softvfp - 203 HAL_EXTI_GetConfigLine: - 204 .LFB41: - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line. - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration. - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 205 .loc 1 239 0 - 206 .cfi_startproc - 207 @ args = 0, pretend = 0, frame = 0 - 208 @ frame_needed = 0, uses_anonymous_args = 0 - 209 .LVL20: - 210 0000 30B5 push {r4, r5, lr} - ARM GAS /tmp/cc3BRWh4.s page 9 - - - 211 .LCFI1: - 212 .cfi_def_cfa_offset 12 - 213 .cfi_offset 4, -12 - 214 .cfi_offset 5, -8 - 215 .cfi_offset 14, -4 - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) - 216 .loc 1 245 0 - 217 0002 0028 cmp r0, #0 - 218 0004 46D0 beq .L27 - 219 .loc 1 245 0 is_stmt 0 discriminator 1 - 220 0006 0029 cmp r1, #0 - 221 0008 46D0 beq .L28 - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */ - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store handle line number to configuration structure */ - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Line = hexti->Line; - 222 .loc 1 254 0 is_stmt 1 - 223 000a 0068 ldr r0, [r0] - 224 .LVL21: - 225 000c 0860 str r0, [r1] - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); - 226 .loc 1 257 0 - 227 000e 1F24 movs r4, #31 - 228 0010 0440 ands r4, r0 - 229 .LVL22: - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); - 230 .loc 1 258 0 - 231 0012 0123 movs r3, #1 - 232 0014 A340 lsls r3, r3, r4 - 233 .LVL23: - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Get core mode : interrupt */ - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */ - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u) - 234 .loc 1 263 0 - 235 0016 214A ldr r2, .L30 - 236 0018 1268 ldr r2, [r2] - 237 001a 1342 tst r3, r2 - 238 001c 22D0 beq .L19 - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT; - 239 .loc 1 265 0 - 240 001e 0122 movs r2, #1 - 241 0020 4A60 str r2, [r1, #4] - ARM GAS /tmp/cc3BRWh4.s page 10 - - - 242 .L20: - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE; - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get event mode */ - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */ - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u) - 243 .loc 1 274 0 - 244 0022 1E4A ldr r2, .L30 - 245 0024 5268 ldr r2, [r2, #4] - 246 0026 1342 tst r3, r2 - 247 0028 03D0 beq .L21 - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT; - 248 .loc 1 276 0 - 249 002a 0222 movs r2, #2 - 250 002c 4D68 ldr r5, [r1, #4] - 251 002e 2A43 orrs r2, r5 - 252 0030 4A60 str r2, [r1, #4] - 253 .L21: - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */ - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u) - 254 .loc 1 280 0 - 255 0032 8201 lsls r2, r0, #6 - 256 0034 29D5 bpl .L22 - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */ - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u) - 257 .loc 1 283 0 - 258 0036 194A ldr r2, .L30 - 259 0038 9268 ldr r2, [r2, #8] - 260 003a 1342 tst r3, r2 - 261 003c 15D0 beq .L23 - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING; - 262 .loc 1 285 0 - 263 003e 0122 movs r2, #1 - 264 0040 8A60 str r2, [r1, #8] - 265 .L24: - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE; - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get falling configuration */ - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */ - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u) - 266 .loc 1 294 0 - 267 0042 164A ldr r2, .L30 - 268 0044 D268 ldr r2, [r2, #12] - 269 0046 1342 tst r3, r2 - ARM GAS /tmp/cc3BRWh4.s page 11 - - - 270 0048 03D0 beq .L25 - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING; - 271 .loc 1 296 0 - 272 004a 0223 movs r3, #2 - 273 .LVL24: - 274 004c 8A68 ldr r2, [r1, #8] - 275 004e 1343 orrs r3, r2 - 276 0050 8B60 str r3, [r1, #8] - 277 .L25: - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) - 278 .loc 1 300 0 - 279 0052 C022 movs r2, #192 - 280 0054 D204 lsls r2, r2, #19 - 281 0056 1040 ands r0, r2 - 282 0058 9042 cmp r0, r2 - 283 005a 09D0 beq .L29 - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >> - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u; - 284 .loc 1 309 0 - 285 005c 0023 movs r3, #0 - 286 005e CB60 str r3, [r1, #12] - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* No Trigger selected */ - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE; - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u; - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; - 287 .loc 1 319 0 - 288 0060 0020 movs r0, #0 - 289 0062 16E0 b .L18 - 290 .LVL25: - 291 .L19: - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 292 .loc 1 269 0 - 293 0064 0022 movs r2, #0 - 294 0066 4A60 str r2, [r1, #4] - 295 0068 DBE7 b .L20 - 296 .L23: - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 297 .loc 1 289 0 - 298 006a 0022 movs r2, #0 - 299 006c 8A60 str r2, [r1, #8] - ARM GAS /tmp/cc3BRWh4.s page 12 - - - 300 006e E8E7 b .L24 - 301 .LVL26: - 302 .L29: - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >> - 303 .loc 1 304 0 - 304 0070 A308 lsrs r3, r4, #2 - 305 0072 0233 adds r3, r3, #2 - 306 0074 9B00 lsls r3, r3, #2 - 307 0076 0A4A ldr r2, .L30+4 - 308 0078 9B58 ldr r3, [r3, r2] - 309 .LVL27: - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 310 .loc 1 305 0 - 311 007a 0322 movs r2, #3 - 312 007c A243 bics r2, r4 - 313 007e 9200 lsls r2, r2, #2 - 314 0080 9340 lsls r3, r3, r2 - 315 .LVL28: - 316 0082 1B0E lsrs r3, r3, #24 - 317 0084 CB60 str r3, [r1, #12] - 318 .loc 1 319 0 - 319 0086 0020 movs r0, #0 - 320 0088 03E0 b .L18 - 321 .LVL29: - 322 .L22: - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u; - 323 .loc 1 315 0 - 324 008a 0023 movs r3, #0 - 325 .LVL30: - 326 008c 8B60 str r3, [r1, #8] - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 327 .loc 1 316 0 - 328 008e CB60 str r3, [r1, #12] - 329 .loc 1 319 0 - 330 0090 0020 movs r0, #0 - 331 .LVL31: - 332 .L18: - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 333 .loc 1 320 0 - 334 @ sp needed - 335 0092 30BD pop {r4, r5, pc} - 336 .LVL32: - 337 .L27: - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 338 .loc 1 247 0 - 339 0094 0120 movs r0, #1 - 340 .LVL33: - 341 0096 FCE7 b .L18 - 342 .LVL34: - 343 .L28: - 344 0098 0120 movs r0, #1 - 345 .LVL35: - 346 009a FAE7 b .L18 - 347 .L31: - 348 .align 2 - 349 .L30: - 350 009c 00040140 .word 1073808384 - ARM GAS /tmp/cc3BRWh4.s page 13 - - - 351 00a0 00000140 .word 1073807360 - 352 .cfi_endproc - 353 .LFE41: - 355 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits - 356 .align 1 - 357 .global HAL_EXTI_ClearConfigLine - 358 .syntax unified - 359 .code 16 - 360 .thumb_func - 361 .fpu softvfp - 363 HAL_EXTI_ClearConfigLine: - 364 .LFB42: - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line. - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti) - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 365 .loc 1 328 0 - 366 .cfi_startproc - 367 @ args = 0, pretend = 0, frame = 0 - 368 @ frame_needed = 0, uses_anonymous_args = 0 - 369 .LVL36: - 370 0000 30B5 push {r4, r5, lr} - 371 .LCFI2: - 372 .cfi_def_cfa_offset 12 - 373 .cfi_offset 4, -12 - 374 .cfi_offset 5, -8 - 375 .cfi_offset 14, -4 - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL) - 376 .loc 1 334 0 - 377 0002 0028 cmp r0, #0 - 378 0004 2CD0 beq .L34 - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */ - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* compute line mask */ - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); - 379 .loc 1 343 0 - 380 0006 0568 ldr r5, [r0] - 381 0008 1F22 movs r2, #31 - 382 000a 2A40 ands r2, r5 - 383 .LVL37: - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); - 384 .loc 1 344 0 - 385 000c 0123 movs r3, #1 - ARM GAS /tmp/cc3BRWh4.s page 14 - - - 386 000e 9340 lsls r3, r3, r2 - 387 .LVL38: - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Clear interrupt mode */ - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline); - 388 .loc 1 347 0 - 389 0010 1549 ldr r1, .L38 - 390 0012 0C68 ldr r4, [r1] - 391 0014 DB43 mvns r3, r3 - 392 .LVL39: - 393 0016 1C40 ands r4, r3 - 394 0018 0C60 str r4, [r1] - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Clear event mode */ - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline); - 395 .loc 1 350 0 - 396 001a 4C68 ldr r4, [r1, #4] - 397 001c 1C40 ands r4, r3 - 398 001e 4C60 str r4, [r1, #4] - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */ - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u) - 399 .loc 1 353 0 - 400 0020 0168 ldr r1, [r0] - 401 0022 8901 lsls r1, r1, #6 - 402 0024 1ED5 bpl .L35 - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline); - 403 .loc 1 355 0 - 404 0026 1049 ldr r1, .L38 - 405 0028 8C68 ldr r4, [r1, #8] - 406 002a 1C40 ands r4, r3 - 407 002c 8C60 str r4, [r1, #8] - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline); - 408 .loc 1 356 0 - 409 002e CC68 ldr r4, [r1, #12] - 410 0030 2340 ands r3, r4 - 411 .LVL40: - 412 0032 CB60 str r3, [r1, #12] - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO) - 413 .loc 1 359 0 - 414 0034 0368 ldr r3, [r0] - 415 0036 C021 movs r1, #192 - 416 0038 C904 lsls r1, r1, #19 - 417 003a 0B40 ands r3, r1 - 418 003c 8B42 cmp r3, r1 - 419 003e 01D0 beq .L37 - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - ARM GAS /tmp/cc3BRWh4.s page 15 - - - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; - 420 .loc 1 369 0 - 421 0040 0020 movs r0, #0 - 422 .LVL41: - 423 0042 10E0 b .L33 - 424 .LVL42: - 425 .L37: - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); - 426 .loc 1 363 0 - 427 0044 9208 lsrs r2, r2, #2 - 428 .LVL43: - 429 0046 0948 ldr r0, .L38+4 - 430 .LVL44: - 431 0048 0232 adds r2, r2, #2 - 432 004a 9200 lsls r2, r2, #2 - 433 004c 1158 ldr r1, [r2, r0] - 434 .LVL45: - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; - 435 .loc 1 364 0 - 436 004e 0323 movs r3, #3 - 437 0050 1D40 ands r5, r3 - 438 .LVL46: - 439 0052 AD00 lsls r5, r5, #2 - 440 0054 0C33 adds r3, r3, #12 - 441 0056 AB40 lsls r3, r3, r5 - 442 0058 9943 bics r1, r3 - 443 .LVL47: - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 444 .loc 1 365 0 - 445 005a 1150 str r1, [r2, r0] - 446 .loc 1 369 0 - 447 005c 0020 movs r0, #0 - 448 005e 02E0 b .L33 - 449 .LVL48: - 450 .L34: - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 451 .loc 1 336 0 - 452 0060 0120 movs r0, #1 - 453 .LVL49: - 454 0062 00E0 b .L33 - 455 .LVL50: - 456 .L35: - 457 .loc 1 369 0 - 458 0064 0020 movs r0, #0 - 459 .LVL51: - 460 .L33: - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 461 .loc 1 370 0 - 462 @ sp needed - 463 0066 30BD pop {r4, r5, pc} - 464 .L39: - 465 .align 2 - 466 .L38: - 467 0068 00040140 .word 1073808384 - 468 006c 00000140 .word 1073807360 - 469 .cfi_endproc - ARM GAS /tmp/cc3BRWh4.s page 16 - - - 470 .LFE42: - 472 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits - 473 .align 1 - 474 .global HAL_EXTI_RegisterCallback - 475 .syntax unified - 476 .code 16 - 477 .thumb_func - 478 .fpu softvfp - 480 HAL_EXTI_RegisterCallback: - 481 .LFB43: - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line. - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param CallbackID User callback identifier. - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values. - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback. - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 482 .loc 1 381 0 - 483 .cfi_startproc - 484 @ args = 0, pretend = 0, frame = 0 - 485 @ frame_needed = 0, uses_anonymous_args = 0 - 486 @ link register save eliminated. - 487 .LVL52: - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK; - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** switch (CallbackID) - 488 .loc 1 384 0 - 489 0000 0029 cmp r1, #0 - 490 0002 02D1 bne .L44 - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID: - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn; - 491 .loc 1 387 0 - 492 0004 4260 str r2, [r0, #4] - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK; - 493 .loc 1 382 0 - 494 0006 0020 movs r0, #0 - 495 .LVL53: - 496 .L41: - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break; - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** default: - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** status = HAL_ERROR; - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break; - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return status; - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 497 .loc 1 396 0 - 498 @ sp needed - 499 0008 7047 bx lr - 500 .LVL54: - 501 .L44: - ARM GAS /tmp/cc3BRWh4.s page 17 - - - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break; - 502 .loc 1 391 0 - 503 000a 0120 movs r0, #1 - 504 .LVL55: - 505 000c FCE7 b .L41 - 506 .cfi_endproc - 507 .LFE43: - 509 .section .text.HAL_EXTI_GetHandle,"ax",%progbits - 510 .align 1 - 511 .global HAL_EXTI_GetHandle - 512 .syntax unified - 513 .code 16 - 514 .thumb_func - 515 .fpu softvfp - 517 HAL_EXTI_GetHandle: - 518 .LFB44: - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Store line number as handle private field. - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param ExtiLine Exti line number. - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB. - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine) - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 519 .loc 1 406 0 - 520 .cfi_startproc - 521 @ args = 0, pretend = 0, frame = 0 - 522 @ frame_needed = 0, uses_anonymous_args = 0 - 523 @ link register save eliminated. - 524 .LVL56: - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameters */ - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine)); - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL) - 525 .loc 1 411 0 - 526 0000 0028 cmp r0, #0 - 527 0002 02D0 beq .L47 - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store line number as handle private field */ - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = ExtiLine; - 528 .loc 1 418 0 - 529 0004 0160 str r1, [r0] - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; - 530 .loc 1 420 0 - 531 0006 0020 movs r0, #0 - 532 .LVL57: - 533 .L46: - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - ARM GAS /tmp/cc3BRWh4.s page 18 - - - 534 .loc 1 422 0 - 535 @ sp needed - 536 0008 7047 bx lr - 537 .LVL58: - 538 .L47: - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 539 .loc 1 413 0 - 540 000a 0120 movs r0, #1 - 541 .LVL59: - 542 000c FCE7 b .L46 - 543 .cfi_endproc - 544 .LFE44: - 546 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits - 547 .align 1 - 548 .global HAL_EXTI_IRQHandler - 549 .syntax unified - 550 .code 16 - 551 .thumb_func - 552 .fpu softvfp - 554 HAL_EXTI_IRQHandler: - 555 .LFB45: - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @} - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2 - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI IO functions. - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### IO operation functions ##### - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Handle EXTI interrupt request. - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval none. - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti) - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 556 .loc 1 446 0 - 557 .cfi_startproc - 558 @ args = 0, pretend = 0, frame = 0 - 559 @ frame_needed = 0, uses_anonymous_args = 0 - 560 .LVL60: - 561 0000 10B5 push {r4, lr} - 562 .LCFI3: - 563 .cfi_def_cfa_offset 8 - 564 .cfi_offset 4, -8 - 565 .cfi_offset 14, -4 - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; - ARM GAS /tmp/cc3BRWh4.s page 19 - - - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); - 566 .loc 1 451 0 - 567 0002 1F22 movs r2, #31 - 568 0004 0368 ldr r3, [r0] - 569 0006 1A40 ands r2, r3 - 570 0008 0123 movs r3, #1 - 571 000a 9340 lsls r3, r3, r2 - 572 .LVL61: - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get pending bit */ - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = (EXTI->PR & maskline); - 573 .loc 1 454 0 - 574 000c 054A ldr r2, .L50 - 575 000e 5269 ldr r2, [r2, #20] - 576 .LVL62: - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (regval != 0x00u) - 577 .loc 1 455 0 - 578 0010 1342 tst r3, r2 - 579 0012 05D0 beq .L48 - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear pending bit */ - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline; - 580 .loc 1 458 0 - 581 0014 034A ldr r2, .L50 - 582 .LVL63: - 583 0016 5361 str r3, [r2, #20] - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Call callback */ - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti->PendingCallback != NULL) - 584 .loc 1 461 0 - 585 0018 4368 ldr r3, [r0, #4] - 586 .LVL64: - 587 001a 002B cmp r3, #0 - 588 001c 00D0 beq .L48 - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback(); - 589 .loc 1 463 0 - 590 001e 9847 blx r3 - 591 .LVL65: - 592 .L48: - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 593 .loc 1 466 0 - 594 @ sp needed - 595 0020 10BD pop {r4, pc} - 596 .L51: - 597 0022 C046 .align 2 - 598 .L50: - 599 0024 00040140 .word 1073808384 - 600 .cfi_endproc - 601 .LFE45: - 603 .section .text.HAL_EXTI_GetPending,"ax",%progbits - 604 .align 1 - 605 .global HAL_EXTI_GetPending - ARM GAS /tmp/cc3BRWh4.s page 20 - - - 606 .syntax unified - 607 .code 16 - 608 .thumb_func - 609 .fpu softvfp - 611 HAL_EXTI_GetPending: - 612 .LFB46: - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line. - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked. - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values: - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series. - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0. - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 613 .loc 1 478 0 - 614 .cfi_startproc - 615 @ args = 0, pretend = 0, frame = 0 - 616 @ frame_needed = 0, uses_anonymous_args = 0 - 617 @ link register save eliminated. - 618 .LVL66: - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); - 619 .loc 1 489 0 - 620 0000 0268 ldr r2, [r0] - 621 0002 1F23 movs r3, #31 - 622 0004 1340 ands r3, r2 - 623 .LVL67: - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); - 624 .loc 1 490 0 - 625 0006 0120 movs r0, #1 - 626 .LVL68: - 627 0008 9840 lsls r0, r0, r3 - 628 .LVL69: - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* return 1 if bit is set else 0 */ - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos); - 629 .loc 1 493 0 - 630 000a 024A ldr r2, .L53 - 631 000c 5269 ldr r2, [r2, #20] - 632 000e 1040 ands r0, r2 - 633 .LVL70: - 634 0010 D840 lsrs r0, r0, r3 - 635 .LVL71: - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return regval; - ARM GAS /tmp/cc3BRWh4.s page 21 - - - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 636 .loc 1 495 0 - 637 @ sp needed - 638 0012 7047 bx lr - 639 .L54: - 640 .align 2 - 641 .L53: - 642 0014 00040140 .word 1073808384 - 643 .cfi_endproc - 644 .LFE46: - 646 .section .text.HAL_EXTI_ClearPending,"ax",%progbits - 647 .align 1 - 648 .global HAL_EXTI_ClearPending - 649 .syntax unified - 650 .code 16 - 651 .thumb_func - 652 .fpu softvfp - 654 HAL_EXTI_ClearPending: - 655 .LFB47: - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line. - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear. - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values: - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series. - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None. - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 656 .loc 1 507 0 - 657 .cfi_startproc - 658 @ args = 0, pretend = 0, frame = 0 - 659 @ frame_needed = 0, uses_anonymous_args = 0 - 660 @ link register save eliminated. - 661 .LVL72: - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); - 662 .loc 1 516 0 - 663 0000 0368 ldr r3, [r0] - 664 0002 1F22 movs r2, #31 - 665 0004 1A40 ands r2, r3 - 666 0006 0123 movs r3, #1 - 667 0008 9340 lsls r3, r3, r2 - 668 .LVL73: - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear Pending bit */ - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline; - 669 .loc 1 519 0 - ARM GAS /tmp/cc3BRWh4.s page 22 - - - 670 000a 014A ldr r2, .L56 - 671 000c 5361 str r3, [r2, #20] - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - 672 .loc 1 520 0 - 673 @ sp needed - 674 000e 7047 bx lr - 675 .L57: - 676 .align 2 - 677 .L56: - 678 0010 00040140 .word 1073808384 - 679 .cfi_endproc - 680 .LFE47: - 682 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits - 683 .align 1 - 684 .global HAL_EXTI_GenerateSWI - 685 .syntax unified - 686 .code 16 - 687 .thumb_func - 688 .fpu softvfp - 690 HAL_EXTI_GenerateSWI: - 691 .LFB48: - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line. - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None. - 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti) - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { - 692 .loc 1 528 0 - 693 .cfi_startproc - 694 @ args = 0, pretend = 0, frame = 0 - 695 @ frame_needed = 0, uses_anonymous_args = 0 - 696 @ link register save eliminated. - 697 .LVL74: - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); - 698 .loc 1 536 0 - 699 0000 0368 ldr r3, [r0] - 700 0002 1F22 movs r2, #31 - 701 0004 1A40 ands r2, r3 - 702 0006 0123 movs r3, #1 - 703 0008 9340 lsls r3, r3, r2 - 704 .LVL75: - 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Generate Software interrupt */ - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->SWIER = maskline; - 705 .loc 1 539 0 - 706 000a 014A ldr r2, .L59 - 707 000c 1361 str r3, [r2, #16] - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } - ARM GAS /tmp/cc3BRWh4.s page 23 - - - 708 .loc 1 540 0 - 709 @ sp needed - 710 000e 7047 bx lr - 711 .L60: - 712 .align 2 - 713 .L59: - 714 0010 00040140 .word 1073808384 - 715 .cfi_endproc - 716 .LFE48: - 718 .text - 719 .Letext0: - 720 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 721 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 722 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 723 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 724 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 725 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h" - 726 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/cc3BRWh4.s page 24 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_exti.c - /tmp/cc3BRWh4.s:16 .text.HAL_EXTI_SetConfigLine:0000000000000000 $t - /tmp/cc3BRWh4.s:23 .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine - /tmp/cc3BRWh4.s:190 .text.HAL_EXTI_SetConfigLine:00000000000000b8 $d - /tmp/cc3BRWh4.s:196 .text.HAL_EXTI_GetConfigLine:0000000000000000 $t - /tmp/cc3BRWh4.s:203 .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine - /tmp/cc3BRWh4.s:350 .text.HAL_EXTI_GetConfigLine:000000000000009c $d - /tmp/cc3BRWh4.s:356 .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t - /tmp/cc3BRWh4.s:363 .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine - /tmp/cc3BRWh4.s:467 .text.HAL_EXTI_ClearConfigLine:0000000000000068 $d - /tmp/cc3BRWh4.s:473 .text.HAL_EXTI_RegisterCallback:0000000000000000 $t - /tmp/cc3BRWh4.s:480 .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback - /tmp/cc3BRWh4.s:510 .text.HAL_EXTI_GetHandle:0000000000000000 $t - /tmp/cc3BRWh4.s:517 .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle - /tmp/cc3BRWh4.s:547 .text.HAL_EXTI_IRQHandler:0000000000000000 $t - /tmp/cc3BRWh4.s:554 .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler - /tmp/cc3BRWh4.s:599 .text.HAL_EXTI_IRQHandler:0000000000000024 $d - /tmp/cc3BRWh4.s:604 .text.HAL_EXTI_GetPending:0000000000000000 $t - /tmp/cc3BRWh4.s:611 .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending - /tmp/cc3BRWh4.s:642 .text.HAL_EXTI_GetPending:0000000000000014 $d - /tmp/cc3BRWh4.s:647 .text.HAL_EXTI_ClearPending:0000000000000000 $t - /tmp/cc3BRWh4.s:654 .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending - /tmp/cc3BRWh4.s:678 .text.HAL_EXTI_ClearPending:0000000000000010 $d - /tmp/cc3BRWh4.s:683 .text.HAL_EXTI_GenerateSWI:0000000000000000 $t - /tmp/cc3BRWh4.s:690 .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI - /tmp/cc3BRWh4.s:714 .text.HAL_EXTI_GenerateSWI:0000000000000010 $d - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_exti.o b/Blink/build/stm32f0xx_hal_exti.o deleted file mode 100644 index aa7c7d7..0000000 Binary files a/Blink/build/stm32f0xx_hal_exti.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_flash.d b/Blink/build/stm32f0xx_hal_flash.d deleted file mode 100644 index d07e226..0000000 --- a/Blink/build/stm32f0xx_hal_flash.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_flash.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_flash.lst b/Blink/build/stm32f0xx_hal_flash.lst deleted file mode 100644 index 00c7de7..0000000 --- a/Blink/build/stm32f0xx_hal_flash.lst +++ /dev/null @@ -1,1966 +0,0 @@ -ARM GAS /tmp/cc5jrn7g.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_flash.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.FLASH_Program_HalfWord,"ax",%progbits - 16 .align 1 - 17 .syntax unified - 18 .code 16 - 19 .thumb_func - 20 .fpu softvfp - 22 FLASH_Program_HalfWord: - 23 .LFB51: - 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @file stm32f0xx_hal_flash.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * functionalities of the internal FLASH memory: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * + Program operations functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * + Memory Control functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * + Peripheral State functions - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ============================================================================== - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### FLASH peripheral features ##### - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ============================================================================== - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] The Flash memory interface manages CPU AHB I-Code and D-Code accesses - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** to the Flash memory. It implements the erase and program Flash memory operations - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** and the read and write protection mechanisms. - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] The Flash memory interface accelerates code execution with a system of instruction - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** prefetch. - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] The FLASH main features are: - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Flash memory read operations - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Flash memory program/erase operations - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Read / write protections - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Prefetch on I-Code - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Option Bytes programming - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### How to use this driver ##### - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ============================================================================== - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** This driver provides functions and macros to configure and program the FLASH - ARM GAS /tmp/cc5jrn7g.s page 2 - - - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** memory of all STM32F0xx devices. - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (#) FLASH Memory I/O Programming functions: this group includes all needed - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** functions to erase and program the main memory: - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Lock and Unlock the FLASH interface - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Erase function: Erase page, erase all pages - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Program functions: half word, word and doubleword - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (#) FLASH Option Bytes Programming functions: this group includes all needed - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** functions to manage the Option Bytes: - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Lock and Unlock the Option Bytes - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Set/Reset the write protection - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Set the Read protection Level - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Program the user Option Bytes - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Launch the Option Bytes loader - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Erase Option Bytes - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Program the data Option Bytes - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Get the Write protection. - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Get the user option bytes. - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (#) Interrupts and flags management functions : this group - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** includes all needed functions to: - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Handle FLASH interrupts - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Wait for last FLASH operation according to its status - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Get error flag status - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] In addition to these function, this driver includes a set of macros allowing - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** to handle the following operations: - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Set/Get the latency - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Enable/Disable the prefetch buffer - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Enable/Disable the FLASH interrupts - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Monitor the FLASH flags status - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ****************************************************************************** - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @attention - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *

© Copyright (c) 2016 STMicroelectronics. - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * All rights reserved.

- 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This software component is licensed by ST under BSD 3-Clause license, - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * the "License"; You may not use this file except in compliance with the - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * License. You may obtain a copy of the License at: - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * opensource.org/licenses/BSD-3-Clause - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ****************************************************************************** - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Includes ------------------------------------------------------------------*/ - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** #include "stm32f0xx_hal.h" - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @addtogroup STM32F0xx_HAL_Driver - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** #ifdef HAL_FLASH_MODULE_ENABLED - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - ARM GAS /tmp/cc5jrn7g.s page 3 - - - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH FLASH - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH HAL module driver - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private typedef -----------------------------------------------------------*/ - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private define ------------------------------------------------------------*/ - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Constants FLASH Private Constants - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private macro ---------------------------- ---------------------------------*/ - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Macros FLASH Private Macros - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private variables ---------------------------------------------------------*/ - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Variables FLASH Private Variables - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Variables used for Erase pages under interruption*/ - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_ProcessTypeDef pFlash; - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private function prototypes -----------------------------------------------*/ - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Functions FLASH Private Functions - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data); - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_SetErrorCode(void); - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** extern void FLASH_PageErase(uint32_t PageAddress); - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Exported functions ---------------------------------------------------------*/ - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions FLASH Exported Functions - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Programming operation functions - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - ARM GAS /tmp/cc5jrn7g.s page 4 - - - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note The function HAL_FLASH_Unlock() should be called before to unlock the FLASH interface - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously, - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * the erase operation is performed before the program one. - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note FLASH should be previously erased before new programming (only exception to this - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * is when 0x0000 is programmed) - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address. - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Address Specifie the address to be programmed. - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Data Specifie the data to be programmed - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data) - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR; - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint8_t index = 0U; - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint8_t nbiterations = 0U; - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Locked */ - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_LOCK(&pFlash); - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check the parameters */ - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram)); - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for last operation to be completed */ - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE); - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(status == HAL_OK) - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD) - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */ - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** nbiterations = 1U; - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD) - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program word (32-bit = 2*16-bit) at a specified address. */ - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** nbiterations = 2U; - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program double word (64-bit = 4*16-bit) at a specified address. */ - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** nbiterations = 4U; - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** for (index = 0U; index < nbiterations; index++) - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_Program_HalfWord((Address + (2U*index)), (uint16_t)(Data >> (16U*index))); - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for last operation to be completed */ - ARM GAS /tmp/cc5jrn7g.s page 5 - - - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE); - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* If the program operation is completed, disable the PG Bit */ - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG); - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* In case of error, stop programming procedure */ - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (status != HAL_OK) - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** break; - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Unlocked */ - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_UNLOCK(&pFlash); - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return status; - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address with interrupt enabled. - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note The function HAL_FLASH_Unlock() should be called before to unlock the FLASH interface - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously, - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * the erase operation is performed before the program one. - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address. - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Address Specifie the address to be programmed. - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Data Specifie the data to be programmed - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t Data) - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Locked */ - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_LOCK(&pFlash); - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check the parameters */ - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram)); - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Enable End of FLASH Operation and Error source interrupts */ - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR); - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = Address; - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Data = Data; - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD) - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMHALFWORD; - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */ - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining = 1U; - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD) - ARM GAS /tmp/cc5jrn7g.s page 6 - - - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMWORD; - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */ - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining = 2U; - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMDOUBLEWORD; - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */ - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining = 4U; - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */ - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_Program_HalfWord(Address, (uint16_t)Data); - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return status; - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief This function handles FLASH interrupt request. - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval None - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** void HAL_FLASH_IRQHandler(void) - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t addresstmp = 0U; - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check FLASH operation error flags */ - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) ||__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Return the faulty address */ - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address; - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset address */ - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU; - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Save the Error code */ - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_SetErrorCode(); - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH error interrupt user callback */ - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_OperationErrorCallback(addresstmp); - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Stop the procedure ongoing */ - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check FLASH End of Operation flag */ - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP)) - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */ - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process can continue only if no error detected */ - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.ProcedureOnGoing != FLASH_PROC_NONE) - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_PAGEERASE) - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Nb of pages to erased can be decreased */ - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining--; - ARM GAS /tmp/cc5jrn7g.s page 7 - - - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check if there are still pages to erase */ - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.DataRemaining != 0U) - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address; - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Indicate user which sector has been erased */ - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp); - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Increment sector number*/ - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address + FLASH_PAGE_SIZE; - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = addresstmp; - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* If the erase operation is completed, disable the PER Bit */ - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER); - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_PageErase(addresstmp); - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* No more pages to Erase, user callback can be called. */ - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset Sector and stop Erase pages procedure */ - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = addresstmp = 0xFFFFFFFFU; - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp); - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE) - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Operation is completed, disable the MER Bit */ - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER); - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* MassErase ended. Return the selected bank */ - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(0); - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Stop Mass Erase procedure*/ - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Nb of 16-bit data to program can be decreased */ - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining--; - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check if there are still 16-bit data to program */ - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.DataRemaining != 0U) - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Increment address to 16-bit */ - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address += 2; - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address; - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Shift to have next 16-bit data */ - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Data = (pFlash.Data >> 16U); - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Operation is completed, disable the PG Bit */ - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG); - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - ARM GAS /tmp/cc5jrn7g.s page 8 - - - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Program halfword (16-bit) at a specified address.*/ - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_Program_HalfWord(addresstmp, (uint16_t)pFlash.Data); - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program ended. Return the selected address */ - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMHALFWORD) - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address); - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMWORD) - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 2U); - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 6U); - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset Address and stop Program procedure */ - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU; - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE) - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Operation is completed, disable the PG, PER and MER Bits */ - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_PG | FLASH_CR_PER | FLASH_CR_MER)); - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Disable End of FLASH Operation and Error source interrupts */ - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR); - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Unlocked */ - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_UNLOCK(&pFlash); - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH end of operation interrupt callback - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Mass Erase: No return value expected - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Pages Erase: Address of the page which has been erased - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * (if 0xFFFFFFFF, it means that all the selected pages have been erased) - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Program: Address which was selected for data program - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval none - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue) - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** UNUSED(ReturnValue); - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed, - ARM GAS /tmp/cc5jrn7g.s page 9 - - - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** the HAL_FLASH_EndOfOperationCallback could be implemented in the user file - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH operation error interrupt callback - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Mass Erase: No return value expected - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Pages Erase: Address of the page which returned an error - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Program: Address which was selected for data program - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval none - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue) - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** UNUSED(ReturnValue); - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed, - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** the HAL_FLASH_OperationErrorCallback could be implemented in the user file - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief management functions - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** =============================================================================== - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### Peripheral Control functions ##### - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** =============================================================================== - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** This subsection provides a set of functions allowing to control the FLASH - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** memory operations. - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Unlock the FLASH control register access - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Unlock(void) - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Authorize the FLASH Registers access */ - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY1); - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2); - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Verify Flash is unlocked */ - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) - ARM GAS /tmp/cc5jrn7g.s page 10 - - - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** status = HAL_ERROR; - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return status; - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Locks the FLASH control register access - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Lock(void) - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */ - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_LOCK); - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK; - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Unlock the FLASH Option Control Registers access. - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void) - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE)) - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Authorizes the Option Byte register programming */ - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY1); - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2); - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_ERROR; - 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK; - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Lock the FLASH Option Control Registers access. - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Lock(void) - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */ - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTWRE); - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK; - 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Launch the option byte loading. - 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note This function will reset automatically the MCU. - 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status - 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - ARM GAS /tmp/cc5jrn7g.s page 11 - - - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Launch(void) - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the OBL_Launch bit to launch the option byte loading */ - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_OBL_LAUNCH); - 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for last operation to be completed */ - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return(FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE)); - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group3 Peripheral errors functions - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Peripheral errors functions - 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim - 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** =============================================================================== - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### Peripheral Errors functions ##### - 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** =============================================================================== - 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** This subsection permit to get in run-time errors of the FLASH peripheral. - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Get the specific FLASH error flag. - 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval FLASH_ErrorCode The returned value can be: - 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @ref FLASH_Error_Codes - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t HAL_FLASH_GetError(void) - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return pFlash.ErrorCode; - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @} - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @addtogroup FLASH_Private_Functions - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{ - 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Program a half-word (16-bit) at a specified address. - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Address specify the address to be programmed. - 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Data specify the data to be programmed. - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval None - 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data) - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - ARM GAS /tmp/cc5jrn7g.s page 12 - - - 25 .loc 1 604 0 - 26 .cfi_startproc - 27 @ args = 0, pretend = 0, frame = 0 - 28 @ frame_needed = 0, uses_anonymous_args = 0 - 29 .LVL0: - 30 0000 10B5 push {r4, lr} - 31 .LCFI0: - 32 .cfi_def_cfa_offset 8 - 33 .cfi_offset 4, -8 - 34 .cfi_offset 14, -4 - 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clean the error context */ - 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 35 .loc 1 606 0 - 36 0002 054B ldr r3, .L2 - 37 0004 0022 movs r2, #0 - 38 0006 DA61 str r2, [r3, #28] - 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Proceed to program the new data */ - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_PG); - 39 .loc 1 609 0 - 40 0008 044A ldr r2, .L2+4 - 41 000a 1369 ldr r3, [r2, #16] - 42 000c 0124 movs r4, #1 - 43 000e 2343 orrs r3, r4 - 44 0010 1361 str r3, [r2, #16] - 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Write data in the address */ - 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *(__IO uint16_t*)Address = Data; - 45 .loc 1 612 0 - 46 0012 0180 strh r1, [r0] - 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 47 .loc 1 613 0 - 48 @ sp needed - 49 0014 10BD pop {r4, pc} - 50 .L3: - 51 0016 C046 .align 2 - 52 .L2: - 53 0018 00000000 .word pFlash - 54 001c 00200240 .word 1073881088 - 55 .cfi_endproc - 56 .LFE51: - 58 .section .text.FLASH_SetErrorCode,"ax",%progbits - 59 .align 1 - 60 .syntax unified - 61 .code 16 - 62 .thumb_func - 63 .fpu softvfp - 65 FLASH_SetErrorCode: - 66 .LFB53: - 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Wait for a FLASH operation to complete. - 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Timeout maximum flash operation timeout - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status - 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout) - 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - ARM GAS /tmp/cc5jrn7g.s page 13 - - - 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. - 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** Even if the FLASH operation fails, the BUSY flag will be reset and an error - 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** flag will be set */ - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t tickstart = HAL_GetTick(); - 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY)) - 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (Timeout != HAL_MAX_DELAY) - 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout)) - 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_TIMEOUT; - 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check FLASH End of Operation flag */ - 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP)) - 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */ - 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); - 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) || - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) - 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Save the error code*/ - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_SetErrorCode(); - 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_ERROR; - 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* There is no error flag set */ - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK; - 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** - 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Set the specific FLASH error flag. - 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval None - 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */ - 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_SetErrorCode(void) - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 67 .loc 1 664 0 - 68 .cfi_startproc - 69 @ args = 0, pretend = 0, frame = 0 - 70 @ frame_needed = 0, uses_anonymous_args = 0 - 71 @ link register save eliminated. - 72 .LVL1: - 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t flags = 0U; - 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR)) - 73 .loc 1 667 0 - 74 0000 0C4B ldr r3, .L8 - 75 0002 DB68 ldr r3, [r3, #12] - 76 0004 DB06 lsls r3, r3, #27 - 77 0006 13D5 bpl .L7 - ARM GAS /tmp/cc5jrn7g.s page 14 - - - 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP; - 78 .loc 1 669 0 - 79 0008 0B4A ldr r2, .L8+4 - 80 000a D369 ldr r3, [r2, #28] - 81 000c 0221 movs r1, #2 - 82 000e 0B43 orrs r3, r1 - 83 0010 D361 str r3, [r2, #28] - 84 .LVL2: - 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** flags |= FLASH_FLAG_WRPERR; - 85 .loc 1 670 0 - 86 0012 1023 movs r3, #16 - 87 .LVL3: - 88 .L5: - 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) - 89 .loc 1 672 0 - 90 0014 074A ldr r2, .L8 - 91 0016 D268 ldr r2, [r2, #12] - 92 0018 5207 lsls r2, r2, #29 - 93 001a 06D5 bpl .L6 - 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_PROG; - 94 .loc 1 674 0 - 95 001c 0649 ldr r1, .L8+4 - 96 001e CA69 ldr r2, [r1, #28] - 97 0020 0120 movs r0, #1 - 98 0022 0243 orrs r2, r0 - 99 0024 CA61 str r2, [r1, #28] - 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** flags |= FLASH_FLAG_PGERR; - 100 .loc 1 675 0 - 101 0026 0422 movs r2, #4 - 102 0028 1343 orrs r3, r2 - 103 .LVL4: - 104 .L6: - 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear FLASH error pending bits */ - 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(flags); - 105 .loc 1 678 0 - 106 002a 024A ldr r2, .L8 - 107 002c D360 str r3, [r2, #12] - 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 108 .loc 1 679 0 - 109 @ sp needed - 110 002e 7047 bx lr - 111 .LVL5: - 112 .L7: - 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 113 .loc 1 665 0 - 114 0030 0023 movs r3, #0 - 115 0032 EFE7 b .L5 - 116 .L9: - 117 .align 2 - 118 .L8: - 119 0034 00200240 .word 1073881088 - 120 0038 00000000 .word pFlash - 121 .cfi_endproc - ARM GAS /tmp/cc5jrn7g.s page 15 - - - 122 .LFE53: - 124 .section .text.HAL_FLASH_Program_IT,"ax",%progbits - 125 .align 1 - 126 .global HAL_FLASH_Program_IT - 127 .syntax unified - 128 .code 16 - 129 .thumb_func - 130 .fpu softvfp - 132 HAL_FLASH_Program_IT: - 133 .LFB41: - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; - 134 .loc 1 240 0 - 135 .cfi_startproc - 136 @ args = 0, pretend = 0, frame = 0 - 137 @ frame_needed = 0, uses_anonymous_args = 0 - 138 .LVL6: - 139 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 140 .LCFI1: - 141 .cfi_def_cfa_offset 24 - 142 .cfi_offset 3, -24 - 143 .cfi_offset 4, -20 - 144 .cfi_offset 5, -16 - 145 .cfi_offset 6, -12 - 146 .cfi_offset 7, -8 - 147 .cfi_offset 14, -4 - 148 0002 0C00 movs r4, r1 - 149 .LVL7: - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 150 .loc 1 244 0 - 151 0004 1549 ldr r1, .L18 - 152 .LVL8: - 153 0006 097E ldrb r1, [r1, #24] - 154 0008 0129 cmp r1, #1 - 155 000a 25D0 beq .L15 - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 156 .loc 1 244 0 is_stmt 0 discriminator 2 - 157 000c 1349 ldr r1, .L18 - 158 000e 0125 movs r5, #1 - 159 0010 0D76 strb r5, [r1, #24] - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 160 .loc 1 251 0 is_stmt 1 discriminator 2 - 161 0012 134E ldr r6, .L18+4 - 162 0014 3769 ldr r7, [r6, #16] - 163 0016 A025 movs r5, #160 - 164 0018 6D01 lsls r5, r5, #5 - 165 001a 3D43 orrs r5, r7 - 166 001c 3561 str r5, [r6, #16] - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Data = Data; - 167 .loc 1 253 0 discriminator 2 - 168 001e 8C60 str r4, [r1, #8] - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 169 .loc 1 254 0 discriminator 2 - 170 0020 0A61 str r2, [r1, #16] - 171 0022 4B61 str r3, [r1, #20] - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 172 .loc 1 256 0 discriminator 2 - 173 0024 0128 cmp r0, #1 - ARM GAS /tmp/cc5jrn7g.s page 16 - - - 174 0026 0CD0 beq .L16 - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 175 .loc 1 262 0 - 176 0028 0228 cmp r0, #2 - 177 002a 0FD0 beq .L17 - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */ - 178 .loc 1 270 0 - 179 002c 0B49 ldr r1, .L18 - 180 002e 0520 movs r0, #5 - 181 .LVL9: - 182 0030 0870 strb r0, [r1] - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 183 .loc 1 272 0 - 184 0032 0138 subs r0, r0, #1 - 185 0034 4860 str r0, [r1, #4] - 186 .L13: - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 187 .loc 1 276 0 - 188 0036 91B2 uxth r1, r2 - 189 0038 2000 movs r0, r4 - 190 003a FFF7FEFF bl FLASH_Program_HalfWord - 191 .LVL10: - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 192 .loc 1 278 0 - 193 003e 0020 movs r0, #0 - 194 .L11: - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 195 .loc 1 279 0 - 196 @ sp needed - 197 .LVL11: - 198 0040 F8BD pop {r3, r4, r5, r6, r7, pc} - 199 .LVL12: - 200 .L16: - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */ - 201 .loc 1 258 0 - 202 0042 0230 adds r0, r0, #2 - 203 .LVL13: - 204 0044 0870 strb r0, [r1] - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 205 .loc 1 260 0 - 206 0046 0238 subs r0, r0, #2 - 207 .LVL14: - 208 0048 4860 str r0, [r1, #4] - 209 004a F4E7 b .L13 - 210 .L17: - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */ - 211 .loc 1 264 0 - 212 004c 0349 ldr r1, .L18 - 213 004e 0230 adds r0, r0, #2 - 214 .LVL15: - 215 0050 0870 strb r0, [r1] - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 216 .loc 1 266 0 - 217 0052 0238 subs r0, r0, #2 - 218 .LVL16: - 219 0054 4860 str r0, [r1, #4] - 220 0056 EEE7 b .L13 - ARM GAS /tmp/cc5jrn7g.s page 17 - - - 221 .L15: - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 222 .loc 1 244 0 - 223 0058 0220 movs r0, #2 - 224 .LVL17: - 225 005a F1E7 b .L11 - 226 .L19: - 227 .align 2 - 228 .L18: - 229 005c 00000000 .word pFlash - 230 0060 00200240 .word 1073881088 - 231 .cfi_endproc - 232 .LFE41: - 234 .section .text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits - 235 .align 1 - 236 .weak HAL_FLASH_EndOfOperationCallback - 237 .syntax unified - 238 .code 16 - 239 .thumb_func - 240 .fpu softvfp - 242 HAL_FLASH_EndOfOperationCallback: - 243 .LFB43: - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ - 244 .loc 1 429 0 - 245 .cfi_startproc - 246 @ args = 0, pretend = 0, frame = 0 - 247 @ frame_needed = 0, uses_anonymous_args = 0 - 248 @ link register save eliminated. - 249 .LVL18: - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 250 .loc 1 436 0 - 251 @ sp needed - 252 0000 7047 bx lr - 253 .cfi_endproc - 254 .LFE43: - 256 .section .text.HAL_FLASH_OperationErrorCallback,"ax",%progbits - 257 .align 1 - 258 .weak HAL_FLASH_OperationErrorCallback - 259 .syntax unified - 260 .code 16 - 261 .thumb_func - 262 .fpu softvfp - 264 HAL_FLASH_OperationErrorCallback: - 265 .LFB44: - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ - 266 .loc 1 447 0 - 267 .cfi_startproc - 268 @ args = 0, pretend = 0, frame = 0 - 269 @ frame_needed = 0, uses_anonymous_args = 0 - 270 @ link register save eliminated. - 271 .LVL19: - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 272 .loc 1 454 0 - 273 @ sp needed - 274 0000 7047 bx lr - 275 .cfi_endproc - 276 .LFE44: - ARM GAS /tmp/cc5jrn7g.s page 18 - - - 278 .section .text.HAL_FLASH_IRQHandler,"ax",%progbits - 279 .align 1 - 280 .global HAL_FLASH_IRQHandler - 281 .syntax unified - 282 .code 16 - 283 .thumb_func - 284 .fpu softvfp - 286 HAL_FLASH_IRQHandler: - 287 .LFB42: - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t addresstmp = 0U; - 288 .loc 1 286 0 - 289 .cfi_startproc - 290 @ args = 0, pretend = 0, frame = 0 - 291 @ frame_needed = 0, uses_anonymous_args = 0 - 292 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 293 .LCFI2: - 294 .cfi_def_cfa_offset 24 - 295 .cfi_offset 3, -24 - 296 .cfi_offset 4, -20 - 297 .cfi_offset 5, -16 - 298 .cfi_offset 6, -12 - 299 .cfi_offset 7, -8 - 300 .cfi_offset 14, -4 - 301 .LVL20: - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 302 .loc 1 290 0 - 303 0002 514B ldr r3, .L39 - 304 0004 DB68 ldr r3, [r3, #12] - 305 0006 DB06 lsls r3, r3, #27 - 306 0008 03D4 bmi .L23 - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 307 .loc 1 290 0 is_stmt 0 discriminator 1 - 308 000a 4F4B ldr r3, .L39 - 309 000c DB68 ldr r3, [r3, #12] - 310 000e 5B07 lsls r3, r3, #29 - 311 0010 0BD5 bpl .L24 - 312 .L23: - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset address */ - 313 .loc 1 293 0 is_stmt 1 - 314 0012 4E4C ldr r4, .L39+4 - 315 0014 A568 ldr r5, [r4, #8] - 316 .LVL21: - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 317 .loc 1 295 0 - 318 0016 0123 movs r3, #1 - 319 0018 5B42 rsbs r3, r3, #0 - 320 001a A360 str r3, [r4, #8] - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 321 .loc 1 298 0 - 322 001c FFF7FEFF bl FLASH_SetErrorCode - 323 .LVL22: - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 324 .loc 1 301 0 - 325 0020 2800 movs r0, r5 - 326 0022 FFF7FEFF bl HAL_FLASH_OperationErrorCallback - 327 .LVL23: - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - ARM GAS /tmp/cc5jrn7g.s page 19 - - - 328 .loc 1 304 0 - 329 0026 0023 movs r3, #0 - 330 0028 2370 strb r3, [r4] - 331 .LVL24: - 332 .L24: - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 333 .loc 1 308 0 - 334 002a 474B ldr r3, .L39 - 335 002c DB68 ldr r3, [r3, #12] - 336 002e 9B06 lsls r3, r3, #26 - 337 0030 28D5 bpl .L25 - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 338 .loc 1 311 0 - 339 0032 454B ldr r3, .L39 - 340 0034 2022 movs r2, #32 - 341 0036 DA60 str r2, [r3, #12] - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 342 .loc 1 314 0 - 343 0038 444B ldr r3, .L39+4 - 344 003a 1B78 ldrb r3, [r3] - 345 003c 002B cmp r3, #0 - 346 003e 21D0 beq .L25 - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 347 .loc 1 316 0 - 348 0040 424B ldr r3, .L39+4 - 349 0042 1B78 ldrb r3, [r3] - 350 0044 012B cmp r3, #1 - 351 0046 2ED0 beq .L34 - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 352 .loc 1 347 0 - 353 0048 404B ldr r3, .L39+4 - 354 004a 1B78 ldrb r3, [r3] - 355 004c 022B cmp r3, #2 - 356 004e 4CD0 beq .L35 - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 357 .loc 1 362 0 - 358 0050 3E4B ldr r3, .L39+4 - 359 0052 5A68 ldr r2, [r3, #4] - 360 0054 013A subs r2, r2, #1 - 361 0056 5A60 str r2, [r3, #4] - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 362 .loc 1 365 0 - 363 0058 5B68 ldr r3, [r3, #4] - 364 005a 002B cmp r3, #0 - 365 005c 51D1 bne .L36 - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 366 .loc 1 384 0 - 367 005e 3B4B ldr r3, .L39+4 - 368 0060 1B78 ldrb r3, [r3] - 369 0062 032B cmp r3, #3 - 370 0064 65D0 beq .L37 - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 371 .loc 1 388 0 - 372 0066 394B ldr r3, .L39+4 - 373 0068 1B78 ldrb r3, [r3] - 374 006a 042B cmp r3, #4 - 375 006c 66D0 beq .L38 - ARM GAS /tmp/cc5jrn7g.s page 20 - - - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 376 .loc 1 394 0 - 377 006e 374B ldr r3, .L39+4 - 378 0070 9868 ldr r0, [r3, #8] - 379 0072 0638 subs r0, r0, #6 - 380 0074 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback - 381 .LVL25: - 382 .L31: - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; - 383 .loc 1 398 0 - 384 0078 344B ldr r3, .L39+4 - 385 007a 0122 movs r2, #1 - 386 007c 5242 rsbs r2, r2, #0 - 387 007e 9A60 str r2, [r3, #8] - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 388 .loc 1 399 0 - 389 0080 0022 movs r2, #0 - 390 0082 1A70 strb r2, [r3] - 391 .L25: - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 392 .loc 1 406 0 - 393 0084 314B ldr r3, .L39+4 - 394 0086 1B78 ldrb r3, [r3] - 395 0088 002B cmp r3, #0 - 396 008a 0BD1 bne .L22 - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 397 .loc 1 409 0 - 398 008c 2E4B ldr r3, .L39 - 399 008e 1A69 ldr r2, [r3, #16] - 400 0090 0721 movs r1, #7 - 401 0092 8A43 bics r2, r1 - 402 0094 1A61 str r2, [r3, #16] - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 403 .loc 1 412 0 - 404 0096 1A69 ldr r2, [r3, #16] - 405 0098 2D49 ldr r1, .L39+8 - 406 009a 0A40 ands r2, r1 - 407 009c 1A61 str r2, [r3, #16] - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 408 .loc 1 415 0 - 409 009e 2B4B ldr r3, .L39+4 - 410 00a0 0022 movs r2, #0 - 411 00a2 1A76 strb r2, [r3, #24] - 412 .L22: - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 413 .loc 1 417 0 - 414 @ sp needed - 415 00a4 F8BD pop {r3, r4, r5, r6, r7, pc} - 416 .L34: - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 417 .loc 1 319 0 - 418 00a6 294B ldr r3, .L39+4 - 419 00a8 5A68 ldr r2, [r3, #4] - 420 00aa 013A subs r2, r2, #1 - 421 00ac 5A60 str r2, [r3, #4] - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 422 .loc 1 322 0 - ARM GAS /tmp/cc5jrn7g.s page 21 - - - 423 00ae 5B68 ldr r3, [r3, #4] - 424 00b0 002B cmp r3, #0 - 425 00b2 11D0 beq .L27 - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Indicate user which sector has been erased */ - 426 .loc 1 324 0 - 427 00b4 254C ldr r4, .L39+4 - 428 00b6 A068 ldr r0, [r4, #8] - 429 .LVL26: - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 430 .loc 1 326 0 - 431 00b8 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback - 432 .LVL27: - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = addresstmp; - 433 .loc 1 329 0 - 434 00bc A068 ldr r0, [r4, #8] - 435 00be 8023 movs r3, #128 - 436 00c0 1B01 lsls r3, r3, #4 - 437 00c2 9C46 mov ip, r3 - 438 00c4 6044 add r0, r0, ip - 439 .LVL28: - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 440 .loc 1 330 0 - 441 00c6 A060 str r0, [r4, #8] - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 442 .loc 1 333 0 - 443 00c8 1F4A ldr r2, .L39 - 444 00ca 1369 ldr r3, [r2, #16] - 445 00cc 0221 movs r1, #2 - 446 00ce 8B43 bics r3, r1 - 447 00d0 1361 str r3, [r2, #16] - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 448 .loc 1 335 0 - 449 00d2 FFF7FEFF bl FLASH_PageErase - 450 .LVL29: - 451 00d6 D5E7 b .L25 - 452 .L27: - 453 .LVL30: - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; - 454 .loc 1 341 0 - 455 00d8 1C4B ldr r3, .L39+4 - 456 00da 0120 movs r0, #1 - 457 00dc 4042 rsbs r0, r0, #0 - 458 00de 9860 str r0, [r3, #8] - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ - 459 .loc 1 342 0 - 460 00e0 0022 movs r2, #0 - 461 00e2 1A70 strb r2, [r3] - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 462 .loc 1 344 0 - 463 00e4 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback - 464 .LVL31: - 465 00e8 CCE7 b .L25 - 466 .LVL32: - 467 .L35: - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 468 .loc 1 350 0 - 469 00ea 174A ldr r2, .L39 - ARM GAS /tmp/cc5jrn7g.s page 22 - - - 470 00ec 1369 ldr r3, [r2, #16] - 471 00ee 0421 movs r1, #4 - 472 00f0 8B43 bics r3, r1 - 473 00f2 1361 str r3, [r2, #16] - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 474 .loc 1 354 0 - 475 00f4 0020 movs r0, #0 - 476 00f6 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback - 477 .LVL33: - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 478 .loc 1 357 0 - 479 00fa 144B ldr r3, .L39+4 - 480 00fc 0022 movs r2, #0 - 481 00fe 1A70 strb r2, [r3] - 482 0100 C0E7 b .L25 - 483 .L36: - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address; - 484 .loc 1 368 0 - 485 0102 124B ldr r3, .L39+4 - 486 0104 9A68 ldr r2, [r3, #8] - 487 0106 0232 adds r2, r2, #2 - 488 0108 9A60 str r2, [r3, #8] - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 489 .loc 1 369 0 - 490 010a 9868 ldr r0, [r3, #8] - 491 .LVL34: - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 492 .loc 1 372 0 - 493 010c 1E69 ldr r6, [r3, #16] - 494 010e 5F69 ldr r7, [r3, #20] - 495 0110 3A04 lsls r2, r7, #16 - 496 0112 340C lsrs r4, r6, #16 - 497 0114 1443 orrs r4, r2 - 498 0116 3D0C lsrs r5, r7, #16 - 499 0118 1C61 str r4, [r3, #16] - 500 011a 5D61 str r5, [r3, #20] - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 501 .loc 1 375 0 - 502 011c 0A49 ldr r1, .L39 - 503 011e 0A69 ldr r2, [r1, #16] - 504 0120 0124 movs r4, #1 - 505 0122 A243 bics r2, r4 - 506 0124 0A61 str r2, [r1, #16] - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 507 .loc 1 378 0 - 508 0126 1A69 ldr r2, [r3, #16] - 509 0128 5B69 ldr r3, [r3, #20] - 510 012a 91B2 uxth r1, r2 - 511 012c FFF7FEFF bl FLASH_Program_HalfWord - 512 .LVL35: - 513 0130 A8E7 b .L25 - 514 .L37: - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 515 .loc 1 386 0 - 516 0132 064B ldr r3, .L39+4 - 517 0134 9868 ldr r0, [r3, #8] - 518 0136 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback - ARM GAS /tmp/cc5jrn7g.s page 23 - - - 519 .LVL36: - 520 013a 9DE7 b .L31 - 521 .L38: - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 522 .loc 1 390 0 - 523 013c 034B ldr r3, .L39+4 - 524 013e 9868 ldr r0, [r3, #8] - 525 0140 0238 subs r0, r0, #2 - 526 0142 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback - 527 .LVL37: - 528 0146 97E7 b .L31 - 529 .L40: - 530 .align 2 - 531 .L39: - 532 0148 00200240 .word 1073881088 - 533 014c 00000000 .word pFlash - 534 0150 FFEBFFFF .word -5121 - 535 .cfi_endproc - 536 .LFE42: - 538 .section .text.HAL_FLASH_Unlock,"ax",%progbits - 539 .align 1 - 540 .global HAL_FLASH_Unlock - 541 .syntax unified - 542 .code 16 - 543 .thumb_func - 544 .fpu softvfp - 546 HAL_FLASH_Unlock: - 547 .LFB45: - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; - 548 .loc 1 480 0 - 549 .cfi_startproc - 550 @ args = 0, pretend = 0, frame = 0 - 551 @ frame_needed = 0, uses_anonymous_args = 0 - 552 @ link register save eliminated. - 553 .LVL38: - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 554 .loc 1 483 0 - 555 0000 084B ldr r3, .L46 - 556 0002 1B69 ldr r3, [r3, #16] - 557 0004 1B06 lsls r3, r3, #24 - 558 0006 0BD5 bpl .L43 - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2); - 559 .loc 1 486 0 - 560 0008 064B ldr r3, .L46 - 561 000a 074A ldr r2, .L46+4 - 562 000c 5A60 str r2, [r3, #4] - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 563 .loc 1 487 0 - 564 000e 074A ldr r2, .L46+8 - 565 0010 5A60 str r2, [r3, #4] - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 566 .loc 1 490 0 - 567 0012 1B69 ldr r3, [r3, #16] - 568 0014 1B06 lsls r3, r3, #24 - 569 0016 01D5 bpl .L45 - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 570 .loc 1 492 0 - ARM GAS /tmp/cc5jrn7g.s page 24 - - - 571 0018 0120 movs r0, #1 - 572 001a 02E0 b .L42 - 573 .L45: - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 574 .loc 1 481 0 - 575 001c 0020 movs r0, #0 - 576 001e 00E0 b .L42 - 577 .L43: - 578 0020 0020 movs r0, #0 - 579 .L42: - 580 .LVL39: - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 581 .loc 1 497 0 - 582 @ sp needed - 583 0022 7047 bx lr - 584 .L47: - 585 .align 2 - 586 .L46: - 587 0024 00200240 .word 1073881088 - 588 0028 23016745 .word 1164378403 - 589 002c AB89EFCD .word -839939669 - 590 .cfi_endproc - 591 .LFE45: - 593 .section .text.HAL_FLASH_Lock,"ax",%progbits - 594 .align 1 - 595 .global HAL_FLASH_Lock - 596 .syntax unified - 597 .code 16 - 598 .thumb_func - 599 .fpu softvfp - 601 HAL_FLASH_Lock: - 602 .LFB46: - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */ - 603 .loc 1 504 0 - 604 .cfi_startproc - 605 @ args = 0, pretend = 0, frame = 0 - 606 @ frame_needed = 0, uses_anonymous_args = 0 - 607 @ link register save eliminated. - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 608 .loc 1 506 0 - 609 0000 034A ldr r2, .L49 - 610 0002 1369 ldr r3, [r2, #16] - 611 0004 8021 movs r1, #128 - 612 0006 0B43 orrs r3, r1 - 613 0008 1361 str r3, [r2, #16] - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 614 .loc 1 509 0 - 615 000a 0020 movs r0, #0 - 616 @ sp needed - 617 000c 7047 bx lr - 618 .L50: - 619 000e C046 .align 2 - 620 .L49: - 621 0010 00200240 .word 1073881088 - 622 .cfi_endproc - 623 .LFE46: - 625 .section .text.HAL_FLASH_OB_Unlock,"ax",%progbits - ARM GAS /tmp/cc5jrn7g.s page 25 - - - 626 .align 1 - 627 .global HAL_FLASH_OB_Unlock - 628 .syntax unified - 629 .code 16 - 630 .thumb_func - 631 .fpu softvfp - 633 HAL_FLASH_OB_Unlock: - 634 .LFB47: - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE)) - 635 .loc 1 516 0 - 636 .cfi_startproc - 637 @ args = 0, pretend = 0, frame = 0 - 638 @ frame_needed = 0, uses_anonymous_args = 0 - 639 @ link register save eliminated. - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 640 .loc 1 517 0 - 641 0000 064B ldr r3, .L54 - 642 0002 1B69 ldr r3, [r3, #16] - 643 0004 9B05 lsls r3, r3, #22 - 644 0006 06D4 bmi .L53 - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2); - 645 .loc 1 520 0 - 646 0008 044B ldr r3, .L54 - 647 000a 054A ldr r2, .L54+4 - 648 000c 9A60 str r2, [r3, #8] - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 649 .loc 1 521 0 - 650 000e 054A ldr r2, .L54+8 - 651 0010 9A60 str r2, [r3, #8] - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 652 .loc 1 528 0 - 653 0012 0020 movs r0, #0 - 654 .L52: - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 655 .loc 1 529 0 - 656 @ sp needed - 657 0014 7047 bx lr - 658 .L53: - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 659 .loc 1 525 0 - 660 0016 0120 movs r0, #1 - 661 0018 FCE7 b .L52 - 662 .L55: - 663 001a C046 .align 2 - 664 .L54: - 665 001c 00200240 .word 1073881088 - 666 0020 23016745 .word 1164378403 - 667 0024 AB89EFCD .word -839939669 - 668 .cfi_endproc - 669 .LFE47: - 671 .section .text.HAL_FLASH_OB_Lock,"ax",%progbits - 672 .align 1 - 673 .global HAL_FLASH_OB_Lock - 674 .syntax unified - 675 .code 16 - 676 .thumb_func - 677 .fpu softvfp - ARM GAS /tmp/cc5jrn7g.s page 26 - - - 679 HAL_FLASH_OB_Lock: - 680 .LFB48: - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */ - 681 .loc 1 536 0 - 682 .cfi_startproc - 683 @ args = 0, pretend = 0, frame = 0 - 684 @ frame_needed = 0, uses_anonymous_args = 0 - 685 @ link register save eliminated. - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 686 .loc 1 538 0 - 687 0000 034A ldr r2, .L57 - 688 0002 1369 ldr r3, [r2, #16] - 689 0004 0349 ldr r1, .L57+4 - 690 0006 0B40 ands r3, r1 - 691 0008 1361 str r3, [r2, #16] - 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 692 .loc 1 541 0 - 693 000a 0020 movs r0, #0 - 694 @ sp needed - 695 000c 7047 bx lr - 696 .L58: - 697 000e C046 .align 2 - 698 .L57: - 699 0010 00200240 .word 1073881088 - 700 0014 FFFDFFFF .word -513 - 701 .cfi_endproc - 702 .LFE48: - 704 .section .text.HAL_FLASH_GetError,"ax",%progbits - 705 .align 1 - 706 .global HAL_FLASH_GetError - 707 .syntax unified - 708 .code 16 - 709 .thumb_func - 710 .fpu softvfp - 712 HAL_FLASH_GetError: - 713 .LFB50: - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return pFlash.ErrorCode; - 714 .loc 1 581 0 - 715 .cfi_startproc - 716 @ args = 0, pretend = 0, frame = 0 - 717 @ frame_needed = 0, uses_anonymous_args = 0 - 718 @ link register save eliminated. - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 719 .loc 1 582 0 - 720 0000 014B ldr r3, .L60 - 721 0002 D869 ldr r0, [r3, #28] - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 722 .loc 1 583 0 - 723 @ sp needed - 724 0004 7047 bx lr - 725 .L61: - 726 0006 C046 .align 2 - 727 .L60: - 728 0008 00000000 .word pFlash - 729 .cfi_endproc - 730 .LFE50: - 732 .section .text.FLASH_WaitForLastOperation,"ax",%progbits - ARM GAS /tmp/cc5jrn7g.s page 27 - - - 733 .align 1 - 734 .global FLASH_WaitForLastOperation - 735 .syntax unified - 736 .code 16 - 737 .thumb_func - 738 .fpu softvfp - 740 FLASH_WaitForLastOperation: - 741 .LFB52: - 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. - 742 .loc 1 621 0 - 743 .cfi_startproc - 744 @ args = 0, pretend = 0, frame = 0 - 745 @ frame_needed = 0, uses_anonymous_args = 0 - 746 .LVL40: - 747 0000 70B5 push {r4, r5, r6, lr} - 748 .LCFI3: - 749 .cfi_def_cfa_offset 16 - 750 .cfi_offset 4, -16 - 751 .cfi_offset 5, -12 - 752 .cfi_offset 6, -8 - 753 .cfi_offset 14, -4 - 754 0002 0400 movs r4, r0 - 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 755 .loc 1 626 0 - 756 0004 FFF7FEFF bl HAL_GetTick - 757 .LVL41: - 758 0008 0500 movs r5, r0 - 759 .LVL42: - 760 .L64: - 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 761 .loc 1 628 0 - 762 000a 134B ldr r3, .L73 - 763 000c DB68 ldr r3, [r3, #12] - 764 000e DB07 lsls r3, r3, #31 - 765 0010 0AD5 bpl .L72 - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 766 .loc 1 630 0 - 767 0012 631C adds r3, r4, #1 - 768 0014 F9D0 beq .L64 - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 769 .loc 1 632 0 - 770 0016 002C cmp r4, #0 - 771 0018 19D0 beq .L69 - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 772 .loc 1 632 0 is_stmt 0 discriminator 1 - 773 001a FFF7FEFF bl HAL_GetTick - 774 .LVL43: - 775 001e 401B subs r0, r0, r5 - 776 0020 A042 cmp r0, r4 - 777 0022 F2D9 bls .L64 - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 778 .loc 1 634 0 is_stmt 1 - 779 0024 0320 movs r0, #3 - 780 0026 11E0 b .L65 - 781 .L72: - 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 782 .loc 1 640 0 - ARM GAS /tmp/cc5jrn7g.s page 28 - - - 783 0028 0B4B ldr r3, .L73 - 784 002a DB68 ldr r3, [r3, #12] - 785 002c 9B06 lsls r3, r3, #26 - 786 002e 02D5 bpl .L67 - 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 787 .loc 1 643 0 - 788 0030 094B ldr r3, .L73 - 789 0032 2022 movs r2, #32 - 790 0034 DA60 str r2, [r3, #12] - 791 .L67: - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) - 792 .loc 1 646 0 - 793 0036 084B ldr r3, .L73 - 794 0038 DB68 ldr r3, [r3, #12] - 795 003a DB06 lsls r3, r3, #27 - 796 003c 03D4 bmi .L68 - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 797 .loc 1 647 0 discriminator 1 - 798 003e 064B ldr r3, .L73 - 799 0040 DB68 ldr r3, [r3, #12] - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) - 800 .loc 1 646 0 discriminator 1 - 801 0042 5B07 lsls r3, r3, #29 - 802 0044 05D5 bpl .L71 - 803 .L68: - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_ERROR; - 804 .loc 1 650 0 - 805 0046 FFF7FEFF bl FLASH_SetErrorCode - 806 .LVL44: - 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 807 .loc 1 651 0 - 808 004a 0120 movs r0, #1 - 809 .L65: - 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 810 .loc 1 656 0 - 811 @ sp needed - 812 .LVL45: - 813 .LVL46: - 814 004c 70BD pop {r4, r5, r6, pc} - 815 .LVL47: - 816 .L69: - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 817 .loc 1 634 0 - 818 004e 0320 movs r0, #3 - 819 0050 FCE7 b .L65 - 820 .L71: - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 821 .loc 1 655 0 - 822 0052 0020 movs r0, #0 - 823 0054 FAE7 b .L65 - 824 .L74: - 825 0056 C046 .align 2 - 826 .L73: - 827 0058 00200240 .word 1073881088 - 828 .cfi_endproc - 829 .LFE52: - 831 .section .text.HAL_FLASH_Program,"ax",%progbits - ARM GAS /tmp/cc5jrn7g.s page 29 - - - 832 .align 1 - 833 .global HAL_FLASH_Program - 834 .syntax unified - 835 .code 16 - 836 .thumb_func - 837 .fpu softvfp - 839 HAL_FLASH_Program: - 840 .LFB40: - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR; - 841 .loc 1 168 0 - 842 .cfi_startproc - 843 @ args = 0, pretend = 0, frame = 0 - 844 @ frame_needed = 0, uses_anonymous_args = 0 - 845 .LVL48: - 846 0000 F0B5 push {r4, r5, r6, r7, lr} - 847 .LCFI4: - 848 .cfi_def_cfa_offset 20 - 849 .cfi_offset 4, -20 - 850 .cfi_offset 5, -16 - 851 .cfi_offset 6, -12 - 852 .cfi_offset 7, -8 - 853 .cfi_offset 14, -4 - 854 0002 C646 mov lr, r8 - 855 0004 00B5 push {lr} - 856 .LCFI5: - 857 .cfi_def_cfa_offset 24 - 858 .cfi_offset 8, -24 - 859 0006 0400 movs r4, r0 - 860 0008 0D00 movs r5, r1 - 861 000a 9046 mov r8, r2 - 862 000c 1E00 movs r6, r3 - 863 .LVL49: - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 864 .loc 1 174 0 - 865 000e 214B ldr r3, .L87 - 866 0010 1B7E ldrb r3, [r3, #24] - 867 0012 012B cmp r3, #1 - 868 0014 3BD0 beq .L83 - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 869 .loc 1 174 0 is_stmt 0 discriminator 2 - 870 0016 1F4B ldr r3, .L87 - 871 0018 0122 movs r2, #1 - 872 .LVL50: - 873 001a 1A76 strb r2, [r3, #24] - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 874 .loc 1 181 0 is_stmt 1 discriminator 2 - 875 001c 1E48 ldr r0, .L87+4 - 876 .LVL51: - 877 001e FFF7FEFF bl FLASH_WaitForLastOperation - 878 .LVL52: - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 879 .loc 1 183 0 discriminator 2 - 880 0022 0028 cmp r0, #0 - 881 0024 2DD1 bne .L77 - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 882 .loc 1 185 0 - 883 0026 012C cmp r4, #1 - ARM GAS /tmp/cc5jrn7g.s page 30 - - - 884 0028 06D0 beq .L84 - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 885 .loc 1 190 0 - 886 002a 022C cmp r4, #2 - 887 002c 02D0 beq .L86 - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 888 .loc 1 198 0 - 889 002e 0427 movs r7, #4 - 890 .L78: - 891 .LVL53: - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 892 .loc 1 201 0 - 893 0030 0024 movs r4, #0 - 894 .LVL54: - 895 0032 1BE0 b .L79 - 896 .LVL55: - 897 .L86: - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 898 .loc 1 193 0 - 899 0034 0227 movs r7, #2 - 900 0036 FBE7 b .L78 - 901 .L84: - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 902 .loc 1 188 0 - 903 0038 0127 movs r7, #1 - 904 003a F9E7 b .L78 - 905 .LVL56: - 906 .L80: - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 907 .loc 1 203 0 - 908 003c 2022 movs r2, #32 - 909 003e D21A subs r2, r2, r3 - 910 0040 3100 movs r1, r6 - 911 0042 9140 lsls r1, r1, r2 - 912 0044 0A00 movs r2, r1 - 913 0046 4146 mov r1, r8 - 914 0048 D940 lsrs r1, r1, r3 - 915 004a 1143 orrs r1, r2 - 916 .L81: - 917 004c 89B2 uxth r1, r1 - 918 004e 4019 adds r0, r0, r5 - 919 0050 FFF7FEFF bl FLASH_Program_HalfWord - 920 .LVL57: - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 921 .loc 1 206 0 - 922 0054 1048 ldr r0, .L87+4 - 923 0056 FFF7FEFF bl FLASH_WaitForLastOperation - 924 .LVL58: - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* In case of error, stop programming procedure */ - 925 .loc 1 209 0 - 926 005a 104A ldr r2, .L87+8 - 927 005c 1369 ldr r3, [r2, #16] - 928 005e 0121 movs r1, #1 - 929 0060 8B43 bics r3, r1 - 930 0062 1361 str r3, [r2, #16] - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 931 .loc 1 211 0 - ARM GAS /tmp/cc5jrn7g.s page 31 - - - 932 0064 0028 cmp r0, #0 - 933 0066 0CD1 bne .L77 - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 934 .loc 1 201 0 discriminator 2 - 935 0068 0134 adds r4, r4, #1 - 936 .LVL59: - 937 006a E4B2 uxtb r4, r4 - 938 .LVL60: - 939 .L79: - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** { - 940 .loc 1 201 0 is_stmt 0 discriminator 1 - 941 006c BC42 cmp r4, r7 - 942 006e 08D2 bcs .L77 - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 943 .loc 1 203 0 is_stmt 1 - 944 0070 6000 lsls r0, r4, #1 - 945 .LVL61: - 946 0072 2301 lsls r3, r4, #4 - 947 0074 2022 movs r2, #32 - 948 0076 5242 rsbs r2, r2, #0 - 949 0078 9A18 adds r2, r3, r2 - 950 007a DFD4 bmi .L80 - 951 007c 3100 movs r1, r6 - 952 007e D140 lsrs r1, r1, r2 - 953 0080 E4E7 b .L81 - 954 .LVL62: - 955 .L77: - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 956 .loc 1 219 0 - 957 0082 044B ldr r3, .L87 - 958 0084 0022 movs r2, #0 - 959 0086 1A76 strb r2, [r3, #24] - 960 .LVL63: - 961 .L76: - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 962 .loc 1 222 0 - 963 @ sp needed - 964 .LVL64: - 965 0088 04BC pop {r2} - 966 008a 9046 mov r8, r2 - 967 008c F0BD pop {r4, r5, r6, r7, pc} - 968 .LVL65: - 969 .L83: - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 970 .loc 1 174 0 - 971 008e 0220 movs r0, #2 - 972 .LVL66: - 973 0090 FAE7 b .L76 - 974 .L88: - 975 0092 C046 .align 2 - 976 .L87: - 977 0094 00000000 .word pFlash - 978 0098 50C30000 .word 50000 - 979 009c 00200240 .word 1073881088 - 980 .cfi_endproc - 981 .LFE40: - 983 .section .text.HAL_FLASH_OB_Launch,"ax",%progbits - ARM GAS /tmp/cc5jrn7g.s page 32 - - - 984 .align 1 - 985 .global HAL_FLASH_OB_Launch - 986 .syntax unified - 987 .code 16 - 988 .thumb_func - 989 .fpu softvfp - 991 HAL_FLASH_OB_Launch: - 992 .LFB49: - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the OBL_Launch bit to launch the option byte loading */ - 993 .loc 1 549 0 - 994 .cfi_startproc - 995 @ args = 0, pretend = 0, frame = 0 - 996 @ frame_needed = 0, uses_anonymous_args = 0 - 997 0000 10B5 push {r4, lr} - 998 .LCFI6: - 999 .cfi_def_cfa_offset 8 - 1000 .cfi_offset 4, -8 - 1001 .cfi_offset 14, -4 - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 1002 .loc 1 551 0 - 1003 0002 054A ldr r2, .L90 - 1004 0004 1169 ldr r1, [r2, #16] - 1005 0006 8023 movs r3, #128 - 1006 0008 9B01 lsls r3, r3, #6 - 1007 000a 0B43 orrs r3, r1 - 1008 000c 1361 str r3, [r2, #16] - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** } - 1009 .loc 1 554 0 - 1010 000e 0348 ldr r0, .L90+4 - 1011 0010 FFF7FEFF bl FLASH_WaitForLastOperation - 1012 .LVL67: - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** - 1013 .loc 1 555 0 - 1014 @ sp needed - 1015 0014 10BD pop {r4, pc} - 1016 .L91: - 1017 0016 C046 .align 2 - 1018 .L90: - 1019 0018 00200240 .word 1073881088 - 1020 001c 50C30000 .word 50000 - 1021 .cfi_endproc - 1022 .LFE49: - 1024 .comm pFlash,32,8 - 1025 .text - 1026 .Letext0: - 1027 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 1028 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 1029 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 1030 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 1031 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" - 1032 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 1033 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h" - 1034 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/cc5jrn7g.s page 33 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_flash.c - /tmp/cc5jrn7g.s:16 .text.FLASH_Program_HalfWord:0000000000000000 $t - /tmp/cc5jrn7g.s:22 .text.FLASH_Program_HalfWord:0000000000000000 FLASH_Program_HalfWord - /tmp/cc5jrn7g.s:53 .text.FLASH_Program_HalfWord:0000000000000018 $d - *COM*:0000000000000020 pFlash - /tmp/cc5jrn7g.s:59 .text.FLASH_SetErrorCode:0000000000000000 $t - /tmp/cc5jrn7g.s:65 .text.FLASH_SetErrorCode:0000000000000000 FLASH_SetErrorCode - /tmp/cc5jrn7g.s:119 .text.FLASH_SetErrorCode:0000000000000034 $d - /tmp/cc5jrn7g.s:125 .text.HAL_FLASH_Program_IT:0000000000000000 $t - /tmp/cc5jrn7g.s:132 .text.HAL_FLASH_Program_IT:0000000000000000 HAL_FLASH_Program_IT - /tmp/cc5jrn7g.s:229 .text.HAL_FLASH_Program_IT:000000000000005c $d - /tmp/cc5jrn7g.s:235 .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 $t - /tmp/cc5jrn7g.s:242 .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 HAL_FLASH_EndOfOperationCallback - /tmp/cc5jrn7g.s:257 .text.HAL_FLASH_OperationErrorCallback:0000000000000000 $t - /tmp/cc5jrn7g.s:264 .text.HAL_FLASH_OperationErrorCallback:0000000000000000 HAL_FLASH_OperationErrorCallback - /tmp/cc5jrn7g.s:279 .text.HAL_FLASH_IRQHandler:0000000000000000 $t - /tmp/cc5jrn7g.s:286 .text.HAL_FLASH_IRQHandler:0000000000000000 HAL_FLASH_IRQHandler - /tmp/cc5jrn7g.s:532 .text.HAL_FLASH_IRQHandler:0000000000000148 $d - /tmp/cc5jrn7g.s:539 .text.HAL_FLASH_Unlock:0000000000000000 $t - /tmp/cc5jrn7g.s:546 .text.HAL_FLASH_Unlock:0000000000000000 HAL_FLASH_Unlock - /tmp/cc5jrn7g.s:587 .text.HAL_FLASH_Unlock:0000000000000024 $d - /tmp/cc5jrn7g.s:594 .text.HAL_FLASH_Lock:0000000000000000 $t - /tmp/cc5jrn7g.s:601 .text.HAL_FLASH_Lock:0000000000000000 HAL_FLASH_Lock - /tmp/cc5jrn7g.s:621 .text.HAL_FLASH_Lock:0000000000000010 $d - /tmp/cc5jrn7g.s:626 .text.HAL_FLASH_OB_Unlock:0000000000000000 $t - /tmp/cc5jrn7g.s:633 .text.HAL_FLASH_OB_Unlock:0000000000000000 HAL_FLASH_OB_Unlock - /tmp/cc5jrn7g.s:665 .text.HAL_FLASH_OB_Unlock:000000000000001c $d - /tmp/cc5jrn7g.s:672 .text.HAL_FLASH_OB_Lock:0000000000000000 $t - /tmp/cc5jrn7g.s:679 .text.HAL_FLASH_OB_Lock:0000000000000000 HAL_FLASH_OB_Lock - /tmp/cc5jrn7g.s:699 .text.HAL_FLASH_OB_Lock:0000000000000010 $d - /tmp/cc5jrn7g.s:705 .text.HAL_FLASH_GetError:0000000000000000 $t - /tmp/cc5jrn7g.s:712 .text.HAL_FLASH_GetError:0000000000000000 HAL_FLASH_GetError - /tmp/cc5jrn7g.s:728 .text.HAL_FLASH_GetError:0000000000000008 $d - /tmp/cc5jrn7g.s:733 .text.FLASH_WaitForLastOperation:0000000000000000 $t - /tmp/cc5jrn7g.s:740 .text.FLASH_WaitForLastOperation:0000000000000000 FLASH_WaitForLastOperation - /tmp/cc5jrn7g.s:827 .text.FLASH_WaitForLastOperation:0000000000000058 $d - /tmp/cc5jrn7g.s:832 .text.HAL_FLASH_Program:0000000000000000 $t - /tmp/cc5jrn7g.s:839 .text.HAL_FLASH_Program:0000000000000000 HAL_FLASH_Program - /tmp/cc5jrn7g.s:977 .text.HAL_FLASH_Program:0000000000000094 $d - /tmp/cc5jrn7g.s:984 .text.HAL_FLASH_OB_Launch:0000000000000000 $t - /tmp/cc5jrn7g.s:991 .text.HAL_FLASH_OB_Launch:0000000000000000 HAL_FLASH_OB_Launch - /tmp/cc5jrn7g.s:1019 .text.HAL_FLASH_OB_Launch:0000000000000018 $d - -UNDEFINED SYMBOLS -FLASH_PageErase -HAL_GetTick diff --git a/Blink/build/stm32f0xx_hal_flash.o b/Blink/build/stm32f0xx_hal_flash.o deleted file mode 100644 index aa18883..0000000 Binary files a/Blink/build/stm32f0xx_hal_flash.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_flash_ex.d b/Blink/build/stm32f0xx_hal_flash_ex.d deleted file mode 100644 index 78dfdad..0000000 --- a/Blink/build/stm32f0xx_hal_flash_ex.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_flash_ex.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_flash_ex.lst b/Blink/build/stm32f0xx_hal_flash_ex.lst deleted file mode 100644 index 4ef5a4f..0000000 --- a/Blink/build/stm32f0xx_hal_flash_ex.lst +++ /dev/null @@ -1,2711 +0,0 @@ -ARM GAS /tmp/ccBvyElF.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_flash_ex.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.FLASH_MassErase,"ax",%progbits - 16 .align 1 - 17 .syntax unified - 18 .code 16 - 19 .thumb_func - 20 .fpu softvfp - 22 FLASH_MassErase: - 23 .LFB46: - 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @file stm32f0xx_hal_flash_ex.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Extended FLASH HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This file provides firmware functions to manage the following - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * functionalities of the FLASH peripheral: - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * + Extended Initialization/de-initialization functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * + Extended I/O operation functions - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * + Extended Peripheral Control functions - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @verbatim - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ============================================================================== - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### Flash peripheral extended features ##### - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ============================================================================== - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### How to use this driver ##### - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ============================================================================== - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..] This driver provides functions to configure and program the FLASH memory - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** of all STM32F0xxx devices. It includes - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (++) Set/Reset the write protection - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (++) Program the user Option Bytes - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (++) Get the Read protection Level - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @endverbatim - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ****************************************************************************** - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @attention - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *

© Copyright (c) 2016 STMicroelectronics. - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * All rights reserved.

- 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, - ARM GAS /tmp/ccBvyElF.s page 2 - - - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * the "License"; You may not use this file except in compliance with the - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * License. You may obtain a copy of the License at: - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * opensource.org/licenses/BSD-3-Clause - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ****************************************************************************** - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/ - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #include "stm32f0xx_hal.h" - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Variables - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Variables used for Erase pages under interruption*/ - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** extern FLASH_ProcessTypeDef pFlash; - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief FLASH HAL Extension module driver - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/ - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/ - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Constants FLASHEx Private Constants - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #define FLASH_POSITION_IWDGSW_BIT 8U - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA0_BIT 16U - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA1_BIT 24U - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/ - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Macros FLASHEx Private Macros - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/ - ARM GAS /tmp/ccBvyElF.s page 3 - - - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/ - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Erase operations */ - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static void FLASH_MassErase(void); - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress); - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Option bytes control */ - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage); - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage); - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel); - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig); - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data); - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void); - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void); - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void); - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Exported functions ---------------------------------------------------------*/ - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 FLASHEx Memory Erasing functions - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief FLASH Memory Erasing functions - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @verbatim - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ============================================================================== - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### FLASH Erasing Programming functions ##### - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ============================================================================== - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..] The FLASH Memory Erasing functions, includes the following functions: - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (+) @ref HAL_FLASHEx_Erase: return only when erase has been done - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (+) @ref HAL_FLASHEx_Erase_IT: end of erase is done when @ref HAL_FLASH_EndOfOperationCallback - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** is called with parameter 0xFFFFFFFF - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..] Any operation of erase should follow these steps: - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (#) Call the @ref HAL_FLASH_Unlock() function to enable the flash control register and - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** program memory access. - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (#) Call the desired function to erase page. - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (#) Call the @ref HAL_FLASH_Lock() to disable the flash program memory access - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (recommended to protect the FLASH memory against possible unwanted operation). - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @endverbatim - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * must be called before. - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access - ARM GAS /tmp/ccBvyElF.s page 4 - - - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation) - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param[in] pEraseInit pointer to an FLASH_EraseInitTypeDef structure that - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the erasing. - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param[out] PageError pointer to variable that - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information on faulty page in case of error - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (0xFFFFFFFF means that all the pages have been correctly erased) - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError) - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR; - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U; - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Locked */ - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash); - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase)); - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Mass Erase requested for Bank1 */ - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK) - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Mass erase to be done*/ - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_MassErase(); - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */ - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER); - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Page Erase is requested */ - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress)); - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages)); - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Page Erase requested on address located on bank1 */ - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK) - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Initialization of PageError variable*/ - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *PageError = 0xFFFFFFFFU; - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Erase page by page to be done*/ - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** for(address = pEraseInit->PageAddress; - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress); - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE) - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_PageErase(address); - ARM GAS /tmp/ccBvyElF.s page 5 - - - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the PER Bit */ - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER); - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty address */ - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *PageError = address; - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** break; - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */ - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash); - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages with interrupt enabled - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * must be called before. - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation) - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param pEraseInit pointer to an FLASH_EraseInitTypeDef structure that - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the erasing. - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit) - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Locked */ - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash); - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If procedure already ongoing, reject the next one */ - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pFlash.ProcedureOnGoing != FLASH_PROC_NONE) - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return HAL_ERROR; - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase)); - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable End of FLASH Operation and Error source interrupts */ - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR); - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Mass erase to be done*/ - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE; - ARM GAS /tmp/ccBvyElF.s page 6 - - - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_MassErase(); - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Erase by page to be done*/ - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress)); - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages)); - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PAGEERASE; - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages; - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress; - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Erase 1st page and wait for IT*/ - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_PageErase(pEraseInit->PageAddress); - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group2 Option Bytes Programming functions - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Option Bytes Programming functions - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @verbatim - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ============================================================================== - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### Option Bytes Programming functions ##### - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ============================================================================== - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..] - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** This subsection provides a set of functions allowing to control the FLASH - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** option bytes operations. - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @endverbatim - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Erases the FLASH option bytes. - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note This functions erases all option bytes except the Read protection (RDP). - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (system reset will occur) - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBErase(void) - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0; - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR; - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get the actual read protection Option Byte value */ - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** rdptmp = FLASH_OB_GetRDP(); - ARM GAS /tmp/ccBvyElF.s page 7 - - - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */ - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER); - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT); - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */ - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER); - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Restore the last read protection Option Byte value */ - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(rdptmp); - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the erase status */ - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Program option bytes - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (system reset will occur) - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the programming. - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit) - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR; - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Locked */ - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash); - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OPTIONBYTE(pOBInit->OptionType)); - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Write protection configuration */ - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_WRP) == OPTIONBYTE_WRP) - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_WRPSTATE(pOBInit->WRPState)); - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pOBInit->WRPState == OB_WRPSTATE_ENABLE) - ARM GAS /tmp/ccBvyElF.s page 8 - - - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable of Write protection on the selected page */ - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_EnableWRP(pOBInit->WRPPage); - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Disable of Write protection on the selected page */ - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_DisableWRP(pOBInit->WRPPage); - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */ - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash); - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Read protection configuration */ - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_RDP) == OPTIONBYTE_RDP) - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(pOBInit->RDPLevel); - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */ - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash); - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* USER configuration */ - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_USER) == OPTIONBYTE_USER) - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_UserConfig(pOBInit->USERConfig); - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */ - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash); - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* DATA configuration*/ - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_DATA) == OPTIONBYTE_DATA) - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_ProgramData(pOBInit->DATAAddress, pOBInit->DATAData); - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */ - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash); - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */ - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash); - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - ARM GAS /tmp/ccBvyElF.s page 9 - - - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Get the Option byte configuration - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the programming. - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval None - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit) - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER; - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Get WRP*/ - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->WRPPage = FLASH_OB_GetWRP(); - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Get RDP Level*/ - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->RDPLevel = FLASH_OB_GetRDP(); - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Get USER*/ - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->USERConfig = FLASH_OB_GetUser(); - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Get the Option byte user data - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param DATAAdress Address of the option byte DATA - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be one of the following values: - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA0 - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA1 - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval Value programmed in USER data - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t HAL_FLASHEx_OBGetUserData(uint32_t DATAAdress) - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t value = 0U; - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (DATAAdress == OB_DATA_ADDRESS_DATA0) - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data0 */ - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA0) >> FLASH_POSITION_OB_USERDATA0_BIT; - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data1 */ - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA1) >> FLASH_POSITION_OB_USERDATA1_BIT; - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return value; - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - ARM GAS /tmp/ccBvyElF.s page 10 - - - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Full erase of FLASH memory Bank - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval None - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static void FLASH_MassErase(void) - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 25 .loc 1 501 0 - 26 .cfi_startproc - 27 @ args = 0, pretend = 0, frame = 0 - 28 @ frame_needed = 0, uses_anonymous_args = 0 - 29 @ link register save eliminated. - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 30 .loc 1 503 0 - 31 0000 064B ldr r3, .L2 - 32 0002 0022 movs r2, #0 - 33 0004 DA61 str r2, [r3, #28] - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Only bank1 will be erased*/ - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER); - 34 .loc 1 506 0 - 35 0006 064B ldr r3, .L2+4 - 36 0008 1A69 ldr r2, [r3, #16] - 37 000a 0421 movs r1, #4 - 38 000c 0A43 orrs r2, r1 - 39 000e 1A61 str r2, [r3, #16] - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT); - 40 .loc 1 507 0 - 41 0010 1A69 ldr r2, [r3, #16] - 42 0012 3C31 adds r1, r1, #60 - 43 0014 0A43 orrs r2, r1 - 44 0016 1A61 str r2, [r3, #16] - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 45 .loc 1 508 0 - 46 @ sp needed - 47 0018 7047 bx lr - 48 .L3: - 49 001a C046 .align 2 - 50 .L2: - 51 001c 00000000 .word pFlash - 52 0020 00200240 .word 1073881088 - 53 .cfi_endproc - 54 .LFE46: - 56 .section .text.FLASH_OB_GetWRP,"ax",%progbits - 57 .align 1 - 58 .syntax unified - 59 .code 16 - 60 .thumb_func - 61 .fpu softvfp - 63 FLASH_OB_GetWRP: - 64 .LFB52: - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - ARM GAS /tmp/ccBvyElF.s page 11 - - - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Enable the write protection of the desired pages - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function. - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1), - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1 - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write protected. - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage) - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFFU; - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1) - 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFFU; - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */ - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2) - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFFU; - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */ - 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3) - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFFU; - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */ - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage)); - 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be protected ******/ - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WriteProtectPage = (uint32_t)(~((~FLASH_OB_GetWRP()) | WriteProtectPage)); - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK) - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK); - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK) - 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK); - 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */ - 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK) - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U); - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK) - 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U); - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */ - 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK) - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U); - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */ - 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES48TO63MASK) - 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO63MASK) >> 24U); - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK) - 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U); - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES48TO63MASK */ - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - ARM GAS /tmp/ccBvyElF.s page 12 - - - 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */ - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase(); - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK) - 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable write protection */ - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG); - 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP0_WRP0) - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU) - 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP0 &= WRP0_Data; - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP0_WRP0 */ - 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1) - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU)) - 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP1 &= WRP1_Data; - 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */ - 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2) - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU)) - 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP2 &= WRP2_Data; - 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */ - 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3) - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU)) - 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP3 &= WRP3_Data; - 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */ - 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */ - 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG); - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - ARM GAS /tmp/ccBvyElF.s page 13 - - - 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Disable the write protection of the desired pages - 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function. - 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1), - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if - 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1 - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write unprotected. - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series - 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status - 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage) - 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFFU; - 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1) - 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFFU; - 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */ - 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2) - 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFFU; - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */ - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3) - 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFFU; - 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */ - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage)); - 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be unprotected ******/ - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WriteProtectPage = (FLASH_OB_GetWRP() | WriteProtectPage); - 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK) - 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK); - 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK) - 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK); - 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */ - 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK) - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U); - 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK) - 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U); - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */ - 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK) - 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U); - 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */ - 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES48TO63MASK) - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO63MASK) >> 24U); - 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK) - 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U); - 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES48TO63MASK */ - 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - ARM GAS /tmp/ccBvyElF.s page 14 - - - 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */ - 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase(); - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK) - 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG); - 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP0_WRP0) - 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU) - 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP0 |= WRP0_Data; - 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP0_WRP0 */ - 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1) - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU)) - 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP1 |= WRP1_Data; - 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */ - 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2) - 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU)) - 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP2 |= WRP2_Data; - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */ - 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3) - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU)) - 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP3 |= WRP3_Data; - 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */ - 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */ - 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG); - 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - ARM GAS /tmp/ccBvyElF.s page 15 - - - 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Set the read protection level. - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param ReadProtectLevel specifies the read protection level. - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be one of the following values: - 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection - 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_2 Full chip protection - 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note Warning: When enabling OB_RDP level 2 it's no more possible to go back to level 1 or 0 - 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status - 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel) - 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_RDP_LEVEL(ReadProtectLevel)); - 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */ - 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER); - 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT); - 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */ - 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER); - 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */ - 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG); - 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRITE_REG(OB->RDP, ReadProtectLevel); - 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */ - 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG); - 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - ARM GAS /tmp/ccBvyElF.s page 16 - - - 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Program the FLASH User Option Byte. - 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note Programming of the OB should be performed only after an erase (otherwise PGERR occurs) - 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param UserConfig The FLASH User Option Bytes values: IWDG_SW(Bit0), RST_STOP(Bit1), RST_STDBY - 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * VDDA_Analog_Monitoring(Bit5) and SRAM_Parity_Enable(Bit6). - 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * For few devices, following option bytes are available: nBOOT0(Bit3) & BOOT_SEL(Bit7). - 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status - 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig) - 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_IWDG_SOURCE((UserConfig&OB_IWDG_SW))); - 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_SOURCE((UserConfig&OB_STOP_NO_RST))); - 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_SOURCE((UserConfig&OB_STDBY_NO_RST))); - 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT1((UserConfig&OB_BOOT1_SET))); - 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_VDDA_ANALOG((UserConfig&OB_VDDA_ANALOG_ON))); - 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_SRAM_PARITY((UserConfig&OB_SRAM_PARITY_RESET))); - 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(FLASH_OBR_BOOT_SEL) - 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT_SEL((UserConfig&OB_BOOT_SEL_SET))); - 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT0((UserConfig&OB_BOOT0_SET))); - 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* FLASH_OBR_BOOT_SEL */ - 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */ - 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG); - 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(FLASH_OBR_BOOT_SEL) - 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->USER = UserConfig; - 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #else - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->USER = (UserConfig | 0x88U); - 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif - 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */ - 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG); - 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Programs a half word at a specified Option Byte Data address. - 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf - 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b - 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t - 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (system reset will occur) - 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * Programming of the OB should be performed only after an erase (otherwise PGERR occurs) - ARM GAS /tmp/ccBvyElF.s page 17 - - - 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param Address specifies the address to be programmed. - 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be 0x1FFFF804 or 0x1FFFF806. - 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param Data specifies the data to be programmed. - 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status - 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data) - 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR; - 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */ - 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_DATA_ADDRESS(Address)); - 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK) - 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enables the Option Bytes Programming operation */ - 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG); - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data; - 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */ - 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); - 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the program operation is completed, disable the OPTPG Bit */ - 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG); - 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the Option Byte Data Program Status */ - 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Return the FLASH Write Protection Option Bytes value. - 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval The FLASH Write Protection Option Bytes value - 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void) - 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 65 .loc 1 891 0 - 66 .cfi_startproc - 67 @ args = 0, pretend = 0, frame = 0 - 68 @ frame_needed = 0, uses_anonymous_args = 0 - 69 @ link register save eliminated. - 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the FLASH write protection Register value */ - 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return (uint32_t)(READ_REG(FLASH->WRPR)); - 70 .loc 1 893 0 - 71 0000 014B ldr r3, .L5 - 72 0002 186A ldr r0, [r3, #32] - 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 73 .loc 1 894 0 - 74 @ sp needed - 75 0004 7047 bx lr - 76 .L6: - 77 0006 C046 .align 2 - 78 .L5: - ARM GAS /tmp/ccBvyElF.s page 18 - - - 79 0008 00200240 .word 1073881088 - 80 .cfi_endproc - 81 .LFE52: - 83 .section .text.FLASH_OB_GetRDP,"ax",%progbits - 84 .align 1 - 85 .syntax unified - 86 .code 16 - 87 .thumb_func - 88 .fpu softvfp - 90 FLASH_OB_GetRDP: - 91 .LFB53: - 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Returns the FLASH Read Protection level. - 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval FLASH RDP level - 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be one of the following values: - 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection - 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory - 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_2 Full chip protection - 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void) - 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 92 .loc 1 905 0 - 93 .cfi_startproc - 94 @ args = 0, pretend = 0, frame = 0 - 95 @ frame_needed = 0, uses_anonymous_args = 0 - 96 @ link register save eliminated. - 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t tmp_reg; - 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Read RDP level bits */ - 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** tmp_reg = READ_BIT(FLASH->OBR, (FLASH_OBR_RDPRT1 | FLASH_OBR_RDPRT2)); - 97 .loc 1 909 0 - 98 0000 064B ldr r3, .L12 - 99 0002 DB69 ldr r3, [r3, #28] - 100 0004 0622 movs r2, #6 - 101 .LVL0: - 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (tmp_reg == 0U) - 102 .loc 1 911 0 - 103 0006 1A42 tst r2, r3 - 104 0008 05D0 beq .L9 - 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return OB_RDP_LEVEL_0; - 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else if ((tmp_reg & FLASH_OBR_RDPRT2) == FLASH_OBR_RDPRT2) - 105 .loc 1 915 0 - 106 000a 5B07 lsls r3, r3, #29 - 107 000c 01D4 bmi .L11 - 108 .LVL1: - 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return OB_RDP_LEVEL_2; - 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else - 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return OB_RDP_LEVEL_1; - 109 .loc 1 921 0 - 110 000e BB20 movs r0, #187 - ARM GAS /tmp/ccBvyElF.s page 19 - - - 111 0010 02E0 b .L7 - 112 .L11: - 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 113 .loc 1 917 0 - 114 0012 CC20 movs r0, #204 - 115 0014 00E0 b .L7 - 116 .LVL2: - 117 .L9: - 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 118 .loc 1 913 0 - 119 0016 AA20 movs r0, #170 - 120 .LVL3: - 121 .L7: - 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 122 .loc 1 923 0 - 123 @ sp needed - 124 0018 7047 bx lr - 125 .L13: - 126 001a C046 .align 2 - 127 .L12: - 128 001c 00200240 .word 1073881088 - 129 .cfi_endproc - 130 .LFE53: - 132 .section .text.FLASH_OB_GetUser,"ax",%progbits - 133 .align 1 - 134 .syntax unified - 135 .code 16 - 136 .thumb_func - 137 .fpu softvfp - 139 FLASH_OB_GetUser: - 140 .LFB54: - 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Return the FLASH User Option Byte value. - 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval The FLASH User Option Bytes values: IWDG_SW(Bit0), RST_STOP(Bit1), RST_STDBY(Bit2), nB - 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * VDDA_Analog_Monitoring(Bit5) and SRAM_Parity_Enable(Bit6). - 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * For few devices, following option bytes are available: nBOOT0(Bit3) & BOOT_SEL(Bit7). - 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void) - 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 141 .loc 1 932 0 - 142 .cfi_startproc - 143 @ args = 0, pretend = 0, frame = 0 - 144 @ frame_needed = 0, uses_anonymous_args = 0 - 145 @ link register save eliminated. - 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the User Option Byte */ - 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return (uint8_t)((READ_REG(FLASH->OBR) & FLASH_OBR_USER) >> FLASH_POSITION_IWDGSW_BIT); - 146 .loc 1 934 0 - 147 0000 024B ldr r3, .L15 - 148 0002 DB69 ldr r3, [r3, #28] - 149 0004 1B0A lsrs r3, r3, #8 - 150 0006 7720 movs r0, #119 - 151 0008 1840 ands r0, r3 - 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 152 .loc 1 935 0 - 153 @ sp needed - ARM GAS /tmp/ccBvyElF.s page 20 - - - 154 000a 7047 bx lr - 155 .L16: - 156 .align 2 - 157 .L15: - 158 000c 00200240 .word 1073881088 - 159 .cfi_endproc - 160 .LFE54: - 162 .section .text.FLASH_OB_RDP_LevelConfig,"ax",%progbits - 163 .align 1 - 164 .syntax unified - 165 .code 16 - 166 .thumb_func - 167 .fpu softvfp - 169 FLASH_OB_RDP_LevelConfig: - 170 .LFB49: - 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 171 .loc 1 752 0 - 172 .cfi_startproc - 173 @ args = 0, pretend = 0, frame = 0 - 174 @ frame_needed = 0, uses_anonymous_args = 0 - 175 .LVL4: - 176 0000 70B5 push {r4, r5, r6, lr} - 177 .LCFI0: - 178 .cfi_def_cfa_offset 16 - 179 .cfi_offset 4, -16 - 180 .cfi_offset 5, -12 - 181 .cfi_offset 6, -8 - 182 .cfi_offset 14, -4 - 183 0002 0500 movs r5, r0 - 184 .LVL5: - 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 185 .loc 1 759 0 - 186 0004 1348 ldr r0, .L20 - 187 .LVL6: - 188 0006 FFF7FEFF bl FLASH_WaitForLastOperation - 189 .LVL7: - 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 190 .loc 1 761 0 - 191 000a 0028 cmp r0, #0 - 192 000c 00D0 beq .L19 - 193 .LVL8: - 194 .L18: - 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 195 .loc 1 792 0 - 196 @ sp needed - 197 000e 70BD pop {r4, r5, r6, pc} - 198 .L19: - 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 199 .loc 1 764 0 - 200 0010 114B ldr r3, .L20+4 - 201 0012 0022 movs r2, #0 - 202 0014 DA61 str r2, [r3, #28] - 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT); - 203 .loc 1 767 0 - 204 0016 114C ldr r4, .L20+8 - 205 0018 2369 ldr r3, [r4, #16] - 206 001a 2026 movs r6, #32 - ARM GAS /tmp/ccBvyElF.s page 21 - - - 207 001c 3343 orrs r3, r6 - 208 001e 2361 str r3, [r4, #16] - 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 209 .loc 1 768 0 - 210 0020 2369 ldr r3, [r4, #16] - 211 0022 4032 adds r2, r2, #64 - 212 0024 1343 orrs r3, r2 - 213 0026 2361 str r3, [r4, #16] - 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 214 .loc 1 771 0 - 215 0028 0A48 ldr r0, .L20 - 216 .LVL9: - 217 002a FFF7FEFF bl FLASH_WaitForLastOperation - 218 .LVL10: - 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 219 .loc 1 774 0 - 220 002e 2369 ldr r3, [r4, #16] - 221 0030 B343 bics r3, r6 - 222 0032 2361 str r3, [r4, #16] - 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 223 .loc 1 776 0 - 224 0034 0028 cmp r0, #0 - 225 0036 EAD1 bne .L18 - 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 226 .loc 1 779 0 - 227 0038 2369 ldr r3, [r4, #16] - 228 003a 103E subs r6, r6, #16 - 229 003c 3343 orrs r3, r6 - 230 003e 2361 str r3, [r4, #16] - 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 231 .loc 1 781 0 - 232 0040 ADB2 uxth r5, r5 - 233 0042 074B ldr r3, .L20+12 - 234 0044 1D80 strh r5, [r3] - 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 235 .loc 1 784 0 - 236 0046 0348 ldr r0, .L20 - 237 .LVL11: - 238 0048 FFF7FEFF bl FLASH_WaitForLastOperation - 239 .LVL12: - 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 240 .loc 1 787 0 - 241 004c 2369 ldr r3, [r4, #16] - 242 004e B343 bics r3, r6 - 243 0050 2361 str r3, [r4, #16] - 244 0052 DCE7 b .L18 - 245 .L21: - 246 .align 2 - 247 .L20: - 248 0054 50C30000 .word 50000 - 249 0058 00000000 .word pFlash - 250 005c 00200240 .word 1073881088 - 251 0060 00F8FF1F .word 536868864 - 252 .cfi_endproc - 253 .LFE49: - 255 .section .text.FLASH_OB_UserConfig,"ax",%progbits - 256 .align 1 - ARM GAS /tmp/ccBvyElF.s page 22 - - - 257 .syntax unified - 258 .code 16 - 259 .thumb_func - 260 .fpu softvfp - 262 FLASH_OB_UserConfig: - 263 .LFB50: - 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 264 .loc 1 803 0 - 265 .cfi_startproc - 266 @ args = 0, pretend = 0, frame = 0 - 267 @ frame_needed = 0, uses_anonymous_args = 0 - 268 .LVL13: - 269 0000 70B5 push {r4, r5, r6, lr} - 270 .LCFI1: - 271 .cfi_def_cfa_offset 16 - 272 .cfi_offset 4, -16 - 273 .cfi_offset 5, -12 - 274 .cfi_offset 6, -8 - 275 .cfi_offset 14, -4 - 276 0002 0400 movs r4, r0 - 277 .LVL14: - 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 278 .loc 1 819 0 - 279 0004 0C48 ldr r0, .L25 - 280 .LVL15: - 281 0006 FFF7FEFF bl FLASH_WaitForLastOperation - 282 .LVL16: - 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 283 .loc 1 821 0 - 284 000a 0028 cmp r0, #0 - 285 000c 00D0 beq .L24 - 286 .LVL17: - 287 .L23: - 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 288 .loc 1 843 0 - 289 @ sp needed - 290 000e 70BD pop {r4, r5, r6, pc} - 291 .L24: - 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 292 .loc 1 824 0 - 293 0010 0A4B ldr r3, .L25+4 - 294 0012 0022 movs r2, #0 - 295 0014 DA61 str r2, [r3, #28] - 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 296 .loc 1 827 0 - 297 0016 0A4D ldr r5, .L25+8 - 298 0018 2B69 ldr r3, [r5, #16] - 299 001a 1026 movs r6, #16 - 300 001c 3343 orrs r3, r6 - 301 001e 2B61 str r3, [r5, #16] - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif - 302 .loc 1 832 0 - 303 0020 7838 subs r0, r0, #120 - 304 .LVL18: - 305 0022 2043 orrs r0, r4 - 306 .LVL19: - 307 0024 C0B2 uxtb r0, r0 - ARM GAS /tmp/ccBvyElF.s page 23 - - - 308 0026 074B ldr r3, .L25+12 - 309 0028 5880 strh r0, [r3, #2] - 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 310 .loc 1 836 0 - 311 002a 0348 ldr r0, .L25 - 312 002c FFF7FEFF bl FLASH_WaitForLastOperation - 313 .LVL20: - 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 314 .loc 1 839 0 - 315 0030 2B69 ldr r3, [r5, #16] - 316 0032 B343 bics r3, r6 - 317 0034 2B61 str r3, [r5, #16] - 318 0036 EAE7 b .L23 - 319 .L26: - 320 .align 2 - 321 .L25: - 322 0038 50C30000 .word 50000 - 323 003c 00000000 .word pFlash - 324 0040 00200240 .word 1073881088 - 325 0044 00F8FF1F .word 536868864 - 326 .cfi_endproc - 327 .LFE50: - 329 .section .text.FLASH_OB_ProgramData,"ax",%progbits - 330 .align 1 - 331 .syntax unified - 332 .code 16 - 333 .thumb_func - 334 .fpu softvfp - 336 FLASH_OB_ProgramData: - 337 .LFB51: - 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR; - 338 .loc 1 858 0 - 339 .cfi_startproc - 340 @ args = 0, pretend = 0, frame = 0 - 341 @ frame_needed = 0, uses_anonymous_args = 0 - 342 .LVL21: - 343 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 344 .LCFI2: - 345 .cfi_def_cfa_offset 24 - 346 .cfi_offset 3, -24 - 347 .cfi_offset 4, -20 - 348 .cfi_offset 5, -16 - 349 .cfi_offset 6, -12 - 350 .cfi_offset 7, -8 - 351 .cfi_offset 14, -4 - 352 0002 0500 movs r5, r0 - 353 0004 0C00 movs r4, r1 - 354 .LVL22: - 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 355 .loc 1 865 0 - 356 0006 0B48 ldr r0, .L30 - 357 .LVL23: - 358 0008 FFF7FEFF bl FLASH_WaitForLastOperation - 359 .LVL24: - 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 360 .loc 1 867 0 - 361 000c 0028 cmp r0, #0 - ARM GAS /tmp/ccBvyElF.s page 24 - - - 362 000e 00D0 beq .L29 - 363 .LVL25: - 364 .L28: - 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 365 .loc 1 884 0 - 366 @ sp needed - 367 .LVL26: - 368 0010 F8BD pop {r3, r4, r5, r6, r7, pc} - 369 .LVL27: - 370 .L29: - 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 371 .loc 1 870 0 - 372 0012 094B ldr r3, .L30+4 - 373 0014 0022 movs r2, #0 - 374 0016 DA61 str r2, [r3, #28] - 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data; - 375 .loc 1 873 0 - 376 0018 084E ldr r6, .L30+8 - 377 001a 3369 ldr r3, [r6, #16] - 378 001c 1027 movs r7, #16 - 379 001e 3B43 orrs r3, r7 - 380 0020 3361 str r3, [r6, #16] - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 381 .loc 1 874 0 - 382 0022 A4B2 uxth r4, r4 - 383 0024 2C80 strh r4, [r5] - 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 384 .loc 1 877 0 - 385 0026 0348 ldr r0, .L30 - 386 .LVL28: - 387 0028 FFF7FEFF bl FLASH_WaitForLastOperation - 388 .LVL29: - 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 389 .loc 1 880 0 - 390 002c 3369 ldr r3, [r6, #16] - 391 002e BB43 bics r3, r7 - 392 0030 3361 str r3, [r6, #16] - 393 0032 EDE7 b .L28 - 394 .L31: - 395 .align 2 - 396 .L30: - 397 0034 50C30000 .word 50000 - 398 0038 00000000 .word pFlash - 399 003c 00200240 .word 1073881088 - 400 .cfi_endproc - 401 .LFE51: - 403 .section .text.HAL_FLASHEx_OBErase,"ax",%progbits - 404 .align 1 - 405 .global HAL_FLASHEx_OBErase - 406 .syntax unified - 407 .code 16 - 408 .thumb_func - 409 .fpu softvfp - 411 HAL_FLASHEx_OBErase: - 412 .LFB42: - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0; - 413 .loc 1 314 0 - ARM GAS /tmp/ccBvyElF.s page 25 - - - 414 .cfi_startproc - 415 @ args = 0, pretend = 0, frame = 0 - 416 @ frame_needed = 0, uses_anonymous_args = 0 - 417 0000 70B5 push {r4, r5, r6, lr} - 418 .LCFI3: - 419 .cfi_def_cfa_offset 16 - 420 .cfi_offset 4, -16 - 421 .cfi_offset 5, -12 - 422 .cfi_offset 6, -8 - 423 .cfi_offset 14, -4 - 424 .LVL30: - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 425 .loc 1 319 0 - 426 0002 FFF7FEFF bl FLASH_OB_GetRDP - 427 .LVL31: - 428 0006 C5B2 uxtb r5, r0 - 429 .LVL32: - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 430 .loc 1 322 0 - 431 0008 0E48 ldr r0, .L35 - 432 000a FFF7FEFF bl FLASH_WaitForLastOperation - 433 .LVL33: - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 434 .loc 1 324 0 - 435 000e 0028 cmp r0, #0 - 436 0010 00D0 beq .L34 - 437 .LVL34: - 438 .L33: - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 439 .loc 1 348 0 - 440 @ sp needed - 441 .LVL35: - 442 0012 70BD pop {r4, r5, r6, pc} - 443 .LVL36: - 444 .L34: - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 445 .loc 1 327 0 - 446 0014 0C4B ldr r3, .L35+4 - 447 0016 0022 movs r2, #0 - 448 0018 DA61 str r2, [r3, #28] - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT); - 449 .loc 1 330 0 - 450 001a 0C4C ldr r4, .L35+8 - 451 001c 2369 ldr r3, [r4, #16] - 452 001e 2026 movs r6, #32 - 453 0020 3343 orrs r3, r6 - 454 0022 2361 str r3, [r4, #16] - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 455 .loc 1 331 0 - 456 0024 2369 ldr r3, [r4, #16] - 457 0026 4032 adds r2, r2, #64 - 458 0028 1343 orrs r3, r2 - 459 002a 2361 str r3, [r4, #16] - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 460 .loc 1 334 0 - 461 002c 0548 ldr r0, .L35 - 462 .LVL37: - ARM GAS /tmp/ccBvyElF.s page 26 - - - 463 002e FFF7FEFF bl FLASH_WaitForLastOperation - 464 .LVL38: - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 465 .loc 1 337 0 - 466 0032 2369 ldr r3, [r4, #16] - 467 0034 B343 bics r3, r6 - 468 0036 2361 str r3, [r4, #16] - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 469 .loc 1 339 0 - 470 0038 0028 cmp r0, #0 - 471 003a EAD1 bne .L33 - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 472 .loc 1 342 0 - 473 003c 2800 movs r0, r5 - 474 .LVL39: - 475 003e FFF7FEFF bl FLASH_OB_RDP_LevelConfig - 476 .LVL40: - 477 0042 E6E7 b .L33 - 478 .L36: - 479 .align 2 - 480 .L35: - 481 0044 50C30000 .word 50000 - 482 0048 00000000 .word pFlash - 483 004c 00200240 .word 1073881088 - 484 .cfi_endproc - 485 .LFE42: - 487 .section .text.FLASH_OB_EnableWRP,"ax",%progbits - 488 .align 1 - 489 .syntax unified - 490 .code 16 - 491 .thumb_func - 492 .fpu softvfp - 494 FLASH_OB_EnableWRP: - 495 .LFB47: - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 496 .loc 1 522 0 - 497 .cfi_startproc - 498 @ args = 0, pretend = 0, frame = 0 - 499 @ frame_needed = 0, uses_anonymous_args = 0 - 500 .LVL41: - 501 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 502 .LCFI4: - 503 .cfi_def_cfa_offset 24 - 504 .cfi_offset 3, -24 - 505 .cfi_offset 4, -20 - 506 .cfi_offset 5, -16 - 507 .cfi_offset 6, -12 - 508 .cfi_offset 7, -8 - 509 .cfi_offset 14, -4 - 510 0002 0400 movs r4, r0 - 511 .LVL42: - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 512 .loc 1 539 0 - 513 0004 FFF7FEFF bl FLASH_OB_GetWRP - 514 .LVL43: - 515 0008 C043 mvns r0, r0 - 516 000a 0443 orrs r4, r0 - ARM GAS /tmp/ccBvyElF.s page 27 - - - 517 .LVL44: - 518 000c E443 mvns r4, r4 - 519 .LVL45: - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK) - 520 .loc 1 542 0 - 521 000e FF25 movs r5, #255 - 522 0010 2700 movs r7, r4 - 523 0012 2F40 ands r7, r5 - 524 .LVL46: - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK) - 525 .loc 1 548 0 - 526 0014 260A lsrs r6, r4, #8 - 527 0016 2E40 ands r6, r5 - 528 .LVL47: - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */ - 529 .loc 1 554 0 - 530 0018 230C lsrs r3, r4, #16 - 531 001a 1D40 ands r5, r3 - 532 .LVL48: - 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK) - 533 .loc 1 558 0 - 534 001c 240E lsrs r4, r4, #24 - 535 .LVL49: - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 536 .loc 1 564 0 - 537 001e 2348 ldr r0, .L48 - 538 .LVL50: - 539 0020 FFF7FEFF bl FLASH_WaitForLastOperation - 540 .LVL51: - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 541 .loc 1 566 0 - 542 0024 0028 cmp r0, #0 - 543 0026 00D0 beq .L43 - 544 .LVL52: - 545 .L38: - 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 546 .loc 1 624 0 - 547 @ sp needed - 548 .LVL53: - 549 0028 F8BD pop {r3, r4, r5, r6, r7, pc} - 550 .LVL54: - 551 .L43: - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 552 .loc 1 569 0 - 553 002a 214B ldr r3, .L48+4 - 554 002c 0022 movs r2, #0 - 555 002e DA61 str r2, [r3, #28] - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK) - 556 .loc 1 572 0 - 557 0030 FFF7FEFF bl HAL_FLASHEx_OBErase - 558 .LVL55: - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 559 .loc 1 573 0 - 560 0034 0028 cmp r0, #0 - 561 0036 F7D1 bne .L38 - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 562 .loc 1 576 0 - ARM GAS /tmp/ccBvyElF.s page 28 - - - 563 0038 1E4A ldr r2, .L48+8 - 564 003a 1369 ldr r3, [r2, #16] - 565 003c 1021 movs r1, #16 - 566 003e 0B43 orrs r3, r1 - 567 0040 1361 str r3, [r2, #16] - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 568 .loc 1 579 0 - 569 0042 FF2F cmp r7, #255 - 570 0044 11D1 bne .L44 - 571 .LVL56: - 572 .L39: - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 573 .loc 1 589 0 - 574 0046 0028 cmp r0, #0 - 575 0048 01D1 bne .L40 - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 576 .loc 1 589 0 is_stmt 0 discriminator 1 - 577 004a FF2E cmp r6, #255 - 578 004c 15D1 bne .L45 - 579 .LVL57: - 580 .L40: - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 581 .loc 1 599 0 is_stmt 1 - 582 004e 0028 cmp r0, #0 - 583 0050 01D1 bne .L41 - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 584 .loc 1 599 0 is_stmt 0 discriminator 1 - 585 0052 FF2D cmp r5, #255 - 586 0054 19D1 bne .L46 - 587 .LVL58: - 588 .L41: - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 589 .loc 1 609 0 is_stmt 1 - 590 0056 0028 cmp r0, #0 - 591 0058 01D1 bne .L42 - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 592 .loc 1 609 0 is_stmt 0 discriminator 1 - 593 005a FF2C cmp r4, #255 - 594 005c 1DD1 bne .L47 - 595 .LVL59: - 596 .L42: - 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 597 .loc 1 619 0 is_stmt 1 - 598 005e 154A ldr r2, .L48+8 - 599 0060 1369 ldr r3, [r2, #16] - 600 0062 1021 movs r1, #16 - 601 0064 8B43 bics r3, r1 - 602 0066 1361 str r3, [r2, #16] - 603 0068 DEE7 b .L38 - 604 .LVL60: - 605 .L44: - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 606 .loc 1 581 0 - 607 006a 134A ldr r2, .L48+12 - 608 006c 1389 ldrh r3, [r2, #8] - 609 006e 1F40 ands r7, r3 - 610 .LVL61: - ARM GAS /tmp/ccBvyElF.s page 29 - - - 611 0070 1781 strh r7, [r2, #8] - 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 612 .loc 1 584 0 - 613 0072 0E48 ldr r0, .L48 - 614 .LVL62: - 615 0074 FFF7FEFF bl FLASH_WaitForLastOperation - 616 .LVL63: - 617 0078 E5E7 b .L39 - 618 .L45: - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 619 .loc 1 591 0 - 620 007a 0F4A ldr r2, .L48+12 - 621 007c 5389 ldrh r3, [r2, #10] - 622 007e 1E40 ands r6, r3 - 623 .LVL64: - 624 0080 5681 strh r6, [r2, #10] - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 625 .loc 1 594 0 - 626 0082 0A48 ldr r0, .L48 - 627 .LVL65: - 628 0084 FFF7FEFF bl FLASH_WaitForLastOperation - 629 .LVL66: - 630 0088 E1E7 b .L40 - 631 .L46: - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 632 .loc 1 601 0 - 633 008a 0B4A ldr r2, .L48+12 - 634 008c 9389 ldrh r3, [r2, #12] - 635 008e 1D40 ands r5, r3 - 636 .LVL67: - 637 0090 9581 strh r5, [r2, #12] - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 638 .loc 1 604 0 - 639 0092 0648 ldr r0, .L48 - 640 .LVL68: - 641 0094 FFF7FEFF bl FLASH_WaitForLastOperation - 642 .LVL69: - 643 0098 DDE7 b .L41 - 644 .L47: - 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 645 .loc 1 611 0 - 646 009a 074B ldr r3, .L48+12 - 647 009c D889 ldrh r0, [r3, #14] - 648 .LVL70: - 649 009e 2040 ands r0, r4 - 650 00a0 D881 strh r0, [r3, #14] - 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 651 .loc 1 614 0 - 652 00a2 0248 ldr r0, .L48 - 653 00a4 FFF7FEFF bl FLASH_WaitForLastOperation - 654 .LVL71: - 655 00a8 D9E7 b .L42 - 656 .L49: - 657 00aa C046 .align 2 - 658 .L48: - 659 00ac 50C30000 .word 50000 - 660 00b0 00000000 .word pFlash - ARM GAS /tmp/ccBvyElF.s page 30 - - - 661 00b4 00200240 .word 1073881088 - 662 00b8 00F8FF1F .word 536868864 - 663 .cfi_endproc - 664 .LFE47: - 666 .section .text.FLASH_OB_DisableWRP,"ax",%progbits - 667 .align 1 - 668 .syntax unified - 669 .code 16 - 670 .thumb_func - 671 .fpu softvfp - 673 FLASH_OB_DisableWRP: - 674 .LFB48: - 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 675 .loc 1 638 0 - 676 .cfi_startproc - 677 @ args = 0, pretend = 0, frame = 0 - 678 @ frame_needed = 0, uses_anonymous_args = 0 - 679 .LVL72: - 680 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 681 .LCFI5: - 682 .cfi_def_cfa_offset 24 - 683 .cfi_offset 3, -24 - 684 .cfi_offset 4, -20 - 685 .cfi_offset 5, -16 - 686 .cfi_offset 6, -12 - 687 .cfi_offset 7, -8 - 688 .cfi_offset 14, -4 - 689 0002 0400 movs r4, r0 - 690 .LVL73: - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 691 .loc 1 655 0 - 692 0004 FFF7FEFF bl FLASH_OB_GetWRP - 693 .LVL74: - 694 0008 0443 orrs r4, r0 - 695 .LVL75: - 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK) - 696 .loc 1 658 0 - 697 000a FF25 movs r5, #255 - 698 000c 2700 movs r7, r4 - 699 000e 2F40 ands r7, r5 - 700 .LVL76: - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK) - 701 .loc 1 664 0 - 702 0010 260A lsrs r6, r4, #8 - 703 0012 2E40 ands r6, r5 - 704 .LVL77: - 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */ - 705 .loc 1 670 0 - 706 0014 230C lsrs r3, r4, #16 - 707 0016 1D40 ands r5, r3 - 708 .LVL78: - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK) - 709 .loc 1 674 0 - 710 0018 240E lsrs r4, r4, #24 - 711 .LVL79: - 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 712 .loc 1 681 0 - ARM GAS /tmp/ccBvyElF.s page 31 - - - 713 001a 2348 ldr r0, .L61 - 714 .LVL80: - 715 001c FFF7FEFF bl FLASH_WaitForLastOperation - 716 .LVL81: - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 717 .loc 1 683 0 - 718 0020 0028 cmp r0, #0 - 719 0022 00D0 beq .L56 - 720 .LVL82: - 721 .L51: - 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 722 .loc 1 739 0 - 723 @ sp needed - 724 .LVL83: - 725 0024 F8BD pop {r3, r4, r5, r6, r7, pc} - 726 .LVL84: - 727 .L56: - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 728 .loc 1 686 0 - 729 0026 214B ldr r3, .L61+4 - 730 0028 0022 movs r2, #0 - 731 002a DA61 str r2, [r3, #28] - 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK) - 732 .loc 1 689 0 - 733 002c FFF7FEFF bl HAL_FLASHEx_OBErase - 734 .LVL85: - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 735 .loc 1 690 0 - 736 0030 0028 cmp r0, #0 - 737 0032 F7D1 bne .L51 - 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 738 .loc 1 692 0 - 739 0034 1E4A ldr r2, .L61+8 - 740 0036 1369 ldr r3, [r2, #16] - 741 0038 1021 movs r1, #16 - 742 003a 0B43 orrs r3, r1 - 743 003c 1361 str r3, [r2, #16] - 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 744 .loc 1 695 0 - 745 003e FF2F cmp r7, #255 - 746 0040 11D1 bne .L57 - 747 .LVL86: - 748 .L52: - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 749 .loc 1 705 0 - 750 0042 0028 cmp r0, #0 - 751 0044 01D1 bne .L53 - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 752 .loc 1 705 0 is_stmt 0 discriminator 1 - 753 0046 FF2E cmp r6, #255 - 754 0048 15D1 bne .L58 - 755 .LVL87: - 756 .L53: - 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 757 .loc 1 715 0 is_stmt 1 - 758 004a 0028 cmp r0, #0 - 759 004c 01D1 bne .L54 - ARM GAS /tmp/ccBvyElF.s page 32 - - - 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 760 .loc 1 715 0 is_stmt 0 discriminator 1 - 761 004e FF2D cmp r5, #255 - 762 0050 19D1 bne .L59 - 763 .LVL88: - 764 .L54: - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 765 .loc 1 725 0 is_stmt 1 - 766 0052 0028 cmp r0, #0 - 767 0054 01D1 bne .L55 - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 768 .loc 1 725 0 is_stmt 0 discriminator 1 - 769 0056 FF2C cmp r4, #255 - 770 0058 1DD1 bne .L60 - 771 .LVL89: - 772 .L55: - 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 773 .loc 1 735 0 is_stmt 1 - 774 005a 154A ldr r2, .L61+8 - 775 005c 1369 ldr r3, [r2, #16] - 776 005e 1021 movs r1, #16 - 777 0060 8B43 bics r3, r1 - 778 0062 1361 str r3, [r2, #16] - 779 0064 DEE7 b .L51 - 780 .LVL90: - 781 .L57: - 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 782 .loc 1 697 0 - 783 0066 134A ldr r2, .L61+12 - 784 0068 1389 ldrh r3, [r2, #8] - 785 006a 1F43 orrs r7, r3 - 786 .LVL91: - 787 006c 1781 strh r7, [r2, #8] - 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 788 .loc 1 700 0 - 789 006e 0E48 ldr r0, .L61 - 790 .LVL92: - 791 0070 FFF7FEFF bl FLASH_WaitForLastOperation - 792 .LVL93: - 793 0074 E5E7 b .L52 - 794 .L58: - 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 795 .loc 1 707 0 - 796 0076 0F4A ldr r2, .L61+12 - 797 0078 5389 ldrh r3, [r2, #10] - 798 007a 1E43 orrs r6, r3 - 799 .LVL94: - 800 007c 5681 strh r6, [r2, #10] - 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 801 .loc 1 710 0 - 802 007e 0A48 ldr r0, .L61 - 803 .LVL95: - 804 0080 FFF7FEFF bl FLASH_WaitForLastOperation - 805 .LVL96: - 806 0084 E1E7 b .L53 - 807 .L59: - 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - ARM GAS /tmp/ccBvyElF.s page 33 - - - 808 .loc 1 717 0 - 809 0086 0B4A ldr r2, .L61+12 - 810 0088 9389 ldrh r3, [r2, #12] - 811 008a 1D43 orrs r5, r3 - 812 .LVL97: - 813 008c 9581 strh r5, [r2, #12] - 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 814 .loc 1 720 0 - 815 008e 0648 ldr r0, .L61 - 816 .LVL98: - 817 0090 FFF7FEFF bl FLASH_WaitForLastOperation - 818 .LVL99: - 819 0094 DDE7 b .L54 - 820 .L60: - 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 821 .loc 1 727 0 - 822 0096 074B ldr r3, .L61+12 - 823 0098 D889 ldrh r0, [r3, #14] - 824 .LVL100: - 825 009a 2043 orrs r0, r4 - 826 009c D881 strh r0, [r3, #14] - 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 827 .loc 1 730 0 - 828 009e 0248 ldr r0, .L61 - 829 00a0 FFF7FEFF bl FLASH_WaitForLastOperation - 830 .LVL101: - 831 00a4 D9E7 b .L55 - 832 .L62: - 833 00a6 C046 .align 2 - 834 .L61: - 835 00a8 50C30000 .word 50000 - 836 00ac 00000000 .word pFlash - 837 00b0 00200240 .word 1073881088 - 838 00b4 00F8FF1F .word 536868864 - 839 .cfi_endproc - 840 .LFE48: - 842 .section .text.HAL_FLASHEx_OBProgram,"ax",%progbits - 843 .align 1 - 844 .global HAL_FLASHEx_OBProgram - 845 .syntax unified - 846 .code 16 - 847 .thumb_func - 848 .fpu softvfp - 850 HAL_FLASHEx_OBProgram: - 851 .LFB43: - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR; - 852 .loc 1 363 0 - 853 .cfi_startproc - 854 @ args = 0, pretend = 0, frame = 0 - 855 @ frame_needed = 0, uses_anonymous_args = 0 - 856 .LVL102: - 857 0000 10B5 push {r4, lr} - 858 .LCFI6: - 859 .cfi_def_cfa_offset 8 - 860 .cfi_offset 4, -8 - 861 .cfi_offset 14, -4 - 862 0002 0400 movs r4, r0 - ARM GAS /tmp/ccBvyElF.s page 34 - - - 863 .LVL103: - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 864 .loc 1 367 0 - 865 0004 224B ldr r3, .L77 - 866 0006 1B7E ldrb r3, [r3, #24] - 867 0008 012B cmp r3, #1 - 868 000a 3FD0 beq .L71 - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 869 .loc 1 367 0 is_stmt 0 discriminator 2 - 870 000c 0123 movs r3, #1 - 871 000e 204A ldr r2, .L77 - 872 0010 1376 strb r3, [r2, #24] - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 873 .loc 1 373 0 is_stmt 1 discriminator 2 - 874 0012 0268 ldr r2, [r0] - 875 0014 1342 tst r3, r2 - 876 0016 0FD0 beq .L72 - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 877 .loc 1 376 0 - 878 0018 4368 ldr r3, [r0, #4] - 879 001a 012B cmp r3, #1 - 880 001c 08D0 beq .L73 - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 881 .loc 1 384 0 - 882 001e 8068 ldr r0, [r0, #8] - 883 .LVL104: - 884 0020 FFF7FEFF bl FLASH_OB_DisableWRP - 885 .LVL105: - 886 .L67: - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 887 .loc 1 386 0 - 888 0024 0028 cmp r0, #0 - 889 0026 08D0 beq .L65 - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 890 .loc 1 389 0 - 891 0028 194B ldr r3, .L77 - 892 002a 0022 movs r2, #0 - 893 002c 1A76 strb r2, [r3, #24] - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 894 .loc 1 390 0 - 895 002e 10E0 b .L64 - 896 .LVL106: - 897 .L73: - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 898 .loc 1 379 0 - 899 0030 8068 ldr r0, [r0, #8] - 900 .LVL107: - 901 0032 FFF7FEFF bl FLASH_OB_EnableWRP - 902 .LVL108: - 903 0036 F5E7 b .L67 - 904 .LVL109: - 905 .L72: - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 906 .loc 1 364 0 - 907 0038 0120 movs r0, #1 - 908 .LVL110: - 909 .L65: - ARM GAS /tmp/ccBvyElF.s page 35 - - - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 910 .loc 1 395 0 - 911 003a 2368 ldr r3, [r4] - 912 003c 9B07 lsls r3, r3, #30 - 913 003e 09D4 bmi .L74 - 914 .LVL111: - 915 .L68: - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 916 .loc 1 407 0 - 917 0040 2368 ldr r3, [r4] - 918 0042 5B07 lsls r3, r3, #29 - 919 0044 0FD4 bmi .L75 - 920 .LVL112: - 921 .L69: - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 922 .loc 1 419 0 - 923 0046 2368 ldr r3, [r4] - 924 0048 1B07 lsls r3, r3, #28 - 925 004a 15D4 bmi .L76 - 926 .LVL113: - 927 .L70: - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 928 .loc 1 431 0 - 929 004c 104B ldr r3, .L77 - 930 004e 0022 movs r2, #0 - 931 0050 1A76 strb r2, [r3, #24] - 932 .LVL114: - 933 .L64: - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 934 .loc 1 434 0 - 935 @ sp needed - 936 .LVL115: - 937 0052 10BD pop {r4, pc} - 938 .LVL116: - 939 .L74: - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 940 .loc 1 397 0 - 941 0054 207B ldrb r0, [r4, #12] - 942 .LVL117: - 943 0056 FFF7FEFF bl FLASH_OB_RDP_LevelConfig - 944 .LVL118: - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 945 .loc 1 398 0 - 946 005a 0028 cmp r0, #0 - 947 005c F0D0 beq .L68 - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 948 .loc 1 401 0 - 949 005e 0C4B ldr r3, .L77 - 950 0060 0022 movs r2, #0 - 951 0062 1A76 strb r2, [r3, #24] - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 952 .loc 1 402 0 - 953 0064 F5E7 b .L64 - 954 .L75: - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 955 .loc 1 409 0 - 956 0066 607B ldrb r0, [r4, #13] - ARM GAS /tmp/ccBvyElF.s page 36 - - - 957 .LVL119: - 958 0068 FFF7FEFF bl FLASH_OB_UserConfig - 959 .LVL120: - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 960 .loc 1 410 0 - 961 006c 0028 cmp r0, #0 - 962 006e EAD0 beq .L69 - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 963 .loc 1 413 0 - 964 0070 074B ldr r3, .L77 - 965 0072 0022 movs r2, #0 - 966 0074 1A76 strb r2, [r3, #24] - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 967 .loc 1 414 0 - 968 0076 ECE7 b .L64 - 969 .L76: - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK) - 970 .loc 1 421 0 - 971 0078 2069 ldr r0, [r4, #16] - 972 .LVL121: - 973 007a 217D ldrb r1, [r4, #20] - 974 007c FFF7FEFF bl FLASH_OB_ProgramData - 975 .LVL122: - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 976 .loc 1 422 0 - 977 0080 0028 cmp r0, #0 - 978 0082 E3D0 beq .L70 - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status; - 979 .loc 1 425 0 - 980 0084 024B ldr r3, .L77 - 981 0086 0022 movs r2, #0 - 982 0088 1A76 strb r2, [r3, #24] - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 983 .loc 1 426 0 - 984 008a E2E7 b .L64 - 985 .LVL123: - 986 .L71: - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 987 .loc 1 367 0 - 988 008c 0220 movs r0, #2 - 989 .LVL124: - 990 008e E0E7 b .L64 - 991 .L78: - 992 .align 2 - 993 .L77: - 994 0090 00000000 .word pFlash - 995 .cfi_endproc - 996 .LFE43: - 998 .section .text.HAL_FLASHEx_OBGetConfig,"ax",%progbits - 999 .align 1 - 1000 .global HAL_FLASHEx_OBGetConfig - 1001 .syntax unified - 1002 .code 16 - 1003 .thumb_func - 1004 .fpu softvfp - 1006 HAL_FLASHEx_OBGetConfig: - 1007 .LFB44: - ARM GAS /tmp/ccBvyElF.s page 37 - - - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER; - 1008 .loc 1 444 0 - 1009 .cfi_startproc - 1010 @ args = 0, pretend = 0, frame = 0 - 1011 @ frame_needed = 0, uses_anonymous_args = 0 - 1012 .LVL125: - 1013 0000 10B5 push {r4, lr} - 1014 .LCFI7: - 1015 .cfi_def_cfa_offset 8 - 1016 .cfi_offset 4, -8 - 1017 .cfi_offset 14, -4 - 1018 0002 0400 movs r4, r0 - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1019 .loc 1 445 0 - 1020 0004 0723 movs r3, #7 - 1021 0006 0360 str r3, [r0] - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1022 .loc 1 448 0 - 1023 0008 FFF7FEFF bl FLASH_OB_GetWRP - 1024 .LVL126: - 1025 000c A060 str r0, [r4, #8] - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1026 .loc 1 451 0 - 1027 000e FFF7FEFF bl FLASH_OB_GetRDP - 1028 .LVL127: - 1029 0012 2073 strb r0, [r4, #12] - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1030 .loc 1 454 0 - 1031 0014 FFF7FEFF bl FLASH_OB_GetUser - 1032 .LVL128: - 1033 0018 6073 strb r0, [r4, #13] - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1034 .loc 1 455 0 - 1035 @ sp needed - 1036 .LVL129: - 1037 001a 10BD pop {r4, pc} - 1038 .cfi_endproc - 1039 .LFE44: - 1041 .section .text.HAL_FLASHEx_OBGetUserData,"ax",%progbits - 1042 .align 1 - 1043 .global HAL_FLASHEx_OBGetUserData - 1044 .syntax unified - 1045 .code 16 - 1046 .thumb_func - 1047 .fpu softvfp - 1049 HAL_FLASHEx_OBGetUserData: - 1050 .LFB45: - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t value = 0U; - 1051 .loc 1 466 0 - 1052 .cfi_startproc - 1053 @ args = 0, pretend = 0, frame = 0 - 1054 @ frame_needed = 0, uses_anonymous_args = 0 - 1055 @ link register save eliminated. - 1056 .LVL130: - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1057 .loc 1 469 0 - 1058 0000 064B ldr r3, .L84 - ARM GAS /tmp/ccBvyElF.s page 38 - - - 1059 0002 9842 cmp r0, r3 - 1060 0004 03D0 beq .L83 - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1061 .loc 1 477 0 - 1062 0006 064B ldr r3, .L84+4 - 1063 0008 D869 ldr r0, [r3, #28] - 1064 .LVL131: - 1065 000a 000E lsrs r0, r0, #24 - 1066 .LVL132: - 1067 .L80: - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1068 .loc 1 481 0 - 1069 @ sp needed - 1070 000c 7047 bx lr - 1071 .LVL133: - 1072 .L83: - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1073 .loc 1 472 0 - 1074 000e 044B ldr r3, .L84+4 - 1075 0010 DB69 ldr r3, [r3, #28] - 1076 0012 1B0C lsrs r3, r3, #16 - 1077 0014 FF20 movs r0, #255 - 1078 .LVL134: - 1079 0016 1840 ands r0, r3 - 1080 .LVL135: - 1081 0018 F8E7 b .L80 - 1082 .L85: - 1083 001a C046 .align 2 - 1084 .L84: - 1085 001c 04F8FF1F .word 536868868 - 1086 0020 00200240 .word 1073881088 - 1087 .cfi_endproc - 1088 .LFE45: - 1090 .section .text.FLASH_PageErase,"ax",%progbits - 1091 .align 1 - 1092 .global FLASH_PageErase - 1093 .syntax unified - 1094 .code 16 - 1095 .thumb_func - 1096 .fpu softvfp - 1098 FLASH_PageErase: - 1099 .LFB55: - 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @} - 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH - 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Functions - 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{ - ARM GAS /tmp/ccBvyElF.s page 39 - - - 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** - 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Erase the specified FLASH memory page - 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param PageAddress FLASH page to erase - 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series - 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * - 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval None - 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */ - 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress) - 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1100 .loc 1 961 0 - 1101 .cfi_startproc - 1102 @ args = 0, pretend = 0, frame = 0 - 1103 @ frame_needed = 0, uses_anonymous_args = 0 - 1104 @ link register save eliminated. - 1105 .LVL136: - 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */ - 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; - 1106 .loc 1 963 0 - 1107 0000 064B ldr r3, .L87 - 1108 0002 0022 movs r2, #0 - 1109 0004 DA61 str r2, [r3, #28] - 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Proceed to erase the page */ - 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_PER); - 1110 .loc 1 966 0 - 1111 0006 064B ldr r3, .L87+4 - 1112 0008 1A69 ldr r2, [r3, #16] - 1113 000a 0221 movs r1, #2 - 1114 000c 0A43 orrs r2, r1 - 1115 000e 1A61 str r2, [r3, #16] - 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRITE_REG(FLASH->AR, PageAddress); - 1116 .loc 1 967 0 - 1117 0010 5861 str r0, [r3, #20] - 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT); - 1118 .loc 1 968 0 - 1119 0012 1A69 ldr r2, [r3, #16] - 1120 0014 3E31 adds r1, r1, #62 - 1121 0016 0A43 orrs r2, r1 - 1122 0018 1A61 str r2, [r3, #16] - 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1123 .loc 1 969 0 - 1124 @ sp needed - 1125 001a 7047 bx lr - 1126 .L88: - 1127 .align 2 - 1128 .L87: - 1129 001c 00000000 .word pFlash - 1130 0020 00200240 .word 1073881088 - 1131 .cfi_endproc - 1132 .LFE55: - 1134 .section .text.HAL_FLASHEx_Erase,"ax",%progbits - 1135 .align 1 - 1136 .global HAL_FLASHEx_Erase - 1137 .syntax unified - 1138 .code 16 - ARM GAS /tmp/ccBvyElF.s page 40 - - - 1139 .thumb_func - 1140 .fpu softvfp - 1142 HAL_FLASHEx_Erase: - 1143 .LFB40: - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR; - 1144 .loc 1 160 0 - 1145 .cfi_startproc - 1146 @ args = 0, pretend = 0, frame = 0 - 1147 @ frame_needed = 0, uses_anonymous_args = 0 - 1148 .LVL137: - 1149 0000 70B5 push {r4, r5, r6, lr} - 1150 .LCFI8: - 1151 .cfi_def_cfa_offset 16 - 1152 .cfi_offset 4, -16 - 1153 .cfi_offset 5, -12 - 1154 .cfi_offset 6, -8 - 1155 .cfi_offset 14, -4 - 1156 0002 0500 movs r5, r0 - 1157 0004 0E00 movs r6, r1 - 1158 .LVL138: - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1159 .loc 1 165 0 - 1160 0006 244B ldr r3, .L102 - 1161 0008 1B7E ldrb r3, [r3, #24] - 1162 000a 012B cmp r3, #1 - 1163 000c 41D0 beq .L96 - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1164 .loc 1 165 0 is_stmt 0 discriminator 2 - 1165 000e 224B ldr r3, .L102 - 1166 0010 0122 movs r2, #1 - 1167 0012 1A76 strb r2, [r3, #24] - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1168 .loc 1 170 0 is_stmt 1 discriminator 2 - 1169 0014 0368 ldr r3, [r0] - 1170 0016 012B cmp r3, #1 - 1171 0018 22D0 beq .L99 - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1172 .loc 1 195 0 - 1173 001a 2048 ldr r0, .L102+4 - 1174 .LVL139: - 1175 001c FFF7FEFF bl FLASH_WaitForLastOperation - 1176 .LVL140: - 1177 0020 0028 cmp r0, #0 - 1178 0022 31D1 bne .L98 - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1179 .loc 1 198 0 - 1180 0024 0123 movs r3, #1 - 1181 0026 5B42 rsbs r3, r3, #0 - 1182 0028 3360 str r3, [r6] - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress); - 1183 .loc 1 201 0 - 1184 002a 6C68 ldr r4, [r5, #4] - 1185 .LVL141: - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U; - 1186 .loc 1 161 0 - 1187 002c 0130 adds r0, r0, #1 - 1188 .LVL142: - ARM GAS /tmp/ccBvyElF.s page 41 - - - 1189 .L93: - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE) - 1190 .loc 1 202 0 discriminator 1 - 1191 002e AB68 ldr r3, [r5, #8] - 1192 0030 DB02 lsls r3, r3, #11 - 1193 0032 6A68 ldr r2, [r5, #4] - 1194 0034 9446 mov ip, r2 - 1195 0036 6344 add r3, r3, ip - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress); - 1196 .loc 1 201 0 discriminator 1 - 1197 0038 A342 cmp r3, r4 - 1198 003a 26D9 bls .L92 - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1199 .loc 1 205 0 - 1200 003c 2000 movs r0, r4 - 1201 .LVL143: - 1202 003e FFF7FEFF bl FLASH_PageErase - 1203 .LVL144: - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1204 .loc 1 208 0 - 1205 0042 1648 ldr r0, .L102+4 - 1206 0044 FFF7FEFF bl FLASH_WaitForLastOperation - 1207 .LVL145: - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1208 .loc 1 211 0 - 1209 0048 154A ldr r2, .L102+8 - 1210 004a 1369 ldr r3, [r2, #16] - 1211 004c 0221 movs r1, #2 - 1212 004e 8B43 bics r3, r1 - 1213 0050 1361 str r3, [r2, #16] - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1214 .loc 1 213 0 - 1215 0052 0028 cmp r0, #0 - 1216 0054 16D1 bne .L100 - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1217 .loc 1 203 0 - 1218 0056 8023 movs r3, #128 - 1219 0058 1B01 lsls r3, r3, #4 - 1220 005a 9C46 mov ip, r3 - 1221 005c 6444 add r4, r4, ip - 1222 .LVL146: - 1223 005e E6E7 b .L93 - 1224 .LVL147: - 1225 .L99: - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1226 .loc 1 174 0 - 1227 0060 0E48 ldr r0, .L102+4 - 1228 .LVL148: - 1229 0062 FFF7FEFF bl FLASH_WaitForLastOperation - 1230 .LVL149: - 1231 0066 0028 cmp r0, #0 - 1232 0068 01D0 beq .L101 - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U; - 1233 .loc 1 161 0 - 1234 006a 0120 movs r0, #1 - 1235 006c 0DE0 b .L92 - 1236 .L101: - ARM GAS /tmp/ccBvyElF.s page 42 - - - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1237 .loc 1 177 0 - 1238 006e FFF7FEFF bl FLASH_MassErase - 1239 .LVL150: - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1240 .loc 1 180 0 - 1241 0072 0A48 ldr r0, .L102+4 - 1242 0074 FFF7FEFF bl FLASH_WaitForLastOperation - 1243 .LVL151: - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1244 .loc 1 183 0 - 1245 0078 094A ldr r2, .L102+8 - 1246 007a 1369 ldr r3, [r2, #16] - 1247 007c 0421 movs r1, #4 - 1248 007e 8B43 bics r3, r1 - 1249 0080 1361 str r3, [r2, #16] - 1250 0082 02E0 b .L92 - 1251 .LVL152: - 1252 .L100: - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** break; - 1253 .loc 1 216 0 - 1254 0084 3460 str r4, [r6] - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1255 .loc 1 217 0 - 1256 0086 00E0 b .L92 - 1257 .LVL153: - 1258 .L98: - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U; - 1259 .loc 1 161 0 - 1260 0088 0120 movs r0, #1 - 1261 .LVL154: - 1262 .L92: - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1263 .loc 1 224 0 - 1264 008a 034B ldr r3, .L102 - 1265 008c 0022 movs r2, #0 - 1266 008e 1A76 strb r2, [r3, #24] - 1267 .LVL155: - 1268 .L90: - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1269 .loc 1 227 0 - 1270 @ sp needed - 1271 .LVL156: - 1272 .LVL157: - 1273 0090 70BD pop {r4, r5, r6, pc} - 1274 .LVL158: - 1275 .L96: - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1276 .loc 1 165 0 - 1277 0092 0220 movs r0, #2 - 1278 .LVL159: - 1279 0094 FCE7 b .L90 - 1280 .L103: - 1281 0096 C046 .align 2 - 1282 .L102: - 1283 0098 00000000 .word pFlash - 1284 009c 50C30000 .word 50000 - ARM GAS /tmp/ccBvyElF.s page 43 - - - 1285 00a0 00200240 .word 1073881088 - 1286 .cfi_endproc - 1287 .LFE40: - 1289 .section .text.HAL_FLASHEx_Erase_IT,"ax",%progbits - 1290 .align 1 - 1291 .global HAL_FLASHEx_Erase_IT - 1292 .syntax unified - 1293 .code 16 - 1294 .thumb_func - 1295 .fpu softvfp - 1297 HAL_FLASHEx_Erase_IT: - 1298 .LFB41: - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK; - 1299 .loc 1 241 0 - 1300 .cfi_startproc - 1301 @ args = 0, pretend = 0, frame = 0 - 1302 @ frame_needed = 0, uses_anonymous_args = 0 - 1303 .LVL160: - 1304 0000 10B5 push {r4, lr} - 1305 .LCFI9: - 1306 .cfi_def_cfa_offset 8 - 1307 .cfi_offset 4, -8 - 1308 .cfi_offset 14, -4 - 1309 .LVL161: - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1310 .loc 1 245 0 - 1311 0002 154B ldr r3, .L110 - 1312 0004 1B7E ldrb r3, [r3, #24] - 1313 0006 012B cmp r3, #1 - 1314 0008 21D0 beq .L107 - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1315 .loc 1 245 0 is_stmt 0 discriminator 2 - 1316 000a 134B ldr r3, .L110 - 1317 000c 0122 movs r2, #1 - 1318 000e 1A76 strb r2, [r3, #24] - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1319 .loc 1 248 0 is_stmt 1 discriminator 2 - 1320 0010 1B78 ldrb r3, [r3] - 1321 0012 002B cmp r3, #0 - 1322 0014 1DD1 bne .L108 - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1323 .loc 1 257 0 - 1324 0016 114A ldr r2, .L110+4 - 1325 0018 1169 ldr r1, [r2, #16] - 1326 001a A023 movs r3, #160 - 1327 001c 5B01 lsls r3, r3, #5 - 1328 001e 0B43 orrs r3, r1 - 1329 0020 1361 str r3, [r2, #16] - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** { - 1330 .loc 1 259 0 - 1331 0022 0368 ldr r3, [r0] - 1332 0024 012B cmp r3, #1 - 1333 0026 0BD0 beq .L109 - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages; - 1334 .loc 1 273 0 - 1335 0028 0B4B ldr r3, .L110 - 1336 002a 0122 movs r2, #1 - ARM GAS /tmp/ccBvyElF.s page 44 - - - 1337 002c 1A70 strb r2, [r3] - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress; - 1338 .loc 1 274 0 - 1339 002e 8268 ldr r2, [r0, #8] - 1340 0030 5A60 str r2, [r3, #4] - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1341 .loc 1 275 0 - 1342 0032 4268 ldr r2, [r0, #4] - 1343 0034 9A60 str r2, [r3, #8] - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1344 .loc 1 278 0 - 1345 0036 4068 ldr r0, [r0, #4] - 1346 .LVL162: - 1347 0038 FFF7FEFF bl FLASH_PageErase - 1348 .LVL163: - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1349 .loc 1 281 0 - 1350 003c 0020 movs r0, #0 - 1351 003e 09E0 b .L105 - 1352 .LVL164: - 1353 .L109: - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_MassErase(); - 1354 .loc 1 262 0 - 1355 0040 054B ldr r3, .L110 - 1356 0042 0222 movs r2, #2 - 1357 0044 1A70 strb r2, [r3] - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1358 .loc 1 263 0 - 1359 0046 FFF7FEFF bl FLASH_MassErase - 1360 .LVL165: - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1361 .loc 1 281 0 - 1362 004a 0020 movs r0, #0 - 1363 004c 02E0 b .L105 - 1364 .LVL166: - 1365 .L107: - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1366 .loc 1 245 0 - 1367 004e 0220 movs r0, #2 - 1368 .LVL167: - 1369 0050 00E0 b .L105 - 1370 .LVL168: - 1371 .L108: - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** } - 1372 .loc 1 250 0 - 1373 0052 0120 movs r0, #1 - 1374 .LVL169: - 1375 .L105: - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** - 1376 .loc 1 282 0 - 1377 @ sp needed - 1378 0054 10BD pop {r4, pc} - 1379 .L111: - 1380 0056 C046 .align 2 - 1381 .L110: - 1382 0058 00000000 .word pFlash - 1383 005c 00200240 .word 1073881088 - ARM GAS /tmp/ccBvyElF.s page 45 - - - 1384 .cfi_endproc - 1385 .LFE41: - 1387 .text - 1388 .Letext0: - 1389 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 1390 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 1391 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 1392 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 1393 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 1394 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h" - 1395 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h" - 1396 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccBvyElF.s page 46 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_flash_ex.c - /tmp/ccBvyElF.s:16 .text.FLASH_MassErase:0000000000000000 $t - /tmp/ccBvyElF.s:22 .text.FLASH_MassErase:0000000000000000 FLASH_MassErase - /tmp/ccBvyElF.s:51 .text.FLASH_MassErase:000000000000001c $d - /tmp/ccBvyElF.s:57 .text.FLASH_OB_GetWRP:0000000000000000 $t - /tmp/ccBvyElF.s:63 .text.FLASH_OB_GetWRP:0000000000000000 FLASH_OB_GetWRP - /tmp/ccBvyElF.s:79 .text.FLASH_OB_GetWRP:0000000000000008 $d - /tmp/ccBvyElF.s:84 .text.FLASH_OB_GetRDP:0000000000000000 $t - /tmp/ccBvyElF.s:90 .text.FLASH_OB_GetRDP:0000000000000000 FLASH_OB_GetRDP - /tmp/ccBvyElF.s:128 .text.FLASH_OB_GetRDP:000000000000001c $d - /tmp/ccBvyElF.s:133 .text.FLASH_OB_GetUser:0000000000000000 $t - /tmp/ccBvyElF.s:139 .text.FLASH_OB_GetUser:0000000000000000 FLASH_OB_GetUser - /tmp/ccBvyElF.s:158 .text.FLASH_OB_GetUser:000000000000000c $d - /tmp/ccBvyElF.s:163 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 $t - /tmp/ccBvyElF.s:169 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 FLASH_OB_RDP_LevelConfig - /tmp/ccBvyElF.s:248 .text.FLASH_OB_RDP_LevelConfig:0000000000000054 $d - /tmp/ccBvyElF.s:256 .text.FLASH_OB_UserConfig:0000000000000000 $t - /tmp/ccBvyElF.s:262 .text.FLASH_OB_UserConfig:0000000000000000 FLASH_OB_UserConfig - /tmp/ccBvyElF.s:322 .text.FLASH_OB_UserConfig:0000000000000038 $d - /tmp/ccBvyElF.s:330 .text.FLASH_OB_ProgramData:0000000000000000 $t - /tmp/ccBvyElF.s:336 .text.FLASH_OB_ProgramData:0000000000000000 FLASH_OB_ProgramData - /tmp/ccBvyElF.s:397 .text.FLASH_OB_ProgramData:0000000000000034 $d - /tmp/ccBvyElF.s:404 .text.HAL_FLASHEx_OBErase:0000000000000000 $t - /tmp/ccBvyElF.s:411 .text.HAL_FLASHEx_OBErase:0000000000000000 HAL_FLASHEx_OBErase - /tmp/ccBvyElF.s:481 .text.HAL_FLASHEx_OBErase:0000000000000044 $d - /tmp/ccBvyElF.s:488 .text.FLASH_OB_EnableWRP:0000000000000000 $t - /tmp/ccBvyElF.s:494 .text.FLASH_OB_EnableWRP:0000000000000000 FLASH_OB_EnableWRP - /tmp/ccBvyElF.s:659 .text.FLASH_OB_EnableWRP:00000000000000ac $d - /tmp/ccBvyElF.s:667 .text.FLASH_OB_DisableWRP:0000000000000000 $t - /tmp/ccBvyElF.s:673 .text.FLASH_OB_DisableWRP:0000000000000000 FLASH_OB_DisableWRP - /tmp/ccBvyElF.s:835 .text.FLASH_OB_DisableWRP:00000000000000a8 $d - /tmp/ccBvyElF.s:843 .text.HAL_FLASHEx_OBProgram:0000000000000000 $t - /tmp/ccBvyElF.s:850 .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram - /tmp/ccBvyElF.s:994 .text.HAL_FLASHEx_OBProgram:0000000000000090 $d - /tmp/ccBvyElF.s:999 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t - /tmp/ccBvyElF.s:1006 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig - /tmp/ccBvyElF.s:1042 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 $t - /tmp/ccBvyElF.s:1049 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 HAL_FLASHEx_OBGetUserData - /tmp/ccBvyElF.s:1085 .text.HAL_FLASHEx_OBGetUserData:000000000000001c $d - /tmp/ccBvyElF.s:1091 .text.FLASH_PageErase:0000000000000000 $t - /tmp/ccBvyElF.s:1098 .text.FLASH_PageErase:0000000000000000 FLASH_PageErase - /tmp/ccBvyElF.s:1129 .text.FLASH_PageErase:000000000000001c $d - /tmp/ccBvyElF.s:1135 .text.HAL_FLASHEx_Erase:0000000000000000 $t - /tmp/ccBvyElF.s:1142 .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase - /tmp/ccBvyElF.s:1283 .text.HAL_FLASHEx_Erase:0000000000000098 $d - /tmp/ccBvyElF.s:1290 .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t - /tmp/ccBvyElF.s:1297 .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT - /tmp/ccBvyElF.s:1382 .text.HAL_FLASHEx_Erase_IT:0000000000000058 $d - -UNDEFINED SYMBOLS -pFlash -FLASH_WaitForLastOperation diff --git a/Blink/build/stm32f0xx_hal_flash_ex.o b/Blink/build/stm32f0xx_hal_flash_ex.o deleted file mode 100644 index acd8a78..0000000 Binary files a/Blink/build/stm32f0xx_hal_flash_ex.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_gpio.d b/Blink/build/stm32f0xx_hal_gpio.d deleted file mode 100644 index 1fe8fb9..0000000 --- a/Blink/build/stm32f0xx_hal_gpio.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_gpio.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_gpio.lst b/Blink/build/stm32f0xx_hal_gpio.lst deleted file mode 100644 index d486e3a..0000000 --- a/Blink/build/stm32f0xx_hal_gpio.lst +++ /dev/null @@ -1,1501 +0,0 @@ -ARM GAS /tmp/ccrOu8DY.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_gpio.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_GPIO_Init,"ax",%progbits - 16 .align 1 - 17 .global HAL_GPIO_Init - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_GPIO_Init: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @file stm32f0xx_hal_gpio.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief GPIO HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * functionalities of the General Purpose Input/Output (GPIO) peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * + Initialization and de-initialization functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * + IO operation functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @verbatim - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ============================================================================== - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### GPIO Peripheral features ##### - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ============================================================================== - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** [..] - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) Each port bit of the general-purpose I/O (GPIO) ports can be individually - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** configured by software in several modes: - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Input mode - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Analog mode - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Output mode - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Alternate function mode - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) External interrupt/event lines - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) During and just after reset, the alternate functions and external interrupt - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** lines are not active and the I/O ports are configured in input floating mode. - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) All GPIO pins have weak internal pull-up and pull-down resistors, which can be - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** activated or not. - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) In Output or Alternate mode, each IO can be configured on open-drain or push-pull - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** type and the IO speed can be selected depending on the VDD value. - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) The microcontroller IO pins are connected to onboard peripherals/modules through a - ARM GAS /tmp/ccrOu8DY.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** multiplexer that allows only one peripheral alternate function (AF) connected - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** to an IO pin at a time. In this way, there can be no conflict between peripherals - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** sharing the same IO pin. - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) All ports have external interrupt/event capability. To use external interrupt - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** lines, the port must be configured in input mode. All available GPIO pins are - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** connected to the 16 external interrupt/event lines from EXTI0 to EXTI15. - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) The external interrupt/event controller consists of up to 28 edge detectors - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (16 lines are connected to GPIO) for generating event/interrupt requests (each - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** input line can be independently configured to select the type (interrupt or event) - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** and the corresponding trigger event (rising or falling or both). Each line can - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** also be masked independently. - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### How to use this driver ##### - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ============================================================================== - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** [..] - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) Enable the GPIO AHB clock using the following function : __HAL_RCC_GPIOx_CLK_ENABLE(). - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) Configure the GPIO pin(s) using HAL_GPIO_Init(). - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** structure. - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) In case of Output or alternate function mode selection: the speed is - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** configured through "Speed" member from GPIO_InitTypeDef structure. - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) In alternate mode is selection, the alternate function connected to the IO - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** is configured through "Alternate" member from GPIO_InitTypeDef structure. - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Analog mode is required when a pin is to be used as ADC channel - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** or DAC output. - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) In case of external interrupt/event selection the "Mode" member from - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIO_InitTypeDef structure select the type (interrupt or event) and - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** the corresponding trigger event (rising or falling or both). - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_NVIC_EnableIRQ(). - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) HAL_GPIO_DeInit allows to set register values to their reset value. It's also - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** recommended to use it to unconfigure pin which was used as an external interrupt - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** or in event mode. That's the only way to reset corresponding bit in EXTI & SYSCFG - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** registers. - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin(). - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin(). - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin(). - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) During and just after reset, the alternate functions are not - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** active and the GPIO pins are configured in input floating mode (except JTAG - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** pins). - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** priority over the GPIO function. - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - ARM GAS /tmp/ccrOu8DY.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** general purpose PF0 and PF1, respectively, when the HSE oscillator is off. - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** The HSE has priority over the GPIO function. - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @endverbatim - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ****************************************************************************** - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @attention - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *

© Copyright (c) 2016 STMicroelectronics. - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * All rights reserved.

- 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This software component is licensed by ST under BSD 3-Clause license, - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * the "License"; You may not use this file except in compliance with the - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * License. You may obtain a copy of the License at: - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * opensource.org/licenses/BSD-3-Clause - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ****************************************************************************** - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/ - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #include "stm32f0xx_hal.h" - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @addtogroup STM32F0xx_HAL_Driver - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{ - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO GPIO - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief GPIO HAL module driver - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{ - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** MISRA C:2012 deviation rule has been granted for following rules: - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * Rule-18.1_d - Medium: Array pointer `GPIOx' is accessed with index [..,..] - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * which may be out of array bounds [..,UNKNOWN] in following APIs: - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * HAL_GPIO_Init - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * HAL_GPIO_DeInit - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/ - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private defines -----------------------------------------------------------*/ - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Private_Defines GPIO Private Defines - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{ - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_MODE (0x00000003U) - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define EXTI_MODE (0x10000000U) - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_MODE_IT (0x00010000U) - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_MODE_EVT (0x00020000U) - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define RISING_EDGE (0x00100000U) - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define FALLING_EDGE (0x00200000U) - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_OUTPUT_TYPE (0x00000010U) - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_NUMBER (16U) - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @} - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - ARM GAS /tmp/ccrOu8DY.s page 4 - - - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/ - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/ - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/ - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/ - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{ - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Initialization and Configuration functions - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @verbatim - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** =============================================================================== - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### Initialization and de-initialization functions ##### - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** =============================================================================== - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @endverbatim - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{ - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Initialize the GPIOx peripheral according to the specified parameters in the GPIO_Init. - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * the configuration information for the specified GPIO peripheral. - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 26 .loc 1 178 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 8 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 .LVL0: - 31 0000 F0B5 push {r4, r5, r6, r7, lr} - 32 .LCFI0: - 33 .cfi_def_cfa_offset 20 - 34 .cfi_offset 4, -20 - 35 .cfi_offset 5, -16 - 36 .cfi_offset 6, -12 - 37 .cfi_offset 7, -8 - 38 .cfi_offset 14, -4 - 39 0002 C646 mov lr, r8 - 40 0004 00B5 push {lr} - 41 .LCFI1: - 42 .cfi_def_cfa_offset 24 - 43 .cfi_offset 8, -24 - 44 0006 82B0 sub sp, sp, #8 - 45 .LCFI2: - 46 .cfi_def_cfa_offset 32 - 47 .LVL1: - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t position = 0x00u; - 48 .loc 1 179 0 - 49 0008 0023 movs r3, #0 - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t iocurrent; - ARM GAS /tmp/ccrOu8DY.s page 5 - - - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t temp; - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */ - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx)); - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin)); - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode)); - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PULL(GPIO_Init->Pull)); - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the port pins */ - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** while (((GPIO_Init->Pin) >> position) != 0x00u) - 50 .loc 1 190 0 - 51 000a 38E0 b .L2 - 52 .LVL2: - 53 .L20: - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Get current io position */ - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** iocurrent = (GPIO_Init->Pin) & (1uL << position); - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (iocurrent != 0x00u) - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/ - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* In case of Alternate function mode selection */ - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the Alternate function parameters */ - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_AF_INSTANCE(GPIOx)); - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */ - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3u]; - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u)); - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp; - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->MODER; - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u)); - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u)); - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->MODER = temp; - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* In case of Output or Alternate function mode selection */ - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) || - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the Speed parameter */ - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the IO Speed */ - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->OSPEEDR; - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u)); - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OSPEEDR = temp; - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the IO Output Type */ - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->OTYPER; - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ; - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4u) << position); - ARM GAS /tmp/ccrOu8DY.s page 6 - - - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OTYPER = temp; - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Activate the Pull-up or Pull down resistor for the current IO */ - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->PUPDR; - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u)); - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u)); - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->PUPDR = temp; - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*--------------------- EXTI Mode Configuration ------------------------*/ - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */ - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE) - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Enable SYSCFG Clock */ - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2u]; - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u))); - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); - 54 .loc 1 252 0 - 55 000c 0426 movs r6, #4 - 56 000e 00E0 b .L8 - 57 .L14: - 58 0010 0026 movs r6, #0 - 59 .L8: - 60 .loc 1 252 0 is_stmt 0 discriminator 20 - 61 0012 AE40 lsls r6, r6, r5 - 62 0014 3500 movs r5, r6 - 63 0016 3D43 orrs r5, r7 - 64 .LVL3: - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; - 65 .loc 1 253 0 is_stmt 1 discriminator 20 - 66 0018 0234 adds r4, r4, #2 - 67 001a A400 lsls r4, r4, #2 - 68 001c 574E ldr r6, .L21 - 69 001e A551 str r5, [r4, r6] - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear EXTI line configuration */ - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->IMR; - 70 .loc 1 256 0 discriminator 20 - 71 0020 574C ldr r4, .L21+4 - 72 0022 2568 ldr r5, [r4] - 73 .LVL4: - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent); - 74 .loc 1 257 0 discriminator 20 - 75 0024 4246 mov r2, r8 - 76 0026 D443 mvns r4, r2 - 77 0028 2E00 movs r6, r5 - 78 002a 2640 ands r6, r4 - 79 .LVL5: - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT) - 80 .loc 1 258 0 discriminator 20 - 81 002c 4A68 ldr r2, [r1, #4] - 82 002e D203 lsls r2, r2, #15 - 83 0030 02D5 bpl .L9 - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent; - ARM GAS /tmp/ccrOu8DY.s page 7 - - - 84 .loc 1 260 0 - 85 0032 4246 mov r2, r8 - 86 0034 1543 orrs r5, r2 - 87 0036 2E00 movs r6, r5 - 88 .LVL6: - 89 .L9: - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->IMR = temp; - 90 .loc 1 262 0 - 91 0038 514D ldr r5, .L21+4 - 92 003a 2E60 str r6, [r5] - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->EMR; - 93 .loc 1 264 0 - 94 003c 6D68 ldr r5, [r5, #4] - 95 .LVL7: - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent); - 96 .loc 1 265 0 - 97 003e 2E00 movs r6, r5 - 98 0040 2640 ands r6, r4 - 99 .LVL8: - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT) - 100 .loc 1 266 0 - 101 0042 4A68 ldr r2, [r1, #4] - 102 0044 9203 lsls r2, r2, #14 - 103 0046 02D5 bpl .L10 - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent; - 104 .loc 1 268 0 - 105 0048 4246 mov r2, r8 - 106 004a 1543 orrs r5, r2 - 107 004c 2E00 movs r6, r5 - 108 .LVL9: - 109 .L10: - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->EMR = temp; - 110 .loc 1 270 0 - 111 004e 4C4D ldr r5, .L21+4 - 112 0050 6E60 str r6, [r5, #4] - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */ - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->RTSR; - 113 .loc 1 273 0 - 114 0052 AD68 ldr r5, [r5, #8] - 115 .LVL10: - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent); - 116 .loc 1 274 0 - 117 0054 2E00 movs r6, r5 - 118 0056 2640 ands r6, r4 - 119 .LVL11: - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE) - 120 .loc 1 275 0 - 121 0058 4A68 ldr r2, [r1, #4] - 122 005a D202 lsls r2, r2, #11 - 123 005c 02D5 bpl .L11 - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent; - ARM GAS /tmp/ccrOu8DY.s page 8 - - - 124 .loc 1 277 0 - 125 005e 4246 mov r2, r8 - 126 0060 1543 orrs r5, r2 - 127 0062 2E00 movs r6, r5 - 128 .LVL12: - 129 .L11: - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->RTSR = temp; - 130 .loc 1 279 0 - 131 0064 464D ldr r5, .L21+4 - 132 0066 AE60 str r6, [r5, #8] - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->FTSR; - 133 .loc 1 281 0 - 134 0068 ED68 ldr r5, [r5, #12] - 135 .LVL13: - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent); - 136 .loc 1 282 0 - 137 006a 2C40 ands r4, r5 - 138 .LVL14: - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE) - 139 .loc 1 283 0 - 140 006c 4A68 ldr r2, [r1, #4] - 141 006e 9202 lsls r2, r2, #10 - 142 0070 02D5 bpl .L12 - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent; - 143 .loc 1 285 0 - 144 0072 4246 mov r2, r8 - 145 0074 2A43 orrs r2, r5 - 146 0076 1400 movs r4, r2 - 147 .LVL15: - 148 .L12: - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->FTSR = temp; - 149 .loc 1 287 0 - 150 0078 414A ldr r2, .L21+4 - 151 007a D460 str r4, [r2, #12] - 152 .LVL16: - 153 .L3: - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** position++; - 154 .loc 1 291 0 - 155 007c 0133 adds r3, r3, #1 - 156 .LVL17: - 157 .L2: - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 158 .loc 1 190 0 - 159 007e 0A68 ldr r2, [r1] - 160 0080 1400 movs r4, r2 - 161 0082 DC40 lsrs r4, r4, r3 - 162 0084 76D0 beq .L19 - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 163 .loc 1 193 0 - 164 0086 0125 movs r5, #1 - ARM GAS /tmp/ccrOu8DY.s page 9 - - - 165 0088 9D40 lsls r5, r5, r3 - 166 008a 2A40 ands r2, r5 - 167 008c 9046 mov r8, r2 - 168 .LVL18: - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 169 .loc 1 195 0 - 170 008e F5D0 beq .L3 - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 171 .loc 1 199 0 - 172 0090 4C68 ldr r4, [r1, #4] - 173 0092 022C cmp r4, #2 - 174 0094 01D0 beq .L4 - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 175 .loc 1 199 0 is_stmt 0 discriminator 1 - 176 0096 122C cmp r4, #18 - 177 0098 0ED1 bne .L5 - 178 .L4: - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u)); - 179 .loc 1 206 0 is_stmt 1 - 180 009a DC08 lsrs r4, r3, #3 - 181 009c 0834 adds r4, r4, #8 - 182 009e A400 lsls r4, r4, #2 - 183 00a0 2758 ldr r7, [r4, r0] - 184 .LVL19: - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); - 185 .loc 1 207 0 - 186 00a2 0726 movs r6, #7 - 187 00a4 1E40 ands r6, r3 - 188 00a6 B600 lsls r6, r6, #2 - 189 00a8 0F22 movs r2, #15 - 190 .LVL20: - 191 00aa B240 lsls r2, r2, r6 - 192 00ac 9743 bics r7, r2 - 193 .LVL21: - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp; - 194 .loc 1 208 0 - 195 00ae 0A69 ldr r2, [r1, #16] - 196 00b0 B240 lsls r2, r2, r6 - 197 00b2 1600 movs r6, r2 - 198 00b4 3E43 orrs r6, r7 - 199 .LVL22: - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 200 .loc 1 209 0 - 201 00b6 2650 str r6, [r4, r0] - 202 .LVL23: - 203 .L5: - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u)); - 204 .loc 1 213 0 - 205 00b8 0268 ldr r2, [r0] - 206 .LVL24: - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u)); - 207 .loc 1 214 0 - 208 00ba 5F00 lsls r7, r3, #1 - 209 00bc 0324 movs r4, #3 - 210 00be 2600 movs r6, r4 - 211 00c0 BE40 lsls r6, r6, r7 - 212 00c2 F643 mvns r6, r6 - ARM GAS /tmp/ccrOu8DY.s page 10 - - - 213 00c4 3240 ands r2, r6 - 214 .LVL25: - 215 00c6 9446 mov ip, r2 - 216 .LVL26: - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->MODER = temp; - 217 .loc 1 215 0 - 218 00c8 4A68 ldr r2, [r1, #4] - 219 .LVL27: - 220 00ca 1440 ands r4, r2 - 221 00cc BC40 lsls r4, r4, r7 - 222 00ce 6246 mov r2, ip - 223 00d0 1443 orrs r4, r2 - 224 .LVL28: - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 225 .loc 1 216 0 - 226 00d2 0460 str r4, [r0] - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) - 227 .loc 1 219 0 - 228 00d4 4C68 ldr r4, [r1, #4] - 229 .LVL29: - 230 00d6 621E subs r2, r4, #1 - 231 00d8 012A cmp r2, #1 - 232 00da 03D9 bls .L6 - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) - 233 .loc 1 219 0 is_stmt 0 discriminator 1 - 234 00dc 112C cmp r4, #17 - 235 00de 01D0 beq .L6 - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 236 .loc 1 220 0 is_stmt 1 - 237 00e0 122C cmp r4, #18 - 238 00e2 10D1 bne .L7 - 239 .L6: - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u)); - 240 .loc 1 225 0 - 241 00e4 8468 ldr r4, [r0, #8] - 242 .LVL30: - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); - 243 .loc 1 226 0 - 244 00e6 3440 ands r4, r6 - 245 .LVL31: - 246 00e8 A446 mov ip, r4 - 247 .LVL32: - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OSPEEDR = temp; - 248 .loc 1 227 0 - 249 00ea CC68 ldr r4, [r1, #12] - 250 .LVL33: - 251 00ec BC40 lsls r4, r4, r7 - 252 00ee 6246 mov r2, ip - 253 00f0 1443 orrs r4, r2 - 254 .LVL34: - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 255 .loc 1 228 0 - 256 00f2 8460 str r4, [r0, #8] - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ; - 257 .loc 1 231 0 - 258 00f4 4468 ldr r4, [r0, #4] - 259 .LVL35: - ARM GAS /tmp/ccrOu8DY.s page 11 - - - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4u) << position); - 260 .loc 1 232 0 - 261 00f6 AC43 bics r4, r5 - 262 .LVL36: - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OTYPER = temp; - 263 .loc 1 233 0 - 264 00f8 4A68 ldr r2, [r1, #4] - 265 00fa 1209 lsrs r2, r2, #4 - 266 00fc 0125 movs r5, #1 - 267 00fe 1540 ands r5, r2 - 268 0100 9D40 lsls r5, r5, r3 - 269 0102 2543 orrs r5, r4 - 270 .LVL37: - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 271 .loc 1 234 0 - 272 0104 4560 str r5, [r0, #4] - 273 .LVL38: - 274 .L7: - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u)); - 275 .loc 1 238 0 - 276 0106 C468 ldr r4, [r0, #12] - 277 .LVL39: - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u)); - 278 .loc 1 239 0 - 279 0108 2640 ands r6, r4 - 280 .LVL40: - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->PUPDR = temp; - 281 .loc 1 240 0 - 282 010a 8C68 ldr r4, [r1, #8] - 283 010c BC40 lsls r4, r4, r7 - 284 010e 3443 orrs r4, r6 - 285 .LVL41: - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 286 .loc 1 241 0 - 287 0110 C460 str r4, [r0, #12] - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 288 .loc 1 245 0 - 289 0112 4A68 ldr r2, [r1, #4] - 290 0114 D200 lsls r2, r2, #3 - 291 0116 B1D5 bpl .L3 - 292 .LBB2: - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 293 .loc 1 248 0 - 294 0118 1A4D ldr r5, .L21+8 - 295 011a AE69 ldr r6, [r5, #24] - 296 011c 0124 movs r4, #1 - 297 .LVL42: - 298 011e 2643 orrs r6, r4 - 299 0120 AE61 str r6, [r5, #24] - 300 .LVL43: - 301 0122 AD69 ldr r5, [r5, #24] - 302 0124 2C40 ands r4, r5 - 303 0126 0194 str r4, [sp, #4] - 304 0128 019C ldr r4, [sp, #4] - 305 .LBE2: - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u))); - 306 .loc 1 250 0 - ARM GAS /tmp/ccrOu8DY.s page 12 - - - 307 012a 9C08 lsrs r4, r3, #2 - 308 012c A51C adds r5, r4, #2 - 309 012e AD00 lsls r5, r5, #2 - 310 0130 124E ldr r6, .L21 - 311 0132 AF59 ldr r7, [r5, r6] - 312 .LVL44: - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); - 313 .loc 1 251 0 - 314 0134 0326 movs r6, #3 - 315 0136 1E40 ands r6, r3 - 316 0138 B500 lsls r5, r6, #2 - 317 013a 0F26 movs r6, #15 - 318 013c AE40 lsls r6, r6, r5 - 319 013e B743 bics r7, r6 - 320 .LVL45: - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; - 321 .loc 1 252 0 - 322 0140 9026 movs r6, #144 - 323 0142 F605 lsls r6, r6, #23 - 324 0144 B042 cmp r0, r6 - 325 0146 00D1 bne .LCB325 - 326 0148 62E7 b .L14 @long jump - 327 .LCB325: - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; - 328 .loc 1 252 0 is_stmt 0 discriminator 1 - 329 014a 0F4E ldr r6, .L21+12 - 330 014c B042 cmp r0, r6 - 331 014e 0BD0 beq .L15 - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; - 332 .loc 1 252 0 discriminator 3 - 333 0150 0E4E ldr r6, .L21+16 - 334 0152 B042 cmp r0, r6 - 335 0154 0AD0 beq .L16 - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; - 336 .loc 1 252 0 discriminator 5 - 337 0156 0E4E ldr r6, .L21+20 - 338 0158 B042 cmp r0, r6 - 339 015a 09D0 beq .L17 - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; - 340 .loc 1 252 0 discriminator 7 - 341 015c 0D4E ldr r6, .L21+24 - 342 015e B042 cmp r0, r6 - 343 0160 00D1 bne .LCB337 - 344 0162 53E7 b .L20 @long jump - 345 .LCB337: - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; - 346 .loc 1 252 0 - 347 0164 0526 movs r6, #5 - 348 0166 54E7 b .L8 - 349 .L15: - 350 0168 0126 movs r6, #1 - 351 016a 52E7 b .L8 - 352 .L16: - 353 016c 0226 movs r6, #2 - 354 016e 50E7 b .L8 - 355 .L17: - 356 0170 0326 movs r6, #3 - ARM GAS /tmp/ccrOu8DY.s page 13 - - - 357 0172 4EE7 b .L8 - 358 .LVL46: - 359 .L19: - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 360 .loc 1 293 0 is_stmt 1 - 361 0174 02B0 add sp, sp, #8 - 362 @ sp needed - 363 0176 04BC pop {r2} - 364 0178 9046 mov r8, r2 - 365 017a F0BD pop {r4, r5, r6, r7, pc} - 366 .L22: - 367 .align 2 - 368 .L21: - 369 017c 00000140 .word 1073807360 - 370 0180 00040140 .word 1073808384 - 371 0184 00100240 .word 1073876992 - 372 0188 00040048 .word 1207960576 - 373 018c 00080048 .word 1207961600 - 374 0190 000C0048 .word 1207962624 - 375 0194 00100048 .word 1207963648 - 376 .cfi_endproc - 377 .LFE40: - 379 .section .text.HAL_GPIO_DeInit,"ax",%progbits - 380 .align 1 - 381 .global HAL_GPIO_DeInit - 382 .syntax unified - 383 .code 16 - 384 .thumb_func - 385 .fpu softvfp - 387 HAL_GPIO_DeInit: - 388 .LFB41: - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief De-initialize the GPIOx peripheral registers to their default reset values. - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written. - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15). - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 389 .loc 1 303 0 - 390 .cfi_startproc - 391 @ args = 0, pretend = 0, frame = 0 - 392 @ frame_needed = 0, uses_anonymous_args = 0 - 393 .LVL47: - 394 0000 F0B5 push {r4, r5, r6, r7, lr} - 395 .LCFI3: - 396 .cfi_def_cfa_offset 20 - 397 .cfi_offset 4, -20 - 398 .cfi_offset 5, -16 - 399 .cfi_offset 6, -12 - 400 .cfi_offset 7, -8 - 401 .cfi_offset 14, -4 - 402 0002 CE46 mov lr, r9 - 403 0004 4746 mov r7, r8 - ARM GAS /tmp/ccrOu8DY.s page 14 - - - 404 0006 80B5 push {r7, lr} - 405 .LCFI4: - 406 .cfi_def_cfa_offset 28 - 407 .cfi_offset 8, -28 - 408 .cfi_offset 9, -24 - 409 0008 8946 mov r9, r1 - 410 .LVL48: - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t position = 0x00u; - 411 .loc 1 304 0 - 412 000a 0023 movs r3, #0 - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t iocurrent; - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t tmp; - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */ - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx)); - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin)); - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the port pins */ - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** while ((GPIO_Pin >> position) != 0x00u) - 413 .loc 1 313 0 - 414 000c 24E0 b .L24 - 415 .LVL49: - 416 .L36: - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Get current io position */ - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** iocurrent = (GPIO_Pin) & (1uL << position); - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (iocurrent != 0x00u) - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*------------------------- EXTI Mode Configuration --------------------*/ - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear the External Interrupt or Event for the current IO */ - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp = SYSCFG->EXTICR[position >> 2u]; - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u))); - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) - 417 .loc 1 325 0 - 418 000e 0421 movs r1, #4 - 419 0010 8846 mov r8, r1 - 420 0012 01E0 b .L26 - 421 .L29: - 422 0014 0021 movs r1, #0 - 423 0016 8846 mov r8, r1 - 424 .L26: - 425 .loc 1 325 0 is_stmt 0 discriminator 20 - 426 0018 4146 mov r1, r8 - 427 001a A140 lsls r1, r1, r4 - 428 001c A942 cmp r1, r5 - 429 001e 4BD0 beq .L34 - 430 .LVL50: - 431 .L27: - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear EXTI line configuration */ - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->IMR &= ~((uint32_t)iocurrent); - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent); - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */ - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent); - ARM GAS /tmp/ccrOu8DY.s page 15 - - - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent); - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */ - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp = 0x0FuL << (4u * (position & 0x03u)); - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp; - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*------------------------- GPIO Mode Configuration --------------------*/ - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure IO Direction in Input Floating Mode */ - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2u)); - 432 .loc 1 342 0 is_stmt 1 - 433 0020 0568 ldr r5, [r0] - 434 0022 5E00 lsls r6, r3, #1 - 435 0024 0324 movs r4, #3 - 436 0026 B440 lsls r4, r4, r6 - 437 0028 E443 mvns r4, r4 - 438 002a 2540 ands r5, r4 - 439 002c 0560 str r5, [r0] - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the default Alternate Function in current IO */ - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] &= ~(0xFu << ((uint32_t)(position & 0x07u) * 4u)) ; - 440 .loc 1 345 0 - 441 002e DD08 lsrs r5, r3, #3 - 442 0030 0835 adds r5, r5, #8 - 443 0032 AD00 lsls r5, r5, #2 - 444 0034 2F58 ldr r7, [r5, r0] - 445 0036 0726 movs r6, #7 - 446 0038 1E40 ands r6, r3 - 447 003a B600 lsls r6, r6, #2 - 448 003c 0F21 movs r1, #15 - 449 003e B140 lsls r1, r1, r6 - 450 0040 8F43 bics r7, r1 - 451 0042 2F50 str r7, [r5, r0] - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the default value for IO Speed */ - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u)); - 452 .loc 1 348 0 - 453 0044 8568 ldr r5, [r0, #8] - 454 0046 2540 ands r5, r4 - 455 0048 8560 str r5, [r0, #8] - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the default value IO Output Type */ - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ; - 456 .loc 1 351 0 - 457 004a 4568 ldr r5, [r0, #4] - 458 004c 9543 bics r5, r2 - 459 004e 4560 str r5, [r0, #4] - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Deactivate the Pull-up and Pull-down resistor for the current IO */ - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U)); - 460 .loc 1 354 0 - 461 0050 C268 ldr r2, [r0, #12] - 462 .LVL51: - 463 0052 1440 ands r4, r2 - 464 0054 C460 str r4, [r0, #12] - 465 .L25: - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - ARM GAS /tmp/ccrOu8DY.s page 16 - - - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** position++; - 466 .loc 1 357 0 - 467 0056 0133 adds r3, r3, #1 - 468 .LVL52: - 469 .L24: - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 470 .loc 1 313 0 - 471 0058 4A46 mov r2, r9 - 472 005a DA40 lsrs r2, r2, r3 - 473 005c 42D0 beq .L35 - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 474 .loc 1 316 0 - 475 005e 0122 movs r2, #1 - 476 0060 9A40 lsls r2, r2, r3 - 477 0062 4E46 mov r6, r9 - 478 0064 1640 ands r6, r2 - 479 .LVL53: - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 480 .loc 1 318 0 - 481 0066 F6D0 beq .L25 - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u))); - 482 .loc 1 323 0 - 483 0068 9908 lsrs r1, r3, #2 - 484 006a 8C46 mov ip, r1 - 485 006c 8C1C adds r4, r1, #2 - 486 006e A400 lsls r4, r4, #2 - 487 0070 1E4D ldr r5, .L37 - 488 0072 6559 ldr r5, [r4, r5] - 489 .LVL54: - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) - 490 .loc 1 324 0 - 491 0074 0324 movs r4, #3 - 492 0076 1C40 ands r4, r3 - 493 0078 A400 lsls r4, r4, #2 - 494 007a 0F27 movs r7, #15 - 495 007c A740 lsls r7, r7, r4 - 496 007e 3D40 ands r5, r7 - 497 .LVL55: - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 498 .loc 1 325 0 - 499 0080 9021 movs r1, #144 - 500 0082 C905 lsls r1, r1, #23 - 501 0084 8842 cmp r0, r1 - 502 0086 C5D0 beq .L29 - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 503 .loc 1 325 0 is_stmt 0 discriminator 1 - 504 0088 1949 ldr r1, .L37+4 - 505 008a 8842 cmp r0, r1 - 506 008c 0BD0 beq .L30 - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 507 .loc 1 325 0 discriminator 3 - 508 008e 1949 ldr r1, .L37+8 - 509 0090 8842 cmp r0, r1 - 510 0092 0BD0 beq .L31 - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 511 .loc 1 325 0 discriminator 5 - ARM GAS /tmp/ccrOu8DY.s page 17 - - - 512 0094 1849 ldr r1, .L37+12 - 513 0096 8842 cmp r0, r1 - 514 0098 0BD0 beq .L32 - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 515 .loc 1 325 0 discriminator 7 - 516 009a 1849 ldr r1, .L37+16 - 517 009c 8842 cmp r0, r1 - 518 009e B6D0 beq .L36 - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 519 .loc 1 325 0 - 520 00a0 0521 movs r1, #5 - 521 00a2 8846 mov r8, r1 - 522 00a4 B8E7 b .L26 - 523 .L30: - 524 00a6 0121 movs r1, #1 - 525 00a8 8846 mov r8, r1 - 526 00aa B5E7 b .L26 - 527 .L31: - 528 00ac 0221 movs r1, #2 - 529 00ae 8846 mov r8, r1 - 530 00b0 B2E7 b .L26 - 531 .L32: - 532 00b2 0321 movs r1, #3 - 533 00b4 8846 mov r8, r1 - 534 00b6 AFE7 b .L26 - 535 .L34: - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent); - 536 .loc 1 328 0 is_stmt 1 - 537 00b8 114C ldr r4, .L37+20 - 538 00ba 2568 ldr r5, [r4] - 539 .LVL56: - 540 00bc F643 mvns r6, r6 - 541 .LVL57: - 542 00be 3540 ands r5, r6 - 543 00c0 2560 str r5, [r4] - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 544 .loc 1 329 0 - 545 00c2 6568 ldr r5, [r4, #4] - 546 00c4 3540 ands r5, r6 - 547 00c6 6560 str r5, [r4, #4] - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent); - 548 .loc 1 332 0 - 549 00c8 A568 ldr r5, [r4, #8] - 550 00ca 3540 ands r5, r6 - 551 00cc A560 str r5, [r4, #8] - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 552 .loc 1 333 0 - 553 00ce E568 ldr r5, [r4, #12] - 554 00d0 2E40 ands r6, r5 - 555 .LVL58: - 556 00d2 E660 str r6, [r4, #12] - 557 .LVL59: - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 558 .loc 1 337 0 - 559 00d4 054E ldr r6, .L37 - 560 00d6 6446 mov r4, ip - 561 00d8 0234 adds r4, r4, #2 - ARM GAS /tmp/ccrOu8DY.s page 18 - - - 562 00da A400 lsls r4, r4, #2 - 563 00dc A559 ldr r5, [r4, r6] - 564 00de BD43 bics r5, r7 - 565 00e0 A551 str r5, [r4, r6] - 566 00e2 9DE7 b .L27 - 567 .LVL60: - 568 .L35: - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 569 .loc 1 359 0 - 570 @ sp needed - 571 .LVL61: - 572 00e4 0CBC pop {r2, r3} - 573 00e6 9046 mov r8, r2 - 574 00e8 9946 mov r9, r3 - 575 00ea F0BD pop {r4, r5, r6, r7, pc} - 576 .L38: - 577 .align 2 - 578 .L37: - 579 00ec 00000140 .word 1073807360 - 580 00f0 00040048 .word 1207960576 - 581 00f4 00080048 .word 1207961600 - 582 00f8 000C0048 .word 1207962624 - 583 00fc 00100048 .word 1207963648 - 584 0100 00040140 .word 1073808384 - 585 .cfi_endproc - 586 .LFE41: - 588 .section .text.HAL_GPIO_ReadPin,"ax",%progbits - 589 .align 1 - 590 .global HAL_GPIO_ReadPin - 591 .syntax unified - 592 .code 16 - 593 .thumb_func - 594 .fpu softvfp - 596 HAL_GPIO_ReadPin: - 597 .LFB42: - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @} - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief GPIO Read, Write, Toggle, Lock and EXTI management functions. - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @verbatim - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** =============================================================================== - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### IO operation functions ##### - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** =============================================================================== - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @endverbatim - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{ - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Read the specified input port pin. - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to read. - ARM GAS /tmp/ccrOu8DY.s page 19 - - - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be GPIO_PIN_x where x can be (0..15). - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval The input port pin value. - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 598 .loc 1 385 0 - 599 .cfi_startproc - 600 @ args = 0, pretend = 0, frame = 0 - 601 @ frame_needed = 0, uses_anonymous_args = 0 - 602 @ link register save eliminated. - 603 .LVL62: - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIO_PinState bitstatus; - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */ - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin)); - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET) - 604 .loc 1 391 0 - 605 0000 0369 ldr r3, [r0, #16] - 606 0002 0B42 tst r3, r1 - 607 0004 01D1 bne .L42 - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET; - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET; - 608 .loc 1 397 0 - 609 0006 0020 movs r0, #0 - 610 .LVL63: - 611 .L40: - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** return bitstatus; - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 612 .loc 1 400 0 - 613 @ sp needed - 614 0008 7047 bx lr - 615 .LVL64: - 616 .L42: - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 617 .loc 1 393 0 - 618 000a 0120 movs r0, #1 - 619 .LVL65: - 620 000c FCE7 b .L40 - 621 .cfi_endproc - 622 .LFE42: - 624 .section .text.HAL_GPIO_WritePin,"ax",%progbits - 625 .align 1 - 626 .global HAL_GPIO_WritePin - 627 .syntax unified - 628 .code 16 - 629 .thumb_func - 630 .fpu softvfp - 632 HAL_GPIO_WritePin: - 633 .LFB43: - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - ARM GAS /tmp/ccrOu8DY.s page 20 - - - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Set or clear the selected data port bit. - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @note This function uses GPIOx_BSRR and GPIOx_BRR registers to allow atomic read/modify - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * accesses. In this way, there is no risk of an IRQ occurring between - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * the read and the modify access. - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..H) to select the GPIO peripheral for STM32F0 family - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written. - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15). - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param PinState specifies the value to be written to the selected bit. - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be one of the GPIO_PinState enum values: - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @arg GPIO_PIN_RESET: to clear the port pin - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @arg GPIO_PIN_SET: to set the port pin - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 634 .loc 1 418 0 - 635 .cfi_startproc - 636 @ args = 0, pretend = 0, frame = 0 - 637 @ frame_needed = 0, uses_anonymous_args = 0 - 638 @ link register save eliminated. - 639 .LVL66: - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */ - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin)); - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState)); - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (PinState != GPIO_PIN_RESET) - 640 .loc 1 423 0 - 641 0000 002A cmp r2, #0 - 642 0002 01D1 bne .L46 - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin; - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BRR = (uint32_t)GPIO_Pin; - 643 .loc 1 429 0 - 644 0004 8162 str r1, [r0, #40] - 645 .L43: - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 646 .loc 1 431 0 - 647 @ sp needed - 648 0006 7047 bx lr - 649 .L46: - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 650 .loc 1 425 0 - 651 0008 8161 str r1, [r0, #24] - 652 000a FCE7 b .L43 - 653 .cfi_endproc - 654 .LFE43: - 656 .section .text.HAL_GPIO_TogglePin,"ax",%progbits - 657 .align 1 - 658 .global HAL_GPIO_TogglePin - 659 .syntax unified - 660 .code 16 - 661 .thumb_func - ARM GAS /tmp/ccrOu8DY.s page 21 - - - 662 .fpu softvfp - 664 HAL_GPIO_TogglePin: - 665 .LFB44: - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Toggle the specified GPIO pin. - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the pin to be toggled. - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 666 .loc 1 440 0 - 667 .cfi_startproc - 668 @ args = 0, pretend = 0, frame = 0 - 669 @ frame_needed = 0, uses_anonymous_args = 0 - 670 @ link register save eliminated. - 671 .LVL67: - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */ - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin)); - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if ((GPIOx->ODR & GPIO_Pin) != 0X00u) - 672 .loc 1 444 0 - 673 0000 4369 ldr r3, [r0, #20] - 674 0002 1942 tst r1, r3 - 675 0004 01D1 bne .L50 - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin << GPIO_NUMBER; - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin; - 676 .loc 1 450 0 - 677 0006 8161 str r1, [r0, #24] - 678 .LVL68: - 679 .L47: - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 680 .loc 1 452 0 - 681 @ sp needed - 682 0008 7047 bx lr - 683 .LVL69: - 684 .L50: - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 685 .loc 1 446 0 - 686 000a 0904 lsls r1, r1, #16 - 687 .LVL70: - 688 000c 8161 str r1, [r0, #24] - 689 000e FBE7 b .L47 - 690 .cfi_endproc - 691 .LFE44: - 693 .section .text.HAL_GPIO_LockPin,"ax",%progbits - 694 .align 1 - 695 .global HAL_GPIO_LockPin - 696 .syntax unified - 697 .code 16 - 698 .thumb_func - ARM GAS /tmp/ccrOu8DY.s page 22 - - - 699 .fpu softvfp - 701 HAL_GPIO_LockPin: - 702 .LFB45: - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Locks GPIO Pins configuration registers. - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH. - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @note The configuration of the locked GPIO pins can no longer be modified - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * until the next reset. - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bits to be locked. - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 703 .loc 1 466 0 - 704 .cfi_startproc - 705 @ args = 0, pretend = 0, frame = 8 - 706 @ frame_needed = 0, uses_anonymous_args = 0 - 707 @ link register save eliminated. - 708 .LVL71: - 709 0000 82B0 sub sp, sp, #8 - 710 .LCFI5: - 711 .cfi_def_cfa_offset 8 - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK; - 712 .loc 1 467 0 - 713 0002 8022 movs r2, #128 - 714 0004 5202 lsls r2, r2, #9 - 715 0006 0192 str r2, [sp, #4] - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */ - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx)); - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin)); - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Apply lock key write sequence */ - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SET_BIT(tmp, GPIO_Pin); - 716 .loc 1 474 0 - 717 0008 019B ldr r3, [sp, #4] - 718 000a 0B43 orrs r3, r1 - 719 000c 0193 str r3, [sp, #4] - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */ - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->LCKR = tmp; - 720 .loc 1 476 0 - 721 000e 019B ldr r3, [sp, #4] - 722 0010 C361 str r3, [r0, #28] - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */ - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->LCKR = GPIO_Pin; - 723 .loc 1 478 0 - 724 0012 C161 str r1, [r0, #28] - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */ - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->LCKR = tmp; - 725 .loc 1 480 0 - 726 0014 019B ldr r3, [sp, #4] - 727 0016 C361 str r3, [r0, #28] - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Read LCKK register. This read is mandatory to complete key lock sequence */ - ARM GAS /tmp/ccrOu8DY.s page 23 - - - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp = GPIOx->LCKR; - 728 .loc 1 482 0 - 729 0018 C369 ldr r3, [r0, #28] - 730 001a 0193 str r3, [sp, #4] - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* read again in order to confirm lock is active */ - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIOx->LCKR & GPIO_LCKR_LCKK) != 0x00u) - 731 .loc 1 485 0 - 732 001c C369 ldr r3, [r0, #28] - 733 001e 1342 tst r3, r2 - 734 0020 02D1 bne .L54 - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** return HAL_OK; - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** return HAL_ERROR; - 735 .loc 1 491 0 - 736 0022 0120 movs r0, #1 - 737 .LVL72: - 738 .L52: - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 739 .loc 1 493 0 - 740 0024 02B0 add sp, sp, #8 - 741 @ sp needed - 742 0026 7047 bx lr - 743 .LVL73: - 744 .L54: - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 745 .loc 1 487 0 - 746 0028 0020 movs r0, #0 - 747 .LVL74: - 748 002a FBE7 b .L52 - 749 .cfi_endproc - 750 .LFE45: - 752 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits - 753 .align 1 - 754 .weak HAL_GPIO_EXTI_Callback - 755 .syntax unified - 756 .code 16 - 757 .thumb_func - 758 .fpu softvfp - 760 HAL_GPIO_EXTI_Callback: - 761 .LFB47: - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Handle EXTI interrupt request. - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line. - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* EXTI line interrupt detected */ - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u) - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); - ARM GAS /tmp/ccrOu8DY.s page 24 - - - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin); - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief EXTI line detection callback. - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line. - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 762 .loc 1 516 0 - 763 .cfi_startproc - 764 @ args = 0, pretend = 0, frame = 0 - 765 @ frame_needed = 0, uses_anonymous_args = 0 - 766 @ link register save eliminated. - 767 .LVL75: - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Prevent unused argument(s) compilation warning */ - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** UNUSED(GPIO_Pin); - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* NOTE: This function should not be modified, when the callback is needed, - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** the HAL_GPIO_EXTI_Callback could be implemented in the user file - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */ - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 768 .loc 1 523 0 - 769 @ sp needed - 770 0000 7047 bx lr - 771 .cfi_endproc - 772 .LFE47: - 774 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits - 775 .align 1 - 776 .global HAL_GPIO_EXTI_IRQHandler - 777 .syntax unified - 778 .code 16 - 779 .thumb_func - 780 .fpu softvfp - 782 HAL_GPIO_EXTI_IRQHandler: - 783 .LFB46: - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* EXTI line interrupt detected */ - 784 .loc 1 501 0 - 785 .cfi_startproc - 786 @ args = 0, pretend = 0, frame = 0 - 787 @ frame_needed = 0, uses_anonymous_args = 0 - 788 .LVL76: - 789 0000 10B5 push {r4, lr} - 790 .LCFI6: - 791 .cfi_def_cfa_offset 8 - 792 .cfi_offset 4, -8 - 793 .cfi_offset 14, -4 - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** { - 794 .loc 1 503 0 - 795 0002 054B ldr r3, .L59 - 796 0004 5B69 ldr r3, [r3, #20] - 797 0006 1842 tst r0, r3 - 798 0008 00D1 bne .L58 - 799 .LVL77: - 800 .L56: - ARM GAS /tmp/ccrOu8DY.s page 25 - - - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 801 .loc 1 508 0 - 802 @ sp needed - 803 000a 10BD pop {r4, pc} - 804 .LVL78: - 805 .L58: - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin); - 806 .loc 1 505 0 - 807 000c 024B ldr r3, .L59 - 808 000e 5861 str r0, [r3, #20] - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** } - 809 .loc 1 506 0 - 810 0010 FFF7FEFF bl HAL_GPIO_EXTI_Callback - 811 .LVL79: - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** - 812 .loc 1 508 0 - 813 0014 F9E7 b .L56 - 814 .L60: - 815 0016 C046 .align 2 - 816 .L59: - 817 0018 00040140 .word 1073808384 - 818 .cfi_endproc - 819 .LFE46: - 821 .text - 822 .Letext0: - 823 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 824 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 825 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 826 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 827 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 828 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h" - 829 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccrOu8DY.s page 26 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_gpio.c - /tmp/ccrOu8DY.s:16 .text.HAL_GPIO_Init:0000000000000000 $t - /tmp/ccrOu8DY.s:23 .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init - /tmp/ccrOu8DY.s:369 .text.HAL_GPIO_Init:000000000000017c $d - /tmp/ccrOu8DY.s:380 .text.HAL_GPIO_DeInit:0000000000000000 $t - /tmp/ccrOu8DY.s:387 .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit - /tmp/ccrOu8DY.s:579 .text.HAL_GPIO_DeInit:00000000000000ec $d - /tmp/ccrOu8DY.s:589 .text.HAL_GPIO_ReadPin:0000000000000000 $t - /tmp/ccrOu8DY.s:596 .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin - /tmp/ccrOu8DY.s:625 .text.HAL_GPIO_WritePin:0000000000000000 $t - /tmp/ccrOu8DY.s:632 .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin - /tmp/ccrOu8DY.s:657 .text.HAL_GPIO_TogglePin:0000000000000000 $t - /tmp/ccrOu8DY.s:664 .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin - /tmp/ccrOu8DY.s:694 .text.HAL_GPIO_LockPin:0000000000000000 $t - /tmp/ccrOu8DY.s:701 .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin - /tmp/ccrOu8DY.s:753 .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t - /tmp/ccrOu8DY.s:760 .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback - /tmp/ccrOu8DY.s:775 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t - /tmp/ccrOu8DY.s:782 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler - /tmp/ccrOu8DY.s:817 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_gpio.o b/Blink/build/stm32f0xx_hal_gpio.o deleted file mode 100644 index 6f16e6c..0000000 Binary files a/Blink/build/stm32f0xx_hal_gpio.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_i2c.d b/Blink/build/stm32f0xx_hal_i2c.d deleted file mode 100644 index 7dffc65..0000000 --- a/Blink/build/stm32f0xx_hal_i2c.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_i2c.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_i2c.lst b/Blink/build/stm32f0xx_hal_i2c.lst deleted file mode 100644 index 1811f86..0000000 --- a/Blink/build/stm32f0xx_hal_i2c.lst +++ /dev/null @@ -1,20498 +0,0 @@ -ARM GAS /tmp/ccFk2Nxo.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_i2c.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.I2C_Flush_TXDR,"ax",%progbits - 16 .align 1 - 17 .syntax unified - 18 .code 16 - 19 .thumb_func - 20 .fpu softvfp - 22 I2C_Flush_TXDR: - 23 .LFB102: - 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @file stm32f0xx_hal_i2c.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Initialization and de-initialization functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + IO operation functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Peripheral State and Errors functions - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ============================================================================== - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### How to use this driver ##### - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ============================================================================== - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The I2C HAL driver can be used as follows: - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example: - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef hi2c; - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the @ref HAL_I2C_MspInit() API: - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) Enable the I2Cx interface clock - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) I2C pins configuration - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive channel - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA handle parameters - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel - ARM GAS /tmp/ccFk2Nxo.s page 2 - - - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the DMA Tx or Rx channel - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the @ref HAL_I2C_Init(), configures also the low le - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized @ref HAL_I2C_MspInit(&hi2c) API. - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function @ref HAL_I2C_IsDevic - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver : - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO operation *** - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ================================= - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Tran - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Recei - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Transm - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Receive - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO MEM operation *** - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===================================== - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using @ref HAL_I2C_ - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using @ref HAL_I2C - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO operation *** - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================== - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_ - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback( - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_R - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback( - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Tr - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback() - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Rec - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback() - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback() - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback() - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro. - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation *** - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ========================================================== - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition - ARM GAS /tmp/ccFk2Nxo.s page 3 - - - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** when a direction change during transfer - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Option field values are defined through @ref I2C_XFEROPTIONS and are listed below: - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functionnal is same as associated interfa - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition, an then permit a c - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** several times (like @ref HAL_I2C_Master_Seq_Transmit_IT() then @ref HAL - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or @ref HAL_I2C_Master_Seq_Transmit_DMA() then @ref HAL_I2C_Master_Seq_ - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface several times (link with option I2C_FIRST_AND_NEXT_FRAME). - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one using HAL_I2C_Master_Seq_T - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_AND_NEXT_FRAME then - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_AND_NEXT_FRAME th - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_AND_NEXT_FRAME the - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit o - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface. - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_FRAME then I2C_OTHE - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_FRAME then I2C_OT - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_FRAME then I2C_OTH - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Differents sequential I2C interfaces are listed below: - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using @ref - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Transmit_DMA() - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_MasterTxCpltCallback() is e - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback( - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using @ref - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Receive_DMA() - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_MasterRxCpltCallback() is exec - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback( - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using @ref HAL_I2C_Mas - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback() - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using @ref HAL_I2C_EnableListen - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) When address slave I2C match, @ref HAL_I2C_AddrCallback() is executed and user can - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code to check the Address Match Code and the transmission direction request - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At Listen mode end @ref HAL_I2C_ListenCpltCallback() is executed and user can - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ListenCpltCallback() - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using @ref - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Transmit_DMA() - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_SlaveTxCpltCallback() is ex - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback() - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using @ref H - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Receive_DMA() - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_SlaveRxCpltCallback() is execu - ARM GAS /tmp/ccFk2Nxo.s page 4 - - - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback() - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user ca - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback() - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro. - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO MEM operation *** - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ======================================= - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_IT() - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback() - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_IT() - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback() - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback() - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO operation *** - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ============================== - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Master_Transmit_DMA() - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback( - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Master_Receive_DMA() - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback( - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Slave_Transmit_DMA() - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback() - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Slave_Receive_DMA() - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback() - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback() - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback() - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro. - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO MEM operation *** - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ================================= - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_DMA() - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback() - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_DMA() - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can - ARM GAS /tmp/ccFk2Nxo.s page 5 - - - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback() - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback() - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** I2C HAL driver macros list *** - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ================================== - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver. - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE: Enable the I2C peripheral - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE: Disable the I2C peripheral - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Callback registration *** - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ============================================= - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1 - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks. - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use Functions @ref HAL_I2C_RegisterCallback() or @ref HAL_I2C_RegisterAddrCallback() - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to register an interrupt callback. - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Function @ref HAL_I2C_RegisterCallback() allows to register following callbacks: - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer. - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer. - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer. - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer. - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode. - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer. - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer. - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection. - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process. - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init. - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit. - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and a pointer to the user callback function. - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_RegisterAdd - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use function @ref HAL_I2C_UnRegisterCallback to reset a callback to the default - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** weak function. - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle, - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the Callback ID. - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function allows to reset following callbacks: - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer. - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer. - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer. - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer. - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode. - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer. - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer. - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection. - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process. - ARM GAS /tmp/ccFk2Nxo.s page 6 - - - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init. - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit. - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_UnRegisterAddrCallba - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** By default, after the @ref HAL_I2C_Init() and when the state is @ref HAL_I2C_STATE_RESET - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions: - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** examples @ref HAL_I2C_MasterTxCpltCallback(), @ref HAL_I2C_MasterRxCpltCallback(). - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** reset to the legacy weak functions in the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit() only when - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** these callbacks are null (not registered beforehand). - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit() - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Callbacks can be registered/unregistered in @ref HAL_I2C_STATE_READY state only. - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** in @ref HAL_I2C_STATE_READY or @ref HAL_I2C_STATE_RESET state, - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using @ref HAL_I2C_RegisterCallback() before calling @ref HAL_I2C_DeInit() - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or @ref HAL_I2C_Init() function. - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** are set to the corresponding weak functions. - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ****************************************************************************** - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @attention - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *

© Copyright (c) 2016 STMicroelectronics. - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * All rights reserved.

- 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This software component is licensed by ST under BSD 3-Clause license, - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the "License"; You may not use this file except in compliance with the - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * License. You may obtain a copy of the License at: - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * opensource.org/licenses/BSD-3-Clause - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ****************************************************************************** - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/ - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #include "stm32f0xx_hal.h" - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup STM32F0xx_HAL_Driver - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C I2C - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED - ARM GAS /tmp/ccFk2Nxo.s page 7 - - - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/ - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/ - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */ - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */ - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */ - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */ - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */ - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */ - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */ - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */ - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */ - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */ - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SlaveAddr_SHIFT 7U - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SlaveAddr_MSK 0x06U - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */ - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | (uint32_ - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE)) - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | ( - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | ( - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | ( - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | ( - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | ( - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | ( - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */ - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_TX_IT (0x00000001U) - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RX_IT (0x00000002U) - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (0x00000004U) - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (0x00000011U) - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (0x00000012U) - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (0x00000012U) - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */ - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U) - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @} - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/ - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/ - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/ - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle DMA transfer */ - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma); - ARM GAS /tmp/ccFk2Nxo.s page 8 - - - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma); - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma); - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma); - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma); - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma); - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */ - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c); - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c); - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode); - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */ - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1 - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16 - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */ - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3 - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */ - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_ - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */ - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest); - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest); - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to flush TXDR register */ - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c); - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */ - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to Convert Specific options */ - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c); - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @} - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/ - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialization and Configuration functions - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * - ARM GAS /tmp/ccFk2Nxo.s page 9 - - - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================================================== - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Initialization and de-initialization functions ##### - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================================================== - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** deinitialize the I2Cx peripheral: - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the selected configuration: - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Clock Timing - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 1 - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Addressing mode (Master, Slave) - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Dual Addressing mode - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2 - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2 Mask - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) General call mode - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Nostretch mode - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** of the selected I2Cx peripheral. - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle. - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c) - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */ - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL) - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET) - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Allocate lock resource and initialize it */ - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED; - ARM GAS /tmp/ccFk2Nxo.s page 10 - - - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the I2C Callback settings */ - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL) - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */ - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c); - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c); - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the selected I2C peripheral */ - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/ - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */ - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK; - 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/ - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */ - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN; - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */ - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1); - 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */ - 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1); - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/ - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */ - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) - 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10); - 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */ - ARM GAS /tmp/ccFk2Nxo.s page 11 - - - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/ - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */ - 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE; - 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */ - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | (hi2c->Init.OwnAddr - 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/ - 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */ - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode); - 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the selected I2C peripheral */ - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); - 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; - 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral. - 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status - 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c) - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */ - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL) - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ - 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); - 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; - 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */ - 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); - 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) - 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL) - 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */ - 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c); - 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else - 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c); - ARM GAS /tmp/ccFk2Nxo.s page 12 - - - 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; - 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */ - 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); - 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialize the I2C MSP. - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None - 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c) - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); - 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file - 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP. - 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None - 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c) - 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); - 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) - 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register a User I2C Callback - 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak predefined callback - 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered - 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values: - 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID - 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID - 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID - 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID - ARM GAS /tmp/ccFk2Nxo.s page 13 - - - 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID - 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID - 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID - 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID - 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID - 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Callback function - 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status - 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb - 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; - 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL) - 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */ - 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); - 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) - 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID) - 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : - 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback; - 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : - 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback; - 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : - 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback; - 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : - 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback; - 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : - 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback; - 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : - 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback; - 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : - 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback; - 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : - ARM GAS /tmp/ccFk2Nxo.s page 14 - - - 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback; - 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : - 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback; - 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : - 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; - 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : - 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; - 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default : - 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID) - 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : - 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; - 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : - 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; - 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default : - 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else - 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */ - 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); - 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status; - ARM GAS /tmp/ccFk2Nxo.s page 15 - - - 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Unregister an I2C Callback - 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback - 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered - 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values: - 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values: - 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID - 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID - 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID - 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID - 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID - 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID - 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID - 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID - 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID - 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID - 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID - 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status - 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal - 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; - 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */ - 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); - 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) - 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID) - 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : - 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb - 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : - 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb - 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : - 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba - 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : - 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba - 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : - 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac - 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : - 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - ARM GAS /tmp/ccFk2Nxo.s page 16 - - - 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback - 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : - 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback - 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : - 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : - 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit - 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : - 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit - 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default : - 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID) - 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : - 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit - 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : - 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit - 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default : - 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break; - 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else - 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - ARM GAS /tmp/ccFk2Nxo.s page 17 - - - 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */ - 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); - 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status; - 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback - 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback - 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function - 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status - 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC - 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; - 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL) - 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */ - 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); - 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) - 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = pCallback; - 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else - 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */ - 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); - 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status; - 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback - 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal - 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. - 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status - 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c) - 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 18 - - - 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; - 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */ - 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); - 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) - 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */ - 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else - 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */ - 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; - 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */ - 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR; - 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */ - 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); - 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status; - 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @} - 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions - 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Data transfers functions - 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * - 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim - 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================================================== - 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### IO operation functions ##### - 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================================================== - 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] - 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data - 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfers. - 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) There are two modes of transfer: - 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode. - 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The status of all data processing is returned by the same function - 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** after finishing transfer. - 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts - 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup. - 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The end of the data processing will be indicated through the - 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when - 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using DMA mode. - 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Blocking mode functions are : - 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit() - 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive() -1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit() -1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive() -1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write() -1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read() - ARM GAS /tmp/ccFk2Nxo.s page 19 - - -1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady() -1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are : -1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT() -1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT() -1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT() -1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT() -1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT() -1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT() -1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT() -1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT() -1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT() -1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT() -1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT() -1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT() -1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT() -1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are : -1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA() -1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA() -1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA() -1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA() -1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA() -1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA() -1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA() -1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA() -1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA() -1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA() -1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: -1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback() -1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback() -1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback() -1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback() -1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback() -1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback() -1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback() -1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback() -1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback() -1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback() -1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim -1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ -1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode. -1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD - ARM GAS /tmp/ccFk2Nxo.s page 20 - - -1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK -1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ -1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S -1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ -1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U) -1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */ -1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */ -1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; -1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) -1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */ - ARM GAS /tmp/ccFk2Nxo.s page 21 - - -1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) -1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA -1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST -1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ -1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */ -1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); -1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode. -1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa - ARM GAS /tmp/ccFk2Nxo.s page 22 - - -1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK -1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ -1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S -1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ -1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U) -1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */ -1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) -1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 23 - - -1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */ -1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) -1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA -1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST -1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ -1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */ -1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); -1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode. -1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, ui -1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 24 - - -1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */ -1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) -1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */ -1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bit addressing mode is selected */ -1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) -1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */ -1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) -1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */ -1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */ -1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK) -1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ - ARM GAS /tmp/ccFk2Nxo.s page 25 - - -1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U) -1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */ -1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */ -1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; -1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */ -1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) -1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Normal use case for Transmitter mode */ -1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A NACK is generated to confirm the end of transfer */ -1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */ -1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ -1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) -1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - ARM GAS /tmp/ccFk2Nxo.s page 26 - - -1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode -1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uin -1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */ -1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) -1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 27 - - -1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */ -1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */ -1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK) -1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U) -1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */ -1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */ -1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) -1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */ -1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */ -1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ -1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) - ARM GAS /tmp/ccFk2Nxo.s page 28 - - -1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt -1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t -1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 29 - - -1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ -1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT -1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ -1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX -1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); -1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt -1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t * -1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ - ARM GAS /tmp/ccFk2Nxo.s page 30 - - -1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ -1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ -1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ -1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX -1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); -1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt -1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) -1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 31 - - -1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; -1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ -1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX -1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); -1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt -1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) -1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - ARM GAS /tmp/ccFk2Nxo.s page 32 - - -1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; -1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ -1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX -1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); -1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA -1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t -1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; - ARM GAS /tmp/ccFk2Nxo.s page 33 - - -1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; -1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U) -1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; -1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; -1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; -1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; -1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance-> -1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART -1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_ - ARM GAS /tmp/ccFk2Nxo.s page 34 - - -1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ -1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); -1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; -1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ -1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */ -1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ -1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ -1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_ -1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); -1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; - ARM GAS /tmp/ccFk2Nxo.s page 35 - - -1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA -1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t -1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; -1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U) -1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; -1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ - ARM GAS /tmp/ccFk2Nxo.s page 36 - - -1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; -1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; -1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; -1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p -1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART * -2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_ -2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ -2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); -2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; -2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 37 - - -2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ -2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */ -2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ -2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ -2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_ -2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); -2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA -2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size -2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - ARM GAS /tmp/ccFk2Nxo.s page 38 - - -2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; -2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt; -2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; -2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; -2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; -2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX -2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ -2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); -2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; -2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 39 - - -2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA -2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) -2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; -2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ - ARM GAS /tmp/ccFk2Nxo.s page 40 - - -2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt; -2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; -2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; -2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; -2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa -2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ -2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); -2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; -2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - ARM GAS /tmp/ccFk2Nxo.s page 41 - - -2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address -2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address -2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre -2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); -2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK -2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; -2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 42 - - -2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ -2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL -2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ -2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST -2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS -2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do -2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */ -2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */ -2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; -2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) -2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */ -2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) -2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA -2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST -2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 43 - - -2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U); -2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ -2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ -2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); -2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address -2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address -2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres -2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); -2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 44 - - -2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK -2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; -2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ -2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_ -2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ -2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S -2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ -2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do -2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */ -2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK) -2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -2481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; - ARM GAS /tmp/ccFk2Nxo.s page 45 - - -2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -2487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) -2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */ -2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) -2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_ST -2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST -2505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U); -2509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ -2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ -2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) -2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); -2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres -2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -2542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address - ARM GAS /tmp/ccFk2Nxo.s page 46 - - -2543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd -2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -2551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); -2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -2565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; -2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ -2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar -2598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ - ARM GAS /tmp/ccFk2Nxo.s page 47 - - -2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ -2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); -2606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ -2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX -2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); -2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre -2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -2632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -2633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address -2634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd -2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -2642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -2645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); -2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 48 - - -2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; -2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ -2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart -2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ -2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ -2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ -2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -2707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX -2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); -2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 49 - - -2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address -2719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -2723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address -2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -2725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA -2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -2736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); -2737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -2747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; -2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; -2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - ARM GAS /tmp/ccFk2Nxo.s page 50 - - -2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ -2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar -2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; -2791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; -2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; -2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; -2798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX -2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ -2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); -2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); - ARM GAS /tmp/ccFk2Nxo.s page 51 - - -2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ -2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); -2834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; -2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address. -2863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address -2868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be read -2871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -2872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -2873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd -2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); -2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) - ARM GAS /tmp/ccFk2Nxo.s page 52 - - -2885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/ -2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; -2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; -2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -2912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -2920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ -2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart -2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -2931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; -2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; -2937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; -2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; -2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 53 - - -2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa -2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -2953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ -2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_RE -2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ -2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); -2976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; -2979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -2991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 54 - - -2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Checks if target device is ready for communication. -3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This function is used with Memory devices -3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Trials Number of trials -3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -3013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria -3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; -3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL; -3019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp1; -3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp2; -3022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) -3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; -3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do -3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Start */ -3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress); -3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ -3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/ -3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick(); -3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF); -3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); -3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET)) -3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) -3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) -3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - ARM GAS /tmp/ccFk2Nxo.s page 55 - - -3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; -3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF); -3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); -3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */ -3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET) -3073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ -3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) -3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Device is ready */ -3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -3085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ -3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) -3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/ -3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */ -3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_Trials == Trials) -3108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */ -3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; -3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ - ARM GAS /tmp/ccFk2Nxo.s page 56 - - -3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) -3114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Trials */ -3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Trials++; -3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (I2C_Trials < Trials); -3126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -3129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; -3132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -3141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte -3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -3151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint -3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; -3160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -3162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -3165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; - ARM GAS /tmp/ccFk2Nxo.s page 57 - - -3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -3178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ -3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene -3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */ -3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST -3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; -3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ -3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); -3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ -3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE) -3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */ -3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); -3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); -3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 58 - - -3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA. -3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -3234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -3236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin -3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; -3244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -3247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; -3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; -3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ -3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene -3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */ -3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST -3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; -3281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 59 - - -3284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ -3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); -3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ -3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE) -3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U) -3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; -3300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; -3303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; -3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; -3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance-> -3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -3316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */ -3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); -3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ - ARM GAS /tmp/ccFk2Nxo.s page 60 - - -3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); -3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; -3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ -3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -3367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */ -3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ -3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ -3377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_ -3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); -3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter -3392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -3396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer - ARM GAS /tmp/ccFk2Nxo.s page 61 - - -3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -3400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8 -3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; -3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -3408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -3409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ -3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene -3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */ -3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST -3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; -3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ -3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); -3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ -3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE) -3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 62 - - -3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */ -3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); -3457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); -3465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA -3476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -3477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -3482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -3483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -3485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint -3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; -3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -3491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; -3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; -3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; -3509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ -3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) - ARM GAS /tmp/ccFk2Nxo.s page 63 - - -3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene -3523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */ -3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST -3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; -3527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ -3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); -3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ -3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE) -3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U) -3541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; -3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; -3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; -3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; -3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p -3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -3565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 64 - - -3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */ -3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); -3576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ -3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); -3588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; -3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ -3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; -3611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */ -3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */ -3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ -3615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ -3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */ -3624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_ -3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); - ARM GAS /tmp/ccFk2Nxo.s page 65 - - -3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -3633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit -3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -3639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -3642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -3644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S -3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -3649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) -3652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ -3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); -3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ -3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ -3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) -3668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */ -3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); -3671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */ -3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) -3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; -3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; -3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 66 - - -3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */ -3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) -3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ -3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); -3688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; -3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -3699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; -3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) -3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ -3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ -3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -3712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */ -3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); -3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit -3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -3734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -3737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -3738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status - ARM GAS /tmp/ccFk2Nxo.s page 67 - - -3740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t -3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -3746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) -3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ -3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); -3761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ -3763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ -3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) -3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */ -3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); -3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) -3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */ -3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; -3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; -3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */ -3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) -3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ -3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); -3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) -3790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) -3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; -3794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */ -3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) - ARM GAS /tmp/ccFk2Nxo.s page 68 - - -3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; -3801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */ -3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) -3804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ -3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); -3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -3814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; -3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; -3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -3831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt; -3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; -3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; -3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; -3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX -3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 69 - - -3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -3864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */ -3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0; -3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -3873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) -3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ -3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ -3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ -3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); -3898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; -3901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - ARM GAS /tmp/ccFk2Nxo.s page 70 - - -3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with -3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -3913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -3914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -3916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -3917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -3920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si -3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -3923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -3924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) -3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) -3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ -3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); -3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ -3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */ -3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) -3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */ -3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); -3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) -3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; -3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */ -3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; -3956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */ -3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) -3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ -3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); -3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; - ARM GAS /tmp/ccFk2Nxo.s page 71 - - -3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -3970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; -3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) -3982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ -3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ -3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -3993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */ -3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); -3996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with -4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during -4008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer -4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent -4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS -4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S -4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; -4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); -4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) -4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) - ARM GAS /tmp/ccFk2Nxo.s page 72 - - -4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; -4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ -4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); -4032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ -4037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */ -4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) -4039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */ -4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); -4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) -4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */ -4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -4047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; -4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; -4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */ -4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) -4056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ -4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); -4059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) -4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) -4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; -4068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */ -4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -4071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; -4075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */ -4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) -4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ -4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); -4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 73 - - -4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; -4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; -4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */ -4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; -4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */ -4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData; -4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; -4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; -4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; -4103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -4105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ -4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt; -4108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */ -4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; -4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ -4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; -4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; -4115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa -4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -4124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; -4127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -4130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) -4135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -4138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 74 - - -4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */ -4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0; -4141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */ -4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -4147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */ -4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; -4150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -4153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -4155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) -4158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ -4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ -4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -4162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -4166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -4169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */ -4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); -4172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; -4175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt. -4186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c) -4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) -4193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; - ARM GAS /tmp/ccFk2Nxo.s page 75 - - -4196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the Address Match interrupt */ -4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); -4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -4201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -4205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt. -4210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C -4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c) -4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ -4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp; -4218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */ -4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) -4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK; -4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); -4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -4227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the Address Match interrupt */ -4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); -4230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY; -4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt. -4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -4244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -4245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress) -4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER) -4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); - ARM GAS /tmp/ccFk2Nxo.s page 76 - - -4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */ -4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); -4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); -4257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */ -4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT; -4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */ -4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe -4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP); -4264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -4267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process -4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current -4270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */ -4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); -4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -4274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong usage of abort function */ -4278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */ -4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @} -4285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks -4288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ -4289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request. -4293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) -4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */ -4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); -4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); -4302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/ -4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferISR != NULL) -4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources); -4307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 77 - - -4310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request. -4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c) -4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); -4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); -4320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror; -4321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/ -4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_E -4324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR; -4326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear BERR flag */ -4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); -4329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/ -4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ER -4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR; -4335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear OVR flag */ -4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); -4338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/ -4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_E -4342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO; -4344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ARLO flag */ -4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); -4347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */ -4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode; -4351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */ -4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_ -4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror); -4356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback. -4361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c) -4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 78 - - -4367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file -4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback. -4377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c) -4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file -4388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback. -4392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) -4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file -4403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback. -4408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) -4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file -4419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Address Match callback. - ARM GAS /tmp/ccFk2Nxo.s page 79 - - -4424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE -4427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code -4428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM -4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(TransferDirection); -4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(AddrMatchCode); -4436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file -4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Listen Complete callback. -4444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c) -4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file -4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback. -4460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c) -4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file -4471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback. -4476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c) - ARM GAS /tmp/ccFk2Nxo.s page 80 - - -4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file -4487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C error callback. -4492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) -4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file -4503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C abort callback. -4508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -4511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c) -4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -4515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c); -4516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, -4518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file -4519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @} -4524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions -4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions -4528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * -4529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim -4530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================================================== -4531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions ##### -4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================================================== -4533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] -4534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral -4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the data flow. -4536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim - ARM GAS /tmp/ccFk2Nxo.s page 81 - - -4538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ -4539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C handle state. -4543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL state -4546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c) -4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */ -4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->State; -4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode. -4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for I2C module -4557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL mode -4558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c) -4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode; -4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C error code. -4566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval I2C Error Code -4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c) -4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode; -4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @} -4577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @} -4581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions -4584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{ -4585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt. -4589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -4592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. -4593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - ARM GAS /tmp/ccFk2Nxo.s page 82 - - -4595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint -4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress; -4598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; -4599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -4602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ -4604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -4607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */ -4609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ -4610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ -4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; -4612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */ -4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); -4615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, -4617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ -4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; -4620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -4623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -4626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -4629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, -4631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */ -4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; -4634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -4637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -4640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I -4642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) -4644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD); -4646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -4648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START -4651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 83 - - -4652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) -4656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, hi2c->XferOptions, I2C_NO_S -4658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST -4662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */ -4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) -4669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ -4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); -4672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ -4676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); -4678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2 -4682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U) -4684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) -4686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */ -4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME) -4689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */ -4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; -4692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ -4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); -4697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */ -4703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); -4705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 84 - - -4709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -4710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_ -4713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */ -4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags); -4716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -4720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt. -4726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -4729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. -4730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3 -4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; -4735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; -4736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */ -4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -4739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */ -4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_ -4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */ -4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags); -4745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ -4748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */ -4750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ -4751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0*/ -4752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */ -4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U) -4754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) /* Sam -4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */ -4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags); -4759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME) -4761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -4764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */ - ARM GAS /tmp/ccFk2Nxo.s page 85 - - -4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); -4767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */ -4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ -4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); -4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -4776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ -4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ -4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; -4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) -4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); -4791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, -4795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U) -4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -4800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -4803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -4806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \ -4809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) -4810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ -4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); -4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, -4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags); -4818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, -4820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */ -4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */ - ARM GAS /tmp/ccFk2Nxo.s page 86 - - -4823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if all Datas have already been sent */ -4824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */ -4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U) -4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */ -4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; -4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -4832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -4835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME)) -4839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */ -4841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ -4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); -4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -4853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA. -4859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. -4863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -4865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin -4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress; -4868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; -4869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */ -4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NAC -4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -4877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */ -4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - ARM GAS /tmp/ccFk2Nxo.s page 87 - - -4880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ -4882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */ -4883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ -4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); -4885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */ -4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); -4888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_ -4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC interrupt */ -4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI); -4893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U) -4895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Recover Slave address */ -4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD); -4898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */ -4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -4901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; -4904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) -4909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; -4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; -4915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */ -4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); -4920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */ -4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; -4923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */ -4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) -4926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; -4928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; -4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */ - ARM GAS /tmp/ccFk2Nxo.s page 88 - - -4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) -4938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ -4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); -4941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ -4945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); -4947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_I -4951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U) -4953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) -4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */ -4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME) -4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */ -4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; -4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ -4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); -4966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */ -4972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); -4974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2 -4977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */ -4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags); -4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -4982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -4984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -4992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA. - ARM GAS /tmp/ccFk2Nxo.s page 89 - - -4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -4995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -4996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. -4998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -4999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint -5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; -5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U; -5004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */ -5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c); -5007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */ -5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ -5010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */ -5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags); -5013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NAC -5016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */ -5018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ -5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0 */ -5020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */ -5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) || -5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) -5023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */ -5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -5026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET) -5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U) -5030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U; -5032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */ -5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -5038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) -5040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmatx) == 0U) -5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U; -5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (treatdmanack == 1U) -5049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) /* S - ARM GAS /tmp/ccFk2Nxo.s page 90 - - -5051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */ -5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags); -5054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM -5056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -5059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */ -5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); -5062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */ -5064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ -5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); -5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -5071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ -5076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -5078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ -5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; -5081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) -5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); -5086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */ -5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -5093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C -5096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags); -5098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -5102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; - ARM GAS /tmp/ccFk2Nxo.s page 91 - - -5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques -5112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -5115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address -5117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -5118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -5119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value -5120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -5121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1 -5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI -5125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */ -5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) -5128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -5130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */ -5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) -5134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */ -5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); -5137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */ -5139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */ -5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); -5143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */ -5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) -5146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */ -5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); -5152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */ -5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK) -5156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -5158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request - ARM GAS /tmp/ccFk2Nxo.s page 92 - - -5165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -5167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value -5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface -5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address -5170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address -5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value -5173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -5174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16 -5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR -5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */ -5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) -5181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -5183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */ -5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) -5187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */ -5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); -5190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */ -5192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */ -5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); -5196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */ -5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) -5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */ -5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); -5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TC flag is set */ -5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK) -5209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -5211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Address complete process callback. -5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -5219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -5220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ - ARM GAS /tmp/ccFk2Nxo.s page 93 - - -5222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) -5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection; -5225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t slaveaddrcode; -5226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd1code; -5227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd2code; -5228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ -5230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(ITFlags); -5231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */ -5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) -5234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c); -5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); -5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); -5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); -5239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bits addressing mode is selected */ -5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) -5242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((slaveaddrcode & SlaveAddr_MSK) == ((ownadd1code >> SlaveAddr_SHIFT) & SlaveAddr_MSK)) -5244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd1code; -5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount++; -5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) -5248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Address Event counter */ -5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount = 0U; -5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */ -5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -5254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */ -5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); -5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); -5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd2code; -5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */ -5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); -5272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */ -5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); - ARM GAS /tmp/ccFk2Nxo.s page 94 - - -5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); -5281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */ -5285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */ -5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); -5289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */ -5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); -5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); -5298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Else clear address flag only */ -5302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */ -5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); -5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master sequential complete process. -5314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -5315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c) -5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */ -5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */ -5323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */ -5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) -5325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; -5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -5329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */ -5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); -5332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 95 - - -5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); -5339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); -5341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ -5344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; -5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -5349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */ -5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); -5352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); -5359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); -5361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave sequential complete process. -5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -5368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c) -5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */ -5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) -5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */ -5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; -5380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */ -5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); -5383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); -5390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); -5392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - ARM GAS /tmp/ccFk2Nxo.s page 96 - - -5393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) -5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */ -5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; -5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */ -5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); -5403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); -5410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); -5412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master complete process. -5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) -5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror; -5429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -5432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); -5435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */ -5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; -5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -5440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) -5442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -5445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set acknowledge error code */ -5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; -5448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 97 - - -5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */ -5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); -5452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */ -5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_RX_IT); -5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */ -5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode; -5458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE)) -5461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); -5464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */ -5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX) -5467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) -5471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c); -5480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c); -5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); -5494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); -5496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ -5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) -5501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) -5505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - ARM GAS /tmp/ccFk2Nxo.s page 98 - - -5507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c); -5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c); -5516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); -5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); -5530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -5536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave complete process. -5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -5542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) -5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); -5548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; -5549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -5552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */ -5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT); -5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */ -5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -5558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); -5561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */ -5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); - ARM GAS /tmp/ccFk2Nxo.s page 99 - - -5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */ -5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET) -5567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -5569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmatx); -5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET) -5574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -5576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmarx); -5578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */ -5583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */ -5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) -5587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ -5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; -5590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -5593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U)) -5598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */ -5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U) -5606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ -5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; -5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; -5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -5614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE) -5616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); -5619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ - ARM GAS /tmp/ccFk2Nxo.s page 100 - - -5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) -5622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */ -5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags); -5625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) -5628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Tranfer */ -5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); -5631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ -5639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); -5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); -5643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) -5647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); -5656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); -5658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); -5670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); -5672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Listen complete process. - ARM GAS /tmp/ccFk2Nxo.s page 101 - - -5678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -5679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. -5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) -5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */ -5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; -5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */ -5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET) -5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */ -5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; -5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */ -5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++; -5699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U)) -5701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; -5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; -5704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ -5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; -5707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all Interrupts*/ -5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); -5712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */ -5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -5715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ -5720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); -5722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); -5724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C interrupts error process. -5729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ErrorCode Error code to handle. -5731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode) -5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 102 - - -5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; -5736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */ -5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; -5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U; -5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set new error code */ -5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode; -5744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */ -5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) || -5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || -5748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) -5749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */ -5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT); -5752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */ -5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; -5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; -5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; -5757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */ -5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); -5762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If state is an abort treatment on goind, don't change state */ -5764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This change will be do later */ -5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT) -5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */ -5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; -5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; -5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX transfer if any */ -5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) -5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; -5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) -5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -5782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; -5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */ -5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) -5790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ - ARM GAS /tmp/ccFk2Nxo.s page 103 - - -5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); -5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX transfer if any */ -5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) -5798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; -5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) -5802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : -5804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ -5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; -5806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */ -5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) -5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */ -5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); -5815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_ABORT) -5819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -5821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c); -5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c); -5830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -5836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -5839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c); -5840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c); -5842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -5843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Tx data register flush process. -5848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. - ARM GAS /tmp/ccFk2Nxo.s page 104 - - -5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c) -5852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 25 .loc 1 5852 0 - 26 .cfi_startproc - 27 @ args = 0, pretend = 0, frame = 0 - 28 @ frame_needed = 0, uses_anonymous_args = 0 - 29 @ link register save eliminated. - 30 .LVL0: -5853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a pending TXIS flag is set */ -5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */ -5855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET) - 31 .loc 1 5855 0 - 32 0000 0368 ldr r3, [r0] - 33 0002 9A69 ldr r2, [r3, #24] - 34 0004 9207 lsls r2, r2, #30 - 35 0006 01D5 bpl .L2 -5856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U; - 36 .loc 1 5857 0 - 37 0008 0022 movs r2, #0 - 38 000a 9A62 str r2, [r3, #40] - 39 .L2: -5858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register if not empty */ -5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET) - 40 .loc 1 5861 0 - 41 000c 0368 ldr r3, [r0] - 42 000e 9A69 ldr r2, [r3, #24] - 43 0010 D207 lsls r2, r2, #31 - 44 0012 03D4 bmi .L1 -5862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE); - 45 .loc 1 5863 0 - 46 0014 9A69 ldr r2, [r3, #24] - 47 0016 0121 movs r1, #1 - 48 0018 0A43 orrs r2, r1 - 49 001a 9A61 str r2, [r3, #24] - 50 .L1: -5864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 51 .loc 1 5865 0 - 52 @ sp needed - 53 001c 7047 bx lr - 54 .cfi_endproc - 55 .LFE102: - 57 .section .text.I2C_TransferConfig,"ax",%progbits - 58 .align 1 - 59 .syntax unified - 60 .code 16 - 61 .thumb_func - 62 .fpu softvfp - 64 I2C_TransferConfig: - 65 .LFB114: -5866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 105 - - -5867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback. -5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle -5870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma) -5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati -5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */ -5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; -5878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */ -5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U) -5881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */ -5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); -5884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */ -5886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */ -5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize; -5890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */ -5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -5893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -5899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, h -5903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); -5906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */ -5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); -5911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback. -5917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle -5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma) -5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati -5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; - ARM GAS /tmp/ccFk2Nxo.s page 106 - - -5924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME)) -5926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */ -5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; -5929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */ -5931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ -5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); -5933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */ -5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */ -5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */ -5939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback. -5944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle -5945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma) -5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati -5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */ -5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; -5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */ -5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U) -5956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */ -5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); -5959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */ -5961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */ -5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize; -5965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */ -5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) -5968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; -5970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; -5974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */ -5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, h -5978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); - ARM GAS /tmp/ccFk2Nxo.s page 107 - - -5981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -5983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */ -5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); -5986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -5989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback. -5992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle -5993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -5994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -5995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma) -5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati -5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; -5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U) && \ -6001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) -6002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */ -6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; -6005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ -6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); -6008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -6010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */ -6012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */ -6013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */ -6014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication error callback. -6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle -6020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -6021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma) -6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati -6025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Acknowledge */ -6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; -6028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); -6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication abort callback -6035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure). -6036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle. -6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None - ARM GAS /tmp/ccFk2Nxo.s page 108 - - -6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma) -6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati -6042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset AbortCpltCallback */ -6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; -6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; -6046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if come from abort from user */ -6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT) -6049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -6054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c); -6055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c); -6057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -6058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -6060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ -6062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) -6063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c); -6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else -6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c); -6066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ -6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout. -6072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -6073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check. -6075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Status The new Flag status (SET or RESET). -6076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value -6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -6079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta -6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) -6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */ -6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) -6086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) -6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; -6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -6092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); - ARM GAS /tmp/ccFk2Nxo.s page 109 - - -6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag. -6104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -6105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -6106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -6107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value -6108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -6109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, -6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) -6113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */ -6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK) -6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */ -6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) -6122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) -6124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; -6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -6128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -6131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag. -6141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -6142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -6143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -6144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value -6145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -6146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, -6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) -6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */ - ARM GAS /tmp/ccFk2Nxo.s page 110 - - -6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK) -6153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */ -6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) -6159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; -6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -6163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag. -6175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -6177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -6178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value -6179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -6180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, -6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) -6184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */ -6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK) -6187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a STOPF is detected */ -6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) -6193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an RXNE is pending */ -6195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */ -6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U)) -6197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return HAL_OK */ -6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */ -6200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -6201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -6203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -6206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); - ARM GAS /tmp/ccFk2Nxo.s page 111 - - -6209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; -6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */ -6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) -6223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; -6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -6229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles Acknowledge failed detection during an I2C Communication. -6238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -6240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration -6241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value -6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status -6243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_ -6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) -6247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP Flag is reset */ -6249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */ -6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) -6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */ -6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) -6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) -6256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; -6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -6263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 112 - - -6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACKF Flag */ -6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); -6271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */ -6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); -6274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */ -6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); -6277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */ -6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); -6280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; -6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; -6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; -6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */ -6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); -6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; -6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK; -6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar -6295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed. -6297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed. -6298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter must be a value between 0 and 255. -6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation. -6300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values: -6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode . -6302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode. -6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode. -6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation. -6305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values: -6306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition. -6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0). -6308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request. -6309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request. -6310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -6311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t -6313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 66 .loc 1 6313 0 - 67 .cfi_startproc - 68 @ args = 4, pretend = 0, frame = 0 - 69 @ frame_needed = 0, uses_anonymous_args = 0 - 70 .LVL1: - 71 0000 F0B5 push {r4, r5, r6, r7, lr} - 72 .LCFI0: - 73 .cfi_def_cfa_offset 20 - 74 .cfi_offset 4, -20 - ARM GAS /tmp/ccFk2Nxo.s page 113 - - - 75 .cfi_offset 5, -16 - 76 .cfi_offset 6, -12 - 77 .cfi_offset 7, -8 - 78 .cfi_offset 14, -4 - 79 0002 059C ldr r4, [sp, #20] -6314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ -6315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); -6316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); -6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); -6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* update CR2 register */ -6320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEN - 80 .loc 1 6320 0 - 81 0004 0568 ldr r5, [r0] - 82 0006 6868 ldr r0, [r5, #4] - 83 .LVL2: - 84 0008 660D lsrs r6, r4, #21 - 85 000a 8027 movs r7, #128 - 86 000c FF00 lsls r7, r7, #3 - 87 000e 3740 ands r7, r6 - 88 0010 054E ldr r6, .L5 - 89 0012 3E43 orrs r6, r7 - 90 0014 B043 bics r0, r6 - 91 0016 8905 lsls r1, r1, #22 - 92 .LVL3: - 93 0018 890D lsrs r1, r1, #22 - 94 001a 1204 lsls r2, r2, #16 - 95 .LVL4: - 96 001c 1143 orrs r1, r2 - 97 001e 0B43 orrs r3, r1 - 98 .LVL5: - 99 0020 2343 orrs r3, r4 - 100 0022 0343 orrs r3, r0 - 101 0024 6B60 str r3, [r5, #4] -6321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_ -6322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 102 .loc 1 6322 0 - 103 @ sp needed - 104 0026 F0BD pop {r4, r5, r6, r7, pc} - 105 .L6: - 106 .align 2 - 107 .L5: - 108 0028 FF63FF03 .word 67068927 - 109 .cfi_endproc - 110 .LFE114: - 112 .section .text.I2C_Enable_IRQ,"ax",%progbits - 113 .align 1 - 114 .syntax unified - 115 .code 16 - 116 .thumb_func - 117 .fpu softvfp - 119 I2C_Enable_IRQ: - 120 .LFB115: -6323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts. -6326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - ARM GAS /tmp/ccFk2Nxo.s page 114 - - -6327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -6328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. -6329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -6330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) -6332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 121 .loc 1 6332 0 - 122 .cfi_startproc - 123 @ args = 0, pretend = 0, frame = 0 - 124 @ frame_needed = 0, uses_anonymous_args = 0 - 125 @ link register save eliminated. - 126 .LVL6: -6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U; -6334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferISR == I2C_Master_ISR_DMA) || \ - 127 .loc 1 6335 0 - 128 0000 436B ldr r3, [r0, #52] - 129 0002 1C4A ldr r2, .L23 - 130 0004 9342 cmp r3, r2 - 131 0006 12D0 beq .L8 - 132 .loc 1 6335 0 is_stmt 0 discriminator 1 - 133 0008 1B4A ldr r2, .L23+4 - 134 000a 9342 cmp r3, r2 - 135 000c 0FD0 beq .L8 -6336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA)) -6337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) -6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */ -6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; -6342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT) -6345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ -6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; -6348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT) -6351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */ -6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI; -6354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT) -6357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */ -6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI; -6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) - 136 .loc 1 6364 0 is_stmt 1 - 137 000e 4B07 lsls r3, r1, #29 - 138 0010 2AD4 bmi .L18 -6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U; - ARM GAS /tmp/ccFk2Nxo.s page 115 - - - 139 .loc 1 6333 0 - 140 0012 0023 movs r3, #0 - 141 .L14: - 142 .LVL7: -6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, and ADDR interrupts */ -6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; -6368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) - 143 .loc 1 6370 0 - 144 0014 CA07 lsls r2, r1, #31 - 145 0016 01D5 bpl .L15 -6371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */ -6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI; - 146 .loc 1 6373 0 - 147 0018 F222 movs r2, #242 - 148 001a 1343 orrs r3, r2 - 149 .LVL8: - 150 .L15: -6374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) - 151 .loc 1 6376 0 - 152 001c 8A07 lsls r2, r1, #30 - 153 001e 25D4 bmi .L19 -6377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */ -6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI; -6380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT) - 154 .loc 1 6382 0 - 155 0020 1222 movs r2, #18 - 156 0022 1140 ands r1, r2 - 157 .LVL9: - 158 0024 1229 cmp r1, #18 - 159 0026 0FD1 bne .L13 -6383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */ -6385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI; - 160 .loc 1 6385 0 - 161 0028 0E32 adds r2, r2, #14 - 162 002a 1343 orrs r3, r2 - 163 .LVL10: - 164 002c 0CE0 b .L13 - 165 .LVL11: - 166 .L8: -6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 167 .loc 1 6338 0 - 168 002e 4B07 lsls r3, r1, #29 - 169 0030 0FD4 bmi .L17 -6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 170 .loc 1 6333 0 - 171 0032 0023 movs r3, #0 - 172 .L10: - ARM GAS /tmp/ccFk2Nxo.s page 116 - - - 173 .LVL12: -6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 174 .loc 1 6344 0 - 175 0034 1122 movs r2, #17 - 176 0036 0A40 ands r2, r1 - 177 0038 112A cmp r2, #17 - 178 003a 0CD0 beq .L20 - 179 .L11: - 180 003c 1222 movs r2, #18 - 181 003e 1140 ands r1, r2 - 182 .LVL13: -6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 183 .loc 1 6350 0 - 184 0040 1229 cmp r1, #18 - 185 0042 0BD0 beq .L21 - 186 .L12: -6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 187 .loc 1 6356 0 - 188 0044 1229 cmp r1, #18 - 189 0046 0CD0 beq .L22 - 190 .L13: -6386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable interrupts only at the end */ -6390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */ -6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all interrupts requested done */ -6392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr); - 191 .loc 1 6392 0 - 192 0048 0168 ldr r1, [r0] - 193 004a 0A68 ldr r2, [r1] - 194 004c 1343 orrs r3, r2 - 195 .LVL14: - 196 004e 0B60 str r3, [r1] -6393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 197 .loc 1 6393 0 - 198 @ sp needed - 199 0050 7047 bx lr - 200 .LVL15: - 201 .L17: -6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 202 .loc 1 6341 0 - 203 0052 B823 movs r3, #184 - 204 0054 EEE7 b .L10 - 205 .LVL16: - 206 .L20: -6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 207 .loc 1 6347 0 - 208 0056 7F32 adds r2, r2, #127 - 209 0058 1343 orrs r3, r2 - 210 .LVL17: - 211 005a EFE7 b .L11 - 212 .LVL18: - 213 .L21: -6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 214 .loc 1 6353 0 - 215 005c 0E32 adds r2, r2, #14 - ARM GAS /tmp/ccFk2Nxo.s page 117 - - - 216 005e 1343 orrs r3, r2 - 217 .LVL19: - 218 0060 F0E7 b .L12 - 219 .L22: -6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 220 .loc 1 6359 0 - 221 0062 4022 movs r2, #64 - 222 0064 1343 orrs r3, r2 - 223 .LVL20: - 224 0066 EFE7 b .L13 - 225 .LVL21: - 226 .L18: -6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 227 .loc 1 6367 0 - 228 0068 B823 movs r3, #184 - 229 006a D3E7 b .L14 - 230 .LVL22: - 231 .L19: -6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 232 .loc 1 6379 0 - 233 006c F422 movs r2, #244 - 234 006e 1343 orrs r3, r2 - 235 .LVL23: - 236 0070 EAE7 b .L13 - 237 .L24: - 238 0072 C046 .align 2 - 239 .L23: - 240 0074 00000000 .word I2C_Master_ISR_DMA - 241 0078 00000000 .word I2C_Slave_ISR_DMA - 242 .cfi_endproc - 243 .LFE115: - 245 .section .text.I2C_Disable_IRQ,"ax",%progbits - 246 .align 1 - 247 .syntax unified - 248 .code 16 - 249 .thumb_func - 250 .fpu softvfp - 252 I2C_Disable_IRQ: - 253 .LFB116: -6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts. -6397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains -6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C. -6399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. -6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -6401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) -6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 254 .loc 1 6403 0 - 255 .cfi_startproc - 256 @ args = 0, pretend = 0, frame = 0 - 257 @ frame_needed = 0, uses_anonymous_args = 0 - 258 .LVL24: - 259 0000 30B5 push {r4, r5, lr} - 260 .LCFI1: - 261 .cfi_def_cfa_offset 12 - ARM GAS /tmp/ccFk2Nxo.s page 118 - - - 262 .cfi_offset 4, -12 - 263 .cfi_offset 5, -8 - 264 .cfi_offset 14, -4 - 265 .LVL25: -6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U; -6405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) - 266 .loc 1 6406 0 - 267 0002 CB07 lsls r3, r1, #31 - 268 0004 09D5 bpl .L32 - 269 .LVL26: -6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and TXI interrupts */ -6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI; -6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN) - 270 .loc 1 6411 0 - 271 0006 4123 movs r3, #65 - 272 0008 C35C ldrb r3, [r0, r3] - 273 000a 2822 movs r2, #40 - 274 000c 1340 ands r3, r2 - 275 000e 282B cmp r3, #40 - 276 0010 01D0 beq .L35 -6412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */ -6414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 277 .loc 1 6414 0 - 278 0012 F223 movs r3, #242 - 279 0014 02E0 b .L26 - 280 .L35: -6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 281 .loc 1 6409 0 - 282 0016 1A33 adds r3, r3, #26 - 283 0018 00E0 b .L26 - 284 .LVL27: - 285 .L32: -6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 286 .loc 1 6404 0 - 287 001a 0023 movs r3, #0 - 288 .LVL28: - 289 .L26: -6415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) - 290 .loc 1 6418 0 - 291 001c 8A07 lsls r2, r1, #30 - 292 001e 09D5 bpl .L27 -6419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and RXI interrupts */ -6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI; - 293 .loc 1 6421 0 - 294 0020 4424 movs r4, #68 - 295 0022 1C43 orrs r4, r3 - 296 .LVL29: -6422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN) - ARM GAS /tmp/ccFk2Nxo.s page 119 - - - 297 .loc 1 6423 0 - 298 0024 4122 movs r2, #65 - 299 0026 825C ldrb r2, [r0, r2] - 300 0028 2825 movs r5, #40 - 301 002a 2A40 ands r2, r5 - 302 002c 282A cmp r2, #40 - 303 002e 14D0 beq .L34 -6424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */ -6426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 304 .loc 1 6426 0 - 305 0030 F422 movs r2, #244 - 306 0032 1343 orrs r3, r2 - 307 .LVL30: - 308 .L27: -6427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) - 309 .loc 1 6430 0 - 310 0034 4A07 lsls r2, r1, #29 - 311 0036 01D5 bpl .L28 -6431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */ -6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 312 .loc 1 6433 0 - 313 0038 B822 movs r2, #184 - 314 003a 1343 orrs r3, r2 - 315 .LVL31: - 316 .L28: -6434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT) - 317 .loc 1 6436 0 - 318 003c 1122 movs r2, #17 - 319 003e 0A40 ands r2, r1 - 320 0040 112A cmp r2, #17 - 321 0042 0CD0 beq .L36 - 322 .L29: - 323 0044 1222 movs r2, #18 - 324 0046 1140 ands r1, r2 - 325 .LVL32: -6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ -6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; -6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT) - 326 .loc 1 6442 0 - 327 0048 1229 cmp r1, #18 - 328 004a 0BD0 beq .L37 - 329 .L30: -6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */ -6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI; -6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 120 - - -6448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT) - 330 .loc 1 6448 0 - 331 004c 1229 cmp r1, #18 - 332 004e 0CD0 beq .L38 - 333 .L31: -6449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */ -6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI; -6452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable interrupts only at the end */ -6455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */ -6456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all disable interrupts request are not done */ -6457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr); - 334 .loc 1 6457 0 - 335 0050 0168 ldr r1, [r0] - 336 0052 0A68 ldr r2, [r1] - 337 0054 9A43 bics r2, r3 - 338 0056 0A60 str r2, [r1] -6458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 339 .loc 1 6458 0 - 340 @ sp needed - 341 0058 30BD pop {r4, r5, pc} - 342 .LVL33: - 343 .L34: -6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 344 .loc 1 6421 0 - 345 005a 2300 movs r3, r4 - 346 005c EAE7 b .L27 - 347 .LVL34: - 348 .L36: -6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 349 .loc 1 6439 0 - 350 005e 7F32 adds r2, r2, #127 - 351 0060 1343 orrs r3, r2 - 352 .LVL35: - 353 0062 EFE7 b .L29 - 354 .LVL36: - 355 .L37: -6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 356 .loc 1 6445 0 - 357 0064 0E32 adds r2, r2, #14 - 358 0066 1343 orrs r3, r2 - 359 .LVL37: - 360 0068 F0E7 b .L30 - 361 .L38: -6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 362 .loc 1 6451 0 - 363 006a 4022 movs r2, #64 - 364 006c 1343 orrs r3, r2 - 365 .LVL38: - 366 006e EFE7 b .L31 - 367 .cfi_endproc - 368 .LFE116: - 370 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits - 371 .align 1 - 372 .syntax unified - ARM GAS /tmp/ccFk2Nxo.s page 121 - - - 373 .code 16 - 374 .thumb_func - 375 .fpu softvfp - 377 I2C_ConvertOtherXferOptions: - 378 .LFB117: -6459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** -6460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** -6461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functionnal XferOptions. -6462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle. -6463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None -6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */ -6465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c) -6466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 379 .loc 1 6466 0 - 380 .cfi_startproc - 381 @ args = 0, pretend = 0, frame = 0 - 382 @ frame_needed = 0, uses_anonymous_args = 0 - 383 @ link register save eliminated. - 384 .LVL39: -6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */ -6468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */ -6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */ -6470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME) - 385 .loc 1 6470 0 - 386 0000 C36A ldr r3, [r0, #44] - 387 0002 AA2B cmp r3, #170 - 388 0004 05D0 beq .L42 -6471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME; -6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */ -6475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */ -6476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */ -6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */ -6478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME) - 389 .loc 1 6478 0 - 390 0006 C26A ldr r2, [r0, #44] - 391 0008 AA23 movs r3, #170 - 392 000a 1B02 lsls r3, r3, #8 - 393 000c 9A42 cmp r2, r3 - 394 000e 03D0 beq .L43 - 395 .L39: -6479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME; -6481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else -6483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { -6484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */ -6485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } -6486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 396 .loc 1 6486 0 - 397 @ sp needed - 398 0010 7047 bx lr - 399 .L42: -6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 400 .loc 1 6472 0 - 401 0012 0023 movs r3, #0 - ARM GAS /tmp/ccFk2Nxo.s page 122 - - - 402 0014 C362 str r3, [r0, #44] - 403 0016 FBE7 b .L39 - 404 .L43: -6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 405 .loc 1 6480 0 - 406 0018 8023 movs r3, #128 - 407 001a 9B04 lsls r3, r3, #18 - 408 001c C362 str r3, [r0, #44] - 409 .loc 1 6486 0 - 410 001e F7E7 b .L39 - 411 .cfi_endproc - 412 .LFE117: - 414 .section .text.I2C_IsAcknowledgeFailed,"ax",%progbits - 415 .align 1 - 416 .syntax unified - 417 .code 16 - 418 .thumb_func - 419 .fpu softvfp - 421 I2C_IsAcknowledgeFailed: - 422 .LFB113: -6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) - 423 .loc 1 6245 0 - 424 .cfi_startproc - 425 @ args = 0, pretend = 0, frame = 0 - 426 @ frame_needed = 0, uses_anonymous_args = 0 - 427 .LVL40: - 428 0000 70B5 push {r4, r5, r6, lr} - 429 .LCFI2: - 430 .cfi_def_cfa_offset 16 - 431 .cfi_offset 4, -16 - 432 .cfi_offset 5, -12 - 433 .cfi_offset 6, -8 - 434 .cfi_offset 14, -4 - 435 0002 0400 movs r4, r0 - 436 0004 0E00 movs r6, r1 - 437 0006 1500 movs r5, r2 -6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 438 .loc 1 6246 0 - 439 0008 0368 ldr r3, [r0] - 440 000a 9B69 ldr r3, [r3, #24] - 441 000c DB06 lsls r3, r3, #27 - 442 000e 19D5 bpl .L50 - 443 .LVL41: - 444 .L47: -6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 445 .loc 1 6250 0 - 446 0010 2368 ldr r3, [r4] - 447 0012 9A69 ldr r2, [r3, #24] - 448 0014 9206 lsls r2, r2, #26 - 449 0016 17D4 bmi .L51 -6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 450 .loc 1 6253 0 - 451 0018 731C adds r3, r6, #1 - 452 001a F9D0 beq .L47 -6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 453 .loc 1 6255 0 - 454 001c FFF7FEFF bl HAL_GetTick - ARM GAS /tmp/ccFk2Nxo.s page 123 - - - 455 .LVL42: - 456 0020 401B subs r0, r0, r5 - 457 0022 B042 cmp r0, r6 - 458 0024 01D8 bhi .L48 -6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 459 .loc 1 6255 0 is_stmt 0 discriminator 1 - 460 0026 002E cmp r6, #0 - 461 0028 F2D1 bne .L47 - 462 .L48: -6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 463 .loc 1 6257 0 is_stmt 1 - 464 002a 636C ldr r3, [r4, #68] - 465 002c 2022 movs r2, #32 - 466 002e 1343 orrs r3, r2 - 467 0030 6364 str r3, [r4, #68] -6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 468 .loc 1 6258 0 - 469 0032 4123 movs r3, #65 - 470 0034 E254 strb r2, [r4, r3] -6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 471 .loc 1 6259 0 - 472 0036 0023 movs r3, #0 - 473 0038 2232 adds r2, r2, #34 - 474 003a A354 strb r3, [r4, r2] -6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 475 .loc 1 6262 0 - 476 003c 023A subs r2, r2, #2 - 477 003e A354 strb r3, [r4, r2] -6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 478 .loc 1 6264 0 - 479 0040 0120 movs r0, #1 - 480 0042 1AE0 b .L46 - 481 .LVL43: - 482 .L50: -6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 483 .loc 1 6290 0 - 484 0044 0020 movs r0, #0 - 485 .LVL44: - 486 0046 18E0 b .L46 - 487 .LVL45: - 488 .L51: -6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 489 .loc 1 6270 0 - 490 0048 1022 movs r2, #16 - 491 004a DA61 str r2, [r3, #28] -6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 492 .loc 1 6273 0 - 493 004c 2368 ldr r3, [r4] - 494 004e 2025 movs r5, #32 - 495 .LVL46: - 496 0050 DD61 str r5, [r3, #28] -6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 497 .loc 1 6276 0 - 498 0052 2000 movs r0, r4 - 499 0054 FFF7FEFF bl I2C_Flush_TXDR - 500 .LVL47: -6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 124 - - - 501 .loc 1 6279 0 - 502 0058 2268 ldr r2, [r4] - 503 005a 5368 ldr r3, [r2, #4] - 504 005c 0749 ldr r1, .L52 - 505 005e 0B40 ands r3, r1 - 506 0060 5360 str r3, [r2, #4] -6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 507 .loc 1 6281 0 - 508 0062 636C ldr r3, [r4, #68] - 509 0064 0422 movs r2, #4 - 510 0066 1343 orrs r3, r2 - 511 0068 6364 str r3, [r4, #68] -6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 512 .loc 1 6282 0 - 513 006a 4123 movs r3, #65 - 514 006c E554 strb r5, [r4, r3] -6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 515 .loc 1 6283 0 - 516 006e 0023 movs r3, #0 - 517 0070 3E32 adds r2, r2, #62 - 518 0072 A354 strb r3, [r4, r2] -6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 519 .loc 1 6286 0 - 520 0074 023A subs r2, r2, #2 - 521 0076 A354 strb r3, [r4, r2] -6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 522 .loc 1 6288 0 - 523 0078 0120 movs r0, #1 - 524 .L46: -6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 525 .loc 1 6291 0 - 526 @ sp needed - 527 .LVL48: - 528 .LVL49: - 529 007a 70BD pop {r4, r5, r6, pc} - 530 .L53: - 531 .align 2 - 532 .L52: - 533 007c 00E800FE .word -33495040 - 534 .cfi_endproc - 535 .LFE113: - 537 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits - 538 .align 1 - 539 .syntax unified - 540 .code 16 - 541 .thumb_func - 542 .fpu softvfp - 544 I2C_WaitOnTXISFlagUntilTimeout: - 545 .LFB110: -6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) - 546 .loc 1 6111 0 - 547 .cfi_startproc - 548 @ args = 0, pretend = 0, frame = 0 - 549 @ frame_needed = 0, uses_anonymous_args = 0 - 550 .LVL50: - 551 0000 70B5 push {r4, r5, r6, lr} - 552 .LCFI3: - ARM GAS /tmp/ccFk2Nxo.s page 125 - - - 553 .cfi_def_cfa_offset 16 - 554 .cfi_offset 4, -16 - 555 .cfi_offset 5, -12 - 556 .cfi_offset 6, -8 - 557 .cfi_offset 14, -4 - 558 0002 0400 movs r4, r0 - 559 0004 0D00 movs r5, r1 - 560 0006 1600 movs r6, r2 - 561 .LVL51: - 562 .L57: -6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 563 .loc 1 6112 0 - 564 0008 2368 ldr r3, [r4] - 565 000a 9B69 ldr r3, [r3, #24] - 566 000c 9B07 lsls r3, r3, #30 - 567 000e 1CD4 bmi .L61 -6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 568 .loc 1 6115 0 - 569 0010 3200 movs r2, r6 - 570 0012 2900 movs r1, r5 - 571 0014 2000 movs r0, r4 - 572 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed - 573 .LVL52: - 574 001a 0028 cmp r0, #0 - 575 001c 17D1 bne .L60 -6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 576 .loc 1 6121 0 - 577 001e 6B1C adds r3, r5, #1 - 578 0020 F2D0 beq .L57 -6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 579 .loc 1 6123 0 - 580 0022 FFF7FEFF bl HAL_GetTick - 581 .LVL53: - 582 0026 801B subs r0, r0, r6 - 583 0028 A842 cmp r0, r5 - 584 002a 01D8 bhi .L58 -6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 585 .loc 1 6123 0 is_stmt 0 discriminator 1 - 586 002c 002D cmp r5, #0 - 587 002e EBD1 bne .L57 - 588 .L58: -6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 589 .loc 1 6125 0 is_stmt 1 - 590 0030 636C ldr r3, [r4, #68] - 591 0032 2022 movs r2, #32 - 592 0034 1343 orrs r3, r2 - 593 0036 6364 str r3, [r4, #68] -6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 594 .loc 1 6126 0 - 595 0038 4123 movs r3, #65 - 596 003a E254 strb r2, [r4, r3] -6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 597 .loc 1 6127 0 - 598 003c 0023 movs r3, #0 - 599 003e 2232 adds r2, r2, #34 - 600 0040 A354 strb r3, [r4, r2] -6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 126 - - - 601 .loc 1 6130 0 - 602 0042 023A subs r2, r2, #2 - 603 0044 A354 strb r3, [r4, r2] -6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 604 .loc 1 6132 0 - 605 0046 0120 movs r0, #1 - 606 0048 00E0 b .L56 - 607 .L61: -6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 608 .loc 1 6136 0 - 609 004a 0020 movs r0, #0 - 610 .L56: -6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 611 .loc 1 6137 0 - 612 @ sp needed - 613 .LVL54: - 614 .LVL55: - 615 .LVL56: - 616 004c 70BD pop {r4, r5, r6, pc} - 617 .LVL57: - 618 .L60: -6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 619 .loc 1 6117 0 - 620 004e 0120 movs r0, #1 - 621 0050 FCE7 b .L56 - 622 .cfi_endproc - 623 .LFE110: - 625 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits - 626 .align 1 - 627 .syntax unified - 628 .code 16 - 629 .thumb_func - 630 .fpu softvfp - 632 I2C_WaitOnFlagUntilTimeout: - 633 .LFB109: -6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) - 634 .loc 1 6081 0 - 635 .cfi_startproc - 636 @ args = 4, pretend = 0, frame = 0 - 637 @ frame_needed = 0, uses_anonymous_args = 0 - 638 .LVL58: - 639 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 640 .LCFI4: - 641 .cfi_def_cfa_offset 24 - 642 .cfi_offset 3, -24 - 643 .cfi_offset 4, -20 - 644 .cfi_offset 5, -16 - 645 .cfi_offset 6, -12 - 646 .cfi_offset 7, -8 - 647 .cfi_offset 14, -4 - 648 0002 0600 movs r6, r0 - 649 0004 0C00 movs r4, r1 - 650 0006 1700 movs r7, r2 - 651 0008 1D00 movs r5, r3 - 652 .LVL59: - 653 .L64: -6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 127 - - - 654 .loc 1 6082 0 - 655 000a 3368 ldr r3, [r6] - 656 000c 9B69 ldr r3, [r3, #24] - 657 000e 2340 ands r3, r4 - 658 0010 1B1B subs r3, r3, r4 - 659 0012 5A42 rsbs r2, r3, #0 - 660 0014 5341 adcs r3, r3, r2 - 661 0016 BB42 cmp r3, r7 - 662 0018 16D1 bne .L68 -6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 663 .loc 1 6085 0 - 664 001a 6B1C adds r3, r5, #1 - 665 001c F5D0 beq .L64 -6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 666 .loc 1 6087 0 - 667 001e FFF7FEFF bl HAL_GetTick - 668 .LVL60: - 669 0022 069B ldr r3, [sp, #24] - 670 0024 C01A subs r0, r0, r3 - 671 0026 A842 cmp r0, r5 - 672 0028 01D8 bhi .L65 -6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 673 .loc 1 6087 0 is_stmt 0 discriminator 1 - 674 002a 002D cmp r5, #0 - 675 002c EDD1 bne .L64 - 676 .L65: -6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 677 .loc 1 6089 0 is_stmt 1 - 678 002e 736C ldr r3, [r6, #68] - 679 0030 2022 movs r2, #32 - 680 0032 1343 orrs r3, r2 - 681 0034 7364 str r3, [r6, #68] -6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 682 .loc 1 6090 0 - 683 0036 4123 movs r3, #65 - 684 0038 F254 strb r2, [r6, r3] -6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 685 .loc 1 6091 0 - 686 003a 0023 movs r3, #0 - 687 003c 2232 adds r2, r2, #34 - 688 003e B354 strb r3, [r6, r2] -6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 689 .loc 1 6094 0 - 690 0040 023A subs r2, r2, #2 - 691 0042 B354 strb r3, [r6, r2] -6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 692 .loc 1 6095 0 - 693 0044 0120 movs r0, #1 - 694 0046 00E0 b .L66 - 695 .L68: -6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 696 .loc 1 6099 0 - 697 0048 0020 movs r0, #0 - 698 .L66: -6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 699 .loc 1 6100 0 - 700 @ sp needed - ARM GAS /tmp/ccFk2Nxo.s page 128 - - - 701 .LVL61: - 702 .LVL62: - 703 .LVL63: - 704 004a F8BD pop {r3, r4, r5, r6, r7, pc} - 705 .cfi_endproc - 706 .LFE109: - 708 .section .text.I2C_RequestMemoryWrite,"ax",%progbits - 709 .align 1 - 710 .syntax unified - 711 .code 16 - 712 .thumb_func - 713 .fpu softvfp - 715 I2C_RequestMemoryWrite: - 716 .LFB93: -5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI - 717 .loc 1 5123 0 - 718 .cfi_startproc - 719 @ args = 8, pretend = 0, frame = 0 - 720 @ frame_needed = 0, uses_anonymous_args = 0 - 721 .LVL64: - 722 0000 70B5 push {r4, r5, r6, lr} - 723 .LCFI5: - 724 .cfi_def_cfa_offset 16 - 725 .cfi_offset 4, -16 - 726 .cfi_offset 5, -12 - 727 .cfi_offset 6, -8 - 728 .cfi_offset 14, -4 - 729 0002 82B0 sub sp, sp, #8 - 730 .LCFI6: - 731 .cfi_def_cfa_offset 24 - 732 0004 0400 movs r4, r0 - 733 0006 1600 movs r6, r2 - 734 0008 1D00 movs r5, r3 -5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 735 .loc 1 5124 0 - 736 000a 8023 movs r3, #128 - 737 .LVL65: - 738 000c EAB2 uxtb r2, r5 - 739 .LVL66: - 740 000e 1848 ldr r0, .L75 - 741 .LVL67: - 742 0010 0090 str r0, [sp] - 743 0012 5B04 lsls r3, r3, #17 - 744 0014 2000 movs r0, r4 - 745 0016 FFF7FEFF bl I2C_TransferConfig - 746 .LVL68: -5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 747 .loc 1 5127 0 - 748 001a 079A ldr r2, [sp, #28] - 749 001c 0699 ldr r1, [sp, #24] - 750 001e 2000 movs r0, r4 - 751 0020 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout - 752 .LVL69: - 753 0024 0028 cmp r0, #0 - 754 0026 1ED1 bne .L73 -5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 755 .loc 1 5133 0 - ARM GAS /tmp/ccFk2Nxo.s page 129 - - - 756 0028 012D cmp r5, #1 - 757 002a 0ED1 bne .L71 -5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 758 .loc 1 5136 0 - 759 002c 2368 ldr r3, [r4] - 760 002e F6B2 uxtb r6, r6 - 761 0030 9E62 str r6, [r3, #40] - 762 .L72: -5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 763 .loc 1 5155 0 - 764 0032 079B ldr r3, [sp, #28] - 765 0034 0093 str r3, [sp] - 766 0036 069B ldr r3, [sp, #24] - 767 0038 0022 movs r2, #0 - 768 003a 8021 movs r1, #128 - 769 003c 2000 movs r0, r4 - 770 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 771 .LVL70: - 772 0042 0028 cmp r0, #0 - 773 0044 10D0 beq .L70 -5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 774 .loc 1 5157 0 - 775 0046 0120 movs r0, #1 - 776 0048 0EE0 b .L70 - 777 .L71: -5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 778 .loc 1 5142 0 - 779 004a 2368 ldr r3, [r4] - 780 004c 320A lsrs r2, r6, #8 - 781 004e 9A62 str r2, [r3, #40] -5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 782 .loc 1 5145 0 - 783 0050 079A ldr r2, [sp, #28] - 784 0052 0699 ldr r1, [sp, #24] - 785 0054 2000 movs r0, r4 - 786 0056 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout - 787 .LVL71: - 788 005a 0028 cmp r0, #0 - 789 005c 06D1 bne .L74 -5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 790 .loc 1 5151 0 - 791 005e 2368 ldr r3, [r4] - 792 0060 F6B2 uxtb r6, r6 - 793 0062 9E62 str r6, [r3, #40] - 794 0064 E5E7 b .L72 - 795 .L73: -5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 796 .loc 1 5129 0 - 797 0066 0120 movs r0, #1 - 798 .L70: -5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 799 .loc 1 5161 0 - 800 0068 02B0 add sp, sp, #8 - 801 @ sp needed - 802 .LVL72: - 803 006a 70BD pop {r4, r5, r6, pc} - 804 .LVL73: - ARM GAS /tmp/ccFk2Nxo.s page 130 - - - 805 .L74: -5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 806 .loc 1 5147 0 - 807 006c 0120 movs r0, #1 - 808 006e FBE7 b .L70 - 809 .L76: - 810 .align 2 - 811 .L75: - 812 0070 00200080 .word -2147475456 - 813 .cfi_endproc - 814 .LFE93: - 816 .section .text.I2C_RequestMemoryRead,"ax",%progbits - 817 .align 1 - 818 .syntax unified - 819 .code 16 - 820 .thumb_func - 821 .fpu softvfp - 823 I2C_RequestMemoryRead: - 824 .LFB94: -5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR - 825 .loc 1 5176 0 - 826 .cfi_startproc - 827 @ args = 8, pretend = 0, frame = 0 - 828 @ frame_needed = 0, uses_anonymous_args = 0 - 829 .LVL74: - 830 0000 70B5 push {r4, r5, r6, lr} - 831 .LCFI7: - 832 .cfi_def_cfa_offset 16 - 833 .cfi_offset 4, -16 - 834 .cfi_offset 5, -12 - 835 .cfi_offset 6, -8 - 836 .cfi_offset 14, -4 - 837 0002 82B0 sub sp, sp, #8 - 838 .LCFI8: - 839 .cfi_def_cfa_offset 24 - 840 0004 0400 movs r4, r0 - 841 0006 1600 movs r6, r2 - 842 0008 1D00 movs r5, r3 -5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 843 .loc 1 5177 0 - 844 000a DAB2 uxtb r2, r3 - 845 .LVL75: - 846 000c 174B ldr r3, .L83 - 847 .LVL76: - 848 000e 0093 str r3, [sp] - 849 0010 0023 movs r3, #0 - 850 0012 FFF7FEFF bl I2C_TransferConfig - 851 .LVL77: -5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 852 .loc 1 5180 0 - 853 0016 079A ldr r2, [sp, #28] - 854 0018 0699 ldr r1, [sp, #24] - 855 001a 2000 movs r0, r4 - 856 001c FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout - 857 .LVL78: - 858 0020 0028 cmp r0, #0 - 859 0022 1ED1 bne .L81 - ARM GAS /tmp/ccFk2Nxo.s page 131 - - -5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 860 .loc 1 5186 0 - 861 0024 012D cmp r5, #1 - 862 0026 0ED1 bne .L79 -5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 863 .loc 1 5189 0 - 864 0028 2368 ldr r3, [r4] - 865 002a F6B2 uxtb r6, r6 - 866 002c 9E62 str r6, [r3, #40] - 867 .L80: -5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 868 .loc 1 5208 0 - 869 002e 079B ldr r3, [sp, #28] - 870 0030 0093 str r3, [sp] - 871 0032 069B ldr r3, [sp, #24] - 872 0034 0022 movs r2, #0 - 873 0036 4021 movs r1, #64 - 874 0038 2000 movs r0, r4 - 875 003a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 876 .LVL79: - 877 003e 0028 cmp r0, #0 - 878 0040 10D0 beq .L78 -5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 879 .loc 1 5210 0 - 880 0042 0120 movs r0, #1 - 881 0044 0EE0 b .L78 - 882 .L79: -5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 883 .loc 1 5195 0 - 884 0046 2368 ldr r3, [r4] - 885 0048 320A lsrs r2, r6, #8 - 886 004a 9A62 str r2, [r3, #40] -5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 887 .loc 1 5198 0 - 888 004c 079A ldr r2, [sp, #28] - 889 004e 0699 ldr r1, [sp, #24] - 890 0050 2000 movs r0, r4 - 891 0052 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout - 892 .LVL80: - 893 0056 0028 cmp r0, #0 - 894 0058 06D1 bne .L82 -5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 895 .loc 1 5204 0 - 896 005a 2368 ldr r3, [r4] - 897 005c F6B2 uxtb r6, r6 - 898 005e 9E62 str r6, [r3, #40] - 899 0060 E5E7 b .L80 - 900 .L81: -5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 901 .loc 1 5182 0 - 902 0062 0120 movs r0, #1 - 903 .L78: -5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 904 .loc 1 5214 0 - 905 0064 02B0 add sp, sp, #8 - 906 @ sp needed - 907 .LVL81: - ARM GAS /tmp/ccFk2Nxo.s page 132 - - - 908 0066 70BD pop {r4, r5, r6, pc} - 909 .LVL82: - 910 .L82: -5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 911 .loc 1 5200 0 - 912 0068 0120 movs r0, #1 - 913 006a FBE7 b .L78 - 914 .L84: - 915 .align 2 - 916 .L83: - 917 006c 00200080 .word -2147475456 - 918 .cfi_endproc - 919 .LFE94: - 921 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits - 922 .align 1 - 923 .syntax unified - 924 .code 16 - 925 .thumb_func - 926 .fpu softvfp - 928 I2C_WaitOnSTOPFlagUntilTimeout: - 929 .LFB111: -6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) - 930 .loc 1 6148 0 - 931 .cfi_startproc - 932 @ args = 0, pretend = 0, frame = 0 - 933 @ frame_needed = 0, uses_anonymous_args = 0 - 934 .LVL83: - 935 0000 70B5 push {r4, r5, r6, lr} - 936 .LCFI9: - 937 .cfi_def_cfa_offset 16 - 938 .cfi_offset 4, -16 - 939 .cfi_offset 5, -12 - 940 .cfi_offset 6, -8 - 941 .cfi_offset 14, -4 - 942 0002 0500 movs r5, r0 - 943 0004 0C00 movs r4, r1 - 944 0006 1600 movs r6, r2 - 945 .LVL84: - 946 .L86: -6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 947 .loc 1 6149 0 - 948 0008 2B68 ldr r3, [r5] - 949 000a 9B69 ldr r3, [r3, #24] - 950 000c 9B06 lsls r3, r3, #26 - 951 000e 1AD4 bmi .L91 -6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 952 .loc 1 6152 0 - 953 0010 3200 movs r2, r6 - 954 0012 2100 movs r1, r4 - 955 0014 2800 movs r0, r5 - 956 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed - 957 .LVL85: - 958 001a 0028 cmp r0, #0 - 959 001c 15D1 bne .L90 -6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 960 .loc 1 6158 0 - 961 001e FFF7FEFF bl HAL_GetTick - ARM GAS /tmp/ccFk2Nxo.s page 133 - - - 962 .LVL86: - 963 0022 801B subs r0, r0, r6 - 964 0024 A042 cmp r0, r4 - 965 0026 01D8 bhi .L88 -6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 966 .loc 1 6158 0 is_stmt 0 discriminator 1 - 967 0028 002C cmp r4, #0 - 968 002a EDD1 bne .L86 - 969 .L88: -6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 970 .loc 1 6160 0 is_stmt 1 - 971 002c 6B6C ldr r3, [r5, #68] - 972 002e 2022 movs r2, #32 - 973 0030 1343 orrs r3, r2 - 974 0032 6B64 str r3, [r5, #68] -6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 975 .loc 1 6161 0 - 976 0034 4123 movs r3, #65 - 977 0036 EA54 strb r2, [r5, r3] -6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 978 .loc 1 6162 0 - 979 0038 0023 movs r3, #0 - 980 003a 2232 adds r2, r2, #34 - 981 003c AB54 strb r3, [r5, r2] -6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 982 .loc 1 6165 0 - 983 003e 023A subs r2, r2, #2 - 984 0040 AB54 strb r3, [r5, r2] -6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 985 .loc 1 6167 0 - 986 0042 0120 movs r0, #1 - 987 .L87: -6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 988 .loc 1 6171 0 - 989 @ sp needed - 990 .LVL87: - 991 .LVL88: - 992 .LVL89: - 993 0044 70BD pop {r4, r5, r6, pc} - 994 .LVL90: - 995 .L91: -6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 996 .loc 1 6170 0 - 997 0046 0020 movs r0, #0 - 998 0048 FCE7 b .L87 - 999 .L90: -6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1000 .loc 1 6154 0 - 1001 004a 0120 movs r0, #1 - 1002 004c FAE7 b .L87 - 1003 .cfi_endproc - 1004 .LFE111: - 1006 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits - 1007 .align 1 - 1008 .syntax unified - 1009 .code 16 - 1010 .thumb_func - ARM GAS /tmp/ccFk2Nxo.s page 134 - - - 1011 .fpu softvfp - 1013 I2C_WaitOnRXNEFlagUntilTimeout: - 1014 .LFB112: -6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) - 1015 .loc 1 6182 0 - 1016 .cfi_startproc - 1017 @ args = 0, pretend = 0, frame = 0 - 1018 @ frame_needed = 0, uses_anonymous_args = 0 - 1019 .LVL91: - 1020 0000 70B5 push {r4, r5, r6, lr} - 1021 .LCFI10: - 1022 .cfi_def_cfa_offset 16 - 1023 .cfi_offset 4, -16 - 1024 .cfi_offset 5, -12 - 1025 .cfi_offset 6, -8 - 1026 .cfi_offset 14, -4 - 1027 0002 0400 movs r4, r0 - 1028 0004 0D00 movs r5, r1 - 1029 0006 1600 movs r6, r2 - 1030 .LVL92: - 1031 .L93: -6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1032 .loc 1 6183 0 - 1033 0008 2368 ldr r3, [r4] - 1034 000a 9B69 ldr r3, [r3, #24] - 1035 000c 5B07 lsls r3, r3, #29 - 1036 000e 33D4 bmi .L100 -6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1037 .loc 1 6186 0 - 1038 0010 3200 movs r2, r6 - 1039 0012 2900 movs r1, r5 - 1040 0014 2000 movs r0, r4 - 1041 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed - 1042 .LVL93: - 1043 001a 0028 cmp r0, #0 - 1044 001c 2ED1 bne .L99 -6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1045 .loc 1 6192 0 - 1046 001e 2368 ldr r3, [r4] - 1047 0020 9A69 ldr r2, [r3, #24] - 1048 0022 9206 lsls r2, r2, #26 - 1049 0024 11D4 bmi .L101 -6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1050 .loc 1 6222 0 - 1051 0026 FFF7FEFF bl HAL_GetTick - 1052 .LVL94: - 1053 002a 801B subs r0, r0, r6 - 1054 002c A842 cmp r0, r5 - 1055 002e 01D8 bhi .L97 -6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1056 .loc 1 6222 0 is_stmt 0 discriminator 1 - 1057 0030 002D cmp r5, #0 - 1058 0032 E9D1 bne .L93 - 1059 .L97: -6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 1060 .loc 1 6224 0 is_stmt 1 - 1061 0034 636C ldr r3, [r4, #68] - ARM GAS /tmp/ccFk2Nxo.s page 135 - - - 1062 0036 2022 movs r2, #32 - 1063 0038 1343 orrs r3, r2 - 1064 003a 6364 str r3, [r4, #68] -6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1065 .loc 1 6225 0 - 1066 003c 4123 movs r3, #65 - 1067 003e E254 strb r2, [r4, r3] -6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1068 .loc 1 6228 0 - 1069 0040 013B subs r3, r3, #1 - 1070 0042 0022 movs r2, #0 - 1071 0044 E254 strb r2, [r4, r3] -6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1072 .loc 1 6230 0 - 1073 0046 0120 movs r0, #1 - 1074 .L94: -6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1075 .loc 1 6234 0 - 1076 @ sp needed - 1077 .LVL95: - 1078 .LVL96: - 1079 .LVL97: - 1080 0048 70BD pop {r4, r5, r6, pc} - 1081 .LVL98: - 1082 .L101: -6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1083 .loc 1 6196 0 - 1084 004a 9A69 ldr r2, [r3, #24] - 1085 004c 5207 lsls r2, r2, #29 - 1086 004e 02D5 bpl .L96 -6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1087 .loc 1 6196 0 is_stmt 0 discriminator 1 - 1088 0050 228D ldrh r2, [r4, #40] - 1089 0052 002A cmp r2, #0 - 1090 0054 F8D1 bne .L94 - 1091 .L96: -6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1092 .loc 1 6205 0 is_stmt 1 - 1093 0056 2022 movs r2, #32 - 1094 0058 DA61 str r2, [r3, #28] -6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1095 .loc 1 6208 0 - 1096 005a 2168 ldr r1, [r4] - 1097 005c 4B68 ldr r3, [r1, #4] - 1098 005e 0848 ldr r0, .L102 - 1099 0060 0340 ands r3, r0 - 1100 0062 4B60 str r3, [r1, #4] -6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 1101 .loc 1 6210 0 - 1102 0064 0023 movs r3, #0 - 1103 0066 6364 str r3, [r4, #68] -6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 1104 .loc 1 6211 0 - 1105 0068 4121 movs r1, #65 - 1106 006a 6254 strb r2, [r4, r1] -6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1107 .loc 1 6212 0 - ARM GAS /tmp/ccFk2Nxo.s page 136 - - - 1108 006c 2232 adds r2, r2, #34 - 1109 006e A354 strb r3, [r4, r2] -6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1110 .loc 1 6215 0 - 1111 0070 023A subs r2, r2, #2 - 1112 0072 A354 strb r3, [r4, r2] -6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1113 .loc 1 6217 0 - 1114 0074 0120 movs r0, #1 - 1115 0076 E7E7 b .L94 - 1116 .L100: -6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1117 .loc 1 6233 0 - 1118 0078 0020 movs r0, #0 - 1119 007a E5E7 b .L94 - 1120 .L99: -6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1121 .loc 1 6188 0 - 1122 007c 0120 movs r0, #1 - 1123 007e E3E7 b .L94 - 1124 .L103: - 1125 .align 2 - 1126 .L102: - 1127 0080 00E800FE .word -33495040 - 1128 .cfi_endproc - 1129 .LFE112: - 1131 .section .text.HAL_I2C_MspInit,"ax",%progbits - 1132 .align 1 - 1133 .weak HAL_I2C_MspInit - 1134 .syntax unified - 1135 .code 16 - 1136 .thumb_func - 1137 .fpu softvfp - 1139 HAL_I2C_MspInit: - 1140 .LFB42: - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 1141 .loc 1 625 0 - 1142 .cfi_startproc - 1143 @ args = 0, pretend = 0, frame = 0 - 1144 @ frame_needed = 0, uses_anonymous_args = 0 - 1145 @ link register save eliminated. - 1146 .LVL99: - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1147 .loc 1 632 0 - 1148 @ sp needed - 1149 0000 7047 bx lr - 1150 .cfi_endproc - 1151 .LFE42: - 1153 .section .text.HAL_I2C_Init,"ax",%progbits - 1154 .align 1 - 1155 .global HAL_I2C_Init - 1156 .syntax unified - 1157 .code 16 - 1158 .thumb_func - 1159 .fpu softvfp - 1161 HAL_I2C_Init: - 1162 .LFB40: - ARM GAS /tmp/ccFk2Nxo.s page 137 - - - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */ - 1163 .loc 1 470 0 - 1164 .cfi_startproc - 1165 @ args = 0, pretend = 0, frame = 0 - 1166 @ frame_needed = 0, uses_anonymous_args = 0 - 1167 .LVL100: - 1168 0000 10B5 push {r4, lr} - 1169 .LCFI11: - 1170 .cfi_def_cfa_offset 8 - 1171 .cfi_offset 4, -8 - 1172 .cfi_offset 14, -4 - 1173 0002 041E subs r4, r0, #0 - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1174 .loc 1 472 0 - 1175 0004 59D0 beq .L111 - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1176 .loc 1 487 0 - 1177 0006 4123 movs r3, #65 - 1178 0008 C35C ldrb r3, [r0, r3] - 1179 000a 002B cmp r3, #0 - 1180 000c 43D0 beq .L112 - 1181 .LVL101: - 1182 .L107: - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1183 .loc 1 518 0 - 1184 000e 4123 movs r3, #65 - 1185 0010 2422 movs r2, #36 - 1186 0012 E254 strb r2, [r4, r3] - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1187 .loc 1 521 0 - 1188 0014 2268 ldr r2, [r4] - 1189 0016 1368 ldr r3, [r2] - 1190 0018 0121 movs r1, #1 - 1191 001a 8B43 bics r3, r1 - 1192 001c 1360 str r3, [r2] - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1193 .loc 1 525 0 - 1194 001e 2268 ldr r2, [r4] - 1195 0020 274B ldr r3, .L115 - 1196 0022 6168 ldr r1, [r4, #4] - 1197 0024 0B40 ands r3, r1 - 1198 0026 1361 str r3, [r2, #16] - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1199 .loc 1 529 0 - 1200 0028 2268 ldr r2, [r4] - 1201 002a 9368 ldr r3, [r2, #8] - 1202 002c 2549 ldr r1, .L115+4 - 1203 002e 0B40 ands r3, r1 - 1204 0030 9360 str r3, [r2, #8] - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1205 .loc 1 532 0 - 1206 0032 E368 ldr r3, [r4, #12] - 1207 0034 012B cmp r3, #1 - 1208 0036 34D0 beq .L113 - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1209 .loc 1 538 0 - 1210 0038 2268 ldr r2, [r4] - ARM GAS /tmp/ccFk2Nxo.s page 138 - - - 1211 003a 8423 movs r3, #132 - 1212 003c 1B02 lsls r3, r3, #8 - 1213 003e A168 ldr r1, [r4, #8] - 1214 0040 0B43 orrs r3, r1 - 1215 0042 9360 str r3, [r2, #8] - 1216 .L109: - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1217 .loc 1 543 0 - 1218 0044 E368 ldr r3, [r4, #12] - 1219 0046 022B cmp r3, #2 - 1220 0048 32D0 beq .L114 - 1221 .L110: - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1222 .loc 1 548 0 - 1223 004a 2268 ldr r2, [r4] - 1224 004c 5168 ldr r1, [r2, #4] - 1225 004e 1E4B ldr r3, .L115+8 - 1226 0050 0B43 orrs r3, r1 - 1227 0052 5360 str r3, [r2, #4] - 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1228 .loc 1 552 0 - 1229 0054 2268 ldr r2, [r4] - 1230 0056 D368 ldr r3, [r2, #12] - 1231 0058 1A49 ldr r1, .L115+4 - 1232 005a 0B40 ands r3, r1 - 1233 005c D360 str r3, [r2, #12] - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1234 .loc 1 555 0 - 1235 005e 2369 ldr r3, [r4, #16] - 1236 0060 6269 ldr r2, [r4, #20] - 1237 0062 1343 orrs r3, r2 - 1238 0064 A269 ldr r2, [r4, #24] - 1239 0066 1202 lsls r2, r2, #8 - 1240 0068 2168 ldr r1, [r4] - 1241 006a 1343 orrs r3, r2 - 1242 006c CB60 str r3, [r1, #12] - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1243 .loc 1 559 0 - 1244 006e 2268 ldr r2, [r4] - 1245 0070 E369 ldr r3, [r4, #28] - 1246 0072 216A ldr r1, [r4, #32] - 1247 0074 0B43 orrs r3, r1 - 1248 0076 1360 str r3, [r2] - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1249 .loc 1 562 0 - 1250 0078 2268 ldr r2, [r4] - 1251 007a 1368 ldr r3, [r2] - 1252 007c 0121 movs r1, #1 - 1253 007e 0B43 orrs r3, r1 - 1254 0080 1360 str r3, [r2] - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 1255 .loc 1 564 0 - 1256 0082 0023 movs r3, #0 - 1257 0084 6364 str r3, [r4, #68] - 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; - 1258 .loc 1 565 0 - 1259 0086 4122 movs r2, #65 - ARM GAS /tmp/ccFk2Nxo.s page 139 - - - 1260 0088 1F31 adds r1, r1, #31 - 1261 008a A154 strb r1, [r4, r2] - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 1262 .loc 1 566 0 - 1263 008c 2363 str r3, [r4, #48] - 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1264 .loc 1 567 0 - 1265 008e 0132 adds r2, r2, #1 - 1266 0090 A354 strb r3, [r4, r2] - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1267 .loc 1 569 0 - 1268 0092 0020 movs r0, #0 - 1269 .L106: - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1270 .loc 1 570 0 - 1271 @ sp needed - 1272 .LVL102: - 1273 0094 10BD pop {r4, pc} - 1274 .LVL103: - 1275 .L112: - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1276 .loc 1 490 0 - 1277 0096 4033 adds r3, r3, #64 - 1278 0098 0022 movs r2, #0 - 1279 009a C254 strb r2, [r0, r3] - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 1280 .loc 1 514 0 - 1281 009c FFF7FEFF bl HAL_I2C_MspInit - 1282 .LVL104: - 1283 00a0 B5E7 b .L107 - 1284 .L113: - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1285 .loc 1 534 0 - 1286 00a2 2268 ldr r2, [r4] - 1287 00a4 8023 movs r3, #128 - 1288 00a6 1B02 lsls r3, r3, #8 - 1289 00a8 A168 ldr r1, [r4, #8] - 1290 00aa 0B43 orrs r3, r1 - 1291 00ac 9360 str r3, [r2, #8] - 1292 00ae C9E7 b .L109 - 1293 .L114: - 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1294 .loc 1 545 0 - 1295 00b0 2368 ldr r3, [r4] - 1296 00b2 8022 movs r2, #128 - 1297 00b4 1201 lsls r2, r2, #4 - 1298 00b6 5A60 str r2, [r3, #4] - 1299 00b8 C7E7 b .L110 - 1300 .LVL105: - 1301 .L111: - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1302 .loc 1 474 0 - 1303 00ba 0120 movs r0, #1 - 1304 .LVL106: - 1305 00bc EAE7 b .L106 - 1306 .L116: - 1307 00be C046 .align 2 - ARM GAS /tmp/ccFk2Nxo.s page 140 - - - 1308 .L115: - 1309 00c0 FFFFFFF0 .word -251658241 - 1310 00c4 FF7FFFFF .word -32769 - 1311 00c8 00800002 .word 33587200 - 1312 .cfi_endproc - 1313 .LFE40: - 1315 .section .text.HAL_I2C_MspDeInit,"ax",%progbits - 1316 .align 1 - 1317 .weak HAL_I2C_MspDeInit - 1318 .syntax unified - 1319 .code 16 - 1320 .thumb_func - 1321 .fpu softvfp - 1323 HAL_I2C_MspDeInit: - 1324 .LFB43: - 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 1325 .loc 1 641 0 - 1326 .cfi_startproc - 1327 @ args = 0, pretend = 0, frame = 0 - 1328 @ frame_needed = 0, uses_anonymous_args = 0 - 1329 @ link register save eliminated. - 1330 .LVL107: - 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1331 .loc 1 648 0 - 1332 @ sp needed - 1333 0000 7047 bx lr - 1334 .cfi_endproc - 1335 .LFE43: - 1337 .section .text.HAL_I2C_DeInit,"ax",%progbits - 1338 .align 1 - 1339 .global HAL_I2C_DeInit - 1340 .syntax unified - 1341 .code 16 - 1342 .thumb_func - 1343 .fpu softvfp - 1345 HAL_I2C_DeInit: - 1346 .LFB41: - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */ - 1347 .loc 1 579 0 - 1348 .cfi_startproc - 1349 @ args = 0, pretend = 0, frame = 0 - 1350 @ frame_needed = 0, uses_anonymous_args = 0 - 1351 .LVL108: - 1352 0000 70B5 push {r4, r5, r6, lr} - 1353 .LCFI12: - 1354 .cfi_def_cfa_offset 16 - 1355 .cfi_offset 4, -16 - 1356 .cfi_offset 5, -12 - 1357 .cfi_offset 6, -8 - 1358 .cfi_offset 14, -4 - 1359 0002 041E subs r4, r0, #0 - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1360 .loc 1 581 0 - 1361 0004 13D0 beq .L120 - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1362 .loc 1 589 0 - 1363 0006 4125 movs r5, #65 - ARM GAS /tmp/ccFk2Nxo.s page 141 - - - 1364 0008 2423 movs r3, #36 - 1365 000a 4355 strb r3, [r0, r5] - 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1366 .loc 1 592 0 - 1367 000c 0268 ldr r2, [r0] - 1368 000e 1368 ldr r3, [r2] - 1369 0010 0121 movs r1, #1 - 1370 0012 8B43 bics r3, r1 - 1371 0014 1360 str r3, [r2] - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 1372 .loc 1 604 0 - 1373 0016 FFF7FEFF bl HAL_I2C_MspDeInit - 1374 .LVL109: - 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; - 1375 .loc 1 607 0 - 1376 001a 0023 movs r3, #0 - 1377 001c 6364 str r3, [r4, #68] - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; - 1378 .loc 1 608 0 - 1379 001e 6355 strb r3, [r4, r5] - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 1380 .loc 1 609 0 - 1381 0020 2363 str r3, [r4, #48] - 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1382 .loc 1 610 0 - 1383 0022 4222 movs r2, #66 - 1384 0024 A354 strb r3, [r4, r2] - 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1385 .loc 1 613 0 - 1386 0026 023A subs r2, r2, #2 - 1387 0028 A354 strb r3, [r4, r2] - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1388 .loc 1 615 0 - 1389 002a 0020 movs r0, #0 - 1390 .L119: - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1391 .loc 1 616 0 - 1392 @ sp needed - 1393 .LVL110: - 1394 002c 70BD pop {r4, r5, r6, pc} - 1395 .LVL111: - 1396 .L120: - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1397 .loc 1 583 0 - 1398 002e 0120 movs r0, #1 - 1399 .LVL112: - 1400 0030 FCE7 b .L119 - 1401 .cfi_endproc - 1402 .LFE41: - 1404 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits - 1405 .align 1 - 1406 .global HAL_I2C_Master_Transmit - 1407 .syntax unified - 1408 .code 16 - 1409 .thumb_func - 1410 .fpu softvfp - 1412 HAL_I2C_Master_Transmit: - ARM GAS /tmp/ccFk2Nxo.s page 142 - - - 1413 .LFB44: -1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 1414 .loc 1 1061 0 - 1415 .cfi_startproc - 1416 @ args = 4, pretend = 0, frame = 8 - 1417 @ frame_needed = 0, uses_anonymous_args = 0 - 1418 .LVL113: - 1419 0000 F0B5 push {r4, r5, r6, r7, lr} - 1420 .LCFI13: - 1421 .cfi_def_cfa_offset 20 - 1422 .cfi_offset 4, -20 - 1423 .cfi_offset 5, -16 - 1424 .cfi_offset 6, -12 - 1425 .cfi_offset 7, -8 - 1426 .cfi_offset 14, -4 - 1427 0002 85B0 sub sp, sp, #20 - 1428 .LCFI14: - 1429 .cfi_def_cfa_offset 40 - 1430 0004 0500 movs r5, r0 - 1431 0006 0391 str r1, [sp, #12] - 1432 0008 1700 movs r7, r2 - 1433 000a 1E00 movs r6, r3 -1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1434 .loc 1 1064 0 - 1435 000c 4123 movs r3, #65 - 1436 .LVL114: - 1437 000e C35C ldrb r3, [r0, r3] - 1438 0010 202B cmp r3, #32 - 1439 0012 00D0 beq .LCB1427 - 1440 0014 99E0 b .L129 @long jump - 1441 .LCB1427: -1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1442 .loc 1 1067 0 - 1443 0016 2033 adds r3, r3, #32 - 1444 0018 C35C ldrb r3, [r0, r3] - 1445 001a 012B cmp r3, #1 - 1446 001c 00D1 bne .LCB1431 - 1447 001e 97E0 b .L130 @long jump - 1448 .LCB1431: -1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1449 .loc 1 1067 0 is_stmt 0 discriminator 2 - 1450 0020 4023 movs r3, #64 - 1451 0022 0122 movs r2, #1 - 1452 .LVL115: - 1453 0024 C254 strb r2, [r0, r3] -1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1454 .loc 1 1070 0 is_stmt 1 discriminator 2 - 1455 0026 FFF7FEFF bl HAL_GetTick - 1456 .LVL116: - 1457 002a 0400 movs r4, r0 - 1458 .LVL117: -1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1459 .loc 1 1072 0 discriminator 2 - 1460 002c 8021 movs r1, #128 - 1461 002e 0090 str r0, [sp] - 1462 0030 1923 movs r3, #25 - 1463 0032 0122 movs r2, #1 - ARM GAS /tmp/ccFk2Nxo.s page 143 - - - 1464 0034 0902 lsls r1, r1, #8 - 1465 0036 2800 movs r0, r5 - 1466 .LVL118: - 1467 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 1468 .LVL119: - 1469 003c 0028 cmp r0, #0 - 1470 003e 00D0 beq .LCB1452 - 1471 0040 88E0 b .L131 @long jump - 1472 .LCB1452: -1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 1473 .loc 1 1077 0 - 1474 0042 4123 movs r3, #65 - 1475 0044 2122 movs r2, #33 - 1476 0046 EA54 strb r2, [r5, r3] -1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 1477 .loc 1 1078 0 - 1478 0048 0133 adds r3, r3, #1 - 1479 004a 113A subs r2, r2, #17 - 1480 004c EA54 strb r2, [r5, r3] -1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1481 .loc 1 1079 0 - 1482 004e 0023 movs r3, #0 - 1483 0050 6B64 str r3, [r5, #68] -1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 1484 .loc 1 1082 0 - 1485 0052 6F62 str r7, [r5, #36] -1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 1486 .loc 1 1083 0 - 1487 0054 6E85 strh r6, [r5, #42] -1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1488 .loc 1 1084 0 - 1489 0056 6B63 str r3, [r5, #52] -1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1490 .loc 1 1088 0 - 1491 0058 6B8D ldrh r3, [r5, #42] - 1492 005a 9BB2 uxth r3, r3 - 1493 005c FF2B cmp r3, #255 - 1494 005e 0BD9 bls .L123 -1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S - 1495 .loc 1 1090 0 - 1496 0060 FF23 movs r3, #255 - 1497 0062 2B85 strh r3, [r5, #40] -1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1498 .loc 1 1091 0 - 1499 0064 7F3B subs r3, r3, #127 - 1500 0066 3F4A ldr r2, .L136 - 1501 0068 0092 str r2, [sp] - 1502 006a 5B04 lsls r3, r3, #17 - 1503 006c FF22 movs r2, #255 - 1504 006e 0399 ldr r1, [sp, #12] - 1505 0070 2800 movs r0, r5 - 1506 0072 FFF7FEFF bl I2C_TransferConfig - 1507 .LVL120: - 1508 0076 18E0 b .L125 - 1509 .L123: -1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ - 1510 .loc 1 1095 0 - ARM GAS /tmp/ccFk2Nxo.s page 144 - - - 1511 0078 6A8D ldrh r2, [r5, #42] - 1512 007a 92B2 uxth r2, r2 - 1513 007c 2A85 strh r2, [r5, #40] -1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1514 .loc 1 1096 0 - 1515 007e 8023 movs r3, #128 - 1516 0080 D2B2 uxtb r2, r2 - 1517 0082 3849 ldr r1, .L136 - 1518 0084 0091 str r1, [sp] - 1519 0086 9B04 lsls r3, r3, #18 - 1520 0088 0399 ldr r1, [sp, #12] - 1521 008a 2800 movs r0, r5 - 1522 008c FFF7FEFF bl I2C_TransferConfig - 1523 .LVL121: - 1524 0090 0BE0 b .L125 - 1525 .L127: -1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST - 1526 .loc 1 1130 0 - 1527 0092 6A8D ldrh r2, [r5, #42] - 1528 0094 92B2 uxth r2, r2 - 1529 0096 2A85 strh r2, [r5, #40] -1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1530 .loc 1 1131 0 - 1531 0098 8023 movs r3, #128 - 1532 009a D2B2 uxtb r2, r2 - 1533 009c 0021 movs r1, #0 - 1534 009e 0091 str r1, [sp] - 1535 00a0 9B04 lsls r3, r3, #18 - 1536 00a2 0399 ldr r1, [sp, #12] - 1537 00a4 2800 movs r0, r5 - 1538 00a6 FFF7FEFF bl I2C_TransferConfig - 1539 .LVL122: - 1540 .L125: -1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1541 .loc 1 1099 0 - 1542 00aa 6B8D ldrh r3, [r5, #42] - 1543 00ac 9BB2 uxth r3, r3 - 1544 00ae 002B cmp r3, #0 - 1545 00b0 34D0 beq .L135 -1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1546 .loc 1 1102 0 - 1547 00b2 2200 movs r2, r4 - 1548 00b4 0A99 ldr r1, [sp, #40] - 1549 00b6 2800 movs r0, r5 - 1550 00b8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout - 1551 .LVL123: - 1552 00bc 0028 cmp r0, #0 - 1553 00be 4BD1 bne .L132 -1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1554 .loc 1 1107 0 - 1555 00c0 2B68 ldr r3, [r5] - 1556 00c2 6A6A ldr r2, [r5, #36] - 1557 00c4 1278 ldrb r2, [r2] - 1558 00c6 9A62 str r2, [r3, #40] -1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1559 .loc 1 1110 0 - 1560 00c8 6B6A ldr r3, [r5, #36] - ARM GAS /tmp/ccFk2Nxo.s page 145 - - - 1561 00ca 0133 adds r3, r3, #1 - 1562 00cc 6B62 str r3, [r5, #36] -1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; - 1563 .loc 1 1112 0 - 1564 00ce 6B8D ldrh r3, [r5, #42] - 1565 00d0 013B subs r3, r3, #1 - 1566 00d2 9BB2 uxth r3, r3 - 1567 00d4 6B85 strh r3, [r5, #42] -1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1568 .loc 1 1113 0 - 1569 00d6 2B8D ldrh r3, [r5, #40] - 1570 00d8 013B subs r3, r3, #1 - 1571 00da 9BB2 uxth r3, r3 - 1572 00dc 2B85 strh r3, [r5, #40] -1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1573 .loc 1 1115 0 - 1574 00de 6A8D ldrh r2, [r5, #42] - 1575 00e0 92B2 uxth r2, r2 - 1576 00e2 002A cmp r2, #0 - 1577 00e4 E1D0 beq .L125 -1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1578 .loc 1 1115 0 is_stmt 0 discriminator 1 - 1579 00e6 002B cmp r3, #0 - 1580 00e8 DFD1 bne .L125 -1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1581 .loc 1 1118 0 is_stmt 1 - 1582 00ea 0094 str r4, [sp] - 1583 00ec 0A9B ldr r3, [sp, #40] - 1584 00ee 0022 movs r2, #0 - 1585 00f0 8021 movs r1, #128 - 1586 00f2 2800 movs r0, r5 - 1587 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 1588 .LVL124: - 1589 00f8 0028 cmp r0, #0 - 1590 00fa 2FD1 bne .L133 -1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1591 .loc 1 1123 0 - 1592 00fc 6B8D ldrh r3, [r5, #42] - 1593 00fe 9BB2 uxth r3, r3 - 1594 0100 FF2B cmp r3, #255 - 1595 0102 C6D9 bls .L127 -1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA - 1596 .loc 1 1125 0 - 1597 0104 FF23 movs r3, #255 - 1598 0106 2B85 strh r3, [r5, #40] -1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1599 .loc 1 1126 0 - 1600 0108 7F3B subs r3, r3, #127 - 1601 010a 0022 movs r2, #0 - 1602 010c 0092 str r2, [sp] - 1603 010e 5B04 lsls r3, r3, #17 - 1604 0110 FF32 adds r2, r2, #255 - 1605 0112 0399 ldr r1, [sp, #12] - 1606 0114 2800 movs r0, r5 - 1607 0116 FFF7FEFF bl I2C_TransferConfig - 1608 .LVL125: - 1609 011a C6E7 b .L125 - ARM GAS /tmp/ccFk2Nxo.s page 146 - - - 1610 .L135: -1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1611 .loc 1 1138 0 - 1612 011c 2200 movs r2, r4 - 1613 011e 0A99 ldr r1, [sp, #40] - 1614 0120 2800 movs r0, r5 - 1615 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout - 1616 .LVL126: - 1617 0126 0028 cmp r0, #0 - 1618 0128 1AD1 bne .L134 -1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1619 .loc 1 1144 0 - 1620 012a 2B68 ldr r3, [r5] - 1621 012c 2022 movs r2, #32 - 1622 012e DA61 str r2, [r3, #28] -1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1623 .loc 1 1147 0 - 1624 0130 2968 ldr r1, [r5] - 1625 0132 4B68 ldr r3, [r1, #4] - 1626 0134 0C4C ldr r4, .L136+4 - 1627 .LVL127: - 1628 0136 2340 ands r3, r4 - 1629 0138 4B60 str r3, [r1, #4] -1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 1630 .loc 1 1149 0 - 1631 013a 4123 movs r3, #65 - 1632 013c EA54 strb r2, [r5, r3] -1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1633 .loc 1 1150 0 - 1634 013e 0023 movs r3, #0 - 1635 0140 2232 adds r2, r2, #34 - 1636 0142 AB54 strb r3, [r5, r2] -1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1637 .loc 1 1153 0 - 1638 0144 023A subs r2, r2, #2 - 1639 0146 AB54 strb r3, [r5, r2] -1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1640 .loc 1 1155 0 - 1641 0148 00E0 b .L122 - 1642 .LVL128: - 1643 .L129: -1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1644 .loc 1 1159 0 - 1645 014a 0220 movs r0, #2 - 1646 .LVL129: - 1647 .L122: -1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1648 .loc 1 1161 0 - 1649 014c 05B0 add sp, sp, #20 - 1650 @ sp needed - 1651 .LVL130: - 1652 .LVL131: - 1653 014e F0BD pop {r4, r5, r6, r7, pc} - 1654 .LVL132: - 1655 .L130: -1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1656 .loc 1 1067 0 - ARM GAS /tmp/ccFk2Nxo.s page 147 - - - 1657 0150 0220 movs r0, #2 - 1658 .LVL133: - 1659 0152 FBE7 b .L122 - 1660 .LVL134: - 1661 .L131: -1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1662 .loc 1 1074 0 - 1663 0154 0120 movs r0, #1 - 1664 0156 F9E7 b .L122 - 1665 .L132: -1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1666 .loc 1 1104 0 - 1667 0158 0120 movs r0, #1 - 1668 015a F7E7 b .L122 - 1669 .L133: -1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1670 .loc 1 1120 0 - 1671 015c 0120 movs r0, #1 - 1672 015e F5E7 b .L122 - 1673 .L134: -1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1674 .loc 1 1140 0 - 1675 0160 0120 movs r0, #1 - 1676 0162 F3E7 b .L122 - 1677 .L137: - 1678 .align 2 - 1679 .L136: - 1680 0164 00200080 .word -2147475456 - 1681 0168 00E800FE .word -33495040 - 1682 .cfi_endproc - 1683 .LFE44: - 1685 .section .text.HAL_I2C_Master_Receive,"ax",%progbits - 1686 .align 1 - 1687 .global HAL_I2C_Master_Receive - 1688 .syntax unified - 1689 .code 16 - 1690 .thumb_func - 1691 .fpu softvfp - 1693 HAL_I2C_Master_Receive: - 1694 .LFB45: -1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 1695 .loc 1 1175 0 - 1696 .cfi_startproc - 1697 @ args = 4, pretend = 0, frame = 8 - 1698 @ frame_needed = 0, uses_anonymous_args = 0 - 1699 .LVL135: - 1700 0000 F0B5 push {r4, r5, r6, r7, lr} - 1701 .LCFI15: - 1702 .cfi_def_cfa_offset 20 - 1703 .cfi_offset 4, -20 - 1704 .cfi_offset 5, -16 - 1705 .cfi_offset 6, -12 - 1706 .cfi_offset 7, -8 - 1707 .cfi_offset 14, -4 - 1708 0002 85B0 sub sp, sp, #20 - 1709 .LCFI16: - 1710 .cfi_def_cfa_offset 40 - ARM GAS /tmp/ccFk2Nxo.s page 148 - - - 1711 0004 0500 movs r5, r0 - 1712 0006 0391 str r1, [sp, #12] - 1713 0008 1700 movs r7, r2 - 1714 000a 1E00 movs r6, r3 -1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1715 .loc 1 1178 0 - 1716 000c 4123 movs r3, #65 - 1717 .LVL136: - 1718 000e C35C ldrb r3, [r0, r3] - 1719 0010 202B cmp r3, #32 - 1720 0012 00D0 beq .LCB1712 - 1721 0014 99E0 b .L146 @long jump - 1722 .LCB1712: -1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1723 .loc 1 1181 0 - 1724 0016 2033 adds r3, r3, #32 - 1725 0018 C35C ldrb r3, [r0, r3] - 1726 001a 012B cmp r3, #1 - 1727 001c 00D1 bne .LCB1716 - 1728 001e 97E0 b .L147 @long jump - 1729 .LCB1716: -1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1730 .loc 1 1181 0 is_stmt 0 discriminator 2 - 1731 0020 4023 movs r3, #64 - 1732 0022 0122 movs r2, #1 - 1733 .LVL137: - 1734 0024 C254 strb r2, [r0, r3] -1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1735 .loc 1 1184 0 is_stmt 1 discriminator 2 - 1736 0026 FFF7FEFF bl HAL_GetTick - 1737 .LVL138: - 1738 002a 0400 movs r4, r0 - 1739 .LVL139: -1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1740 .loc 1 1186 0 discriminator 2 - 1741 002c 8021 movs r1, #128 - 1742 002e 0090 str r0, [sp] - 1743 0030 1923 movs r3, #25 - 1744 0032 0122 movs r2, #1 - 1745 0034 0902 lsls r1, r1, #8 - 1746 0036 2800 movs r0, r5 - 1747 .LVL140: - 1748 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 1749 .LVL141: - 1750 003c 0028 cmp r0, #0 - 1751 003e 00D0 beq .LCB1737 - 1752 0040 88E0 b .L148 @long jump - 1753 .LCB1737: -1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 1754 .loc 1 1191 0 - 1755 0042 4123 movs r3, #65 - 1756 0044 2222 movs r2, #34 - 1757 0046 EA54 strb r2, [r5, r3] -1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 1758 .loc 1 1192 0 - 1759 0048 0133 adds r3, r3, #1 - 1760 004a 123A subs r2, r2, #18 - ARM GAS /tmp/ccFk2Nxo.s page 149 - - - 1761 004c EA54 strb r2, [r5, r3] -1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1762 .loc 1 1193 0 - 1763 004e 0023 movs r3, #0 - 1764 0050 6B64 str r3, [r5, #68] -1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 1765 .loc 1 1196 0 - 1766 0052 6F62 str r7, [r5, #36] -1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 1767 .loc 1 1197 0 - 1768 0054 6E85 strh r6, [r5, #42] -1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1769 .loc 1 1198 0 - 1770 0056 6B63 str r3, [r5, #52] -1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1771 .loc 1 1202 0 - 1772 0058 6B8D ldrh r3, [r5, #42] - 1773 005a 9BB2 uxth r3, r3 - 1774 005c FF2B cmp r3, #255 - 1775 005e 0BD9 bls .L140 -1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S - 1776 .loc 1 1204 0 - 1777 0060 FF23 movs r3, #255 - 1778 0062 2B85 strh r3, [r5, #40] -1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1779 .loc 1 1205 0 - 1780 0064 7F3B subs r3, r3, #127 - 1781 0066 3F4A ldr r2, .L153 - 1782 0068 0092 str r2, [sp] - 1783 006a 5B04 lsls r3, r3, #17 - 1784 006c FF22 movs r2, #255 - 1785 006e 0399 ldr r1, [sp, #12] - 1786 0070 2800 movs r0, r5 - 1787 0072 FFF7FEFF bl I2C_TransferConfig - 1788 .LVL142: - 1789 0076 18E0 b .L142 - 1790 .L140: -1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ - 1791 .loc 1 1209 0 - 1792 0078 6A8D ldrh r2, [r5, #42] - 1793 007a 92B2 uxth r2, r2 - 1794 007c 2A85 strh r2, [r5, #40] -1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1795 .loc 1 1210 0 - 1796 007e 8023 movs r3, #128 - 1797 0080 D2B2 uxtb r2, r2 - 1798 0082 3849 ldr r1, .L153 - 1799 0084 0091 str r1, [sp] - 1800 0086 9B04 lsls r3, r3, #18 - 1801 0088 0399 ldr r1, [sp, #12] - 1802 008a 2800 movs r0, r5 - 1803 008c FFF7FEFF bl I2C_TransferConfig - 1804 .LVL143: - 1805 0090 0BE0 b .L142 - 1806 .L144: -1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST - 1807 .loc 1 1245 0 - ARM GAS /tmp/ccFk2Nxo.s page 150 - - - 1808 0092 6A8D ldrh r2, [r5, #42] - 1809 0094 92B2 uxth r2, r2 - 1810 0096 2A85 strh r2, [r5, #40] -1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1811 .loc 1 1246 0 - 1812 0098 8023 movs r3, #128 - 1813 009a D2B2 uxtb r2, r2 - 1814 009c 0021 movs r1, #0 - 1815 009e 0091 str r1, [sp] - 1816 00a0 9B04 lsls r3, r3, #18 - 1817 00a2 0399 ldr r1, [sp, #12] - 1818 00a4 2800 movs r0, r5 - 1819 00a6 FFF7FEFF bl I2C_TransferConfig - 1820 .LVL144: - 1821 .L142: -1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1822 .loc 1 1213 0 - 1823 00aa 6B8D ldrh r3, [r5, #42] - 1824 00ac 9BB2 uxth r3, r3 - 1825 00ae 002B cmp r3, #0 - 1826 00b0 34D0 beq .L152 -1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1827 .loc 1 1216 0 - 1828 00b2 2200 movs r2, r4 - 1829 00b4 0A99 ldr r1, [sp, #40] - 1830 00b6 2800 movs r0, r5 - 1831 00b8 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout - 1832 .LVL145: - 1833 00bc 0028 cmp r0, #0 - 1834 00be 4BD1 bne .L149 -1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1835 .loc 1 1222 0 - 1836 00c0 2B68 ldr r3, [r5] - 1837 00c2 5B6A ldr r3, [r3, #36] - 1838 00c4 6A6A ldr r2, [r5, #36] - 1839 00c6 1370 strb r3, [r2] -1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1840 .loc 1 1225 0 - 1841 00c8 6B6A ldr r3, [r5, #36] - 1842 00ca 0133 adds r3, r3, #1 - 1843 00cc 6B62 str r3, [r5, #36] -1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; - 1844 .loc 1 1227 0 - 1845 00ce 2B8D ldrh r3, [r5, #40] - 1846 00d0 013B subs r3, r3, #1 - 1847 00d2 9BB2 uxth r3, r3 - 1848 00d4 2B85 strh r3, [r5, #40] -1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1849 .loc 1 1228 0 - 1850 00d6 6A8D ldrh r2, [r5, #42] - 1851 00d8 013A subs r2, r2, #1 - 1852 00da 92B2 uxth r2, r2 - 1853 00dc 6A85 strh r2, [r5, #42] -1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1854 .loc 1 1230 0 - 1855 00de 6A8D ldrh r2, [r5, #42] - 1856 00e0 92B2 uxth r2, r2 - ARM GAS /tmp/ccFk2Nxo.s page 151 - - - 1857 00e2 002A cmp r2, #0 - 1858 00e4 E1D0 beq .L142 -1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1859 .loc 1 1230 0 is_stmt 0 discriminator 1 - 1860 00e6 002B cmp r3, #0 - 1861 00e8 DFD1 bne .L142 -1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1862 .loc 1 1233 0 is_stmt 1 - 1863 00ea 0094 str r4, [sp] - 1864 00ec 0A9B ldr r3, [sp, #40] - 1865 00ee 0022 movs r2, #0 - 1866 00f0 8021 movs r1, #128 - 1867 00f2 2800 movs r0, r5 - 1868 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 1869 .LVL146: - 1870 00f8 0028 cmp r0, #0 - 1871 00fa 2FD1 bne .L150 -1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1872 .loc 1 1238 0 - 1873 00fc 6B8D ldrh r3, [r5, #42] - 1874 00fe 9BB2 uxth r3, r3 - 1875 0100 FF2B cmp r3, #255 - 1876 0102 C6D9 bls .L144 -1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA - 1877 .loc 1 1240 0 - 1878 0104 FF23 movs r3, #255 - 1879 0106 2B85 strh r3, [r5, #40] -1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1880 .loc 1 1241 0 - 1881 0108 7F3B subs r3, r3, #127 - 1882 010a 0022 movs r2, #0 - 1883 010c 0092 str r2, [sp] - 1884 010e 5B04 lsls r3, r3, #17 - 1885 0110 FF32 adds r2, r2, #255 - 1886 0112 0399 ldr r1, [sp, #12] - 1887 0114 2800 movs r0, r5 - 1888 0116 FFF7FEFF bl I2C_TransferConfig - 1889 .LVL147: - 1890 011a C6E7 b .L142 - 1891 .L152: -1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1892 .loc 1 1253 0 - 1893 011c 2200 movs r2, r4 - 1894 011e 0A99 ldr r1, [sp, #40] - 1895 0120 2800 movs r0, r5 - 1896 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout - 1897 .LVL148: - 1898 0126 0028 cmp r0, #0 - 1899 0128 1AD1 bne .L151 -1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1900 .loc 1 1259 0 - 1901 012a 2B68 ldr r3, [r5] - 1902 012c 2022 movs r2, #32 - 1903 012e DA61 str r2, [r3, #28] -1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1904 .loc 1 1262 0 - 1905 0130 2968 ldr r1, [r5] - ARM GAS /tmp/ccFk2Nxo.s page 152 - - - 1906 0132 4B68 ldr r3, [r1, #4] - 1907 0134 0C4C ldr r4, .L153+4 - 1908 .LVL149: - 1909 0136 2340 ands r3, r4 - 1910 0138 4B60 str r3, [r1, #4] -1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 1911 .loc 1 1264 0 - 1912 013a 4123 movs r3, #65 - 1913 013c EA54 strb r2, [r5, r3] -1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1914 .loc 1 1265 0 - 1915 013e 0023 movs r3, #0 - 1916 0140 2232 adds r2, r2, #34 - 1917 0142 AB54 strb r3, [r5, r2] -1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1918 .loc 1 1268 0 - 1919 0144 023A subs r2, r2, #2 - 1920 0146 AB54 strb r3, [r5, r2] -1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1921 .loc 1 1270 0 - 1922 0148 00E0 b .L139 - 1923 .LVL150: - 1924 .L146: -1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1925 .loc 1 1274 0 - 1926 014a 0220 movs r0, #2 - 1927 .LVL151: - 1928 .L139: -1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1929 .loc 1 1276 0 - 1930 014c 05B0 add sp, sp, #20 - 1931 @ sp needed - 1932 .LVL152: - 1933 .LVL153: - 1934 014e F0BD pop {r4, r5, r6, r7, pc} - 1935 .LVL154: - 1936 .L147: -1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 1937 .loc 1 1181 0 - 1938 0150 0220 movs r0, #2 - 1939 .LVL155: - 1940 0152 FBE7 b .L139 - 1941 .LVL156: - 1942 .L148: -1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1943 .loc 1 1188 0 - 1944 0154 0120 movs r0, #1 - 1945 0156 F9E7 b .L139 - 1946 .L149: -1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1947 .loc 1 1218 0 - 1948 0158 0120 movs r0, #1 - 1949 015a F7E7 b .L139 - 1950 .L150: -1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1951 .loc 1 1235 0 - 1952 015c 0120 movs r0, #1 - ARM GAS /tmp/ccFk2Nxo.s page 153 - - - 1953 015e F5E7 b .L139 - 1954 .L151: -1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 1955 .loc 1 1255 0 - 1956 0160 0120 movs r0, #1 - 1957 0162 F3E7 b .L139 - 1958 .L154: - 1959 .align 2 - 1960 .L153: - 1961 0164 00240080 .word -2147474432 - 1962 0168 00E800FE .word -33495040 - 1963 .cfi_endproc - 1964 .LFE45: - 1966 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits - 1967 .align 1 - 1968 .global HAL_I2C_Slave_Transmit - 1969 .syntax unified - 1970 .code 16 - 1971 .thumb_func - 1972 .fpu softvfp - 1974 HAL_I2C_Slave_Transmit: - 1975 .LFB46: -1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 1976 .loc 1 1288 0 - 1977 .cfi_startproc - 1978 @ args = 0, pretend = 0, frame = 8 - 1979 @ frame_needed = 0, uses_anonymous_args = 0 - 1980 .LVL157: - 1981 0000 F0B5 push {r4, r5, r6, r7, lr} - 1982 .LCFI17: - 1983 .cfi_def_cfa_offset 20 - 1984 .cfi_offset 4, -20 - 1985 .cfi_offset 5, -16 - 1986 .cfi_offset 6, -12 - 1987 .cfi_offset 7, -8 - 1988 .cfi_offset 14, -4 - 1989 0002 85B0 sub sp, sp, #20 - 1990 .LCFI18: - 1991 .cfi_def_cfa_offset 40 - 1992 0004 0600 movs r6, r0 - 1993 0006 0C00 movs r4, r1 - 1994 0008 1500 movs r5, r2 - 1995 000a 0393 str r3, [sp, #12] -1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 1996 .loc 1 1291 0 - 1997 000c 4123 movs r3, #65 - 1998 .LVL158: - 1999 000e C35C ldrb r3, [r0, r3] - 2000 0010 202B cmp r3, #32 - 2001 0012 00D0 beq .LCB1995 - 2002 0014 B8E0 b .L167 @long jump - 2003 .LCB1995: -1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2004 .loc 1 1293 0 - 2005 0016 0029 cmp r1, #0 - 2006 0018 4CD0 beq .L157 -1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 154 - - - 2007 .loc 1 1293 0 is_stmt 0 discriminator 1 - 2008 001a 002A cmp r2, #0 - 2009 001c 4AD0 beq .L157 -1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2010 .loc 1 1299 0 is_stmt 1 - 2011 001e 4023 movs r3, #64 - 2012 0020 C35C ldrb r3, [r0, r3] - 2013 0022 012B cmp r3, #1 - 2014 0024 00D1 bne .LCB2003 - 2015 0026 B2E0 b .L168 @long jump - 2016 .LCB2003: -1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2017 .loc 1 1299 0 is_stmt 0 discriminator 2 - 2018 0028 4023 movs r3, #64 - 2019 002a 0122 movs r2, #1 - 2020 .LVL159: - 2021 002c C254 strb r2, [r0, r3] -1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2022 .loc 1 1302 0 is_stmt 1 discriminator 2 - 2023 002e FFF7FEFF bl HAL_GetTick - 2024 .LVL160: - 2025 0032 0700 movs r7, r0 - 2026 .LVL161: -1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 2027 .loc 1 1304 0 discriminator 2 - 2028 0034 4123 movs r3, #65 - 2029 0036 2122 movs r2, #33 - 2030 0038 F254 strb r2, [r6, r3] -1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 2031 .loc 1 1305 0 discriminator 2 - 2032 003a 0133 adds r3, r3, #1 - 2033 003c 013A subs r2, r2, #1 - 2034 003e F254 strb r2, [r6, r3] -1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2035 .loc 1 1306 0 discriminator 2 - 2036 0040 0023 movs r3, #0 - 2037 0042 7364 str r3, [r6, #68] -1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 2038 .loc 1 1309 0 discriminator 2 - 2039 0044 7462 str r4, [r6, #36] -1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 2040 .loc 1 1310 0 discriminator 2 - 2041 0046 7585 strh r5, [r6, #42] -1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2042 .loc 1 1311 0 discriminator 2 - 2043 0048 7363 str r3, [r6, #52] -1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2044 .loc 1 1314 0 discriminator 2 - 2045 004a 3268 ldr r2, [r6] - 2046 004c 5368 ldr r3, [r2, #4] - 2047 004e 5149 ldr r1, .L178 - 2048 0050 0B40 ands r3, r1 - 2049 0052 5360 str r3, [r2, #4] -1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2050 .loc 1 1317 0 discriminator 2 - 2051 0054 0090 str r0, [sp] - 2052 0056 039B ldr r3, [sp, #12] - ARM GAS /tmp/ccFk2Nxo.s page 155 - - - 2053 0058 0022 movs r2, #0 - 2054 005a 0821 movs r1, #8 - 2055 005c 3000 movs r0, r6 - 2056 .LVL162: - 2057 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 2058 .LVL163: - 2059 0062 0028 cmp r0, #0 - 2060 0064 2BD1 bne .L170 -1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2061 .loc 1 1325 0 - 2062 0066 3368 ldr r3, [r6] - 2063 0068 0822 movs r2, #8 - 2064 006a DA61 str r2, [r3, #28] -1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2065 .loc 1 1328 0 - 2066 006c F368 ldr r3, [r6, #12] - 2067 006e 022B cmp r3, #2 - 2068 0070 2DD0 beq .L171 - 2069 .L160: -1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2070 .loc 1 1343 0 - 2071 0072 8021 movs r1, #128 - 2072 0074 0097 str r7, [sp] - 2073 0076 039B ldr r3, [sp, #12] - 2074 0078 0022 movs r2, #0 - 2075 007a 4902 lsls r1, r1, #9 - 2076 007c 3000 movs r0, r6 - 2077 007e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 2078 .LVL164: - 2079 0082 0028 cmp r0, #0 - 2080 0084 38D1 bne .L172 - 2081 .L162: -1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2082 .loc 1 1350 0 - 2083 0086 738D ldrh r3, [r6, #42] - 2084 0088 9BB2 uxth r3, r3 - 2085 008a 002B cmp r3, #0 - 2086 008c 44D0 beq .L173 -1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2087 .loc 1 1353 0 - 2088 008e 3A00 movs r2, r7 - 2089 0090 0399 ldr r1, [sp, #12] - 2090 0092 3000 movs r0, r6 - 2091 0094 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout - 2092 .LVL165: - 2093 0098 0028 cmp r0, #0 - 2094 009a 35D1 bne .L174 -1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2095 .loc 1 1361 0 - 2096 009c 3368 ldr r3, [r6] - 2097 009e 726A ldr r2, [r6, #36] - 2098 00a0 1278 ldrb r2, [r2] - 2099 00a2 9A62 str r2, [r3, #40] -1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2100 .loc 1 1364 0 - 2101 00a4 736A ldr r3, [r6, #36] - 2102 00a6 0133 adds r3, r3, #1 - ARM GAS /tmp/ccFk2Nxo.s page 156 - - - 2103 00a8 7362 str r3, [r6, #36] -1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2104 .loc 1 1366 0 - 2105 00aa 738D ldrh r3, [r6, #42] - 2106 00ac 013B subs r3, r3, #1 - 2107 00ae 9BB2 uxth r3, r3 - 2108 00b0 7385 strh r3, [r6, #42] - 2109 00b2 E8E7 b .L162 - 2110 .LVL166: - 2111 .L157: -1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2112 .loc 1 1295 0 - 2113 00b4 8023 movs r3, #128 - 2114 00b6 9B00 lsls r3, r3, #2 - 2115 00b8 7364 str r3, [r6, #68] -1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2116 .loc 1 1296 0 - 2117 00ba 0120 movs r0, #1 - 2118 .LVL167: - 2119 00bc 65E0 b .L156 - 2120 .LVL168: - 2121 .L170: -1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2122 .loc 1 1320 0 - 2123 00be 3268 ldr r2, [r6] - 2124 00c0 5168 ldr r1, [r2, #4] - 2125 00c2 8023 movs r3, #128 - 2126 00c4 1B02 lsls r3, r3, #8 - 2127 00c6 0B43 orrs r3, r1 - 2128 00c8 5360 str r3, [r2, #4] -1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2129 .loc 1 1321 0 - 2130 00ca 0120 movs r0, #1 - 2131 00cc 5DE0 b .L156 - 2132 .L171: -1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2133 .loc 1 1331 0 - 2134 00ce 0097 str r7, [sp] - 2135 00d0 039B ldr r3, [sp, #12] - 2136 00d2 0022 movs r2, #0 - 2137 00d4 0821 movs r1, #8 - 2138 00d6 3000 movs r0, r6 - 2139 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 2140 .LVL169: - 2141 00dc 0028 cmp r0, #0 - 2142 00de 03D1 bne .L175 -1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2143 .loc 1 1339 0 - 2144 00e0 3368 ldr r3, [r6] - 2145 00e2 0822 movs r2, #8 - 2146 00e4 DA61 str r2, [r3, #28] - 2147 00e6 C4E7 b .L160 - 2148 .L175: -1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2149 .loc 1 1334 0 - 2150 00e8 3268 ldr r2, [r6] - 2151 00ea 5168 ldr r1, [r2, #4] - ARM GAS /tmp/ccFk2Nxo.s page 157 - - - 2152 00ec 8023 movs r3, #128 - 2153 00ee 1B02 lsls r3, r3, #8 - 2154 00f0 0B43 orrs r3, r1 - 2155 00f2 5360 str r3, [r2, #4] -1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2156 .loc 1 1335 0 - 2157 00f4 0120 movs r0, #1 - 2158 00f6 48E0 b .L156 - 2159 .L172: -1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2160 .loc 1 1346 0 - 2161 00f8 3268 ldr r2, [r6] - 2162 00fa 5168 ldr r1, [r2, #4] - 2163 00fc 8023 movs r3, #128 - 2164 00fe 1B02 lsls r3, r3, #8 - 2165 0100 0B43 orrs r3, r1 - 2166 0102 5360 str r3, [r2, #4] -1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2167 .loc 1 1347 0 - 2168 0104 0120 movs r0, #1 - 2169 0106 40E0 b .L156 - 2170 .L174: -1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2171 .loc 1 1356 0 - 2172 0108 3268 ldr r2, [r6] - 2173 010a 5168 ldr r1, [r2, #4] - 2174 010c 8023 movs r3, #128 - 2175 010e 1B02 lsls r3, r3, #8 - 2176 0110 0B43 orrs r3, r1 - 2177 0112 5360 str r3, [r2, #4] -1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2178 .loc 1 1357 0 - 2179 0114 0120 movs r0, #1 - 2180 0116 38E0 b .L156 - 2181 .L173: -1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2182 .loc 1 1370 0 - 2183 0118 3A00 movs r2, r7 - 2184 011a 0399 ldr r1, [sp, #12] - 2185 011c 3000 movs r0, r6 - 2186 011e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout - 2187 .LVL170: - 2188 0122 0028 cmp r0, #0 - 2189 0124 0CD0 beq .L165 -1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2190 .loc 1 1373 0 - 2191 0126 3268 ldr r2, [r6] - 2192 0128 5168 ldr r1, [r2, #4] - 2193 012a 8023 movs r3, #128 - 2194 012c 1B02 lsls r3, r3, #8 - 2195 012e 0B43 orrs r3, r1 - 2196 0130 5360 str r3, [r2, #4] -1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2197 .loc 1 1375 0 - 2198 0132 736C ldr r3, [r6, #68] - 2199 0134 042B cmp r3, #4 - 2200 0136 01D0 beq .L176 - ARM GAS /tmp/ccFk2Nxo.s page 158 - - -1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2201 .loc 1 1383 0 - 2202 0138 0120 movs r0, #1 - 2203 013a 26E0 b .L156 - 2204 .L176: -1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2205 .loc 1 1379 0 - 2206 013c 0023 movs r3, #0 - 2207 013e 7364 str r3, [r6, #68] - 2208 .L165: -1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2209 .loc 1 1388 0 - 2210 0140 3368 ldr r3, [r6] - 2211 0142 2022 movs r2, #32 - 2212 0144 DA61 str r2, [r3, #28] -1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2213 .loc 1 1391 0 - 2214 0146 8021 movs r1, #128 - 2215 0148 0097 str r7, [sp] - 2216 014a 039B ldr r3, [sp, #12] - 2217 014c 1F3A subs r2, r2, #31 - 2218 014e 0902 lsls r1, r1, #8 - 2219 0150 3000 movs r0, r6 - 2220 0152 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 2221 .LVL171: - 2222 0156 0028 cmp r0, #0 - 2223 0158 0ED1 bne .L177 -1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2224 .loc 1 1399 0 - 2225 015a 3268 ldr r2, [r6] - 2226 015c 5168 ldr r1, [r2, #4] - 2227 015e 8023 movs r3, #128 - 2228 0160 1B02 lsls r3, r3, #8 - 2229 0162 0B43 orrs r3, r1 - 2230 0164 5360 str r3, [r2, #4] -1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 2231 .loc 1 1401 0 - 2232 0166 4123 movs r3, #65 - 2233 0168 2022 movs r2, #32 - 2234 016a F254 strb r2, [r6, r3] -1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2235 .loc 1 1402 0 - 2236 016c 0023 movs r3, #0 - 2237 016e 2232 adds r2, r2, #34 - 2238 0170 B354 strb r3, [r6, r2] -1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2239 .loc 1 1405 0 - 2240 0172 023A subs r2, r2, #2 - 2241 0174 B354 strb r3, [r6, r2] -1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2242 .loc 1 1407 0 - 2243 0176 08E0 b .L156 - 2244 .L177: -1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2245 .loc 1 1394 0 - 2246 0178 3268 ldr r2, [r6] - 2247 017a 5168 ldr r1, [r2, #4] - ARM GAS /tmp/ccFk2Nxo.s page 159 - - - 2248 017c 8023 movs r3, #128 - 2249 017e 1B02 lsls r3, r3, #8 - 2250 0180 0B43 orrs r3, r1 - 2251 0182 5360 str r3, [r2, #4] -1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2252 .loc 1 1395 0 - 2253 0184 0120 movs r0, #1 - 2254 0186 00E0 b .L156 - 2255 .LVL172: - 2256 .L167: -1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2257 .loc 1 1411 0 - 2258 0188 0220 movs r0, #2 - 2259 .LVL173: - 2260 .L156: -1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2261 .loc 1 1413 0 - 2262 018a 05B0 add sp, sp, #20 - 2263 @ sp needed - 2264 .LVL174: - 2265 .LVL175: - 2266 018c F0BD pop {r4, r5, r6, r7, pc} - 2267 .LVL176: - 2268 .L168: -1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2269 .loc 1 1299 0 - 2270 018e 0220 movs r0, #2 - 2271 .LVL177: - 2272 0190 FBE7 b .L156 - 2273 .L179: - 2274 0192 C046 .align 2 - 2275 .L178: - 2276 0194 FF7FFFFF .word -32769 - 2277 .cfi_endproc - 2278 .LFE46: - 2280 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits - 2281 .align 1 - 2282 .global HAL_I2C_Slave_Receive - 2283 .syntax unified - 2284 .code 16 - 2285 .thumb_func - 2286 .fpu softvfp - 2288 HAL_I2C_Slave_Receive: - 2289 .LFB47: -1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 2290 .loc 1 1425 0 - 2291 .cfi_startproc - 2292 @ args = 0, pretend = 0, frame = 8 - 2293 @ frame_needed = 0, uses_anonymous_args = 0 - 2294 .LVL178: - 2295 0000 F0B5 push {r4, r5, r6, r7, lr} - 2296 .LCFI19: - 2297 .cfi_def_cfa_offset 20 - 2298 .cfi_offset 4, -20 - 2299 .cfi_offset 5, -16 - 2300 .cfi_offset 6, -12 - 2301 .cfi_offset 7, -8 - ARM GAS /tmp/ccFk2Nxo.s page 160 - - - 2302 .cfi_offset 14, -4 - 2303 0002 85B0 sub sp, sp, #20 - 2304 .LCFI20: - 2305 .cfi_def_cfa_offset 40 - 2306 0004 0600 movs r6, r0 - 2307 0006 0C00 movs r4, r1 - 2308 0008 1500 movs r5, r2 - 2309 000a 0393 str r3, [sp, #12] -1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2310 .loc 1 1428 0 - 2311 000c 4123 movs r3, #65 - 2312 .LVL179: - 2313 000e C35C ldrb r3, [r0, r3] - 2314 0010 202B cmp r3, #32 - 2315 0012 00D0 beq .LCB2307 - 2316 0014 A8E0 b .L190 @long jump - 2317 .LCB2307: -1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2318 .loc 1 1430 0 - 2319 0016 0029 cmp r1, #0 - 2320 0018 2DD0 beq .L182 -1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2321 .loc 1 1430 0 is_stmt 0 discriminator 1 - 2322 001a 002A cmp r2, #0 - 2323 001c 2BD0 beq .L182 -1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2324 .loc 1 1436 0 is_stmt 1 - 2325 001e 4023 movs r3, #64 - 2326 0020 C35C ldrb r3, [r0, r3] - 2327 0022 012B cmp r3, #1 - 2328 0024 00D1 bne .LCB2315 - 2329 0026 A2E0 b .L191 @long jump - 2330 .LCB2315: -1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2331 .loc 1 1436 0 is_stmt 0 discriminator 2 - 2332 0028 4023 movs r3, #64 - 2333 002a 0122 movs r2, #1 - 2334 .LVL180: - 2335 002c C254 strb r2, [r0, r3] -1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2336 .loc 1 1439 0 is_stmt 1 discriminator 2 - 2337 002e FFF7FEFF bl HAL_GetTick - 2338 .LVL181: - 2339 0032 0700 movs r7, r0 - 2340 .LVL182: -1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 2341 .loc 1 1441 0 discriminator 2 - 2342 0034 4123 movs r3, #65 - 2343 0036 2222 movs r2, #34 - 2344 0038 F254 strb r2, [r6, r3] -1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 2345 .loc 1 1442 0 discriminator 2 - 2346 003a 0133 adds r3, r3, #1 - 2347 003c 023A subs r2, r2, #2 - 2348 003e F254 strb r2, [r6, r3] -1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2349 .loc 1 1443 0 discriminator 2 - ARM GAS /tmp/ccFk2Nxo.s page 161 - - - 2350 0040 0023 movs r3, #0 - 2351 0042 7364 str r3, [r6, #68] -1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 2352 .loc 1 1446 0 discriminator 2 - 2353 0044 7462 str r4, [r6, #36] -1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 2354 .loc 1 1447 0 discriminator 2 - 2355 0046 7585 strh r5, [r6, #42] -1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2356 .loc 1 1448 0 discriminator 2 - 2357 0048 7363 str r3, [r6, #52] -1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2358 .loc 1 1451 0 discriminator 2 - 2359 004a 3268 ldr r2, [r6] - 2360 004c 5368 ldr r3, [r2, #4] - 2361 004e 4A49 ldr r1, .L195 - 2362 0050 0B40 ands r3, r1 - 2363 0052 5360 str r3, [r2, #4] -1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2364 .loc 1 1454 0 discriminator 2 - 2365 0054 0090 str r0, [sp] - 2366 0056 039B ldr r3, [sp, #12] - 2367 0058 0022 movs r2, #0 - 2368 005a 0821 movs r1, #8 - 2369 005c 3000 movs r0, r6 - 2370 .LVL183: - 2371 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 2372 .LVL184: - 2373 0062 0028 cmp r0, #0 - 2374 0064 0CD0 beq .L184 -1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2375 .loc 1 1457 0 - 2376 0066 3268 ldr r2, [r6] - 2377 0068 5168 ldr r1, [r2, #4] - 2378 006a 8023 movs r3, #128 - 2379 006c 1B02 lsls r3, r3, #8 - 2380 006e 0B43 orrs r3, r1 - 2381 0070 5360 str r3, [r2, #4] -1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2382 .loc 1 1458 0 - 2383 0072 0120 movs r0, #1 - 2384 0074 79E0 b .L181 - 2385 .LVL185: - 2386 .L182: -1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2387 .loc 1 1432 0 - 2388 0076 8023 movs r3, #128 - 2389 0078 9B00 lsls r3, r3, #2 - 2390 007a 7364 str r3, [r6, #68] -1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2391 .loc 1 1433 0 - 2392 007c 0120 movs r0, #1 - 2393 .LVL186: - 2394 007e 74E0 b .L181 - 2395 .LVL187: - 2396 .L184: -1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 162 - - - 2397 .loc 1 1462 0 - 2398 0080 3368 ldr r3, [r6] - 2399 0082 0822 movs r2, #8 - 2400 0084 DA61 str r2, [r3, #28] -1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2401 .loc 1 1465 0 - 2402 0086 8021 movs r1, #128 - 2403 0088 0097 str r7, [sp] - 2404 008a 039B ldr r3, [sp, #12] - 2405 008c 073A subs r2, r2, #7 - 2406 008e 4902 lsls r1, r1, #9 - 2407 0090 3000 movs r0, r6 - 2408 0092 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 2409 .LVL188: - 2410 0096 0028 cmp r0, #0 - 2411 0098 12D0 beq .L185 -1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2412 .loc 1 1468 0 - 2413 009a 3268 ldr r2, [r6] - 2414 009c 5168 ldr r1, [r2, #4] - 2415 009e 8023 movs r3, #128 - 2416 00a0 1B02 lsls r3, r3, #8 - 2417 00a2 0B43 orrs r3, r1 - 2418 00a4 5360 str r3, [r2, #4] -1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2419 .loc 1 1469 0 - 2420 00a6 0120 movs r0, #1 - 2421 00a8 5FE0 b .L181 - 2422 .L186: -1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2423 .loc 1 1496 0 - 2424 00aa 3368 ldr r3, [r6] - 2425 00ac 5B6A ldr r3, [r3, #36] - 2426 00ae 726A ldr r2, [r6, #36] - 2427 00b0 1370 strb r3, [r2] -1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2428 .loc 1 1499 0 - 2429 00b2 736A ldr r3, [r6, #36] - 2430 00b4 0133 adds r3, r3, #1 - 2431 00b6 7362 str r3, [r6, #36] -1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2432 .loc 1 1501 0 - 2433 00b8 738D ldrh r3, [r6, #42] - 2434 00ba 013B subs r3, r3, #1 - 2435 00bc 9BB2 uxth r3, r3 - 2436 00be 7385 strh r3, [r6, #42] - 2437 .L185: -1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2438 .loc 1 1472 0 - 2439 00c0 738D ldrh r3, [r6, #42] - 2440 00c2 9BB2 uxth r3, r3 - 2441 00c4 002B cmp r3, #0 - 2442 00c6 1CD0 beq .L193 -1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2443 .loc 1 1475 0 - 2444 00c8 3A00 movs r2, r7 - 2445 00ca 0399 ldr r1, [sp, #12] - ARM GAS /tmp/ccFk2Nxo.s page 163 - - - 2446 00cc 3000 movs r0, r6 - 2447 00ce FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout - 2448 .LVL189: - 2449 00d2 0028 cmp r0, #0 - 2450 00d4 E9D0 beq .L186 -1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2451 .loc 1 1478 0 - 2452 00d6 3268 ldr r2, [r6] - 2453 00d8 5168 ldr r1, [r2, #4] - 2454 00da 8023 movs r3, #128 - 2455 00dc 1B02 lsls r3, r3, #8 - 2456 00de 0B43 orrs r3, r1 - 2457 00e0 5360 str r3, [r2, #4] -1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2458 .loc 1 1481 0 - 2459 00e2 3368 ldr r3, [r6] - 2460 00e4 9A69 ldr r2, [r3, #24] - 2461 00e6 5207 lsls r2, r2, #29 - 2462 00e8 43D5 bpl .L192 -1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2463 .loc 1 1484 0 - 2464 00ea 5B6A ldr r3, [r3, #36] - 2465 00ec 726A ldr r2, [r6, #36] - 2466 00ee 1370 strb r3, [r2] -1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2467 .loc 1 1487 0 - 2468 00f0 736A ldr r3, [r6, #36] - 2469 00f2 0133 adds r3, r3, #1 - 2470 00f4 7362 str r3, [r6, #36] -1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2471 .loc 1 1489 0 - 2472 00f6 738D ldrh r3, [r6, #42] - 2473 00f8 013B subs r3, r3, #1 - 2474 00fa 9BB2 uxth r3, r3 - 2475 00fc 7385 strh r3, [r6, #42] -1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2476 .loc 1 1492 0 - 2477 00fe 0120 movs r0, #1 - 2478 0100 33E0 b .L181 - 2479 .L193: -1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2480 .loc 1 1505 0 - 2481 0102 3A00 movs r2, r7 - 2482 0104 0399 ldr r1, [sp, #12] - 2483 0106 3000 movs r0, r6 - 2484 0108 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout - 2485 .LVL190: - 2486 010c 0028 cmp r0, #0 - 2487 010e 07D0 beq .L188 -1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2488 .loc 1 1508 0 - 2489 0110 3268 ldr r2, [r6] - 2490 0112 5168 ldr r1, [r2, #4] - 2491 0114 8023 movs r3, #128 - 2492 0116 1B02 lsls r3, r3, #8 - 2493 0118 0B43 orrs r3, r1 - 2494 011a 5360 str r3, [r2, #4] - ARM GAS /tmp/ccFk2Nxo.s page 164 - - -1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2495 .loc 1 1509 0 - 2496 011c 0120 movs r0, #1 - 2497 011e 24E0 b .L181 - 2498 .L188: -1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2499 .loc 1 1513 0 - 2500 0120 3368 ldr r3, [r6] - 2501 0122 2022 movs r2, #32 - 2502 0124 DA61 str r2, [r3, #28] -1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2503 .loc 1 1516 0 - 2504 0126 8021 movs r1, #128 - 2505 0128 0097 str r7, [sp] - 2506 012a 039B ldr r3, [sp, #12] - 2507 012c 1F3A subs r2, r2, #31 - 2508 012e 0902 lsls r1, r1, #8 - 2509 0130 3000 movs r0, r6 - 2510 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 2511 .LVL191: - 2512 0136 0028 cmp r0, #0 - 2513 0138 0ED1 bne .L194 -1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2514 .loc 1 1524 0 - 2515 013a 3268 ldr r2, [r6] - 2516 013c 5168 ldr r1, [r2, #4] - 2517 013e 8023 movs r3, #128 - 2518 0140 1B02 lsls r3, r3, #8 - 2519 0142 0B43 orrs r3, r1 - 2520 0144 5360 str r3, [r2, #4] -1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 2521 .loc 1 1526 0 - 2522 0146 4123 movs r3, #65 - 2523 0148 2022 movs r2, #32 - 2524 014a F254 strb r2, [r6, r3] -1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2525 .loc 1 1527 0 - 2526 014c 0023 movs r3, #0 - 2527 014e 2232 adds r2, r2, #34 - 2528 0150 B354 strb r3, [r6, r2] -1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2529 .loc 1 1530 0 - 2530 0152 023A subs r2, r2, #2 - 2531 0154 B354 strb r3, [r6, r2] -1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2532 .loc 1 1532 0 - 2533 0156 08E0 b .L181 - 2534 .L194: -1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 2535 .loc 1 1519 0 - 2536 0158 3268 ldr r2, [r6] - 2537 015a 5168 ldr r1, [r2, #4] - 2538 015c 8023 movs r3, #128 - 2539 015e 1B02 lsls r3, r3, #8 - 2540 0160 0B43 orrs r3, r1 - 2541 0162 5360 str r3, [r2, #4] -1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 165 - - - 2542 .loc 1 1520 0 - 2543 0164 0120 movs r0, #1 - 2544 0166 00E0 b .L181 - 2545 .LVL192: - 2546 .L190: -1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2547 .loc 1 1536 0 - 2548 0168 0220 movs r0, #2 - 2549 .LVL193: - 2550 .L181: -1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2551 .loc 1 1538 0 - 2552 016a 05B0 add sp, sp, #20 - 2553 @ sp needed - 2554 .LVL194: - 2555 .LVL195: - 2556 016c F0BD pop {r4, r5, r6, r7, pc} - 2557 .LVL196: - 2558 .L191: -1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2559 .loc 1 1436 0 - 2560 016e 0220 movs r0, #2 - 2561 .LVL197: - 2562 0170 FBE7 b .L181 - 2563 .LVL198: - 2564 .L192: -1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2565 .loc 1 1492 0 - 2566 0172 0120 movs r0, #1 - 2567 0174 F9E7 b .L181 - 2568 .L196: - 2569 0176 C046 .align 2 - 2570 .L195: - 2571 0178 FF7FFFFF .word -32769 - 2572 .cfi_endproc - 2573 .LFE47: - 2575 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits - 2576 .align 1 - 2577 .global HAL_I2C_Master_Transmit_IT - 2578 .syntax unified - 2579 .code 16 - 2580 .thumb_func - 2581 .fpu softvfp - 2583 HAL_I2C_Master_Transmit_IT: - 2584 .LFB48: -1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 2585 .loc 1 1551 0 - 2586 .cfi_startproc - 2587 @ args = 0, pretend = 0, frame = 0 - 2588 @ frame_needed = 0, uses_anonymous_args = 0 - 2589 .LVL199: - 2590 0000 30B5 push {r4, r5, lr} - 2591 .LCFI21: - 2592 .cfi_def_cfa_offset 12 - 2593 .cfi_offset 4, -12 - 2594 .cfi_offset 5, -8 - 2595 .cfi_offset 14, -4 - ARM GAS /tmp/ccFk2Nxo.s page 166 - - - 2596 0002 83B0 sub sp, sp, #12 - 2597 .LCFI22: - 2598 .cfi_def_cfa_offset 24 - 2599 0004 0400 movs r4, r0 -1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2600 .loc 1 1554 0 - 2601 0006 4120 movs r0, #65 - 2602 .LVL200: - 2603 0008 205C ldrb r0, [r4, r0] - 2604 000a 2028 cmp r0, #32 - 2605 000c 35D1 bne .L201 -1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2606 .loc 1 1556 0 - 2607 000e 2068 ldr r0, [r4] - 2608 0010 8069 ldr r0, [r0, #24] - 2609 0012 0004 lsls r0, r0, #16 - 2610 0014 34D4 bmi .L202 -1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2611 .loc 1 1562 0 - 2612 0016 4020 movs r0, #64 - 2613 0018 205C ldrb r0, [r4, r0] - 2614 001a 0128 cmp r0, #1 - 2615 001c 32D0 beq .L203 -1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2616 .loc 1 1562 0 is_stmt 0 discriminator 2 - 2617 001e 4020 movs r0, #64 - 2618 0020 0125 movs r5, #1 - 2619 0022 2554 strb r5, [r4, r0] -1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 2620 .loc 1 1564 0 is_stmt 1 discriminator 2 - 2621 0024 0130 adds r0, r0, #1 - 2622 0026 2035 adds r5, r5, #32 - 2623 0028 2554 strb r5, [r4, r0] -1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 2624 .loc 1 1565 0 discriminator 2 - 2625 002a 0130 adds r0, r0, #1 - 2626 002c 113D subs r5, r5, #17 - 2627 002e 2554 strb r5, [r4, r0] -1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2628 .loc 1 1566 0 discriminator 2 - 2629 0030 0020 movs r0, #0 - 2630 0032 6064 str r0, [r4, #68] -1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 2631 .loc 1 1569 0 discriminator 2 - 2632 0034 6262 str r2, [r4, #36] -1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 2633 .loc 1 1570 0 discriminator 2 - 2634 0036 6385 strh r3, [r4, #42] -1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; - 2635 .loc 1 1571 0 discriminator 2 - 2636 0038 134B ldr r3, .L204 - 2637 .LVL201: - 2638 003a E362 str r3, [r4, #44] - 2639 .LVL202: -1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2640 .loc 1 1572 0 discriminator 2 - 2641 003c 134B ldr r3, .L204+4 - ARM GAS /tmp/ccFk2Nxo.s page 167 - - - 2642 003e 6363 str r3, [r4, #52] -1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2643 .loc 1 1574 0 discriminator 2 - 2644 0040 638D ldrh r3, [r4, #42] - 2645 0042 9BB2 uxth r3, r3 - 2646 0044 FF2B cmp r3, #255 - 2647 0046 13D9 bls .L199 -1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 2648 .loc 1 1576 0 - 2649 0048 FF23 movs r3, #255 - 2650 004a 2385 strh r3, [r4, #40] - 2651 .LVL203: -1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2652 .loc 1 1577 0 - 2653 004c 8023 movs r3, #128 - 2654 004e 5B04 lsls r3, r3, #17 - 2655 .LVL204: - 2656 .L200: -1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2657 .loc 1 1587 0 - 2658 0050 228D ldrh r2, [r4, #40] - 2659 .LVL205: - 2660 0052 D2B2 uxtb r2, r2 - 2661 0054 0E48 ldr r0, .L204+8 - 2662 0056 0090 str r0, [sp] - 2663 .LVL206: - 2664 0058 2000 movs r0, r4 - 2665 005a FFF7FEFF bl I2C_TransferConfig - 2666 .LVL207: -1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2667 .loc 1 1590 0 - 2668 005e 4023 movs r3, #64 - 2669 0060 0022 movs r2, #0 - 2670 0062 E254 strb r2, [r4, r3] -1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2671 .loc 1 1599 0 - 2672 0064 0121 movs r1, #1 - 2673 0066 2000 movs r0, r4 - 2674 0068 FFF7FEFF bl I2C_Enable_IRQ - 2675 .LVL208: -1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2676 .loc 1 1601 0 - 2677 006c 0020 movs r0, #0 - 2678 006e 05E0 b .L198 - 2679 .LVL209: - 2680 .L199: -1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - 2681 .loc 1 1581 0 - 2682 0070 638D ldrh r3, [r4, #42] - 2683 0072 2385 strh r3, [r4, #40] - 2684 .LVL210: -1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2685 .loc 1 1582 0 - 2686 0074 8023 movs r3, #128 - 2687 0076 9B04 lsls r3, r3, #18 - 2688 0078 EAE7 b .L200 - 2689 .LVL211: - ARM GAS /tmp/ccFk2Nxo.s page 168 - - - 2690 .L201: -1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2691 .loc 1 1605 0 - 2692 007a 0220 movs r0, #2 - 2693 .LVL212: - 2694 .L198: -1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2695 .loc 1 1607 0 - 2696 007c 03B0 add sp, sp, #12 - 2697 @ sp needed - 2698 .LVL213: - 2699 007e 30BD pop {r4, r5, pc} - 2700 .LVL214: - 2701 .L202: -1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2702 .loc 1 1558 0 - 2703 0080 0220 movs r0, #2 - 2704 0082 FBE7 b .L198 - 2705 .L203: -1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2706 .loc 1 1562 0 - 2707 0084 0220 movs r0, #2 - 2708 0086 F9E7 b .L198 - 2709 .L205: - 2710 .align 2 - 2711 .L204: - 2712 0088 0000FFFF .word -65536 - 2713 008c 00000000 .word I2C_Master_ISR_IT - 2714 0090 00200080 .word -2147475456 - 2715 .cfi_endproc - 2716 .LFE48: - 2718 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits - 2719 .align 1 - 2720 .global HAL_I2C_Master_Receive_IT - 2721 .syntax unified - 2722 .code 16 - 2723 .thumb_func - 2724 .fpu softvfp - 2726 HAL_I2C_Master_Receive_IT: - 2727 .LFB49: -1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 2728 .loc 1 1620 0 - 2729 .cfi_startproc - 2730 @ args = 0, pretend = 0, frame = 0 - 2731 @ frame_needed = 0, uses_anonymous_args = 0 - 2732 .LVL215: - 2733 0000 30B5 push {r4, r5, lr} - 2734 .LCFI23: - 2735 .cfi_def_cfa_offset 12 - 2736 .cfi_offset 4, -12 - 2737 .cfi_offset 5, -8 - 2738 .cfi_offset 14, -4 - 2739 0002 83B0 sub sp, sp, #12 - 2740 .LCFI24: - 2741 .cfi_def_cfa_offset 24 - 2742 0004 0400 movs r4, r0 -1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 169 - - - 2743 .loc 1 1623 0 - 2744 0006 4120 movs r0, #65 - 2745 .LVL216: - 2746 0008 205C ldrb r0, [r4, r0] - 2747 000a 2028 cmp r0, #32 - 2748 000c 35D1 bne .L210 -1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2749 .loc 1 1625 0 - 2750 000e 2068 ldr r0, [r4] - 2751 0010 8069 ldr r0, [r0, #24] - 2752 0012 0004 lsls r0, r0, #16 - 2753 0014 34D4 bmi .L211 -1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2754 .loc 1 1631 0 - 2755 0016 4020 movs r0, #64 - 2756 0018 205C ldrb r0, [r4, r0] - 2757 001a 0128 cmp r0, #1 - 2758 001c 32D0 beq .L212 -1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2759 .loc 1 1631 0 is_stmt 0 discriminator 2 - 2760 001e 4020 movs r0, #64 - 2761 0020 0125 movs r5, #1 - 2762 0022 2554 strb r5, [r4, r0] -1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 2763 .loc 1 1633 0 is_stmt 1 discriminator 2 - 2764 0024 0130 adds r0, r0, #1 - 2765 0026 2135 adds r5, r5, #33 - 2766 0028 2554 strb r5, [r4, r0] -1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 2767 .loc 1 1634 0 discriminator 2 - 2768 002a 0130 adds r0, r0, #1 - 2769 002c 123D subs r5, r5, #18 - 2770 002e 2554 strb r5, [r4, r0] -1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2771 .loc 1 1635 0 discriminator 2 - 2772 0030 0020 movs r0, #0 - 2773 0032 6064 str r0, [r4, #68] -1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 2774 .loc 1 1638 0 discriminator 2 - 2775 0034 6262 str r2, [r4, #36] -1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 2776 .loc 1 1639 0 discriminator 2 - 2777 0036 6385 strh r3, [r4, #42] -1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; - 2778 .loc 1 1640 0 discriminator 2 - 2779 0038 134B ldr r3, .L213 - 2780 .LVL217: - 2781 003a E362 str r3, [r4, #44] - 2782 .LVL218: -1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2783 .loc 1 1641 0 discriminator 2 - 2784 003c 134B ldr r3, .L213+4 - 2785 003e 6363 str r3, [r4, #52] -1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2786 .loc 1 1643 0 discriminator 2 - 2787 0040 638D ldrh r3, [r4, #42] - 2788 0042 9BB2 uxth r3, r3 - ARM GAS /tmp/ccFk2Nxo.s page 170 - - - 2789 0044 FF2B cmp r3, #255 - 2790 0046 13D9 bls .L208 -1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 2791 .loc 1 1645 0 - 2792 0048 FF23 movs r3, #255 - 2793 004a 2385 strh r3, [r4, #40] - 2794 .LVL219: -1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2795 .loc 1 1646 0 - 2796 004c 8023 movs r3, #128 - 2797 004e 5B04 lsls r3, r3, #17 - 2798 .LVL220: - 2799 .L209: -1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2800 .loc 1 1656 0 - 2801 0050 228D ldrh r2, [r4, #40] - 2802 .LVL221: - 2803 0052 D2B2 uxtb r2, r2 - 2804 0054 0E48 ldr r0, .L213+8 - 2805 0056 0090 str r0, [sp] - 2806 .LVL222: - 2807 0058 2000 movs r0, r4 - 2808 005a FFF7FEFF bl I2C_TransferConfig - 2809 .LVL223: -1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2810 .loc 1 1659 0 - 2811 005e 4023 movs r3, #64 - 2812 0060 0022 movs r2, #0 - 2813 0062 E254 strb r2, [r4, r3] -1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2814 .loc 1 1668 0 - 2815 0064 0221 movs r1, #2 - 2816 0066 2000 movs r0, r4 - 2817 0068 FFF7FEFF bl I2C_Enable_IRQ - 2818 .LVL224: -1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2819 .loc 1 1670 0 - 2820 006c 0020 movs r0, #0 - 2821 006e 05E0 b .L207 - 2822 .LVL225: - 2823 .L208: -1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - 2824 .loc 1 1650 0 - 2825 0070 638D ldrh r3, [r4, #42] - 2826 0072 2385 strh r3, [r4, #40] - 2827 .LVL226: -1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2828 .loc 1 1651 0 - 2829 0074 8023 movs r3, #128 - 2830 0076 9B04 lsls r3, r3, #18 - 2831 0078 EAE7 b .L209 - 2832 .LVL227: - 2833 .L210: -1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2834 .loc 1 1674 0 - 2835 007a 0220 movs r0, #2 - 2836 .LVL228: - ARM GAS /tmp/ccFk2Nxo.s page 171 - - - 2837 .L207: -1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2838 .loc 1 1676 0 - 2839 007c 03B0 add sp, sp, #12 - 2840 @ sp needed - 2841 .LVL229: - 2842 007e 30BD pop {r4, r5, pc} - 2843 .LVL230: - 2844 .L211: -1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2845 .loc 1 1627 0 - 2846 0080 0220 movs r0, #2 - 2847 0082 FBE7 b .L207 - 2848 .L212: -1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2849 .loc 1 1631 0 - 2850 0084 0220 movs r0, #2 - 2851 0086 F9E7 b .L207 - 2852 .L214: - 2853 .align 2 - 2854 .L213: - 2855 0088 0000FFFF .word -65536 - 2856 008c 00000000 .word I2C_Master_ISR_IT - 2857 0090 00240080 .word -2147474432 - 2858 .cfi_endproc - 2859 .LFE49: - 2861 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits - 2862 .align 1 - 2863 .global HAL_I2C_Slave_Transmit_IT - 2864 .syntax unified - 2865 .code 16 - 2866 .thumb_func - 2867 .fpu softvfp - 2869 HAL_I2C_Slave_Transmit_IT: - 2870 .LFB50: -1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) - 2871 .loc 1 1687 0 - 2872 .cfi_startproc - 2873 @ args = 0, pretend = 0, frame = 0 - 2874 @ frame_needed = 0, uses_anonymous_args = 0 - 2875 .LVL231: - 2876 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 2877 .LCFI25: - 2878 .cfi_def_cfa_offset 24 - 2879 .cfi_offset 3, -24 - 2880 .cfi_offset 4, -20 - 2881 .cfi_offset 5, -16 - 2882 .cfi_offset 6, -12 - 2883 .cfi_offset 7, -8 - 2884 .cfi_offset 14, -4 -1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2885 .loc 1 1688 0 - 2886 0002 4123 movs r3, #65 - 2887 0004 C35C ldrb r3, [r0, r3] - 2888 0006 202B cmp r3, #32 - 2889 0008 21D1 bne .L217 -1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 172 - - - 2890 .loc 1 1691 0 - 2891 000a 2033 adds r3, r3, #32 - 2892 000c C35C ldrb r3, [r0, r3] - 2893 000e 012B cmp r3, #1 - 2894 0010 1FD0 beq .L218 -1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2895 .loc 1 1691 0 is_stmt 0 discriminator 2 - 2896 0012 4024 movs r4, #64 - 2897 0014 0123 movs r3, #1 - 2898 0016 0355 strb r3, [r0, r4] -1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 2899 .loc 1 1693 0 is_stmt 1 discriminator 2 - 2900 0018 4033 adds r3, r3, #64 - 2901 001a 2125 movs r5, #33 - 2902 001c C554 strb r5, [r0, r3] -1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 2903 .loc 1 1694 0 discriminator 2 - 2904 001e 0133 adds r3, r3, #1 - 2905 0020 013D subs r5, r5, #1 - 2906 0022 C554 strb r5, [r0, r3] -1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2907 .loc 1 1695 0 discriminator 2 - 2908 0024 0025 movs r5, #0 - 2909 0026 4564 str r5, [r0, #68] -1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2910 .loc 1 1698 0 discriminator 2 - 2911 0028 0668 ldr r6, [r0] - 2912 002a 7368 ldr r3, [r6, #4] - 2913 002c 0A4F ldr r7, .L219 - 2914 002e 3B40 ands r3, r7 - 2915 0030 7360 str r3, [r6, #4] -1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 2916 .loc 1 1701 0 discriminator 2 - 2917 0032 4162 str r1, [r0, #36] -1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 2918 .loc 1 1702 0 discriminator 2 - 2919 0034 4285 strh r2, [r0, #42] -1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 2920 .loc 1 1703 0 discriminator 2 - 2921 0036 438D ldrh r3, [r0, #42] - 2922 0038 0385 strh r3, [r0, #40] -1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; - 2923 .loc 1 1704 0 discriminator 2 - 2924 003a 084B ldr r3, .L219+4 - 2925 003c C362 str r3, [r0, #44] -1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2926 .loc 1 1705 0 discriminator 2 - 2927 003e 084B ldr r3, .L219+8 - 2928 0040 4363 str r3, [r0, #52] -1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2929 .loc 1 1708 0 discriminator 2 - 2930 0042 0555 strb r5, [r0, r4] -1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2931 .loc 1 1717 0 discriminator 2 - 2932 0044 0521 movs r1, #5 - 2933 .LVL232: - 2934 0046 FFF7FEFF bl I2C_Enable_IRQ - ARM GAS /tmp/ccFk2Nxo.s page 173 - - - 2935 .LVL233: -1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2936 .loc 1 1719 0 discriminator 2 - 2937 004a 0020 movs r0, #0 - 2938 004c 00E0 b .L216 - 2939 .LVL234: - 2940 .L217: -1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 2941 .loc 1 1723 0 - 2942 004e 0220 movs r0, #2 - 2943 .LVL235: - 2944 .L216: -1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2945 .loc 1 1725 0 - 2946 @ sp needed - 2947 0050 F8BD pop {r3, r4, r5, r6, r7, pc} - 2948 .LVL236: - 2949 .L218: -1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2950 .loc 1 1691 0 - 2951 0052 0220 movs r0, #2 - 2952 .LVL237: - 2953 0054 FCE7 b .L216 - 2954 .L220: - 2955 0056 C046 .align 2 - 2956 .L219: - 2957 0058 FF7FFFFF .word -32769 - 2958 005c 0000FFFF .word -65536 - 2959 0060 00000000 .word I2C_Slave_ISR_IT - 2960 .cfi_endproc - 2961 .LFE50: - 2963 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits - 2964 .align 1 - 2965 .global HAL_I2C_Slave_Receive_IT - 2966 .syntax unified - 2967 .code 16 - 2968 .thumb_func - 2969 .fpu softvfp - 2971 HAL_I2C_Slave_Receive_IT: - 2972 .LFB51: -1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) - 2973 .loc 1 1736 0 - 2974 .cfi_startproc - 2975 @ args = 0, pretend = 0, frame = 0 - 2976 @ frame_needed = 0, uses_anonymous_args = 0 - 2977 .LVL238: - 2978 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 2979 .LCFI26: - 2980 .cfi_def_cfa_offset 24 - 2981 .cfi_offset 3, -24 - 2982 .cfi_offset 4, -20 - 2983 .cfi_offset 5, -16 - 2984 .cfi_offset 6, -12 - 2985 .cfi_offset 7, -8 - 2986 .cfi_offset 14, -4 -1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 2987 .loc 1 1737 0 - ARM GAS /tmp/ccFk2Nxo.s page 174 - - - 2988 0002 4123 movs r3, #65 - 2989 0004 C35C ldrb r3, [r0, r3] - 2990 0006 202B cmp r3, #32 - 2991 0008 21D1 bne .L223 -1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2992 .loc 1 1740 0 - 2993 000a 2033 adds r3, r3, #32 - 2994 000c C35C ldrb r3, [r0, r3] - 2995 000e 012B cmp r3, #1 - 2996 0010 1FD0 beq .L224 -1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 2997 .loc 1 1740 0 is_stmt 0 discriminator 2 - 2998 0012 4024 movs r4, #64 - 2999 0014 0123 movs r3, #1 - 3000 0016 0355 strb r3, [r0, r4] -1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 3001 .loc 1 1742 0 is_stmt 1 discriminator 2 - 3002 0018 4033 adds r3, r3, #64 - 3003 001a 2225 movs r5, #34 - 3004 001c C554 strb r5, [r0, r3] -1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 3005 .loc 1 1743 0 discriminator 2 - 3006 001e 0133 adds r3, r3, #1 - 3007 0020 023D subs r5, r5, #2 - 3008 0022 C554 strb r5, [r0, r3] -1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3009 .loc 1 1744 0 discriminator 2 - 3010 0024 0025 movs r5, #0 - 3011 0026 4564 str r5, [r0, #68] -1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3012 .loc 1 1747 0 discriminator 2 - 3013 0028 0668 ldr r6, [r0] - 3014 002a 7368 ldr r3, [r6, #4] - 3015 002c 0A4F ldr r7, .L225 - 3016 002e 3B40 ands r3, r7 - 3017 0030 7360 str r3, [r6, #4] -1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 3018 .loc 1 1750 0 discriminator 2 - 3019 0032 4162 str r1, [r0, #36] -1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 3020 .loc 1 1751 0 discriminator 2 - 3021 0034 4285 strh r2, [r0, #42] -1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 3022 .loc 1 1752 0 discriminator 2 - 3023 0036 438D ldrh r3, [r0, #42] - 3024 0038 0385 strh r3, [r0, #40] -1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; - 3025 .loc 1 1753 0 discriminator 2 - 3026 003a 084B ldr r3, .L225+4 - 3027 003c C362 str r3, [r0, #44] -1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3028 .loc 1 1754 0 discriminator 2 - 3029 003e 084B ldr r3, .L225+8 - 3030 0040 4363 str r3, [r0, #52] -1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3031 .loc 1 1757 0 discriminator 2 - 3032 0042 0555 strb r5, [r0, r4] - ARM GAS /tmp/ccFk2Nxo.s page 175 - - -1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3033 .loc 1 1766 0 discriminator 2 - 3034 0044 0621 movs r1, #6 - 3035 .LVL239: - 3036 0046 FFF7FEFF bl I2C_Enable_IRQ - 3037 .LVL240: -1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3038 .loc 1 1768 0 discriminator 2 - 3039 004a 0020 movs r0, #0 - 3040 004c 00E0 b .L222 - 3041 .LVL241: - 3042 .L223: -1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3043 .loc 1 1772 0 - 3044 004e 0220 movs r0, #2 - 3045 .LVL242: - 3046 .L222: -1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3047 .loc 1 1774 0 - 3048 @ sp needed - 3049 0050 F8BD pop {r3, r4, r5, r6, r7, pc} - 3050 .LVL243: - 3051 .L224: -1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3052 .loc 1 1740 0 - 3053 0052 0220 movs r0, #2 - 3054 .LVL244: - 3055 0054 FCE7 b .L222 - 3056 .L226: - 3057 0056 C046 .align 2 - 3058 .L225: - 3059 0058 FF7FFFFF .word -32769 - 3060 005c 0000FFFF .word -65536 - 3061 0060 00000000 .word I2C_Slave_ISR_IT - 3062 .cfi_endproc - 3063 .LFE51: - 3065 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits - 3066 .align 1 - 3067 .global HAL_I2C_Master_Transmit_DMA - 3068 .syntax unified - 3069 .code 16 - 3070 .thumb_func - 3071 .fpu softvfp - 3073 HAL_I2C_Master_Transmit_DMA: - 3074 .LFB52: -1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 3075 .loc 1 1787 0 - 3076 .cfi_startproc - 3077 @ args = 0, pretend = 0, frame = 0 - 3078 @ frame_needed = 0, uses_anonymous_args = 0 - 3079 .LVL245: - 3080 0000 F0B5 push {r4, r5, r6, r7, lr} - 3081 .LCFI27: - 3082 .cfi_def_cfa_offset 20 - 3083 .cfi_offset 4, -20 - 3084 .cfi_offset 5, -16 - 3085 .cfi_offset 6, -12 - ARM GAS /tmp/ccFk2Nxo.s page 176 - - - 3086 .cfi_offset 7, -8 - 3087 .cfi_offset 14, -4 - 3088 0002 83B0 sub sp, sp, #12 - 3089 .LCFI28: - 3090 .cfi_def_cfa_offset 32 - 3091 0004 0400 movs r4, r0 - 3092 0006 0E00 movs r6, r1 - 3093 0008 1100 movs r1, r2 - 3094 .LVL246: -1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3095 .loc 1 1791 0 - 3096 000a 4122 movs r2, #65 - 3097 .LVL247: - 3098 000c 825C ldrb r2, [r0, r2] - 3099 000e 202A cmp r2, #32 - 3100 0010 00D0 beq .LCB3093 - 3101 0012 8BE0 b .L235 @long jump - 3102 .LCB3093: -1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3103 .loc 1 1793 0 - 3104 0014 0268 ldr r2, [r0] - 3105 0016 9269 ldr r2, [r2, #24] - 3106 0018 1204 lsls r2, r2, #16 - 3107 001a 00D5 bpl .LCB3099 - 3108 001c 8AE0 b .L236 @long jump - 3109 .LCB3099: -1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3110 .loc 1 1799 0 - 3111 001e 4022 movs r2, #64 - 3112 0020 825C ldrb r2, [r0, r2] - 3113 0022 012A cmp r2, #1 - 3114 0024 00D1 bne .LCB3103 - 3115 0026 87E0 b .L237 @long jump - 3116 .LCB3103: -1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3117 .loc 1 1799 0 is_stmt 0 discriminator 2 - 3118 0028 4022 movs r2, #64 - 3119 002a 0120 movs r0, #1 - 3120 .LVL248: - 3121 002c A054 strb r0, [r4, r2] -1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 3122 .loc 1 1801 0 is_stmt 1 discriminator 2 - 3123 002e 0132 adds r2, r2, #1 - 3124 0030 2030 adds r0, r0, #32 - 3125 0032 A054 strb r0, [r4, r2] -1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 3126 .loc 1 1802 0 discriminator 2 - 3127 0034 0132 adds r2, r2, #1 - 3128 0036 1138 subs r0, r0, #17 - 3129 0038 A054 strb r0, [r4, r2] -1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3130 .loc 1 1803 0 discriminator 2 - 3131 003a 0022 movs r2, #0 - 3132 003c 6264 str r2, [r4, #68] -1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 3133 .loc 1 1806 0 discriminator 2 - 3134 003e 6162 str r1, [r4, #36] - ARM GAS /tmp/ccFk2Nxo.s page 177 - - -1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 3135 .loc 1 1807 0 discriminator 2 - 3136 0040 6385 strh r3, [r4, #42] -1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; - 3137 .loc 1 1808 0 discriminator 2 - 3138 0042 3E4B ldr r3, .L240 - 3139 .LVL249: - 3140 0044 E362 str r3, [r4, #44] - 3141 .LVL250: -1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3142 .loc 1 1809 0 discriminator 2 - 3143 0046 3E4B ldr r3, .L240+4 - 3144 0048 6363 str r3, [r4, #52] -1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3145 .loc 1 1811 0 discriminator 2 - 3146 004a 638D ldrh r3, [r4, #42] - 3147 004c 9BB2 uxth r3, r3 - 3148 004e FF2B cmp r3, #255 - 3149 0050 29D9 bls .L229 -1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 3150 .loc 1 1813 0 - 3151 0052 FF23 movs r3, #255 - 3152 0054 2385 strh r3, [r4, #40] - 3153 .LVL251: -1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3154 .loc 1 1814 0 - 3155 0056 8027 movs r7, #128 - 3156 0058 7F04 lsls r7, r7, #17 - 3157 .LVL252: - 3158 .L230: -1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3159 .loc 1 1822 0 - 3160 005a 228D ldrh r2, [r4, #40] - 3161 005c 002A cmp r2, #0 - 3162 005e 51D0 beq .L231 -1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3163 .loc 1 1824 0 - 3164 0060 A36B ldr r3, [r4, #56] - 3165 0062 002B cmp r3, #0 - 3166 0064 24D0 beq .L232 -1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3167 .loc 1 1827 0 - 3168 0066 374A ldr r2, .L240+8 - 3169 0068 9A62 str r2, [r3, #40] -1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3170 .loc 1 1830 0 - 3171 006a A36B ldr r3, [r4, #56] - 3172 006c 364A ldr r2, .L240+12 - 3173 006e 1A63 str r2, [r3, #48] -1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; - 3174 .loc 1 1833 0 - 3175 0070 A26B ldr r2, [r4, #56] - 3176 0072 0023 movs r3, #0 - 3177 0074 D362 str r3, [r2, #44] -1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3178 .loc 1 1834 0 - 3179 0076 A26B ldr r2, [r4, #56] - ARM GAS /tmp/ccFk2Nxo.s page 178 - - - 3180 0078 5363 str r3, [r2, #52] -1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3181 .loc 1 1837 0 - 3182 007a 2268 ldr r2, [r4] - 3183 007c 2832 adds r2, r2, #40 - 3184 007e 238D ldrh r3, [r4, #40] - 3185 0080 A06B ldr r0, [r4, #56] - 3186 0082 FFF7FEFF bl HAL_DMA_Start_IT - 3187 .LVL253: - 3188 0086 051E subs r5, r0, #0 - 3189 .LVL254: -1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3190 .loc 1 1854 0 - 3191 0088 20D0 beq .L239 -1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3192 .loc 1 1878 0 - 3193 008a 4123 movs r3, #65 - 3194 008c 2022 movs r2, #32 - 3195 008e E254 strb r2, [r4, r3] -1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3196 .loc 1 1879 0 - 3197 0090 0022 movs r2, #0 - 3198 0092 0133 adds r3, r3, #1 - 3199 0094 E254 strb r2, [r4, r3] -1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3200 .loc 1 1882 0 - 3201 0096 636C ldr r3, [r4, #68] - 3202 0098 1021 movs r1, #16 - 3203 009a 0B43 orrs r3, r1 - 3204 009c 6364 str r3, [r4, #68] -1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3205 .loc 1 1885 0 - 3206 009e 4023 movs r3, #64 - 3207 00a0 E254 strb r2, [r4, r3] -1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3208 .loc 1 1887 0 - 3209 00a2 0125 movs r5, #1 - 3210 00a4 43E0 b .L228 - 3211 .LVL255: - 3212 .L229: -1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - 3213 .loc 1 1818 0 - 3214 00a6 638D ldrh r3, [r4, #42] - 3215 00a8 2385 strh r3, [r4, #40] - 3216 .LVL256: -1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3217 .loc 1 1819 0 - 3218 00aa 8027 movs r7, #128 - 3219 00ac BF04 lsls r7, r7, #18 - 3220 00ae D4E7 b .L230 - 3221 .LVL257: - 3222 .L232: -1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3223 .loc 1 1842 0 - 3224 00b0 4123 movs r3, #65 - 3225 00b2 2022 movs r2, #32 - 3226 00b4 E254 strb r2, [r4, r3] - ARM GAS /tmp/ccFk2Nxo.s page 179 - - -1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3227 .loc 1 1843 0 - 3228 00b6 0022 movs r2, #0 - 3229 00b8 0133 adds r3, r3, #1 - 3230 00ba E254 strb r2, [r4, r3] -1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3231 .loc 1 1846 0 - 3232 00bc 636C ldr r3, [r4, #68] - 3233 00be 8021 movs r1, #128 - 3234 .LVL258: - 3235 00c0 0B43 orrs r3, r1 - 3236 00c2 6364 str r3, [r4, #68] -1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3237 .loc 1 1849 0 - 3238 00c4 4023 movs r3, #64 - 3239 00c6 E254 strb r2, [r4, r3] -1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3240 .loc 1 1851 0 - 3241 00c8 0125 movs r5, #1 - 3242 00ca 30E0 b .L228 - 3243 .LVL259: - 3244 .L239: -1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3245 .loc 1 1858 0 - 3246 00cc 228D ldrh r2, [r4, #40] - 3247 00ce D2B2 uxtb r2, r2 - 3248 00d0 1E4B ldr r3, .L240+16 - 3249 00d2 0093 str r3, [sp] - 3250 00d4 3B00 movs r3, r7 - 3251 00d6 3100 movs r1, r6 - 3252 00d8 2000 movs r0, r4 - 3253 .LVL260: - 3254 00da FFF7FEFF bl I2C_TransferConfig - 3255 .LVL261: -1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3256 .loc 1 1861 0 - 3257 00de 638D ldrh r3, [r4, #42] - 3258 00e0 228D ldrh r2, [r4, #40] - 3259 00e2 9B1A subs r3, r3, r2 - 3260 00e4 9BB2 uxth r3, r3 - 3261 00e6 6385 strh r3, [r4, #42] -1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3262 .loc 1 1864 0 - 3263 00e8 4023 movs r3, #64 - 3264 00ea 0022 movs r2, #0 - 3265 00ec E254 strb r2, [r4, r3] -1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3266 .loc 1 1870 0 - 3267 00ee 1121 movs r1, #17 - 3268 00f0 2000 movs r0, r4 - 3269 00f2 FFF7FEFF bl I2C_Enable_IRQ - 3270 .LVL262: -1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3271 .loc 1 1873 0 - 3272 00f6 2268 ldr r2, [r4] - 3273 00f8 1168 ldr r1, [r2] - 3274 00fa 8023 movs r3, #128 - ARM GAS /tmp/ccFk2Nxo.s page 180 - - - 3275 00fc DB01 lsls r3, r3, #7 - 3276 00fe 0B43 orrs r3, r1 - 3277 0100 1360 str r3, [r2] - 3278 0102 14E0 b .L228 - 3279 .LVL263: - 3280 .L231: -1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3281 .loc 1 1893 0 - 3282 0104 124B ldr r3, .L240+20 - 3283 0106 6363 str r3, [r4, #52] -1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3284 .loc 1 1897 0 - 3285 0108 8023 movs r3, #128 - 3286 010a D2B2 uxtb r2, r2 - 3287 010c 0F49 ldr r1, .L240+16 - 3288 .LVL264: - 3289 010e 0091 str r1, [sp] - 3290 .LVL265: - 3291 0110 9B04 lsls r3, r3, #18 - 3292 0112 3100 movs r1, r6 - 3293 0114 2000 movs r0, r4 - 3294 0116 FFF7FEFF bl I2C_TransferConfig - 3295 .LVL266: -1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3296 .loc 1 1900 0 - 3297 011a 4023 movs r3, #64 - 3298 011c 0022 movs r2, #0 - 3299 011e E254 strb r2, [r4, r3] -1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3300 .loc 1 1908 0 - 3301 0120 0121 movs r1, #1 - 3302 0122 2000 movs r0, r4 - 3303 0124 FFF7FEFF bl I2C_Enable_IRQ - 3304 .LVL267: -1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3305 .loc 1 1911 0 - 3306 0128 0025 movs r5, #0 - 3307 012a 00E0 b .L228 - 3308 .LVL268: - 3309 .L235: -1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3310 .loc 1 1915 0 - 3311 012c 0225 movs r5, #2 - 3312 .LVL269: - 3313 .L228: -1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3314 .loc 1 1917 0 - 3315 012e 2800 movs r0, r5 - 3316 0130 03B0 add sp, sp, #12 - 3317 @ sp needed - 3318 .LVL270: - 3319 0132 F0BD pop {r4, r5, r6, r7, pc} - 3320 .LVL271: - 3321 .L236: -1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3322 .loc 1 1795 0 - 3323 0134 0225 movs r5, #2 - ARM GAS /tmp/ccFk2Nxo.s page 181 - - - 3324 0136 FAE7 b .L228 - 3325 .L237: -1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3326 .loc 1 1799 0 - 3327 0138 0225 movs r5, #2 - 3328 013a F8E7 b .L228 - 3329 .L241: - 3330 .align 2 - 3331 .L240: - 3332 013c 0000FFFF .word -65536 - 3333 0140 00000000 .word I2C_Master_ISR_DMA - 3334 0144 00000000 .word I2C_DMAMasterTransmitCplt - 3335 0148 00000000 .word I2C_DMAError - 3336 014c 00200080 .word -2147475456 - 3337 0150 00000000 .word I2C_Master_ISR_IT - 3338 .cfi_endproc - 3339 .LFE52: - 3341 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits - 3342 .align 1 - 3343 .global HAL_I2C_Master_Receive_DMA - 3344 .syntax unified - 3345 .code 16 - 3346 .thumb_func - 3347 .fpu softvfp - 3349 HAL_I2C_Master_Receive_DMA: - 3350 .LFB53: -1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 3351 .loc 1 1930 0 - 3352 .cfi_startproc - 3353 @ args = 0, pretend = 0, frame = 0 - 3354 @ frame_needed = 0, uses_anonymous_args = 0 - 3355 .LVL272: - 3356 0000 F0B5 push {r4, r5, r6, r7, lr} - 3357 .LCFI29: - 3358 .cfi_def_cfa_offset 20 - 3359 .cfi_offset 4, -20 - 3360 .cfi_offset 5, -16 - 3361 .cfi_offset 6, -12 - 3362 .cfi_offset 7, -8 - 3363 .cfi_offset 14, -4 - 3364 0002 83B0 sub sp, sp, #12 - 3365 .LCFI30: - 3366 .cfi_def_cfa_offset 32 - 3367 0004 0400 movs r4, r0 - 3368 0006 0E00 movs r6, r1 -1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3369 .loc 1 1934 0 - 3370 0008 4121 movs r1, #65 - 3371 .LVL273: - 3372 000a 415C ldrb r1, [r0, r1] - 3373 000c 2029 cmp r1, #32 - 3374 000e 00D0 beq .LCB3355 - 3375 0010 8BE0 b .L250 @long jump - 3376 .LCB3355: -1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3377 .loc 1 1936 0 - 3378 0012 0168 ldr r1, [r0] - ARM GAS /tmp/ccFk2Nxo.s page 182 - - - 3379 0014 8969 ldr r1, [r1, #24] - 3380 0016 0904 lsls r1, r1, #16 - 3381 0018 00D5 bpl .LCB3361 - 3382 001a 8AE0 b .L251 @long jump - 3383 .LCB3361: -1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3384 .loc 1 1942 0 - 3385 001c 4021 movs r1, #64 - 3386 001e 415C ldrb r1, [r0, r1] - 3387 0020 0129 cmp r1, #1 - 3388 0022 00D1 bne .LCB3365 - 3389 0024 87E0 b .L252 @long jump - 3390 .LCB3365: -1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3391 .loc 1 1942 0 is_stmt 0 discriminator 2 - 3392 0026 4021 movs r1, #64 - 3393 0028 0120 movs r0, #1 - 3394 .LVL274: - 3395 002a 6054 strb r0, [r4, r1] -1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 3396 .loc 1 1944 0 is_stmt 1 discriminator 2 - 3397 002c 0131 adds r1, r1, #1 - 3398 002e 2130 adds r0, r0, #33 - 3399 0030 6054 strb r0, [r4, r1] -1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 3400 .loc 1 1945 0 discriminator 2 - 3401 0032 0131 adds r1, r1, #1 - 3402 0034 1238 subs r0, r0, #18 - 3403 0036 6054 strb r0, [r4, r1] -1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3404 .loc 1 1946 0 discriminator 2 - 3405 0038 0021 movs r1, #0 - 3406 003a 6164 str r1, [r4, #68] -1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 3407 .loc 1 1949 0 discriminator 2 - 3408 003c 6262 str r2, [r4, #36] -1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 3409 .loc 1 1950 0 discriminator 2 - 3410 003e 6385 strh r3, [r4, #42] -1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; - 3411 .loc 1 1951 0 discriminator 2 - 3412 0040 3E4B ldr r3, .L255 - 3413 .LVL275: - 3414 0042 E362 str r3, [r4, #44] - 3415 .LVL276: -1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3416 .loc 1 1952 0 discriminator 2 - 3417 0044 3E4B ldr r3, .L255+4 - 3418 0046 6363 str r3, [r4, #52] -1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3419 .loc 1 1954 0 discriminator 2 - 3420 0048 638D ldrh r3, [r4, #42] - 3421 004a 9BB2 uxth r3, r3 - 3422 004c FF2B cmp r3, #255 - 3423 004e 29D9 bls .L244 -1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 3424 .loc 1 1956 0 - ARM GAS /tmp/ccFk2Nxo.s page 183 - - - 3425 0050 FF23 movs r3, #255 - 3426 0052 2385 strh r3, [r4, #40] - 3427 .LVL277: -1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3428 .loc 1 1957 0 - 3429 0054 8027 movs r7, #128 - 3430 0056 7F04 lsls r7, r7, #17 - 3431 .LVL278: - 3432 .L245: -1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3433 .loc 1 1965 0 - 3434 0058 218D ldrh r1, [r4, #40] - 3435 005a 0029 cmp r1, #0 - 3436 005c 51D0 beq .L246 -1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3437 .loc 1 1967 0 - 3438 005e E36B ldr r3, [r4, #60] - 3439 0060 002B cmp r3, #0 - 3440 0062 24D0 beq .L247 -1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3441 .loc 1 1970 0 - 3442 0064 3749 ldr r1, .L255+8 - 3443 0066 9962 str r1, [r3, #40] -1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3444 .loc 1 1973 0 - 3445 0068 E36B ldr r3, [r4, #60] - 3446 006a 3749 ldr r1, .L255+12 - 3447 006c 1963 str r1, [r3, #48] -1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; - 3448 .loc 1 1976 0 - 3449 006e E16B ldr r1, [r4, #60] - 3450 0070 0023 movs r3, #0 - 3451 0072 CB62 str r3, [r1, #44] -1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3452 .loc 1 1977 0 - 3453 0074 E16B ldr r1, [r4, #60] - 3454 0076 4B63 str r3, [r1, #52] -1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3455 .loc 1 1980 0 - 3456 0078 2168 ldr r1, [r4] - 3457 007a 2431 adds r1, r1, #36 - 3458 007c 238D ldrh r3, [r4, #40] - 3459 007e E06B ldr r0, [r4, #60] - 3460 0080 FFF7FEFF bl HAL_DMA_Start_IT - 3461 .LVL279: - 3462 0084 051E subs r5, r0, #0 - 3463 .LVL280: -1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3464 .loc 1 1997 0 - 3465 0086 20D0 beq .L254 -2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3466 .loc 1 2021 0 - 3467 0088 4123 movs r3, #65 - 3468 008a 2022 movs r2, #32 - 3469 008c E254 strb r2, [r4, r3] -2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3470 .loc 1 2022 0 - ARM GAS /tmp/ccFk2Nxo.s page 184 - - - 3471 008e 0022 movs r2, #0 - 3472 0090 0133 adds r3, r3, #1 - 3473 0092 E254 strb r2, [r4, r3] -2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3474 .loc 1 2025 0 - 3475 0094 636C ldr r3, [r4, #68] - 3476 0096 1021 movs r1, #16 - 3477 0098 0B43 orrs r3, r1 - 3478 009a 6364 str r3, [r4, #68] -2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3479 .loc 1 2028 0 - 3480 009c 4023 movs r3, #64 - 3481 009e E254 strb r2, [r4, r3] -2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3482 .loc 1 2030 0 - 3483 00a0 0125 movs r5, #1 - 3484 00a2 43E0 b .L243 - 3485 .LVL281: - 3486 .L244: -1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - 3487 .loc 1 1961 0 - 3488 00a4 638D ldrh r3, [r4, #42] - 3489 00a6 2385 strh r3, [r4, #40] - 3490 .LVL282: -1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3491 .loc 1 1962 0 - 3492 00a8 8027 movs r7, #128 - 3493 00aa BF04 lsls r7, r7, #18 - 3494 00ac D4E7 b .L245 - 3495 .LVL283: - 3496 .L247: -1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3497 .loc 1 1985 0 - 3498 00ae 4123 movs r3, #65 - 3499 00b0 2022 movs r2, #32 - 3500 .LVL284: - 3501 00b2 E254 strb r2, [r4, r3] - 3502 .LVL285: -1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3503 .loc 1 1986 0 - 3504 00b4 0022 movs r2, #0 - 3505 00b6 0133 adds r3, r3, #1 - 3506 00b8 E254 strb r2, [r4, r3] -1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3507 .loc 1 1989 0 - 3508 00ba 636C ldr r3, [r4, #68] - 3509 00bc 8021 movs r1, #128 - 3510 00be 0B43 orrs r3, r1 - 3511 00c0 6364 str r3, [r4, #68] -1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3512 .loc 1 1992 0 - 3513 00c2 4023 movs r3, #64 - 3514 00c4 E254 strb r2, [r4, r3] -1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3515 .loc 1 1994 0 - 3516 00c6 0125 movs r5, #1 - 3517 00c8 30E0 b .L243 - ARM GAS /tmp/ccFk2Nxo.s page 185 - - - 3518 .LVL286: - 3519 .L254: -2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3520 .loc 1 2001 0 - 3521 00ca 228D ldrh r2, [r4, #40] - 3522 00cc D2B2 uxtb r2, r2 - 3523 00ce 1F4B ldr r3, .L255+16 - 3524 00d0 0093 str r3, [sp] - 3525 00d2 3B00 movs r3, r7 - 3526 00d4 3100 movs r1, r6 - 3527 00d6 2000 movs r0, r4 - 3528 .LVL287: - 3529 00d8 FFF7FEFF bl I2C_TransferConfig - 3530 .LVL288: -2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3531 .loc 1 2004 0 - 3532 00dc 638D ldrh r3, [r4, #42] - 3533 00de 228D ldrh r2, [r4, #40] - 3534 00e0 9B1A subs r3, r3, r2 - 3535 00e2 9BB2 uxth r3, r3 - 3536 00e4 6385 strh r3, [r4, #42] -2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3537 .loc 1 2007 0 - 3538 00e6 4023 movs r3, #64 - 3539 00e8 0022 movs r2, #0 - 3540 00ea E254 strb r2, [r4, r3] -2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3541 .loc 1 2013 0 - 3542 00ec 1121 movs r1, #17 - 3543 00ee 2000 movs r0, r4 - 3544 00f0 FFF7FEFF bl I2C_Enable_IRQ - 3545 .LVL289: -2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3546 .loc 1 2016 0 - 3547 00f4 2268 ldr r2, [r4] - 3548 00f6 1168 ldr r1, [r2] - 3549 00f8 8023 movs r3, #128 - 3550 00fa 1B02 lsls r3, r3, #8 - 3551 00fc 0B43 orrs r3, r1 - 3552 00fe 1360 str r3, [r2] - 3553 0100 14E0 b .L243 - 3554 .LVL290: - 3555 .L246: -2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3556 .loc 1 2036 0 - 3557 0102 134B ldr r3, .L255+20 - 3558 0104 6363 str r3, [r4, #52] -2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3559 .loc 1 2040 0 - 3560 0106 8023 movs r3, #128 - 3561 0108 CAB2 uxtb r2, r1 - 3562 .LVL291: - 3563 010a 1049 ldr r1, .L255+16 - 3564 010c 0091 str r1, [sp] - 3565 .LVL292: - 3566 010e 9B04 lsls r3, r3, #18 - 3567 0110 3100 movs r1, r6 - ARM GAS /tmp/ccFk2Nxo.s page 186 - - - 3568 0112 2000 movs r0, r4 - 3569 0114 FFF7FEFF bl I2C_TransferConfig - 3570 .LVL293: -2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3571 .loc 1 2043 0 - 3572 0118 4023 movs r3, #64 - 3573 011a 0022 movs r2, #0 - 3574 011c E254 strb r2, [r4, r3] -2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3575 .loc 1 2051 0 - 3576 011e 0121 movs r1, #1 - 3577 0120 2000 movs r0, r4 - 3578 0122 FFF7FEFF bl I2C_Enable_IRQ - 3579 .LVL294: -2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3580 .loc 1 2054 0 - 3581 0126 0025 movs r5, #0 - 3582 0128 00E0 b .L243 - 3583 .LVL295: - 3584 .L250: -2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3585 .loc 1 2058 0 - 3586 012a 0225 movs r5, #2 - 3587 .LVL296: - 3588 .L243: -2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3589 .loc 1 2060 0 - 3590 012c 2800 movs r0, r5 - 3591 012e 03B0 add sp, sp, #12 - 3592 @ sp needed - 3593 .LVL297: - 3594 0130 F0BD pop {r4, r5, r6, r7, pc} - 3595 .LVL298: - 3596 .L251: -1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3597 .loc 1 1938 0 - 3598 0132 0225 movs r5, #2 - 3599 0134 FAE7 b .L243 - 3600 .L252: -1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3601 .loc 1 1942 0 - 3602 0136 0225 movs r5, #2 - 3603 0138 F8E7 b .L243 - 3604 .L256: - 3605 013a C046 .align 2 - 3606 .L255: - 3607 013c 0000FFFF .word -65536 - 3608 0140 00000000 .word I2C_Master_ISR_DMA - 3609 0144 00000000 .word I2C_DMAMasterReceiveCplt - 3610 0148 00000000 .word I2C_DMAError - 3611 014c 00240080 .word -2147474432 - 3612 0150 00000000 .word I2C_Master_ISR_IT - 3613 .cfi_endproc - 3614 .LFE53: - 3616 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits - 3617 .align 1 - 3618 .global HAL_I2C_Slave_Transmit_DMA - ARM GAS /tmp/ccFk2Nxo.s page 187 - - - 3619 .syntax unified - 3620 .code 16 - 3621 .thumb_func - 3622 .fpu softvfp - 3624 HAL_I2C_Slave_Transmit_DMA: - 3625 .LFB54: -2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 3626 .loc 1 2071 0 - 3627 .cfi_startproc - 3628 @ args = 0, pretend = 0, frame = 0 - 3629 @ frame_needed = 0, uses_anonymous_args = 0 - 3630 .LVL299: - 3631 0000 70B5 push {r4, r5, r6, lr} - 3632 .LCFI31: - 3633 .cfi_def_cfa_offset 16 - 3634 .cfi_offset 4, -16 - 3635 .cfi_offset 5, -12 - 3636 .cfi_offset 6, -8 - 3637 .cfi_offset 14, -4 - 3638 0002 0400 movs r4, r0 -2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3639 .loc 1 2074 0 - 3640 0004 4123 movs r3, #65 - 3641 0006 C35C ldrb r3, [r0, r3] - 3642 0008 202B cmp r3, #32 - 3643 000a 63D1 bne .L264 -2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3644 .loc 1 2076 0 - 3645 000c 0029 cmp r1, #0 - 3646 000e 3BD0 beq .L259 -2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3647 .loc 1 2076 0 is_stmt 0 discriminator 1 - 3648 0010 002A cmp r2, #0 - 3649 0012 39D0 beq .L259 -2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3650 .loc 1 2082 0 is_stmt 1 - 3651 0014 4023 movs r3, #64 - 3652 0016 C35C ldrb r3, [r0, r3] - 3653 0018 012B cmp r3, #1 - 3654 001a 5ED0 beq .L265 -2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3655 .loc 1 2082 0 is_stmt 0 discriminator 2 - 3656 001c 4023 movs r3, #64 - 3657 001e 0120 movs r0, #1 - 3658 .LVL300: - 3659 0020 E054 strb r0, [r4, r3] -2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 3660 .loc 1 2084 0 is_stmt 1 discriminator 2 - 3661 0022 0133 adds r3, r3, #1 - 3662 0024 2030 adds r0, r0, #32 - 3663 0026 E054 strb r0, [r4, r3] -2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 3664 .loc 1 2085 0 discriminator 2 - 3665 0028 0133 adds r3, r3, #1 - 3666 002a 0138 subs r0, r0, #1 - 3667 002c E054 strb r0, [r4, r3] -2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 188 - - - 3668 .loc 1 2086 0 discriminator 2 - 3669 002e 0023 movs r3, #0 - 3670 0030 6364 str r3, [r4, #68] -2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 3671 .loc 1 2089 0 discriminator 2 - 3672 0032 6162 str r1, [r4, #36] -2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 3673 .loc 1 2090 0 discriminator 2 - 3674 0034 6285 strh r2, [r4, #42] -2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 3675 .loc 1 2091 0 discriminator 2 - 3676 0036 638D ldrh r3, [r4, #42] - 3677 0038 2385 strh r3, [r4, #40] -2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; - 3678 .loc 1 2092 0 discriminator 2 - 3679 003a 294B ldr r3, .L268 - 3680 003c E362 str r3, [r4, #44] -2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3681 .loc 1 2093 0 discriminator 2 - 3682 003e 294B ldr r3, .L268+4 - 3683 0040 6363 str r3, [r4, #52] -2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3684 .loc 1 2095 0 discriminator 2 - 3685 0042 A36B ldr r3, [r4, #56] - 3686 0044 002B cmp r3, #0 - 3687 0046 24D0 beq .L261 -2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3688 .loc 1 2098 0 - 3689 0048 274A ldr r2, .L268+8 - 3690 .LVL301: - 3691 004a 9A62 str r2, [r3, #40] -2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3692 .loc 1 2101 0 - 3693 004c A36B ldr r3, [r4, #56] - 3694 004e 274A ldr r2, .L268+12 - 3695 0050 1A63 str r2, [r3, #48] -2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; - 3696 .loc 1 2104 0 - 3697 0052 A26B ldr r2, [r4, #56] - 3698 0054 0023 movs r3, #0 - 3699 0056 D362 str r3, [r2, #44] -2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3700 .loc 1 2105 0 - 3701 0058 A26B ldr r2, [r4, #56] - 3702 005a 5363 str r3, [r2, #52] -2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3703 .loc 1 2108 0 - 3704 005c 2268 ldr r2, [r4] - 3705 005e 2832 adds r2, r2, #40 - 3706 0060 238D ldrh r3, [r4, #40] - 3707 0062 A06B ldr r0, [r4, #56] - 3708 0064 FFF7FEFF bl HAL_DMA_Start_IT - 3709 .LVL302: - 3710 0068 051E subs r5, r0, #0 - 3711 .LVL303: -2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3712 .loc 1 2125 0 - ARM GAS /tmp/ccFk2Nxo.s page 189 - - - 3713 006a 20D0 beq .L267 -2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3714 .loc 1 2145 0 - 3715 006c 4123 movs r3, #65 - 3716 006e 2822 movs r2, #40 - 3717 0070 E254 strb r2, [r4, r3] -2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3718 .loc 1 2146 0 - 3719 0072 0022 movs r2, #0 - 3720 0074 0133 adds r3, r3, #1 - 3721 0076 E254 strb r2, [r4, r3] -2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3722 .loc 1 2149 0 - 3723 0078 636C ldr r3, [r4, #68] - 3724 007a 1021 movs r1, #16 - 3725 007c 0B43 orrs r3, r1 - 3726 007e 6364 str r3, [r4, #68] -2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3727 .loc 1 2152 0 - 3728 0080 4023 movs r3, #64 - 3729 0082 E254 strb r2, [r4, r3] -2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3730 .loc 1 2154 0 - 3731 0084 0125 movs r5, #1 - 3732 0086 26E0 b .L258 - 3733 .LVL304: - 3734 .L259: -2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 3735 .loc 1 2078 0 - 3736 0088 8023 movs r3, #128 - 3737 008a 9B00 lsls r3, r3, #2 - 3738 008c 6364 str r3, [r4, #68] -2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3739 .loc 1 2079 0 - 3740 008e 0125 movs r5, #1 - 3741 0090 21E0 b .L258 - 3742 .LVL305: - 3743 .L261: -2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3744 .loc 1 2113 0 - 3745 0092 4123 movs r3, #65 - 3746 0094 2822 movs r2, #40 - 3747 .LVL306: - 3748 0096 E254 strb r2, [r4, r3] -2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3749 .loc 1 2114 0 - 3750 0098 0022 movs r2, #0 - 3751 009a 0133 adds r3, r3, #1 - 3752 009c E254 strb r2, [r4, r3] -2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3753 .loc 1 2117 0 - 3754 009e 636C ldr r3, [r4, #68] - 3755 00a0 8021 movs r1, #128 - 3756 .LVL307: - 3757 00a2 0B43 orrs r3, r1 - 3758 00a4 6364 str r3, [r4, #68] -2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 190 - - - 3759 .loc 1 2120 0 - 3760 00a6 4023 movs r3, #64 - 3761 00a8 E254 strb r2, [r4, r3] -2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3762 .loc 1 2122 0 - 3763 00aa 0125 movs r5, #1 - 3764 00ac 13E0 b .L258 - 3765 .LVL308: - 3766 .L267: -2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3767 .loc 1 2128 0 - 3768 00ae 2268 ldr r2, [r4] - 3769 00b0 5368 ldr r3, [r2, #4] - 3770 00b2 0F49 ldr r1, .L268+16 - 3771 00b4 0B40 ands r3, r1 - 3772 00b6 5360 str r3, [r2, #4] -2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3773 .loc 1 2131 0 - 3774 00b8 4023 movs r3, #64 - 3775 00ba 0022 movs r2, #0 - 3776 00bc E254 strb r2, [r4, r3] -2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3777 .loc 1 2137 0 - 3778 00be 0421 movs r1, #4 - 3779 00c0 2000 movs r0, r4 - 3780 .LVL309: - 3781 00c2 FFF7FEFF bl I2C_Enable_IRQ - 3782 .LVL310: -2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3783 .loc 1 2140 0 - 3784 00c6 2268 ldr r2, [r4] - 3785 00c8 1168 ldr r1, [r2] - 3786 00ca 8023 movs r3, #128 - 3787 00cc DB01 lsls r3, r3, #7 - 3788 00ce 0B43 orrs r3, r1 - 3789 00d0 1360 str r3, [r2] -2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3790 .loc 1 2157 0 - 3791 00d2 00E0 b .L258 - 3792 .LVL311: - 3793 .L264: -2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3794 .loc 1 2161 0 - 3795 00d4 0225 movs r5, #2 - 3796 .LVL312: - 3797 .L258: -2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3798 .loc 1 2163 0 - 3799 00d6 2800 movs r0, r5 - 3800 @ sp needed - 3801 .LVL313: - 3802 00d8 70BD pop {r4, r5, r6, pc} - 3803 .LVL314: - 3804 .L265: -2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3805 .loc 1 2082 0 - 3806 00da 0225 movs r5, #2 - ARM GAS /tmp/ccFk2Nxo.s page 191 - - - 3807 00dc FBE7 b .L258 - 3808 .L269: - 3809 00de C046 .align 2 - 3810 .L268: - 3811 00e0 0000FFFF .word -65536 - 3812 00e4 00000000 .word I2C_Slave_ISR_DMA - 3813 00e8 00000000 .word I2C_DMASlaveTransmitCplt - 3814 00ec 00000000 .word I2C_DMAError - 3815 00f0 FF7FFFFF .word -32769 - 3816 .cfi_endproc - 3817 .LFE54: - 3819 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits - 3820 .align 1 - 3821 .global HAL_I2C_Slave_Receive_DMA - 3822 .syntax unified - 3823 .code 16 - 3824 .thumb_func - 3825 .fpu softvfp - 3827 HAL_I2C_Slave_Receive_DMA: - 3828 .LFB55: -2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 3829 .loc 1 2174 0 - 3830 .cfi_startproc - 3831 @ args = 0, pretend = 0, frame = 0 - 3832 @ frame_needed = 0, uses_anonymous_args = 0 - 3833 .LVL315: - 3834 0000 70B5 push {r4, r5, r6, lr} - 3835 .LCFI32: - 3836 .cfi_def_cfa_offset 16 - 3837 .cfi_offset 4, -16 - 3838 .cfi_offset 5, -12 - 3839 .cfi_offset 6, -8 - 3840 .cfi_offset 14, -4 - 3841 0002 0400 movs r4, r0 -2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3842 .loc 1 2177 0 - 3843 0004 4123 movs r3, #65 - 3844 0006 C35C ldrb r3, [r0, r3] - 3845 0008 202B cmp r3, #32 - 3846 000a 65D1 bne .L277 -2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3847 .loc 1 2179 0 - 3848 000c 0029 cmp r1, #0 - 3849 000e 3DD0 beq .L272 -2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3850 .loc 1 2179 0 is_stmt 0 discriminator 1 - 3851 0010 002A cmp r2, #0 - 3852 0012 3BD0 beq .L272 -2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3853 .loc 1 2185 0 is_stmt 1 - 3854 0014 4023 movs r3, #64 - 3855 0016 C35C ldrb r3, [r0, r3] - 3856 0018 012B cmp r3, #1 - 3857 001a 60D0 beq .L278 -2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3858 .loc 1 2185 0 is_stmt 0 discriminator 2 - 3859 001c 4023 movs r3, #64 - ARM GAS /tmp/ccFk2Nxo.s page 192 - - - 3860 001e 0120 movs r0, #1 - 3861 .LVL316: - 3862 0020 E054 strb r0, [r4, r3] -2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 3863 .loc 1 2187 0 is_stmt 1 discriminator 2 - 3864 0022 0133 adds r3, r3, #1 - 3865 0024 2130 adds r0, r0, #33 - 3866 0026 E054 strb r0, [r4, r3] -2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 3867 .loc 1 2188 0 discriminator 2 - 3868 0028 0133 adds r3, r3, #1 - 3869 002a 0238 subs r0, r0, #2 - 3870 002c E054 strb r0, [r4, r3] -2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3871 .loc 1 2189 0 discriminator 2 - 3872 002e 0023 movs r3, #0 - 3873 0030 6364 str r3, [r4, #68] -2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 3874 .loc 1 2192 0 discriminator 2 - 3875 0032 6162 str r1, [r4, #36] -2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 3876 .loc 1 2193 0 discriminator 2 - 3877 0034 6285 strh r2, [r4, #42] -2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 3878 .loc 1 2194 0 discriminator 2 - 3879 0036 638D ldrh r3, [r4, #42] - 3880 0038 2385 strh r3, [r4, #40] -2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; - 3881 .loc 1 2195 0 discriminator 2 - 3882 003a 2A4B ldr r3, .L281 - 3883 003c E362 str r3, [r4, #44] -2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3884 .loc 1 2196 0 discriminator 2 - 3885 003e 2A4B ldr r3, .L281+4 - 3886 0040 6363 str r3, [r4, #52] -2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3887 .loc 1 2198 0 discriminator 2 - 3888 0042 E36B ldr r3, [r4, #60] - 3889 0044 002B cmp r3, #0 - 3890 0046 26D0 beq .L274 -2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3891 .loc 1 2201 0 - 3892 0048 284A ldr r2, .L281+8 - 3893 .LVL317: - 3894 004a 9A62 str r2, [r3, #40] -2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3895 .loc 1 2204 0 - 3896 004c E36B ldr r3, [r4, #60] - 3897 004e 284A ldr r2, .L281+12 - 3898 0050 1A63 str r2, [r3, #48] -2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; - 3899 .loc 1 2207 0 - 3900 0052 E26B ldr r2, [r4, #60] - 3901 0054 0023 movs r3, #0 - 3902 0056 D362 str r3, [r2, #44] -2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3903 .loc 1 2208 0 - ARM GAS /tmp/ccFk2Nxo.s page 193 - - - 3904 0058 E26B ldr r2, [r4, #60] - 3905 005a 5363 str r3, [r2, #52] -2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3906 .loc 1 2211 0 - 3907 005c 2068 ldr r0, [r4] - 3908 005e 2430 adds r0, r0, #36 - 3909 0060 238D ldrh r3, [r4, #40] - 3910 0062 0A00 movs r2, r1 - 3911 0064 0100 movs r1, r0 - 3912 .LVL318: - 3913 0066 E06B ldr r0, [r4, #60] - 3914 0068 FFF7FEFF bl HAL_DMA_Start_IT - 3915 .LVL319: - 3916 006c 051E subs r5, r0, #0 - 3917 .LVL320: -2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 3918 .loc 1 2228 0 - 3919 006e 20D0 beq .L280 -2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3920 .loc 1 2248 0 - 3921 0070 4123 movs r3, #65 - 3922 0072 2822 movs r2, #40 - 3923 0074 E254 strb r2, [r4, r3] -2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3924 .loc 1 2249 0 - 3925 0076 0022 movs r2, #0 - 3926 0078 0133 adds r3, r3, #1 - 3927 007a E254 strb r2, [r4, r3] -2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3928 .loc 1 2252 0 - 3929 007c 636C ldr r3, [r4, #68] - 3930 007e 1021 movs r1, #16 - 3931 0080 0B43 orrs r3, r1 - 3932 0082 6364 str r3, [r4, #68] -2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3933 .loc 1 2255 0 - 3934 0084 4023 movs r3, #64 - 3935 0086 E254 strb r2, [r4, r3] -2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3936 .loc 1 2257 0 - 3937 0088 0125 movs r5, #1 - 3938 008a 26E0 b .L271 - 3939 .LVL321: - 3940 .L272: -2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 3941 .loc 1 2181 0 - 3942 008c 8023 movs r3, #128 - 3943 008e 9B00 lsls r3, r3, #2 - 3944 0090 6364 str r3, [r4, #68] -2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3945 .loc 1 2182 0 - 3946 0092 0125 movs r5, #1 - 3947 0094 21E0 b .L271 - 3948 .LVL322: - 3949 .L274: -2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 3950 .loc 1 2216 0 - ARM GAS /tmp/ccFk2Nxo.s page 194 - - - 3951 0096 4123 movs r3, #65 - 3952 0098 2822 movs r2, #40 - 3953 .LVL323: - 3954 009a E254 strb r2, [r4, r3] -2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3955 .loc 1 2217 0 - 3956 009c 0022 movs r2, #0 - 3957 009e 0133 adds r3, r3, #1 - 3958 00a0 E254 strb r2, [r4, r3] -2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3959 .loc 1 2220 0 - 3960 00a2 636C ldr r3, [r4, #68] - 3961 00a4 8021 movs r1, #128 - 3962 .LVL324: - 3963 00a6 0B43 orrs r3, r1 - 3964 00a8 6364 str r3, [r4, #68] -2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3965 .loc 1 2223 0 - 3966 00aa 4023 movs r3, #64 - 3967 00ac E254 strb r2, [r4, r3] -2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3968 .loc 1 2225 0 - 3969 00ae 0125 movs r5, #1 - 3970 00b0 13E0 b .L271 - 3971 .LVL325: - 3972 .L280: -2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3973 .loc 1 2231 0 - 3974 00b2 2268 ldr r2, [r4] - 3975 00b4 5368 ldr r3, [r2, #4] - 3976 00b6 0F49 ldr r1, .L281+16 - 3977 00b8 0B40 ands r3, r1 - 3978 00ba 5360 str r3, [r2, #4] -2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3979 .loc 1 2234 0 - 3980 00bc 4023 movs r3, #64 - 3981 00be 0022 movs r2, #0 - 3982 00c0 E254 strb r2, [r4, r3] -2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 3983 .loc 1 2240 0 - 3984 00c2 0421 movs r1, #4 - 3985 00c4 2000 movs r0, r4 - 3986 .LVL326: - 3987 00c6 FFF7FEFF bl I2C_Enable_IRQ - 3988 .LVL327: -2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3989 .loc 1 2243 0 - 3990 00ca 2268 ldr r2, [r4] - 3991 00cc 1168 ldr r1, [r2] - 3992 00ce 8023 movs r3, #128 - 3993 00d0 1B02 lsls r3, r3, #8 - 3994 00d2 0B43 orrs r3, r1 - 3995 00d4 1360 str r3, [r2] -2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 3996 .loc 1 2260 0 - 3997 00d6 00E0 b .L271 - 3998 .LVL328: - ARM GAS /tmp/ccFk2Nxo.s page 195 - - - 3999 .L277: -2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4000 .loc 1 2264 0 - 4001 00d8 0225 movs r5, #2 - 4002 .LVL329: - 4003 .L271: -2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 4004 .loc 1 2266 0 - 4005 00da 2800 movs r0, r5 - 4006 @ sp needed - 4007 .LVL330: - 4008 00dc 70BD pop {r4, r5, r6, pc} - 4009 .LVL331: - 4010 .L278: -2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4011 .loc 1 2185 0 - 4012 00de 0225 movs r5, #2 - 4013 00e0 FBE7 b .L271 - 4014 .L282: - 4015 00e2 C046 .align 2 - 4016 .L281: - 4017 00e4 0000FFFF .word -65536 - 4018 00e8 00000000 .word I2C_Slave_ISR_DMA - 4019 00ec 00000000 .word I2C_DMASlaveReceiveCplt - 4020 00f0 00000000 .word I2C_DMAError - 4021 00f4 FF7FFFFF .word -32769 - 4022 .cfi_endproc - 4023 .LFE55: - 4025 .section .text.HAL_I2C_Mem_Write,"ax",%progbits - 4026 .align 1 - 4027 .global HAL_I2C_Mem_Write - 4028 .syntax unified - 4029 .code 16 - 4030 .thumb_func - 4031 .fpu softvfp - 4033 HAL_I2C_Mem_Write: - 4034 .LFB56: -2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 4035 .loc 1 2281 0 - 4036 .cfi_startproc - 4037 @ args = 12, pretend = 0, frame = 16 - 4038 @ frame_needed = 0, uses_anonymous_args = 0 - 4039 .LVL332: - 4040 0000 F0B5 push {r4, r5, r6, r7, lr} - 4041 .LCFI33: - 4042 .cfi_def_cfa_offset 20 - 4043 .cfi_offset 4, -20 - 4044 .cfi_offset 5, -16 - 4045 .cfi_offset 6, -12 - 4046 .cfi_offset 7, -8 - 4047 .cfi_offset 14, -4 - 4048 0002 87B0 sub sp, sp, #28 - 4049 .LCFI34: - 4050 .cfi_def_cfa_offset 48 - 4051 0004 0500 movs r5, r0 - 4052 0006 0391 str r1, [sp, #12] - 4053 0008 0492 str r2, [sp, #16] - ARM GAS /tmp/ccFk2Nxo.s page 196 - - - 4054 000a 0593 str r3, [sp, #20] - 4055 000c 0CAB add r3, sp, #48 - 4056 .LVL333: - 4057 000e 10CB ldmia r3!, {r4} - 4058 .LVL334: - 4059 0010 1E88 ldrh r6, [r3] -2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4060 .loc 1 2287 0 - 4061 0012 4123 movs r3, #65 - 4062 .LVL335: - 4063 0014 C35C ldrb r3, [r0, r3] - 4064 0016 202B cmp r3, #32 - 4065 0018 00D0 beq .LCB4017 - 4066 001a B3E0 b .L293 @long jump - 4067 .LCB4017: -2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4068 .loc 1 2289 0 - 4069 001c 002C cmp r4, #0 - 4070 001e 18D0 beq .L285 -2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4071 .loc 1 2289 0 is_stmt 0 discriminator 1 - 4072 0020 002E cmp r6, #0 - 4073 0022 16D0 beq .L285 -2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4074 .loc 1 2296 0 is_stmt 1 - 4075 0024 4023 movs r3, #64 - 4076 0026 C35C ldrb r3, [r0, r3] - 4077 0028 012B cmp r3, #1 - 4078 002a 00D1 bne .LCB4025 - 4079 002c ADE0 b .L294 @long jump - 4080 .LCB4025: -2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4081 .loc 1 2296 0 is_stmt 0 discriminator 2 - 4082 002e 4023 movs r3, #64 - 4083 0030 0122 movs r2, #1 - 4084 .LVL336: - 4085 0032 C254 strb r2, [r0, r3] -2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4086 .loc 1 2299 0 is_stmt 1 discriminator 2 - 4087 0034 FFF7FEFF bl HAL_GetTick - 4088 .LVL337: - 4089 0038 0700 movs r7, r0 - 4090 .LVL338: -2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4091 .loc 1 2301 0 discriminator 2 - 4092 003a 8021 movs r1, #128 - 4093 003c 0090 str r0, [sp] - 4094 003e 1923 movs r3, #25 - 4095 0040 0122 movs r2, #1 - 4096 0042 0902 lsls r1, r1, #8 - 4097 0044 2800 movs r0, r5 - 4098 .LVL339: - 4099 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 4100 .LVL340: - 4101 004a 0028 cmp r0, #0 - 4102 004c 06D0 beq .L299 -2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 197 - - - 4103 .loc 1 2303 0 - 4104 004e 0120 movs r0, #1 - 4105 0050 99E0 b .L284 - 4106 .LVL341: - 4107 .L285: -2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4108 .loc 1 2291 0 - 4109 0052 8023 movs r3, #128 - 4110 0054 9B00 lsls r3, r3, #2 - 4111 0056 6B64 str r3, [r5, #68] -2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4112 .loc 1 2292 0 - 4113 0058 0120 movs r0, #1 - 4114 .LVL342: - 4115 005a 94E0 b .L284 - 4116 .LVL343: - 4117 .L299: -2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; - 4118 .loc 1 2306 0 - 4119 005c 4123 movs r3, #65 - 4120 005e 2122 movs r2, #33 - 4121 0060 EA54 strb r2, [r5, r3] -2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 4122 .loc 1 2307 0 - 4123 0062 0133 adds r3, r3, #1 - 4124 0064 1F32 adds r2, r2, #31 - 4125 0066 EA54 strb r2, [r5, r3] -2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4126 .loc 1 2308 0 - 4127 0068 0023 movs r3, #0 - 4128 006a 6B64 str r3, [r5, #68] -2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 4129 .loc 1 2311 0 - 4130 006c 6C62 str r4, [r5, #36] -2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 4131 .loc 1 2312 0 - 4132 006e 6E85 strh r6, [r5, #42] -2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4133 .loc 1 2313 0 - 4134 0070 6B63 str r3, [r5, #52] -2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4135 .loc 1 2316 0 - 4136 0072 0197 str r7, [sp, #4] - 4137 0074 0E9B ldr r3, [sp, #56] - 4138 0076 0093 str r3, [sp] - 4139 0078 059B ldr r3, [sp, #20] - 4140 007a 049A ldr r2, [sp, #16] - 4141 007c 0399 ldr r1, [sp, #12] - 4142 007e 2800 movs r0, r5 - 4143 0080 FFF7FEFF bl I2C_RequestMemoryWrite - 4144 .LVL344: - 4145 0084 0028 cmp r0, #0 - 4146 0086 0FD1 bne .L300 -2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4147 .loc 1 2324 0 - 4148 0088 6B8D ldrh r3, [r5, #42] - 4149 008a 9BB2 uxth r3, r3 - ARM GAS /tmp/ccFk2Nxo.s page 198 - - - 4150 008c FF2B cmp r3, #255 - 4151 008e 10D9 bls .L288 -2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST - 4152 .loc 1 2326 0 - 4153 0090 FF23 movs r3, #255 - 4154 0092 2B85 strh r3, [r5, #40] -2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4155 .loc 1 2327 0 - 4156 0094 7F3B subs r3, r3, #127 - 4157 0096 0022 movs r2, #0 - 4158 0098 0092 str r2, [sp] - 4159 009a 5B04 lsls r3, r3, #17 - 4160 009c FF32 adds r2, r2, #255 - 4161 009e 0399 ldr r1, [sp, #12] - 4162 00a0 2800 movs r0, r5 - 4163 00a2 FFF7FEFF bl I2C_TransferConfig - 4164 .LVL345: - 4165 00a6 21E0 b .L292 - 4166 .L300: -2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4167 .loc 1 2319 0 - 4168 00a8 4023 movs r3, #64 - 4169 00aa 0022 movs r2, #0 - 4170 00ac EA54 strb r2, [r5, r3] -2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4171 .loc 1 2320 0 - 4172 00ae 0120 movs r0, #1 - 4173 00b0 69E0 b .L284 - 4174 .L288: -2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS - 4175 .loc 1 2331 0 - 4176 00b2 6A8D ldrh r2, [r5, #42] - 4177 00b4 92B2 uxth r2, r2 - 4178 00b6 2A85 strh r2, [r5, #40] -2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4179 .loc 1 2332 0 - 4180 00b8 8023 movs r3, #128 - 4181 00ba D2B2 uxtb r2, r2 - 4182 00bc 0021 movs r1, #0 - 4183 00be 0091 str r1, [sp] - 4184 00c0 9B04 lsls r3, r3, #18 - 4185 00c2 0399 ldr r1, [sp, #12] - 4186 00c4 2800 movs r0, r5 - 4187 00c6 FFF7FEFF bl I2C_TransferConfig - 4188 .LVL346: - 4189 00ca 0FE0 b .L292 - 4190 .L291: -2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST - 4191 .loc 1 2367 0 - 4192 00cc 6A8D ldrh r2, [r5, #42] - 4193 00ce 92B2 uxth r2, r2 - 4194 00d0 2A85 strh r2, [r5, #40] -2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4195 .loc 1 2368 0 - 4196 00d2 8023 movs r3, #128 - 4197 00d4 D2B2 uxtb r2, r2 - 4198 00d6 0021 movs r1, #0 - ARM GAS /tmp/ccFk2Nxo.s page 199 - - - 4199 00d8 0091 str r1, [sp] - 4200 00da 9B04 lsls r3, r3, #18 - 4201 00dc 0399 ldr r1, [sp, #12] - 4202 00de 2800 movs r0, r5 - 4203 00e0 FFF7FEFF bl I2C_TransferConfig - 4204 .LVL347: - 4205 .L290: -2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4206 .loc 1 2373 0 - 4207 00e4 6B8D ldrh r3, [r5, #42] - 4208 00e6 9BB2 uxth r3, r3 - 4209 00e8 002B cmp r3, #0 - 4210 00ea 34D0 beq .L301 - 4211 .L292: -2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4212 .loc 1 2338 0 - 4213 00ec 3A00 movs r2, r7 - 4214 00ee 0E99 ldr r1, [sp, #56] - 4215 00f0 2800 movs r0, r5 - 4216 00f2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout - 4217 .LVL348: - 4218 00f6 0028 cmp r0, #0 - 4219 00f8 49D1 bne .L296 -2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4220 .loc 1 2344 0 - 4221 00fa 2B68 ldr r3, [r5] - 4222 00fc 6A6A ldr r2, [r5, #36] - 4223 00fe 1278 ldrb r2, [r2] - 4224 0100 9A62 str r2, [r3, #40] -2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4225 .loc 1 2347 0 - 4226 0102 6B6A ldr r3, [r5, #36] - 4227 0104 0133 adds r3, r3, #1 - 4228 0106 6B62 str r3, [r5, #36] -2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; - 4229 .loc 1 2349 0 - 4230 0108 6B8D ldrh r3, [r5, #42] - 4231 010a 013B subs r3, r3, #1 - 4232 010c 9BB2 uxth r3, r3 - 4233 010e 6B85 strh r3, [r5, #42] -2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4234 .loc 1 2350 0 - 4235 0110 2B8D ldrh r3, [r5, #40] - 4236 0112 013B subs r3, r3, #1 - 4237 0114 9BB2 uxth r3, r3 - 4238 0116 2B85 strh r3, [r5, #40] -2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4239 .loc 1 2352 0 - 4240 0118 6A8D ldrh r2, [r5, #42] - 4241 011a 92B2 uxth r2, r2 - 4242 011c 002A cmp r2, #0 - 4243 011e E1D0 beq .L290 -2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4244 .loc 1 2352 0 is_stmt 0 discriminator 1 - 4245 0120 002B cmp r3, #0 - 4246 0122 DFD1 bne .L290 -2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 200 - - - 4247 .loc 1 2355 0 is_stmt 1 - 4248 0124 0097 str r7, [sp] - 4249 0126 0E9B ldr r3, [sp, #56] - 4250 0128 0022 movs r2, #0 - 4251 012a 8021 movs r1, #128 - 4252 012c 2800 movs r0, r5 - 4253 012e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 4254 .LVL349: - 4255 0132 0028 cmp r0, #0 - 4256 0134 2DD1 bne .L297 -2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4257 .loc 1 2360 0 - 4258 0136 6B8D ldrh r3, [r5, #42] - 4259 0138 9BB2 uxth r3, r3 - 4260 013a FF2B cmp r3, #255 - 4261 013c C6D9 bls .L291 -2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA - 4262 .loc 1 2362 0 - 4263 013e FF23 movs r3, #255 - 4264 0140 2B85 strh r3, [r5, #40] -2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4265 .loc 1 2363 0 - 4266 0142 7F3B subs r3, r3, #127 - 4267 0144 0022 movs r2, #0 - 4268 0146 0092 str r2, [sp] - 4269 0148 5B04 lsls r3, r3, #17 - 4270 014a FF32 adds r2, r2, #255 - 4271 014c 0399 ldr r1, [sp, #12] - 4272 014e 2800 movs r0, r5 - 4273 0150 FFF7FEFF bl I2C_TransferConfig - 4274 .LVL350: - 4275 0154 C6E7 b .L290 - 4276 .L301: -2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4277 .loc 1 2377 0 - 4278 0156 3A00 movs r2, r7 - 4279 0158 0E99 ldr r1, [sp, #56] - 4280 015a 2800 movs r0, r5 - 4281 015c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout - 4282 .LVL351: - 4283 0160 0028 cmp r0, #0 - 4284 0162 18D1 bne .L298 -2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4285 .loc 1 2383 0 - 4286 0164 2B68 ldr r3, [r5] - 4287 0166 2022 movs r2, #32 - 4288 0168 DA61 str r2, [r3, #28] -2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4289 .loc 1 2386 0 - 4290 016a 2968 ldr r1, [r5] - 4291 016c 4B68 ldr r3, [r1, #4] - 4292 016e 0B4C ldr r4, .L302 - 4293 0170 2340 ands r3, r4 - 4294 0172 4B60 str r3, [r1, #4] -2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 4295 .loc 1 2388 0 - 4296 0174 4123 movs r3, #65 - ARM GAS /tmp/ccFk2Nxo.s page 201 - - - 4297 0176 EA54 strb r2, [r5, r3] -2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4298 .loc 1 2389 0 - 4299 0178 0023 movs r3, #0 - 4300 017a 2232 adds r2, r2, #34 - 4301 017c AB54 strb r3, [r5, r2] -2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4302 .loc 1 2392 0 - 4303 017e 023A subs r2, r2, #2 - 4304 0180 AB54 strb r3, [r5, r2] -2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4305 .loc 1 2394 0 - 4306 0182 00E0 b .L284 - 4307 .LVL352: - 4308 .L293: -2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4309 .loc 1 2398 0 - 4310 0184 0220 movs r0, #2 - 4311 .LVL353: - 4312 .L284: -2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4313 .loc 1 2400 0 - 4314 0186 07B0 add sp, sp, #28 - 4315 @ sp needed - 4316 .LVL354: - 4317 0188 F0BD pop {r4, r5, r6, r7, pc} - 4318 .LVL355: - 4319 .L294: -2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4320 .loc 1 2296 0 - 4321 018a 0220 movs r0, #2 - 4322 .LVL356: - 4323 018c FBE7 b .L284 - 4324 .LVL357: - 4325 .L296: -2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4326 .loc 1 2340 0 - 4327 018e 0120 movs r0, #1 - 4328 0190 F9E7 b .L284 - 4329 .L297: -2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4330 .loc 1 2357 0 - 4331 0192 0120 movs r0, #1 - 4332 0194 F7E7 b .L284 - 4333 .L298: -2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4334 .loc 1 2379 0 - 4335 0196 0120 movs r0, #1 - 4336 0198 F5E7 b .L284 - 4337 .L303: - 4338 019a C046 .align 2 - 4339 .L302: - 4340 019c 00E800FE .word -33495040 - 4341 .cfi_endproc - 4342 .LFE56: - 4344 .section .text.HAL_I2C_Mem_Read,"ax",%progbits - 4345 .align 1 - ARM GAS /tmp/ccFk2Nxo.s page 202 - - - 4346 .global HAL_I2C_Mem_Read - 4347 .syntax unified - 4348 .code 16 - 4349 .thumb_func - 4350 .fpu softvfp - 4352 HAL_I2C_Mem_Read: - 4353 .LFB57: -2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 4354 .loc 1 2416 0 - 4355 .cfi_startproc - 4356 @ args = 12, pretend = 0, frame = 16 - 4357 @ frame_needed = 0, uses_anonymous_args = 0 - 4358 .LVL358: - 4359 0000 F0B5 push {r4, r5, r6, r7, lr} - 4360 .LCFI35: - 4361 .cfi_def_cfa_offset 20 - 4362 .cfi_offset 4, -20 - 4363 .cfi_offset 5, -16 - 4364 .cfi_offset 6, -12 - 4365 .cfi_offset 7, -8 - 4366 .cfi_offset 14, -4 - 4367 0002 87B0 sub sp, sp, #28 - 4368 .LCFI36: - 4369 .cfi_def_cfa_offset 48 - 4370 0004 0400 movs r4, r0 - 4371 0006 0391 str r1, [sp, #12] - 4372 0008 0492 str r2, [sp, #16] - 4373 000a 0593 str r3, [sp, #20] - 4374 000c 0CAB add r3, sp, #48 - 4375 .LVL359: - 4376 000e 20CB ldmia r3!, {r5} - 4377 .LVL360: - 4378 0010 1F88 ldrh r7, [r3] -2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4379 .loc 1 2422 0 - 4380 0012 4123 movs r3, #65 - 4381 .LVL361: - 4382 0014 C35C ldrb r3, [r0, r3] - 4383 0016 202B cmp r3, #32 - 4384 0018 00D0 beq .LCB4365 - 4385 001a B5E0 b .L314 @long jump - 4386 .LCB4365: -2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4387 .loc 1 2424 0 - 4388 001c 002D cmp r5, #0 - 4389 001e 18D0 beq .L306 -2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4390 .loc 1 2424 0 is_stmt 0 discriminator 1 - 4391 0020 002F cmp r7, #0 - 4392 0022 16D0 beq .L306 -2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4393 .loc 1 2431 0 is_stmt 1 - 4394 0024 4023 movs r3, #64 - 4395 0026 C35C ldrb r3, [r0, r3] - 4396 0028 012B cmp r3, #1 - 4397 002a 00D1 bne .LCB4373 - 4398 002c AFE0 b .L315 @long jump - ARM GAS /tmp/ccFk2Nxo.s page 203 - - - 4399 .LCB4373: -2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4400 .loc 1 2431 0 is_stmt 0 discriminator 2 - 4401 002e 4023 movs r3, #64 - 4402 0030 0122 movs r2, #1 - 4403 .LVL362: - 4404 0032 C254 strb r2, [r0, r3] -2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4405 .loc 1 2434 0 is_stmt 1 discriminator 2 - 4406 0034 FFF7FEFF bl HAL_GetTick - 4407 .LVL363: - 4408 0038 0600 movs r6, r0 - 4409 .LVL364: -2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4410 .loc 1 2436 0 discriminator 2 - 4411 003a 8021 movs r1, #128 - 4412 003c 0090 str r0, [sp] - 4413 003e 1923 movs r3, #25 - 4414 0040 0122 movs r2, #1 - 4415 0042 0902 lsls r1, r1, #8 - 4416 0044 2000 movs r0, r4 - 4417 .LVL365: - 4418 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 4419 .LVL366: - 4420 004a 0028 cmp r0, #0 - 4421 004c 06D0 beq .L320 -2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4422 .loc 1 2438 0 - 4423 004e 0120 movs r0, #1 - 4424 0050 9BE0 b .L305 - 4425 .LVL367: - 4426 .L306: -2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4427 .loc 1 2426 0 - 4428 0052 8023 movs r3, #128 - 4429 0054 9B00 lsls r3, r3, #2 - 4430 0056 6364 str r3, [r4, #68] -2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4431 .loc 1 2427 0 - 4432 0058 0120 movs r0, #1 - 4433 .LVL368: - 4434 005a 96E0 b .L305 - 4435 .LVL369: - 4436 .L320: -2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; - 4437 .loc 1 2441 0 - 4438 005c 4123 movs r3, #65 - 4439 005e 2222 movs r2, #34 - 4440 0060 E254 strb r2, [r4, r3] -2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 4441 .loc 1 2442 0 - 4442 0062 0133 adds r3, r3, #1 - 4443 0064 1E32 adds r2, r2, #30 - 4444 0066 E254 strb r2, [r4, r3] -2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4445 .loc 1 2443 0 - 4446 0068 0023 movs r3, #0 - ARM GAS /tmp/ccFk2Nxo.s page 204 - - - 4447 006a 6364 str r3, [r4, #68] -2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 4448 .loc 1 2446 0 - 4449 006c 6562 str r5, [r4, #36] -2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 4450 .loc 1 2447 0 - 4451 006e 6785 strh r7, [r4, #42] -2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4452 .loc 1 2448 0 - 4453 0070 6363 str r3, [r4, #52] -2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4454 .loc 1 2451 0 - 4455 0072 0196 str r6, [sp, #4] - 4456 0074 0E9B ldr r3, [sp, #56] - 4457 0076 0093 str r3, [sp] - 4458 0078 059B ldr r3, [sp, #20] - 4459 007a 049A ldr r2, [sp, #16] - 4460 007c 0399 ldr r1, [sp, #12] - 4461 007e 2000 movs r0, r4 - 4462 0080 FFF7FEFF bl I2C_RequestMemoryRead - 4463 .LVL370: - 4464 0084 0028 cmp r0, #0 - 4465 0086 0FD1 bne .L321 -2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4466 .loc 1 2460 0 - 4467 0088 638D ldrh r3, [r4, #42] - 4468 008a 9BB2 uxth r3, r3 - 4469 008c FF2B cmp r3, #255 - 4470 008e 10D9 bls .L309 -2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S - 4471 .loc 1 2462 0 - 4472 0090 FF23 movs r3, #255 - 4473 0092 2385 strh r3, [r4, #40] -2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4474 .loc 1 2463 0 - 4475 0094 7F3B subs r3, r3, #127 - 4476 0096 424A ldr r2, .L323 - 4477 0098 0092 str r2, [sp] - 4478 009a 5B04 lsls r3, r3, #17 - 4479 009c FF22 movs r2, #255 - 4480 009e 0399 ldr r1, [sp, #12] - 4481 00a0 2000 movs r0, r4 - 4482 00a2 FFF7FEFF bl I2C_TransferConfig - 4483 .LVL371: - 4484 00a6 21E0 b .L313 - 4485 .L321: -2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4486 .loc 1 2454 0 - 4487 00a8 4023 movs r3, #64 - 4488 00aa 0022 movs r2, #0 - 4489 00ac E254 strb r2, [r4, r3] -2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4490 .loc 1 2455 0 - 4491 00ae 0120 movs r0, #1 - 4492 00b0 6BE0 b .L305 - 4493 .L309: -2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_ - ARM GAS /tmp/ccFk2Nxo.s page 205 - - - 4494 .loc 1 2467 0 - 4495 00b2 628D ldrh r2, [r4, #42] - 4496 00b4 92B2 uxth r2, r2 - 4497 00b6 2285 strh r2, [r4, #40] -2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4498 .loc 1 2468 0 - 4499 00b8 8023 movs r3, #128 - 4500 00ba D2B2 uxtb r2, r2 - 4501 00bc 3849 ldr r1, .L323 - 4502 00be 0091 str r1, [sp] - 4503 00c0 9B04 lsls r3, r3, #18 - 4504 00c2 0399 ldr r1, [sp, #12] - 4505 00c4 2000 movs r0, r4 - 4506 00c6 FFF7FEFF bl I2C_TransferConfig - 4507 .LVL372: - 4508 00ca 0FE0 b .L313 - 4509 .L312: -2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST - 4510 .loc 1 2503 0 - 4511 00cc 628D ldrh r2, [r4, #42] - 4512 00ce 92B2 uxth r2, r2 - 4513 00d0 2285 strh r2, [r4, #40] -2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4514 .loc 1 2504 0 - 4515 00d2 8023 movs r3, #128 - 4516 00d4 D2B2 uxtb r2, r2 - 4517 00d6 0021 movs r1, #0 - 4518 00d8 0091 str r1, [sp] - 4519 00da 9B04 lsls r3, r3, #18 - 4520 00dc 0399 ldr r1, [sp, #12] - 4521 00de 2000 movs r0, r4 - 4522 00e0 FFF7FEFF bl I2C_TransferConfig - 4523 .LVL373: - 4524 .L311: -2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4525 .loc 1 2508 0 - 4526 00e4 638D ldrh r3, [r4, #42] - 4527 00e6 9BB2 uxth r3, r3 - 4528 00e8 002B cmp r3, #0 - 4529 00ea 36D0 beq .L322 - 4530 .L313: -2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4531 .loc 1 2474 0 - 4532 00ec 0096 str r6, [sp] - 4533 00ee 0E9B ldr r3, [sp, #56] - 4534 00f0 0022 movs r2, #0 - 4535 00f2 0421 movs r1, #4 - 4536 00f4 2000 movs r0, r4 - 4537 00f6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 4538 .LVL374: - 4539 00fa 0028 cmp r0, #0 - 4540 00fc 49D1 bne .L317 -2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4541 .loc 1 2480 0 - 4542 00fe 2368 ldr r3, [r4] - 4543 0100 5B6A ldr r3, [r3, #36] - 4544 0102 626A ldr r2, [r4, #36] - ARM GAS /tmp/ccFk2Nxo.s page 206 - - - 4545 0104 1370 strb r3, [r2] -2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4546 .loc 1 2483 0 - 4547 0106 636A ldr r3, [r4, #36] - 4548 0108 0133 adds r3, r3, #1 - 4549 010a 6362 str r3, [r4, #36] -2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; - 4550 .loc 1 2485 0 - 4551 010c 238D ldrh r3, [r4, #40] - 4552 010e 013B subs r3, r3, #1 - 4553 0110 9BB2 uxth r3, r3 - 4554 0112 2385 strh r3, [r4, #40] -2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4555 .loc 1 2486 0 - 4556 0114 628D ldrh r2, [r4, #42] - 4557 0116 013A subs r2, r2, #1 - 4558 0118 92B2 uxth r2, r2 - 4559 011a 6285 strh r2, [r4, #42] -2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4560 .loc 1 2488 0 - 4561 011c 628D ldrh r2, [r4, #42] - 4562 011e 92B2 uxth r2, r2 - 4563 0120 002A cmp r2, #0 - 4564 0122 DFD0 beq .L311 -2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4565 .loc 1 2488 0 is_stmt 0 discriminator 1 - 4566 0124 002B cmp r3, #0 - 4567 0126 DDD1 bne .L311 -2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4568 .loc 1 2491 0 is_stmt 1 - 4569 0128 0096 str r6, [sp] - 4570 012a 0E9B ldr r3, [sp, #56] - 4571 012c 0022 movs r2, #0 - 4572 012e 8021 movs r1, #128 - 4573 0130 2000 movs r0, r4 - 4574 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 4575 .LVL375: - 4576 0136 0028 cmp r0, #0 - 4577 0138 2DD1 bne .L318 -2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4578 .loc 1 2496 0 - 4579 013a 638D ldrh r3, [r4, #42] - 4580 013c 9BB2 uxth r3, r3 - 4581 013e FF2B cmp r3, #255 - 4582 0140 C4D9 bls .L312 -2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_ST - 4583 .loc 1 2498 0 - 4584 0142 FF23 movs r3, #255 - 4585 0144 2385 strh r3, [r4, #40] -2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4586 .loc 1 2499 0 - 4587 0146 7F3B subs r3, r3, #127 - 4588 0148 0022 movs r2, #0 - 4589 014a 0092 str r2, [sp] - 4590 014c 5B04 lsls r3, r3, #17 - 4591 014e FF32 adds r2, r2, #255 - 4592 0150 0399 ldr r1, [sp, #12] - ARM GAS /tmp/ccFk2Nxo.s page 207 - - - 4593 0152 2000 movs r0, r4 - 4594 0154 FFF7FEFF bl I2C_TransferConfig - 4595 .LVL376: - 4596 0158 C4E7 b .L311 - 4597 .L322: -2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4598 .loc 1 2512 0 - 4599 015a 3200 movs r2, r6 - 4600 015c 0E99 ldr r1, [sp, #56] - 4601 015e 2000 movs r0, r4 - 4602 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout - 4603 .LVL377: - 4604 0164 0028 cmp r0, #0 - 4605 0166 18D1 bne .L319 -2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4606 .loc 1 2518 0 - 4607 0168 2368 ldr r3, [r4] - 4608 016a 2022 movs r2, #32 - 4609 016c DA61 str r2, [r3, #28] -2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4610 .loc 1 2521 0 - 4611 016e 2168 ldr r1, [r4] - 4612 0170 4B68 ldr r3, [r1, #4] - 4613 0172 0C4D ldr r5, .L323+4 - 4614 0174 2B40 ands r3, r5 - 4615 0176 4B60 str r3, [r1, #4] -2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 4616 .loc 1 2523 0 - 4617 0178 4123 movs r3, #65 - 4618 017a E254 strb r2, [r4, r3] -2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4619 .loc 1 2524 0 - 4620 017c 0023 movs r3, #0 - 4621 017e 2232 adds r2, r2, #34 - 4622 0180 A354 strb r3, [r4, r2] -2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4623 .loc 1 2527 0 - 4624 0182 023A subs r2, r2, #2 - 4625 0184 A354 strb r3, [r4, r2] -2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4626 .loc 1 2529 0 - 4627 0186 00E0 b .L305 - 4628 .LVL378: - 4629 .L314: -2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4630 .loc 1 2533 0 - 4631 0188 0220 movs r0, #2 - 4632 .LVL379: - 4633 .L305: -2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 4634 .loc 1 2535 0 - 4635 018a 07B0 add sp, sp, #28 - 4636 @ sp needed - 4637 .LVL380: - 4638 018c F0BD pop {r4, r5, r6, r7, pc} - 4639 .LVL381: - 4640 .L315: - ARM GAS /tmp/ccFk2Nxo.s page 208 - - -2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4641 .loc 1 2431 0 - 4642 018e 0220 movs r0, #2 - 4643 .LVL382: - 4644 0190 FBE7 b .L305 - 4645 .LVL383: - 4646 .L317: -2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4647 .loc 1 2476 0 - 4648 0192 0120 movs r0, #1 - 4649 0194 F9E7 b .L305 - 4650 .L318: -2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4651 .loc 1 2493 0 - 4652 0196 0120 movs r0, #1 - 4653 0198 F7E7 b .L305 - 4654 .L319: -2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4655 .loc 1 2514 0 - 4656 019a 0120 movs r0, #1 - 4657 019c F5E7 b .L305 - 4658 .L324: - 4659 019e C046 .align 2 - 4660 .L323: - 4661 01a0 00240080 .word -2147474432 - 4662 01a4 00E800FE .word -33495040 - 4663 .cfi_endproc - 4664 .LFE57: - 4666 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits - 4667 .align 1 - 4668 .global HAL_I2C_Mem_Write_IT - 4669 .syntax unified - 4670 .code 16 - 4671 .thumb_func - 4672 .fpu softvfp - 4674 HAL_I2C_Mem_Write_IT: - 4675 .LFB58: -2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 4676 .loc 1 2549 0 - 4677 .cfi_startproc - 4678 @ args = 8, pretend = 0, frame = 16 - 4679 @ frame_needed = 0, uses_anonymous_args = 0 - 4680 .LVL384: - 4681 0000 F0B5 push {r4, r5, r6, r7, lr} - 4682 .LCFI37: - 4683 .cfi_def_cfa_offset 20 - 4684 .cfi_offset 4, -20 - 4685 .cfi_offset 5, -16 - 4686 .cfi_offset 6, -12 - 4687 .cfi_offset 7, -8 - 4688 .cfi_offset 14, -4 - 4689 0002 87B0 sub sp, sp, #28 - 4690 .LCFI38: - 4691 .cfi_def_cfa_offset 48 - 4692 0004 0400 movs r4, r0 - 4693 0006 0391 str r1, [sp, #12] - 4694 0008 0492 str r2, [sp, #16] - ARM GAS /tmp/ccFk2Nxo.s page 209 - - - 4695 000a 0593 str r3, [sp, #20] - 4696 000c 0CAB add r3, sp, #48 - 4697 .LVL385: - 4698 000e 80CB ldmia r3!, {r7} - 4699 .LVL386: - 4700 0010 1D88 ldrh r5, [r3] -2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4701 .loc 1 2556 0 - 4702 0012 4123 movs r3, #65 - 4703 .LVL387: - 4704 0014 C35C ldrb r3, [r0, r3] - 4705 0016 202B cmp r3, #32 - 4706 0018 4FD1 bne .L332 -2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4707 .loc 1 2558 0 - 4708 001a 002F cmp r7, #0 - 4709 001c 33D0 beq .L327 -2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4710 .loc 1 2558 0 is_stmt 0 discriminator 1 - 4711 001e 002D cmp r5, #0 - 4712 0020 31D0 beq .L327 -2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4713 .loc 1 2564 0 is_stmt 1 - 4714 0022 0368 ldr r3, [r0] - 4715 0024 9B69 ldr r3, [r3, #24] - 4716 0026 1B04 lsls r3, r3, #16 - 4717 0028 4BD4 bmi .L333 -2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4718 .loc 1 2570 0 - 4719 002a 4023 movs r3, #64 - 4720 002c C35C ldrb r3, [r0, r3] - 4721 002e 012B cmp r3, #1 - 4722 0030 49D0 beq .L334 -2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4723 .loc 1 2570 0 is_stmt 0 discriminator 2 - 4724 0032 4026 movs r6, #64 - 4725 0034 0123 movs r3, #1 - 4726 0036 8355 strb r3, [r0, r6] -2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4727 .loc 1 2573 0 is_stmt 1 discriminator 2 - 4728 0038 FFF7FEFF bl HAL_GetTick - 4729 .LVL388: -2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; - 4730 .loc 1 2575 0 discriminator 2 - 4731 003c 4123 movs r3, #65 - 4732 003e 2122 movs r2, #33 - 4733 0040 E254 strb r2, [r4, r3] -2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 4734 .loc 1 2576 0 discriminator 2 - 4735 0042 0133 adds r3, r3, #1 - 4736 0044 E654 strb r6, [r4, r3] -2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4737 .loc 1 2577 0 discriminator 2 - 4738 0046 0023 movs r3, #0 - 4739 0048 6364 str r3, [r4, #68] -2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 4740 .loc 1 2580 0 discriminator 2 - ARM GAS /tmp/ccFk2Nxo.s page 210 - - - 4741 004a 6762 str r7, [r4, #36] -2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 4742 .loc 1 2581 0 discriminator 2 - 4743 004c 6585 strh r5, [r4, #42] -2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; - 4744 .loc 1 2582 0 discriminator 2 - 4745 004e 1F4B ldr r3, .L335 - 4746 0050 E362 str r3, [r4, #44] -2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4747 .loc 1 2583 0 discriminator 2 - 4748 0052 1F4B ldr r3, .L335+4 - 4749 0054 6363 str r3, [r4, #52] -2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4750 .loc 1 2585 0 discriminator 2 - 4751 0056 638D ldrh r3, [r4, #42] - 4752 0058 9BB2 uxth r3, r3 - 4753 005a FF2B cmp r3, #255 - 4754 005c 18D9 bls .L329 -2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 4755 .loc 1 2587 0 - 4756 005e FF23 movs r3, #255 - 4757 0060 2385 strh r3, [r4, #40] - 4758 .LVL389: -2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4759 .loc 1 2588 0 - 4760 0062 8027 movs r7, #128 - 4761 0064 7F04 lsls r7, r7, #17 - 4762 .LVL390: - 4763 .L330: -2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4764 .loc 1 2597 0 - 4765 0066 0190 str r0, [sp, #4] - 4766 0068 1923 movs r3, #25 - 4767 006a 0093 str r3, [sp] - 4768 006c 059B ldr r3, [sp, #20] - 4769 006e 049A ldr r2, [sp, #16] - 4770 0070 0399 ldr r1, [sp, #12] - 4771 0072 2000 movs r0, r4 - 4772 .LVL391: - 4773 0074 FFF7FEFF bl I2C_RequestMemoryWrite - 4774 .LVL392: - 4775 0078 051E subs r5, r0, #0 - 4776 007a 0ED0 beq .L331 -2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4777 .loc 1 2600 0 - 4778 007c 4023 movs r3, #64 - 4779 007e 0022 movs r2, #0 - 4780 0080 E254 strb r2, [r4, r3] -2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4781 .loc 1 2601 0 - 4782 0082 0125 movs r5, #1 - 4783 0084 1AE0 b .L326 - 4784 .LVL393: - 4785 .L327: -2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4786 .loc 1 2560 0 - 4787 0086 8023 movs r3, #128 - ARM GAS /tmp/ccFk2Nxo.s page 211 - - - 4788 0088 9B00 lsls r3, r3, #2 - 4789 008a 6364 str r3, [r4, #68] -2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4790 .loc 1 2561 0 - 4791 008c 0125 movs r5, #1 - 4792 008e 15E0 b .L326 - 4793 .LVL394: - 4794 .L329: -2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - 4795 .loc 1 2592 0 - 4796 0090 638D ldrh r3, [r4, #42] - 4797 0092 2385 strh r3, [r4, #40] - 4798 .LVL395: -2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4799 .loc 1 2593 0 - 4800 0094 8027 movs r7, #128 - 4801 0096 BF04 lsls r7, r7, #18 - 4802 0098 E5E7 b .L330 - 4803 .LVL396: - 4804 .L331: -2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4805 .loc 1 2605 0 - 4806 009a 228D ldrh r2, [r4, #40] - 4807 009c D2B2 uxtb r2, r2 - 4808 009e 0026 movs r6, #0 - 4809 00a0 0096 str r6, [sp] - 4810 00a2 3B00 movs r3, r7 - 4811 00a4 0399 ldr r1, [sp, #12] - 4812 00a6 2000 movs r0, r4 - 4813 00a8 FFF7FEFF bl I2C_TransferConfig - 4814 .LVL397: -2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4815 .loc 1 2608 0 - 4816 00ac 4023 movs r3, #64 - 4817 00ae E654 strb r6, [r4, r3] -2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4818 .loc 1 2617 0 - 4819 00b0 0121 movs r1, #1 - 4820 00b2 2000 movs r0, r4 - 4821 00b4 FFF7FEFF bl I2C_Enable_IRQ - 4822 .LVL398: -2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4823 .loc 1 2619 0 - 4824 00b8 00E0 b .L326 - 4825 .LVL399: - 4826 .L332: -2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4827 .loc 1 2623 0 - 4828 00ba 0225 movs r5, #2 - 4829 .LVL400: - 4830 .L326: -2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4831 .loc 1 2625 0 - 4832 00bc 2800 movs r0, r5 - 4833 00be 07B0 add sp, sp, #28 - 4834 @ sp needed - 4835 .LVL401: - ARM GAS /tmp/ccFk2Nxo.s page 212 - - - 4836 00c0 F0BD pop {r4, r5, r6, r7, pc} - 4837 .LVL402: - 4838 .L333: -2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4839 .loc 1 2566 0 - 4840 00c2 0225 movs r5, #2 - 4841 00c4 FAE7 b .L326 - 4842 .L334: -2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4843 .loc 1 2570 0 - 4844 00c6 0225 movs r5, #2 - 4845 00c8 F8E7 b .L326 - 4846 .L336: - 4847 00ca C046 .align 2 - 4848 .L335: - 4849 00cc 0000FFFF .word -65536 - 4850 00d0 00000000 .word I2C_Master_ISR_IT - 4851 .cfi_endproc - 4852 .LFE58: - 4854 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits - 4855 .align 1 - 4856 .global HAL_I2C_Mem_Read_IT - 4857 .syntax unified - 4858 .code 16 - 4859 .thumb_func - 4860 .fpu softvfp - 4862 HAL_I2C_Mem_Read_IT: - 4863 .LFB59: -2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 4864 .loc 1 2640 0 - 4865 .cfi_startproc - 4866 @ args = 8, pretend = 0, frame = 16 - 4867 @ frame_needed = 0, uses_anonymous_args = 0 - 4868 .LVL403: - 4869 0000 F0B5 push {r4, r5, r6, r7, lr} - 4870 .LCFI39: - 4871 .cfi_def_cfa_offset 20 - 4872 .cfi_offset 4, -20 - 4873 .cfi_offset 5, -16 - 4874 .cfi_offset 6, -12 - 4875 .cfi_offset 7, -8 - 4876 .cfi_offset 14, -4 - 4877 0002 87B0 sub sp, sp, #28 - 4878 .LCFI40: - 4879 .cfi_def_cfa_offset 48 - 4880 0004 0600 movs r6, r0 - 4881 0006 0391 str r1, [sp, #12] - 4882 0008 0492 str r2, [sp, #16] - 4883 000a 0593 str r3, [sp, #20] - 4884 000c 0CAB add r3, sp, #48 - 4885 .LVL404: - 4886 000e 80CB ldmia r3!, {r7} - 4887 .LVL405: - 4888 0010 1D88 ldrh r5, [r3] -2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4889 .loc 1 2647 0 - 4890 0012 4123 movs r3, #65 - ARM GAS /tmp/ccFk2Nxo.s page 213 - - - 4891 .LVL406: - 4892 0014 C35C ldrb r3, [r0, r3] - 4893 0016 202B cmp r3, #32 - 4894 0018 50D1 bne .L344 -2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4895 .loc 1 2649 0 - 4896 001a 002F cmp r7, #0 - 4897 001c 33D0 beq .L339 -2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4898 .loc 1 2649 0 is_stmt 0 discriminator 1 - 4899 001e 002D cmp r5, #0 - 4900 0020 31D0 beq .L339 -2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4901 .loc 1 2655 0 is_stmt 1 - 4902 0022 0368 ldr r3, [r0] - 4903 0024 9B69 ldr r3, [r3, #24] - 4904 0026 1B04 lsls r3, r3, #16 - 4905 0028 4CD4 bmi .L345 -2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4906 .loc 1 2661 0 - 4907 002a 4023 movs r3, #64 - 4908 002c C35C ldrb r3, [r0, r3] - 4909 002e 012B cmp r3, #1 - 4910 0030 4AD0 beq .L346 -2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4911 .loc 1 2661 0 is_stmt 0 discriminator 2 - 4912 0032 4024 movs r4, #64 - 4913 0034 0123 movs r3, #1 - 4914 0036 0355 strb r3, [r0, r4] -2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4915 .loc 1 2664 0 is_stmt 1 discriminator 2 - 4916 0038 FFF7FEFF bl HAL_GetTick - 4917 .LVL407: -2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; - 4918 .loc 1 2666 0 discriminator 2 - 4919 003c 4123 movs r3, #65 - 4920 003e 2222 movs r2, #34 - 4921 0040 F254 strb r2, [r6, r3] -2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 4922 .loc 1 2667 0 discriminator 2 - 4923 0042 0133 adds r3, r3, #1 - 4924 0044 F454 strb r4, [r6, r3] -2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4925 .loc 1 2668 0 discriminator 2 - 4926 0046 0023 movs r3, #0 - 4927 0048 7364 str r3, [r6, #68] -2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 4928 .loc 1 2671 0 discriminator 2 - 4929 004a 7762 str r7, [r6, #36] -2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 4930 .loc 1 2672 0 discriminator 2 - 4931 004c 7585 strh r5, [r6, #42] -2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; - 4932 .loc 1 2673 0 discriminator 2 - 4933 004e 1F4B ldr r3, .L347 - 4934 0050 F362 str r3, [r6, #44] -2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 214 - - - 4935 .loc 1 2674 0 discriminator 2 - 4936 0052 1F4B ldr r3, .L347+4 - 4937 0054 7363 str r3, [r6, #52] -2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4938 .loc 1 2676 0 discriminator 2 - 4939 0056 738D ldrh r3, [r6, #42] - 4940 0058 9BB2 uxth r3, r3 - 4941 005a FF2B cmp r3, #255 - 4942 005c 18D9 bls .L341 -2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 4943 .loc 1 2678 0 - 4944 005e FF23 movs r3, #255 - 4945 0060 3385 strh r3, [r6, #40] - 4946 .LVL408: -2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4947 .loc 1 2679 0 - 4948 0062 8027 movs r7, #128 - 4949 0064 7F04 lsls r7, r7, #17 - 4950 .LVL409: - 4951 .L342: -2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 4952 .loc 1 2688 0 - 4953 0066 0190 str r0, [sp, #4] - 4954 0068 1923 movs r3, #25 - 4955 006a 0093 str r3, [sp] - 4956 006c 059B ldr r3, [sp, #20] - 4957 006e 049A ldr r2, [sp, #16] - 4958 0070 0399 ldr r1, [sp, #12] - 4959 0072 3000 movs r0, r6 - 4960 .LVL410: - 4961 0074 FFF7FEFF bl I2C_RequestMemoryRead - 4962 .LVL411: - 4963 0078 051E subs r5, r0, #0 - 4964 007a 0ED0 beq .L343 -2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4965 .loc 1 2691 0 - 4966 007c 4023 movs r3, #64 - 4967 007e 0022 movs r2, #0 - 4968 0080 F254 strb r2, [r6, r3] -2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4969 .loc 1 2692 0 - 4970 0082 0125 movs r5, #1 - 4971 0084 1BE0 b .L338 - 4972 .LVL412: - 4973 .L339: -2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 4974 .loc 1 2651 0 - 4975 0086 8023 movs r3, #128 - 4976 0088 9B00 lsls r3, r3, #2 - 4977 008a 7364 str r3, [r6, #68] -2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4978 .loc 1 2652 0 - 4979 008c 0125 movs r5, #1 - 4980 008e 16E0 b .L338 - 4981 .LVL413: - 4982 .L341: -2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - ARM GAS /tmp/ccFk2Nxo.s page 215 - - - 4983 .loc 1 2683 0 - 4984 0090 738D ldrh r3, [r6, #42] - 4985 0092 3385 strh r3, [r6, #40] - 4986 .LVL414: -2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 4987 .loc 1 2684 0 - 4988 0094 8027 movs r7, #128 - 4989 0096 BF04 lsls r7, r7, #18 - 4990 0098 E5E7 b .L342 - 4991 .LVL415: - 4992 .L343: -2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 4993 .loc 1 2696 0 - 4994 009a 328D ldrh r2, [r6, #40] - 4995 009c D2B2 uxtb r2, r2 - 4996 009e 0D4B ldr r3, .L347+8 - 4997 00a0 0093 str r3, [sp] - 4998 00a2 3B00 movs r3, r7 - 4999 00a4 0399 ldr r1, [sp, #12] - 5000 00a6 3000 movs r0, r6 - 5001 00a8 FFF7FEFF bl I2C_TransferConfig - 5002 .LVL416: -2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5003 .loc 1 2699 0 - 5004 00ac 4023 movs r3, #64 - 5005 00ae 0022 movs r2, #0 - 5006 00b0 F254 strb r2, [r6, r3] -2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5007 .loc 1 2708 0 - 5008 00b2 0221 movs r1, #2 - 5009 00b4 3000 movs r0, r6 - 5010 00b6 FFF7FEFF bl I2C_Enable_IRQ - 5011 .LVL417: -2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5012 .loc 1 2710 0 - 5013 00ba 00E0 b .L338 - 5014 .LVL418: - 5015 .L344: -2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5016 .loc 1 2714 0 - 5017 00bc 0225 movs r5, #2 - 5018 .LVL419: - 5019 .L338: -2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** - 5020 .loc 1 2716 0 - 5021 00be 2800 movs r0, r5 - 5022 00c0 07B0 add sp, sp, #28 - 5023 @ sp needed - 5024 .LVL420: - 5025 00c2 F0BD pop {r4, r5, r6, r7, pc} - 5026 .LVL421: - 5027 .L345: -2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5028 .loc 1 2657 0 - 5029 00c4 0225 movs r5, #2 - 5030 00c6 FAE7 b .L338 - 5031 .L346: - ARM GAS /tmp/ccFk2Nxo.s page 216 - - -2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5032 .loc 1 2661 0 - 5033 00c8 0225 movs r5, #2 - 5034 00ca F8E7 b .L338 - 5035 .L348: - 5036 .align 2 - 5037 .L347: - 5038 00cc 0000FFFF .word -65536 - 5039 00d0 00000000 .word I2C_Master_ISR_IT - 5040 00d4 00240080 .word -2147474432 - 5041 .cfi_endproc - 5042 .LFE59: - 5044 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits - 5045 .align 1 - 5046 .global HAL_I2C_Mem_Write_DMA - 5047 .syntax unified - 5048 .code 16 - 5049 .thumb_func - 5050 .fpu softvfp - 5052 HAL_I2C_Mem_Write_DMA: - 5053 .LFB60: -2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 5054 .loc 1 2730 0 - 5055 .cfi_startproc - 5056 @ args = 8, pretend = 0, frame = 16 - 5057 @ frame_needed = 0, uses_anonymous_args = 0 - 5058 .LVL422: - 5059 0000 F0B5 push {r4, r5, r6, r7, lr} - 5060 .LCFI41: - 5061 .cfi_def_cfa_offset 20 - 5062 .cfi_offset 4, -20 - 5063 .cfi_offset 5, -16 - 5064 .cfi_offset 6, -12 - 5065 .cfi_offset 7, -8 - 5066 .cfi_offset 14, -4 - 5067 0002 CE46 mov lr, r9 - 5068 0004 00B5 push {lr} - 5069 .LCFI42: - 5070 .cfi_def_cfa_offset 24 - 5071 .cfi_offset 9, -24 - 5072 0006 86B0 sub sp, sp, #24 - 5073 .LCFI43: - 5074 .cfi_def_cfa_offset 48 - 5075 0008 0400 movs r4, r0 - 5076 000a 0391 str r1, [sp, #12] - 5077 000c 0492 str r2, [sp, #16] - 5078 000e 0593 str r3, [sp, #20] - 5079 0010 0CAB add r3, sp, #48 - 5080 .LVL423: - 5081 0012 40CB ldmia r3!, {r6} - 5082 .LVL424: - 5083 0014 1F88 ldrh r7, [r3] -2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5084 .loc 1 2738 0 - 5085 0016 4123 movs r3, #65 - 5086 .LVL425: - 5087 0018 C35C ldrb r3, [r0, r3] - ARM GAS /tmp/ccFk2Nxo.s page 217 - - - 5088 001a 202B cmp r3, #32 - 5089 001c 00D0 beq .LCB5149 - 5090 001e 90E0 b .L359 @long jump - 5091 .LCB5149: -2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5092 .loc 1 2740 0 - 5093 0020 002E cmp r6, #0 - 5094 0022 55D0 beq .L351 -2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5095 .loc 1 2740 0 is_stmt 0 discriminator 1 - 5096 0024 002F cmp r7, #0 - 5097 0026 53D0 beq .L351 -2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5098 .loc 1 2746 0 is_stmt 1 - 5099 0028 0368 ldr r3, [r0] - 5100 002a 9B69 ldr r3, [r3, #24] - 5101 002c 1B04 lsls r3, r3, #16 - 5102 002e 00D5 bpl .LCB5159 - 5103 0030 8DE0 b .L360 @long jump - 5104 .LCB5159: -2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5105 .loc 1 2752 0 - 5106 0032 4023 movs r3, #64 - 5107 0034 C35C ldrb r3, [r0, r3] - 5108 0036 012B cmp r3, #1 - 5109 0038 00D1 bne .LCB5163 - 5110 003a 8AE0 b .L361 @long jump - 5111 .LCB5163: -2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5112 .loc 1 2752 0 is_stmt 0 discriminator 2 - 5113 003c 4025 movs r5, #64 - 5114 003e 0123 movs r3, #1 - 5115 0040 4355 strb r3, [r0, r5] -2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5116 .loc 1 2755 0 is_stmt 1 discriminator 2 - 5117 0042 FFF7FEFF bl HAL_GetTick - 5118 .LVL426: -2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; - 5119 .loc 1 2757 0 discriminator 2 - 5120 0046 4123 movs r3, #65 - 5121 0048 2122 movs r2, #33 - 5122 004a E254 strb r2, [r4, r3] -2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 5123 .loc 1 2758 0 discriminator 2 - 5124 004c 0133 adds r3, r3, #1 - 5125 004e E554 strb r5, [r4, r3] -2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5126 .loc 1 2759 0 discriminator 2 - 5127 0050 0023 movs r3, #0 - 5128 0052 6364 str r3, [r4, #68] -2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 5129 .loc 1 2762 0 discriminator 2 - 5130 0054 6662 str r6, [r4, #36] -2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 5131 .loc 1 2763 0 discriminator 2 - 5132 0056 6785 strh r7, [r4, #42] -2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; - ARM GAS /tmp/ccFk2Nxo.s page 218 - - - 5133 .loc 1 2764 0 discriminator 2 - 5134 0058 3F4B ldr r3, .L365 - 5135 005a E362 str r3, [r4, #44] -2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5136 .loc 1 2765 0 discriminator 2 - 5137 005c 3F4B ldr r3, .L365+4 - 5138 005e 6363 str r3, [r4, #52] -2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5139 .loc 1 2767 0 discriminator 2 - 5140 0060 638D ldrh r3, [r4, #42] - 5141 0062 9BB2 uxth r3, r3 - 5142 0064 FF2B cmp r3, #255 - 5143 0066 38D9 bls .L353 -2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 5144 .loc 1 2769 0 - 5145 0068 FF23 movs r3, #255 - 5146 006a 2385 strh r3, [r4, #40] - 5147 .LVL427: -2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5148 .loc 1 2770 0 - 5149 006c 8023 movs r3, #128 - 5150 006e 5B04 lsls r3, r3, #17 - 5151 0070 9946 mov r9, r3 - 5152 .LVL428: - 5153 .L354: -2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5154 .loc 1 2779 0 - 5155 0072 0190 str r0, [sp, #4] - 5156 0074 1923 movs r3, #25 - 5157 0076 0093 str r3, [sp] - 5158 0078 059B ldr r3, [sp, #20] - 5159 007a 049A ldr r2, [sp, #16] - 5160 007c 0399 ldr r1, [sp, #12] - 5161 007e 2000 movs r0, r4 - 5162 .LVL429: - 5163 0080 FFF7FEFF bl I2C_RequestMemoryWrite - 5164 .LVL430: - 5165 0084 0028 cmp r0, #0 - 5166 0086 2ED1 bne .L363 -2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5167 .loc 1 2787 0 - 5168 0088 A36B ldr r3, [r4, #56] - 5169 008a 002B cmp r3, #0 - 5170 008c 30D0 beq .L356 -2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5171 .loc 1 2790 0 - 5172 008e 344A ldr r2, .L365+8 - 5173 0090 9A62 str r2, [r3, #40] -2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5174 .loc 1 2793 0 - 5175 0092 A36B ldr r3, [r4, #56] - 5176 0094 334A ldr r2, .L365+12 - 5177 0096 1A63 str r2, [r3, #48] -2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; - 5178 .loc 1 2796 0 - 5179 0098 A26B ldr r2, [r4, #56] - 5180 009a 0023 movs r3, #0 - ARM GAS /tmp/ccFk2Nxo.s page 219 - - - 5181 009c D362 str r3, [r2, #44] -2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5182 .loc 1 2797 0 - 5183 009e A26B ldr r2, [r4, #56] - 5184 00a0 5363 str r3, [r2, #52] -2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5185 .loc 1 2800 0 - 5186 00a2 2268 ldr r2, [r4] - 5187 00a4 2832 adds r2, r2, #40 - 5188 00a6 238D ldrh r3, [r4, #40] - 5189 00a8 3100 movs r1, r6 - 5190 00aa A06B ldr r0, [r4, #56] - 5191 00ac FFF7FEFF bl HAL_DMA_Start_IT - 5192 .LVL431: - 5193 00b0 061E subs r6, r0, #0 - 5194 .LVL432: -2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5195 .loc 1 2817 0 - 5196 00b2 2BD0 beq .L364 -2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 5197 .loc 1 2841 0 - 5198 00b4 4123 movs r3, #65 - 5199 00b6 2022 movs r2, #32 - 5200 00b8 E254 strb r2, [r4, r3] -2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5201 .loc 1 2842 0 - 5202 00ba 0022 movs r2, #0 - 5203 00bc 0133 adds r3, r3, #1 - 5204 00be E254 strb r2, [r4, r3] -2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5205 .loc 1 2845 0 - 5206 00c0 636C ldr r3, [r4, #68] - 5207 00c2 1021 movs r1, #16 - 5208 00c4 0B43 orrs r3, r1 - 5209 00c6 6364 str r3, [r4, #68] -2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5210 .loc 1 2848 0 - 5211 00c8 4023 movs r3, #64 - 5212 00ca E254 strb r2, [r4, r3] -2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5213 .loc 1 2850 0 - 5214 00cc 0126 movs r6, #1 - 5215 00ce 39E0 b .L350 - 5216 .LVL433: - 5217 .L351: -2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 5218 .loc 1 2742 0 - 5219 00d0 8023 movs r3, #128 - 5220 00d2 9B00 lsls r3, r3, #2 - 5221 00d4 6364 str r3, [r4, #68] -2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5222 .loc 1 2743 0 - 5223 00d6 0126 movs r6, #1 - 5224 00d8 34E0 b .L350 - 5225 .LVL434: - 5226 .L353: -2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - ARM GAS /tmp/ccFk2Nxo.s page 220 - - - 5227 .loc 1 2774 0 - 5228 00da 638D ldrh r3, [r4, #42] - 5229 00dc 2385 strh r3, [r4, #40] - 5230 .LVL435: -2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5231 .loc 1 2775 0 - 5232 00de 8023 movs r3, #128 - 5233 00e0 9B04 lsls r3, r3, #18 - 5234 00e2 9946 mov r9, r3 - 5235 00e4 C5E7 b .L354 - 5236 .LVL436: - 5237 .L363: -2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 5238 .loc 1 2782 0 - 5239 00e6 4023 movs r3, #64 - 5240 00e8 0022 movs r2, #0 - 5241 00ea E254 strb r2, [r4, r3] -2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5242 .loc 1 2783 0 - 5243 00ec 0126 movs r6, #1 - 5244 00ee 29E0 b .L350 - 5245 .L356: -2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 5246 .loc 1 2805 0 - 5247 00f0 4123 movs r3, #65 - 5248 00f2 2022 movs r2, #32 - 5249 00f4 E254 strb r2, [r4, r3] -2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5250 .loc 1 2806 0 - 5251 00f6 0022 movs r2, #0 - 5252 00f8 0133 adds r3, r3, #1 - 5253 00fa E254 strb r2, [r4, r3] -2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5254 .loc 1 2809 0 - 5255 00fc 636C ldr r3, [r4, #68] - 5256 00fe 8021 movs r1, #128 - 5257 0100 0B43 orrs r3, r1 - 5258 0102 6364 str r3, [r4, #68] -2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5259 .loc 1 2812 0 - 5260 0104 4023 movs r3, #64 - 5261 0106 E254 strb r2, [r4, r3] -2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5262 .loc 1 2814 0 - 5263 0108 0126 movs r6, #1 - 5264 010a 1BE0 b .L350 - 5265 .LVL437: - 5266 .L364: -2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5267 .loc 1 2821 0 - 5268 010c 228D ldrh r2, [r4, #40] - 5269 010e D2B2 uxtb r2, r2 - 5270 0110 0027 movs r7, #0 - 5271 0112 0097 str r7, [sp] - 5272 0114 4B46 mov r3, r9 - 5273 0116 0399 ldr r1, [sp, #12] - 5274 0118 2000 movs r0, r4 - ARM GAS /tmp/ccFk2Nxo.s page 221 - - - 5275 .LVL438: - 5276 011a FFF7FEFF bl I2C_TransferConfig - 5277 .LVL439: -2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5278 .loc 1 2824 0 - 5279 011e 638D ldrh r3, [r4, #42] - 5280 0120 228D ldrh r2, [r4, #40] - 5281 0122 9B1A subs r3, r3, r2 - 5282 0124 9BB2 uxth r3, r3 - 5283 0126 6385 strh r3, [r4, #42] -2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5284 .loc 1 2827 0 - 5285 0128 4023 movs r3, #64 - 5286 012a E754 strb r7, [r4, r3] -2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5287 .loc 1 2833 0 - 5288 012c 1121 movs r1, #17 - 5289 012e 2000 movs r0, r4 - 5290 0130 FFF7FEFF bl I2C_Enable_IRQ - 5291 .LVL440: -2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5292 .loc 1 2836 0 - 5293 0134 2268 ldr r2, [r4] - 5294 0136 1168 ldr r1, [r2] - 5295 0138 8023 movs r3, #128 - 5296 013a DB01 lsls r3, r3, #7 - 5297 013c 0B43 orrs r3, r1 - 5298 013e 1360 str r3, [r2] -2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5299 .loc 1 2853 0 - 5300 0140 00E0 b .L350 - 5301 .LVL441: - 5302 .L359: -2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5303 .loc 1 2857 0 - 5304 0142 0226 movs r6, #2 - 5305 .LVL442: - 5306 .L350: -2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5307 .loc 1 2859 0 - 5308 0144 3000 movs r0, r6 - 5309 0146 06B0 add sp, sp, #24 - 5310 @ sp needed - 5311 .LVL443: - 5312 0148 04BC pop {r2} - 5313 014a 9146 mov r9, r2 - 5314 014c F0BD pop {r4, r5, r6, r7, pc} - 5315 .LVL444: - 5316 .L360: -2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5317 .loc 1 2748 0 - 5318 014e 0226 movs r6, #2 - 5319 0150 F8E7 b .L350 - 5320 .L361: -2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5321 .loc 1 2752 0 - 5322 0152 0226 movs r6, #2 - ARM GAS /tmp/ccFk2Nxo.s page 222 - - - 5323 0154 F6E7 b .L350 - 5324 .L366: - 5325 0156 C046 .align 2 - 5326 .L365: - 5327 0158 0000FFFF .word -65536 - 5328 015c 00000000 .word I2C_Master_ISR_DMA - 5329 0160 00000000 .word I2C_DMAMasterTransmitCplt - 5330 0164 00000000 .word I2C_DMAError - 5331 .cfi_endproc - 5332 .LFE60: - 5334 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits - 5335 .align 1 - 5336 .global HAL_I2C_Mem_Read_DMA - 5337 .syntax unified - 5338 .code 16 - 5339 .thumb_func - 5340 .fpu softvfp - 5342 HAL_I2C_Mem_Read_DMA: - 5343 .LFB61: -2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 5344 .loc 1 2874 0 - 5345 .cfi_startproc - 5346 @ args = 8, pretend = 0, frame = 16 - 5347 @ frame_needed = 0, uses_anonymous_args = 0 - 5348 .LVL445: - 5349 0000 F0B5 push {r4, r5, r6, r7, lr} - 5350 .LCFI44: - 5351 .cfi_def_cfa_offset 20 - 5352 .cfi_offset 4, -20 - 5353 .cfi_offset 5, -16 - 5354 .cfi_offset 6, -12 - 5355 .cfi_offset 7, -8 - 5356 .cfi_offset 14, -4 - 5357 0002 CE46 mov lr, r9 - 5358 0004 00B5 push {lr} - 5359 .LCFI45: - 5360 .cfi_def_cfa_offset 24 - 5361 .cfi_offset 9, -24 - 5362 0006 86B0 sub sp, sp, #24 - 5363 .LCFI46: - 5364 .cfi_def_cfa_offset 48 - 5365 0008 0400 movs r4, r0 - 5366 000a 0391 str r1, [sp, #12] - 5367 000c 0492 str r2, [sp, #16] - 5368 000e 0593 str r3, [sp, #20] - 5369 0010 0CAB add r3, sp, #48 - 5370 .LVL446: - 5371 0012 40CB ldmia r3!, {r6} - 5372 .LVL447: - 5373 0014 1F88 ldrh r7, [r3] -2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5374 .loc 1 2882 0 - 5375 0016 4123 movs r3, #65 - 5376 .LVL448: - 5377 0018 C35C ldrb r3, [r0, r3] - 5378 001a 202B cmp r3, #32 - 5379 001c 00D0 beq .LCB5451 - ARM GAS /tmp/ccFk2Nxo.s page 223 - - - 5380 001e 91E0 b .L377 @long jump - 5381 .LCB5451: -2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5382 .loc 1 2884 0 - 5383 0020 002E cmp r6, #0 - 5384 0022 55D0 beq .L369 -2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5385 .loc 1 2884 0 is_stmt 0 discriminator 1 - 5386 0024 002F cmp r7, #0 - 5387 0026 53D0 beq .L369 -2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5388 .loc 1 2890 0 is_stmt 1 - 5389 0028 0368 ldr r3, [r0] - 5390 002a 9B69 ldr r3, [r3, #24] - 5391 002c 1B04 lsls r3, r3, #16 - 5392 002e 00D5 bpl .LCB5461 - 5393 0030 8EE0 b .L378 @long jump - 5394 .LCB5461: -2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5395 .loc 1 2896 0 - 5396 0032 4023 movs r3, #64 - 5397 0034 C35C ldrb r3, [r0, r3] - 5398 0036 012B cmp r3, #1 - 5399 0038 00D1 bne .LCB5465 - 5400 003a 8BE0 b .L379 @long jump - 5401 .LCB5465: -2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5402 .loc 1 2896 0 is_stmt 0 discriminator 2 - 5403 003c 4025 movs r5, #64 - 5404 003e 0123 movs r3, #1 - 5405 0040 4355 strb r3, [r0, r5] -2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5406 .loc 1 2899 0 is_stmt 1 discriminator 2 - 5407 0042 FFF7FEFF bl HAL_GetTick - 5408 .LVL449: -2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; - 5409 .loc 1 2901 0 discriminator 2 - 5410 0046 4123 movs r3, #65 - 5411 0048 2222 movs r2, #34 - 5412 004a E254 strb r2, [r4, r3] -2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 5413 .loc 1 2902 0 discriminator 2 - 5414 004c 0133 adds r3, r3, #1 - 5415 004e E554 strb r5, [r4, r3] -2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5416 .loc 1 2903 0 discriminator 2 - 5417 0050 0023 movs r3, #0 - 5418 0052 6364 str r3, [r4, #68] -2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 5419 .loc 1 2906 0 discriminator 2 - 5420 0054 6662 str r6, [r4, #36] -2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 5421 .loc 1 2907 0 discriminator 2 - 5422 0056 6785 strh r7, [r4, #42] -2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; - 5423 .loc 1 2908 0 discriminator 2 - 5424 0058 3F4B ldr r3, .L383 - ARM GAS /tmp/ccFk2Nxo.s page 224 - - - 5425 005a E362 str r3, [r4, #44] -2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5426 .loc 1 2909 0 discriminator 2 - 5427 005c 3F4B ldr r3, .L383+4 - 5428 005e 6363 str r3, [r4, #52] -2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5429 .loc 1 2911 0 discriminator 2 - 5430 0060 638D ldrh r3, [r4, #42] - 5431 0062 9BB2 uxth r3, r3 - 5432 0064 FF2B cmp r3, #255 - 5433 0066 38D9 bls .L371 -2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 5434 .loc 1 2913 0 - 5435 0068 FF23 movs r3, #255 - 5436 006a 2385 strh r3, [r4, #40] - 5437 .LVL450: -2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5438 .loc 1 2914 0 - 5439 006c 8023 movs r3, #128 - 5440 006e 5B04 lsls r3, r3, #17 - 5441 0070 9946 mov r9, r3 - 5442 .LVL451: - 5443 .L372: -2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5444 .loc 1 2923 0 - 5445 0072 0190 str r0, [sp, #4] - 5446 0074 1923 movs r3, #25 - 5447 0076 0093 str r3, [sp] - 5448 0078 059B ldr r3, [sp, #20] - 5449 007a 049A ldr r2, [sp, #16] - 5450 007c 0399 ldr r1, [sp, #12] - 5451 007e 2000 movs r0, r4 - 5452 .LVL452: - 5453 0080 FFF7FEFF bl I2C_RequestMemoryRead - 5454 .LVL453: - 5455 0084 0028 cmp r0, #0 - 5456 0086 2ED1 bne .L381 -2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5457 .loc 1 2930 0 - 5458 0088 E36B ldr r3, [r4, #60] - 5459 008a 002B cmp r3, #0 - 5460 008c 30D0 beq .L374 -2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5461 .loc 1 2933 0 - 5462 008e 344A ldr r2, .L383+8 - 5463 0090 9A62 str r2, [r3, #40] -2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5464 .loc 1 2936 0 - 5465 0092 E36B ldr r3, [r4, #60] - 5466 0094 334A ldr r2, .L383+12 - 5467 0096 1A63 str r2, [r3, #48] -2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; - 5468 .loc 1 2939 0 - 5469 0098 E26B ldr r2, [r4, #60] - 5470 009a 0023 movs r3, #0 - 5471 009c D362 str r3, [r2, #44] -2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 225 - - - 5472 .loc 1 2940 0 - 5473 009e E26B ldr r2, [r4, #60] - 5474 00a0 5363 str r3, [r2, #52] -2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5475 .loc 1 2943 0 - 5476 00a2 2168 ldr r1, [r4] - 5477 00a4 2431 adds r1, r1, #36 - 5478 00a6 238D ldrh r3, [r4, #40] - 5479 00a8 3200 movs r2, r6 - 5480 00aa E06B ldr r0, [r4, #60] - 5481 00ac FFF7FEFF bl HAL_DMA_Start_IT - 5482 .LVL454: - 5483 00b0 061E subs r6, r0, #0 - 5484 .LVL455: -2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5485 .loc 1 2960 0 - 5486 00b2 2BD0 beq .L382 -2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 5487 .loc 1 2983 0 - 5488 00b4 4123 movs r3, #65 - 5489 00b6 2022 movs r2, #32 - 5490 00b8 E254 strb r2, [r4, r3] -2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5491 .loc 1 2984 0 - 5492 00ba 0022 movs r2, #0 - 5493 00bc 0133 adds r3, r3, #1 - 5494 00be E254 strb r2, [r4, r3] -2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5495 .loc 1 2987 0 - 5496 00c0 636C ldr r3, [r4, #68] - 5497 00c2 1021 movs r1, #16 - 5498 00c4 0B43 orrs r3, r1 - 5499 00c6 6364 str r3, [r4, #68] -2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5500 .loc 1 2990 0 - 5501 00c8 4023 movs r3, #64 - 5502 00ca E254 strb r2, [r4, r3] -2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5503 .loc 1 2992 0 - 5504 00cc 0126 movs r6, #1 - 5505 00ce 3AE0 b .L368 - 5506 .LVL456: - 5507 .L369: -2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 5508 .loc 1 2886 0 - 5509 00d0 8023 movs r3, #128 - 5510 00d2 9B00 lsls r3, r3, #2 - 5511 00d4 6364 str r3, [r4, #68] -2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5512 .loc 1 2887 0 - 5513 00d6 0126 movs r6, #1 - 5514 00d8 35E0 b .L368 - 5515 .LVL457: - 5516 .L371: -2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; - 5517 .loc 1 2918 0 - 5518 00da 638D ldrh r3, [r4, #42] - ARM GAS /tmp/ccFk2Nxo.s page 226 - - - 5519 00dc 2385 strh r3, [r4, #40] - 5520 .LVL458: -2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5521 .loc 1 2919 0 - 5522 00de 8023 movs r3, #128 - 5523 00e0 9B04 lsls r3, r3, #18 - 5524 00e2 9946 mov r9, r3 - 5525 00e4 C5E7 b .L372 - 5526 .LVL459: - 5527 .L381: -2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 5528 .loc 1 2926 0 - 5529 00e6 4023 movs r3, #64 - 5530 00e8 0022 movs r2, #0 - 5531 00ea E254 strb r2, [r4, r3] -2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5532 .loc 1 2927 0 - 5533 00ec 0126 movs r6, #1 - 5534 00ee 2AE0 b .L368 - 5535 .L374: -2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 5536 .loc 1 2948 0 - 5537 00f0 4123 movs r3, #65 - 5538 00f2 2022 movs r2, #32 - 5539 00f4 E254 strb r2, [r4, r3] -2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5540 .loc 1 2949 0 - 5541 00f6 0022 movs r2, #0 - 5542 00f8 0133 adds r3, r3, #1 - 5543 00fa E254 strb r2, [r4, r3] -2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5544 .loc 1 2952 0 - 5545 00fc 636C ldr r3, [r4, #68] - 5546 00fe 8021 movs r1, #128 - 5547 0100 0B43 orrs r3, r1 - 5548 0102 6364 str r3, [r4, #68] -2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5549 .loc 1 2955 0 - 5550 0104 4023 movs r3, #64 - 5551 0106 E254 strb r2, [r4, r3] -2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5552 .loc 1 2957 0 - 5553 0108 0126 movs r6, #1 - 5554 010a 1CE0 b .L368 - 5555 .LVL460: - 5556 .L382: -2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5557 .loc 1 2963 0 - 5558 010c 228D ldrh r2, [r4, #40] - 5559 010e D2B2 uxtb r2, r2 - 5560 0110 154B ldr r3, .L383+16 - 5561 0112 0093 str r3, [sp] - 5562 0114 4B46 mov r3, r9 - 5563 0116 0399 ldr r1, [sp, #12] - 5564 0118 2000 movs r0, r4 - 5565 .LVL461: - 5566 011a FFF7FEFF bl I2C_TransferConfig - ARM GAS /tmp/ccFk2Nxo.s page 227 - - - 5567 .LVL462: -2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5568 .loc 1 2966 0 - 5569 011e 638D ldrh r3, [r4, #42] - 5570 0120 228D ldrh r2, [r4, #40] - 5571 0122 9B1A subs r3, r3, r2 - 5572 0124 9BB2 uxth r3, r3 - 5573 0126 6385 strh r3, [r4, #42] -2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5574 .loc 1 2969 0 - 5575 0128 4023 movs r3, #64 - 5576 012a 0022 movs r2, #0 - 5577 012c E254 strb r2, [r4, r3] -2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5578 .loc 1 2975 0 - 5579 012e 1121 movs r1, #17 - 5580 0130 2000 movs r0, r4 - 5581 0132 FFF7FEFF bl I2C_Enable_IRQ - 5582 .LVL463: -2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5583 .loc 1 2978 0 - 5584 0136 2268 ldr r2, [r4] - 5585 0138 1168 ldr r1, [r2] - 5586 013a 8023 movs r3, #128 - 5587 013c 1B02 lsls r3, r3, #8 - 5588 013e 0B43 orrs r3, r1 - 5589 0140 1360 str r3, [r2] -2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5590 .loc 1 2995 0 - 5591 0142 00E0 b .L368 - 5592 .LVL464: - 5593 .L377: -2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5594 .loc 1 2999 0 - 5595 0144 0226 movs r6, #2 - 5596 .LVL465: - 5597 .L368: -3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5598 .loc 1 3001 0 - 5599 0146 3000 movs r0, r6 - 5600 0148 06B0 add sp, sp, #24 - 5601 @ sp needed - 5602 .LVL466: - 5603 014a 04BC pop {r2} - 5604 014c 9146 mov r9, r2 - 5605 014e F0BD pop {r4, r5, r6, r7, pc} - 5606 .LVL467: - 5607 .L378: -2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5608 .loc 1 2892 0 - 5609 0150 0226 movs r6, #2 - 5610 0152 F8E7 b .L368 - 5611 .L379: -2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5612 .loc 1 2896 0 - 5613 0154 0226 movs r6, #2 - 5614 0156 F6E7 b .L368 - ARM GAS /tmp/ccFk2Nxo.s page 228 - - - 5615 .L384: - 5616 .align 2 - 5617 .L383: - 5618 0158 0000FFFF .word -65536 - 5619 015c 00000000 .word I2C_Master_ISR_DMA - 5620 0160 00000000 .word I2C_DMAMasterReceiveCplt - 5621 0164 00000000 .word I2C_DMAError - 5622 0168 00240080 .word -2147474432 - 5623 .cfi_endproc - 5624 .LFE61: - 5626 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits - 5627 .align 1 - 5628 .global HAL_I2C_IsDeviceReady - 5629 .syntax unified - 5630 .code 16 - 5631 .thumb_func - 5632 .fpu softvfp - 5634 HAL_I2C_IsDeviceReady: - 5635 .LFB62: -3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart; - 5636 .loc 1 3015 0 - 5637 .cfi_startproc - 5638 @ args = 0, pretend = 0, frame = 16 - 5639 @ frame_needed = 0, uses_anonymous_args = 0 - 5640 .LVL468: - 5641 0000 F0B5 push {r4, r5, r6, r7, lr} - 5642 .LCFI47: - 5643 .cfi_def_cfa_offset 20 - 5644 .cfi_offset 4, -20 - 5645 .cfi_offset 5, -16 - 5646 .cfi_offset 6, -12 - 5647 .cfi_offset 7, -8 - 5648 .cfi_offset 14, -4 - 5649 0002 87B0 sub sp, sp, #28 - 5650 .LCFI48: - 5651 .cfi_def_cfa_offset 48 - 5652 0004 0600 movs r6, r0 - 5653 0006 0391 str r1, [sp, #12] - 5654 0008 1500 movs r5, r2 - 5655 000a 1F00 movs r7, r3 -3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5656 .loc 1 3018 0 - 5657 000c 0023 movs r3, #0 - 5658 .LVL469: - 5659 000e 0593 str r3, [sp, #20] -3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5660 .loc 1 3023 0 - 5661 0010 4133 adds r3, r3, #65 - 5662 0012 C35C ldrb r3, [r0, r3] - 5663 0014 202B cmp r3, #32 - 5664 0016 00D0 beq .LCB5741 - 5665 0018 A2E0 b .L396 @long jump - 5666 .LCB5741: -3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5667 .loc 1 3025 0 - 5668 001a 0368 ldr r3, [r0] - 5669 001c 9B69 ldr r3, [r3, #24] - ARM GAS /tmp/ccFk2Nxo.s page 229 - - - 5670 001e 1B04 lsls r3, r3, #16 - 5671 0020 00D5 bpl .LCB5747 - 5672 0022 A0E0 b .L397 @long jump - 5673 .LCB5747: -3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5674 .loc 1 3031 0 - 5675 0024 4023 movs r3, #64 - 5676 0026 C35C ldrb r3, [r0, r3] - 5677 0028 012B cmp r3, #1 - 5678 002a 00D1 bne .LCB5751 - 5679 002c 9DE0 b .L398 @long jump - 5680 .LCB5751: -3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5681 .loc 1 3031 0 is_stmt 0 discriminator 2 - 5682 002e 4023 movs r3, #64 - 5683 0030 0122 movs r2, #1 - 5684 .LVL470: - 5685 0032 C254 strb r2, [r0, r3] -3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 5686 .loc 1 3033 0 is_stmt 1 discriminator 2 - 5687 0034 0133 adds r3, r3, #1 - 5688 0036 2332 adds r2, r2, #35 - 5689 0038 C254 strb r2, [r0, r3] -3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5690 .loc 1 3034 0 discriminator 2 - 5691 003a 0023 movs r3, #0 - 5692 003c 4364 str r3, [r0, #68] - 5693 .LVL471: - 5694 .L395: -3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5695 .loc 1 3039 0 - 5696 003e F368 ldr r3, [r6, #12] - 5697 0040 012B cmp r3, #1 - 5698 0042 18D0 beq .L402 -3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5699 .loc 1 3039 0 is_stmt 0 discriminator 2 - 5700 0044 039B ldr r3, [sp, #12] - 5701 0046 9A05 lsls r2, r3, #22 - 5702 0048 920D lsrs r2, r2, #22 - 5703 004a A023 movs r3, #160 - 5704 004c 9B01 lsls r3, r3, #6 - 5705 004e 1343 orrs r3, r2 - 5706 .L388: -3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5707 .loc 1 3039 0 discriminator 4 - 5708 0050 3268 ldr r2, [r6] - 5709 0052 5360 str r3, [r2, #4] -3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5710 .loc 1 3043 0 is_stmt 1 discriminator 4 - 5711 0054 FFF7FEFF bl HAL_GetTick - 5712 .LVL472: - 5713 0058 0400 movs r4, r0 - 5714 .LVL473: -3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); - 5715 .loc 1 3045 0 discriminator 4 - 5716 005a 3268 ldr r2, [r6] - 5717 005c 9169 ldr r1, [r2, #24] - ARM GAS /tmp/ccFk2Nxo.s page 230 - - - 5718 005e 2023 movs r3, #32 - 5719 0060 0B40 ands r3, r1 - 5720 0062 591E subs r1, r3, #1 - 5721 0064 8B41 sbcs r3, r3, r1 - 5722 0066 D9B2 uxtb r1, r3 - 5723 .LVL474: -3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5724 .loc 1 3046 0 discriminator 4 - 5725 0068 9369 ldr r3, [r2, #24] - 5726 006a 1022 movs r2, #16 - 5727 006c 1A40 ands r2, r3 - 5728 006e 531E subs r3, r2, #1 - 5729 0070 9A41 sbcs r2, r2, r3 - 5730 0072 D3B2 uxtb r3, r2 - 5731 .LVL475: -3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5732 .loc 1 3048 0 discriminator 4 - 5733 0074 12E0 b .L389 - 5734 .LVL476: - 5735 .L402: -3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5736 .loc 1 3039 0 discriminator 1 - 5737 0076 039B ldr r3, [sp, #12] - 5738 0078 9A05 lsls r2, r3, #22 - 5739 007a 920D lsrs r2, r2, #22 - 5740 007c 3F4B ldr r3, .L406 - 5741 007e 1343 orrs r3, r2 - 5742 0080 E6E7 b .L388 - 5743 .LVL477: - 5744 .L390: -3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); - 5745 .loc 1 3067 0 - 5746 0082 3268 ldr r2, [r6] - 5747 0084 9169 ldr r1, [r2, #24] - 5748 0086 2023 movs r3, #32 - 5749 0088 0B40 ands r3, r1 - 5750 008a 591E subs r1, r3, #1 - 5751 008c 8B41 sbcs r3, r3, r1 - 5752 008e D9B2 uxtb r1, r3 - 5753 .LVL478: -3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5754 .loc 1 3068 0 - 5755 0090 9269 ldr r2, [r2, #24] - 5756 0092 1023 movs r3, #16 - 5757 0094 1340 ands r3, r2 - 5758 0096 5A1E subs r2, r3, #1 - 5759 0098 9341 sbcs r3, r3, r2 - 5760 009a DBB2 uxtb r3, r3 - 5761 .LVL479: - 5762 .L389: -3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5763 .loc 1 3048 0 - 5764 009c 0B43 orrs r3, r1 - 5765 .LVL480: - 5766 009e 13D1 bne .L403 -3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5767 .loc 1 3050 0 - ARM GAS /tmp/ccFk2Nxo.s page 231 - - - 5768 00a0 7B1C adds r3, r7, #1 - 5769 00a2 EED0 beq .L390 -3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5770 .loc 1 3052 0 - 5771 00a4 FFF7FEFF bl HAL_GetTick - 5772 .LVL481: - 5773 00a8 001B subs r0, r0, r4 - 5774 00aa B842 cmp r0, r7 - 5775 00ac 01D8 bhi .L391 -3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5776 .loc 1 3052 0 is_stmt 0 discriminator 1 - 5777 00ae 002F cmp r7, #0 - 5778 00b0 E7D1 bne .L390 - 5779 .L391: -3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5780 .loc 1 3055 0 is_stmt 1 - 5781 00b2 2022 movs r2, #32 - 5782 00b4 4123 movs r3, #65 - 5783 00b6 F254 strb r2, [r6, r3] -3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5784 .loc 1 3058 0 - 5785 00b8 736C ldr r3, [r6, #68] - 5786 00ba 1343 orrs r3, r2 - 5787 00bc 7364 str r3, [r6, #68] -3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5788 .loc 1 3061 0 - 5789 00be 4023 movs r3, #64 - 5790 00c0 0022 movs r2, #0 - 5791 00c2 F254 strb r2, [r6, r3] -3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5792 .loc 1 3063 0 - 5793 00c4 0120 movs r0, #1 - 5794 00c6 4CE0 b .L386 - 5795 .LVL482: - 5796 .L403: -3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5797 .loc 1 3072 0 - 5798 00c8 3368 ldr r3, [r6] - 5799 00ca 9B69 ldr r3, [r3, #24] - 5800 00cc DB06 lsls r3, r3, #27 - 5801 00ce 22D5 bpl .L404 -3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5802 .loc 1 3094 0 - 5803 00d0 0094 str r4, [sp] - 5804 00d2 3B00 movs r3, r7 - 5805 00d4 0022 movs r2, #0 - 5806 00d6 2021 movs r1, #32 - 5807 .LVL483: - 5808 00d8 3000 movs r0, r6 - 5809 00da FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 5810 .LVL484: - 5811 00de 0028 cmp r0, #0 - 5812 00e0 47D1 bne .L400 -3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5813 .loc 1 3100 0 - 5814 00e2 3368 ldr r3, [r6] - 5815 00e4 1022 movs r2, #16 - ARM GAS /tmp/ccFk2Nxo.s page 232 - - - 5816 00e6 DA61 str r2, [r3, #28] -3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5817 .loc 1 3103 0 - 5818 00e8 3368 ldr r3, [r6] - 5819 00ea 1032 adds r2, r2, #16 - 5820 00ec DA61 str r2, [r3, #28] -3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5821 .loc 1 3107 0 - 5822 00ee 059B ldr r3, [sp, #20] - 5823 00f0 AB42 cmp r3, r5 - 5824 00f2 22D0 beq .L405 - 5825 .L394: -3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5826 .loc 1 3123 0 - 5827 00f4 059B ldr r3, [sp, #20] - 5828 00f6 0133 adds r3, r3, #1 - 5829 00f8 0593 str r3, [sp, #20] -3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5830 .loc 1 3125 0 - 5831 00fa 059B ldr r3, [sp, #20] - 5832 00fc AB42 cmp r3, r5 - 5833 00fe 9ED3 bcc .L395 -3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5834 .loc 1 3128 0 - 5835 0100 2022 movs r2, #32 - 5836 0102 4123 movs r3, #65 - 5837 0104 F254 strb r2, [r6, r3] -3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5838 .loc 1 3131 0 - 5839 0106 736C ldr r3, [r6, #68] - 5840 0108 1343 orrs r3, r2 - 5841 010a 7364 str r3, [r6, #68] -3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5842 .loc 1 3134 0 - 5843 010c 4023 movs r3, #64 - 5844 010e 0022 movs r2, #0 - 5845 0110 F254 strb r2, [r6, r3] -3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5846 .loc 1 3136 0 - 5847 0112 0120 movs r0, #1 - 5848 0114 25E0 b .L386 - 5849 .LVL485: - 5850 .L404: -3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5851 .loc 1 3075 0 - 5852 0116 0094 str r4, [sp] - 5853 0118 3B00 movs r3, r7 - 5854 011a 0022 movs r2, #0 - 5855 011c 2021 movs r1, #32 - 5856 .LVL486: - 5857 011e 3000 movs r0, r6 - 5858 0120 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 5859 .LVL487: - 5860 0124 0028 cmp r0, #0 - 5861 0126 22D1 bne .L399 -3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5862 .loc 1 3081 0 - ARM GAS /tmp/ccFk2Nxo.s page 233 - - - 5863 0128 3268 ldr r2, [r6] - 5864 012a 2023 movs r3, #32 - 5865 012c D361 str r3, [r2, #28] -3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5866 .loc 1 3084 0 - 5867 012e 4122 movs r2, #65 - 5868 0130 B354 strb r3, [r6, r2] -3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5869 .loc 1 3087 0 - 5870 0132 2033 adds r3, r3, #32 - 5871 0134 0022 movs r2, #0 - 5872 0136 F254 strb r2, [r6, r3] -3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5873 .loc 1 3089 0 - 5874 0138 13E0 b .L386 - 5875 .L405: -3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5876 .loc 1 3110 0 - 5877 013a 3268 ldr r2, [r6] - 5878 013c 5168 ldr r1, [r2, #4] - 5879 013e 8023 movs r3, #128 - 5880 0140 DB01 lsls r3, r3, #7 - 5881 0142 0B43 orrs r3, r1 - 5882 0144 5360 str r3, [r2, #4] -3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5883 .loc 1 3113 0 - 5884 0146 0094 str r4, [sp] - 5885 0148 3B00 movs r3, r7 - 5886 014a 0022 movs r2, #0 - 5887 014c 2021 movs r1, #32 - 5888 014e 3000 movs r0, r6 - 5889 0150 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout - 5890 .LVL488: - 5891 0154 0028 cmp r0, #0 - 5892 0156 0ED1 bne .L401 -3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5893 .loc 1 3119 0 - 5894 0158 3368 ldr r3, [r6] - 5895 015a 2022 movs r2, #32 - 5896 015c DA61 str r2, [r3, #28] - 5897 015e C9E7 b .L394 - 5898 .LVL489: - 5899 .L396: -3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5900 .loc 1 3140 0 - 5901 0160 0220 movs r0, #2 - 5902 .LVL490: - 5903 .L386: -3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5904 .loc 1 3142 0 - 5905 0162 07B0 add sp, sp, #28 - 5906 @ sp needed - 5907 .LVL491: - 5908 .LVL492: - 5909 .LVL493: - 5910 0164 F0BD pop {r4, r5, r6, r7, pc} - 5911 .LVL494: - ARM GAS /tmp/ccFk2Nxo.s page 234 - - - 5912 .L397: -3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5913 .loc 1 3027 0 - 5914 0166 0220 movs r0, #2 - 5915 .LVL495: - 5916 0168 FBE7 b .L386 - 5917 .LVL496: - 5918 .L398: -3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5919 .loc 1 3031 0 - 5920 016a 0220 movs r0, #2 - 5921 .LVL497: - 5922 016c F9E7 b .L386 - 5923 .LVL498: - 5924 .L399: -3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5925 .loc 1 3077 0 - 5926 016e 0120 movs r0, #1 - 5927 0170 F7E7 b .L386 - 5928 .L400: -3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5929 .loc 1 3096 0 - 5930 0172 0120 movs r0, #1 - 5931 0174 F5E7 b .L386 - 5932 .L401: -3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 5933 .loc 1 3115 0 - 5934 0176 0120 movs r0, #1 - 5935 0178 F3E7 b .L386 - 5936 .L407: - 5937 017a C046 .align 2 - 5938 .L406: - 5939 017c 00200002 .word 33562624 - 5940 .cfi_endproc - 5941 .LFE62: - 5943 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits - 5944 .align 1 - 5945 .global HAL_I2C_Master_Seq_Transmit_IT - 5946 .syntax unified - 5947 .code 16 - 5948 .thumb_func - 5949 .fpu softvfp - 5951 HAL_I2C_Master_Seq_Transmit_IT: - 5952 .LFB63: -3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 5953 .loc 1 3157 0 - 5954 .cfi_startproc - 5955 @ args = 4, pretend = 0, frame = 0 - 5956 @ frame_needed = 0, uses_anonymous_args = 0 - 5957 .LVL499: - 5958 0000 70B5 push {r4, r5, r6, lr} - 5959 .LCFI49: - 5960 .cfi_def_cfa_offset 16 - 5961 .cfi_offset 4, -16 - 5962 .cfi_offset 5, -12 - 5963 .cfi_offset 6, -8 - 5964 .cfi_offset 14, -4 - ARM GAS /tmp/ccFk2Nxo.s page 235 - - - 5965 0002 82B0 sub sp, sp, #8 - 5966 .LCFI50: - 5967 .cfi_def_cfa_offset 24 - 5968 0004 0400 movs r4, r0 - 5969 0006 0D00 movs r5, r1 - 5970 .LVL500: -3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 5971 .loc 1 3164 0 - 5972 0008 4121 movs r1, #65 - 5973 .LVL501: - 5974 000a 415C ldrb r1, [r0, r1] - 5975 000c 2029 cmp r1, #32 - 5976 000e 49D1 bne .L414 -3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5977 .loc 1 3167 0 - 5978 0010 2031 adds r1, r1, #32 - 5979 0012 415C ldrb r1, [r0, r1] - 5980 0014 0129 cmp r1, #1 - 5981 0016 48D0 beq .L415 -3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5982 .loc 1 3167 0 is_stmt 0 discriminator 2 - 5983 0018 4021 movs r1, #64 - 5984 001a 0120 movs r0, #1 - 5985 .LVL502: - 5986 001c 6054 strb r0, [r4, r1] -3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 5987 .loc 1 3169 0 is_stmt 1 discriminator 2 - 5988 001e 0131 adds r1, r1, #1 - 5989 0020 2030 adds r0, r0, #32 - 5990 0022 6054 strb r0, [r4, r1] -3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 5991 .loc 1 3170 0 discriminator 2 - 5992 0024 0131 adds r1, r1, #1 - 5993 0026 1138 subs r0, r0, #17 - 5994 0028 6054 strb r0, [r4, r1] -3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 5995 .loc 1 3171 0 discriminator 2 - 5996 002a 0021 movs r1, #0 - 5997 002c 6164 str r1, [r4, #68] -3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 5998 .loc 1 3174 0 discriminator 2 - 5999 002e 6262 str r2, [r4, #36] -3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 6000 .loc 1 3175 0 discriminator 2 - 6001 0030 6385 strh r3, [r4, #42] -3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; - 6002 .loc 1 3176 0 discriminator 2 - 6003 0032 069B ldr r3, [sp, #24] - 6004 .LVL503: - 6005 0034 E362 str r3, [r4, #44] - 6006 .LVL504: -3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6007 .loc 1 3177 0 discriminator 2 - 6008 0036 1E4B ldr r3, .L418 - 6009 0038 6363 str r3, [r4, #52] -3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6010 .loc 1 3180 0 discriminator 2 - ARM GAS /tmp/ccFk2Nxo.s page 236 - - - 6011 003a 638D ldrh r3, [r4, #42] - 6012 003c 9BB2 uxth r3, r3 - 6013 003e FF2B cmp r3, #255 - 6014 0040 10D9 bls .L410 -3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 6015 .loc 1 3182 0 - 6016 0042 FF23 movs r3, #255 - 6017 0044 2385 strh r3, [r4, #40] - 6018 .LVL505: -3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6019 .loc 1 3183 0 - 6020 0046 8026 movs r6, #128 - 6021 0048 7604 lsls r6, r6, #17 - 6022 .LVL506: - 6023 .L411: -3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6024 .loc 1 3193 0 - 6025 004a 236B ldr r3, [r4, #48] - 6026 004c 112B cmp r3, #17 - 6027 004e 0DD1 bne .L412 -3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6028 .loc 1 3193 0 is_stmt 0 discriminator 1 - 6029 0050 069B ldr r3, [sp, #24] - 6030 0052 AA2B cmp r3, #170 - 6031 0054 0AD0 beq .L412 -3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6032 .loc 1 3193 0 discriminator 3 - 6033 0056 AA23 movs r3, #170 - 6034 0058 1B02 lsls r3, r3, #8 - 6035 005a 069A ldr r2, [sp, #24] - 6036 .LVL507: - 6037 005c 9A42 cmp r2, r3 - 6038 005e 05D0 beq .L412 -3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6039 .loc 1 3195 0 is_stmt 1 - 6040 0060 0023 movs r3, #0 - 6041 0062 0CE0 b .L413 - 6042 .LVL508: - 6043 .L410: -3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; - 6044 .loc 1 3187 0 - 6045 0064 638D ldrh r3, [r4, #42] - 6046 0066 2385 strh r3, [r4, #40] -3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6047 .loc 1 3188 0 - 6048 0068 E66A ldr r6, [r4, #44] - 6049 .LVL509: - 6050 006a EEE7 b .L411 - 6051 .LVL510: - 6052 .L412: -3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6053 .loc 1 3200 0 - 6054 006c 2000 movs r0, r4 - 6055 006e FFF7FEFF bl I2C_ConvertOtherXferOptions - 6056 .LVL511: -3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6057 .loc 1 3203 0 - ARM GAS /tmp/ccFk2Nxo.s page 237 - - - 6058 0072 638D ldrh r3, [r4, #42] - 6059 0074 9BB2 uxth r3, r3 - 6060 0076 FE2B cmp r3, #254 - 6061 0078 12D8 bhi .L417 -3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6062 .loc 1 3205 0 - 6063 007a E66A ldr r6, [r4, #44] - 6064 .LVL512: -3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6065 .loc 1 3159 0 - 6066 007c 0D4B ldr r3, .L418+4 - 6067 .L413: - 6068 .LVL513: -3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6069 .loc 1 3210 0 - 6070 007e 228D ldrh r2, [r4, #40] - 6071 0080 D2B2 uxtb r2, r2 - 6072 0082 0093 str r3, [sp] - 6073 0084 3300 movs r3, r6 - 6074 .LVL514: - 6075 0086 2900 movs r1, r5 - 6076 0088 2000 movs r0, r4 - 6077 008a FFF7FEFF bl I2C_TransferConfig - 6078 .LVL515: -3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6079 .loc 1 3213 0 - 6080 008e 4023 movs r3, #64 - 6081 0090 0022 movs r2, #0 - 6082 0092 E254 strb r2, [r4, r3] -3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6083 .loc 1 3218 0 - 6084 0094 0121 movs r1, #1 - 6085 0096 2000 movs r0, r4 - 6086 0098 FFF7FEFF bl I2C_Enable_IRQ - 6087 .LVL516: -3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6088 .loc 1 3220 0 - 6089 009c 0020 movs r0, #0 - 6090 009e 02E0 b .L409 - 6091 .LVL517: - 6092 .L417: -3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6093 .loc 1 3159 0 - 6094 00a0 044B ldr r3, .L418+4 - 6095 00a2 ECE7 b .L413 - 6096 .LVL518: - 6097 .L414: -3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6098 .loc 1 3224 0 - 6099 00a4 0220 movs r0, #2 - 6100 .LVL519: - 6101 .L409: -3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6102 .loc 1 3226 0 - 6103 00a6 02B0 add sp, sp, #8 - 6104 @ sp needed - 6105 .LVL520: - ARM GAS /tmp/ccFk2Nxo.s page 238 - - - 6106 00a8 70BD pop {r4, r5, r6, pc} - 6107 .LVL521: - 6108 .L415: -3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6109 .loc 1 3167 0 - 6110 00aa 0220 movs r0, #2 - 6111 .LVL522: - 6112 00ac FBE7 b .L409 - 6113 .L419: - 6114 00ae C046 .align 2 - 6115 .L418: - 6116 00b0 00000000 .word I2C_Master_ISR_IT - 6117 00b4 00200080 .word -2147475456 - 6118 .cfi_endproc - 6119 .LFE63: - 6121 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits - 6122 .align 1 - 6123 .global HAL_I2C_Master_Seq_Transmit_DMA - 6124 .syntax unified - 6125 .code 16 - 6126 .thumb_func - 6127 .fpu softvfp - 6129 HAL_I2C_Master_Seq_Transmit_DMA: - 6130 .LFB64: -3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 6131 .loc 1 3241 0 - 6132 .cfi_startproc - 6133 @ args = 4, pretend = 0, frame = 8 - 6134 @ frame_needed = 0, uses_anonymous_args = 0 - 6135 .LVL523: - 6136 0000 F0B5 push {r4, r5, r6, r7, lr} - 6137 .LCFI51: - 6138 .cfi_def_cfa_offset 20 - 6139 .cfi_offset 4, -20 - 6140 .cfi_offset 5, -16 - 6141 .cfi_offset 6, -12 - 6142 .cfi_offset 7, -8 - 6143 .cfi_offset 14, -4 - 6144 0002 85B0 sub sp, sp, #20 - 6145 .LCFI52: - 6146 .cfi_def_cfa_offset 40 - 6147 0004 0400 movs r4, r0 - 6148 0006 0391 str r1, [sp, #12] - 6149 0008 1500 movs r5, r2 - 6150 .LVL524: -3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6151 .loc 1 3249 0 - 6152 000a 4122 movs r2, #65 - 6153 .LVL525: - 6154 000c 825C ldrb r2, [r0, r2] - 6155 000e 202A cmp r2, #32 - 6156 0010 00D0 beq .LCB6267 - 6157 0012 9DE0 b .L430 @long jump - 6158 .LCB6267: -3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6159 .loc 1 3252 0 - 6160 0014 2032 adds r2, r2, #32 - ARM GAS /tmp/ccFk2Nxo.s page 239 - - - 6161 0016 825C ldrb r2, [r0, r2] - 6162 0018 012A cmp r2, #1 - 6163 001a 00D1 bne .LCB6271 - 6164 001c 9CE0 b .L431 @long jump - 6165 .LCB6271: -3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6166 .loc 1 3252 0 is_stmt 0 discriminator 2 - 6167 001e 4022 movs r2, #64 - 6168 0020 0121 movs r1, #1 - 6169 .LVL526: - 6170 0022 8154 strb r1, [r0, r2] -3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 6171 .loc 1 3254 0 is_stmt 1 discriminator 2 - 6172 0024 0132 adds r2, r2, #1 - 6173 0026 2031 adds r1, r1, #32 - 6174 0028 8154 strb r1, [r0, r2] -3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 6175 .loc 1 3255 0 discriminator 2 - 6176 002a 0132 adds r2, r2, #1 - 6177 002c 1139 subs r1, r1, #17 - 6178 002e 8154 strb r1, [r0, r2] -3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6179 .loc 1 3256 0 discriminator 2 - 6180 0030 0022 movs r2, #0 - 6181 0032 4264 str r2, [r0, #68] -3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 6182 .loc 1 3259 0 discriminator 2 - 6183 0034 4562 str r5, [r0, #36] -3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 6184 .loc 1 3260 0 discriminator 2 - 6185 0036 4385 strh r3, [r0, #42] -3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; - 6186 .loc 1 3261 0 discriminator 2 - 6187 0038 0A9B ldr r3, [sp, #40] - 6188 .LVL527: - 6189 003a C362 str r3, [r0, #44] - 6190 .LVL528: -3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6191 .loc 1 3262 0 discriminator 2 - 6192 003c 474B ldr r3, .L436 - 6193 003e 4363 str r3, [r0, #52] -3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6194 .loc 1 3265 0 discriminator 2 - 6195 0040 438D ldrh r3, [r0, #42] - 6196 0042 9BB2 uxth r3, r3 - 6197 0044 FF2B cmp r3, #255 - 6198 0046 10D9 bls .L422 -3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 6199 .loc 1 3267 0 - 6200 0048 FF23 movs r3, #255 - 6201 004a 0385 strh r3, [r0, #40] - 6202 .LVL529: -3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6203 .loc 1 3268 0 - 6204 004c 8027 movs r7, #128 - 6205 004e 7F04 lsls r7, r7, #17 - 6206 .LVL530: - ARM GAS /tmp/ccFk2Nxo.s page 240 - - - 6207 .L423: -3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6208 .loc 1 3278 0 - 6209 0050 236B ldr r3, [r4, #48] - 6210 0052 112B cmp r3, #17 - 6211 0054 0DD1 bne .L424 -3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6212 .loc 1 3278 0 is_stmt 0 discriminator 1 - 6213 0056 0A9B ldr r3, [sp, #40] - 6214 0058 AA2B cmp r3, #170 - 6215 005a 0AD0 beq .L424 -3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6216 .loc 1 3278 0 discriminator 3 - 6217 005c AA23 movs r3, #170 - 6218 005e 1B02 lsls r3, r3, #8 - 6219 0060 0A9A ldr r2, [sp, #40] - 6220 0062 9A42 cmp r2, r3 - 6221 0064 05D0 beq .L424 -3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6222 .loc 1 3280 0 is_stmt 1 - 6223 0066 0026 movs r6, #0 - 6224 0068 0CE0 b .L425 - 6225 .LVL531: - 6226 .L422: -3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; - 6227 .loc 1 3272 0 - 6228 006a 438D ldrh r3, [r0, #42] - 6229 006c 0385 strh r3, [r0, #40] -3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6230 .loc 1 3273 0 - 6231 006e C76A ldr r7, [r0, #44] - 6232 .LVL532: - 6233 0070 EEE7 b .L423 - 6234 .L424: -3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6235 .loc 1 3285 0 - 6236 0072 2000 movs r0, r4 - 6237 .LVL533: - 6238 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions - 6239 .LVL534: -3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6240 .loc 1 3288 0 - 6241 0078 638D ldrh r3, [r4, #42] - 6242 007a 9BB2 uxth r3, r3 - 6243 007c FE2B cmp r3, #254 - 6244 007e 28D8 bhi .L433 -3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6245 .loc 1 3290 0 - 6246 0080 E76A ldr r7, [r4, #44] - 6247 .LVL535: -3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 6248 .loc 1 3243 0 - 6249 0082 374E ldr r6, .L436+4 - 6250 .L425: - 6251 .LVL536: -3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6252 .loc 1 3294 0 - ARM GAS /tmp/ccFk2Nxo.s page 241 - - - 6253 0084 228D ldrh r2, [r4, #40] - 6254 0086 002A cmp r2, #0 - 6255 0088 4ED0 beq .L426 -3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6256 .loc 1 3296 0 - 6257 008a A36B ldr r3, [r4, #56] - 6258 008c 002B cmp r3, #0 - 6259 008e 22D0 beq .L427 -3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6260 .loc 1 3299 0 - 6261 0090 344A ldr r2, .L436+8 - 6262 0092 9A62 str r2, [r3, #40] -3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6263 .loc 1 3302 0 - 6264 0094 A36B ldr r3, [r4, #56] - 6265 0096 344A ldr r2, .L436+12 - 6266 0098 1A63 str r2, [r3, #48] -3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; - 6267 .loc 1 3305 0 - 6268 009a A26B ldr r2, [r4, #56] - 6269 009c 0023 movs r3, #0 - 6270 009e D362 str r3, [r2, #44] -3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6271 .loc 1 3306 0 - 6272 00a0 A26B ldr r2, [r4, #56] - 6273 00a2 5363 str r3, [r2, #52] -3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6274 .loc 1 3309 0 - 6275 00a4 2268 ldr r2, [r4] - 6276 00a6 2832 adds r2, r2, #40 - 6277 00a8 238D ldrh r3, [r4, #40] - 6278 00aa 2900 movs r1, r5 - 6279 00ac A06B ldr r0, [r4, #56] - 6280 00ae FFF7FEFF bl HAL_DMA_Start_IT - 6281 .LVL537: - 6282 00b2 051E subs r5, r0, #0 - 6283 .LVL538: -3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6284 .loc 1 3326 0 - 6285 00b4 1DD0 beq .L435 -3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 6286 .loc 1 3349 0 - 6287 00b6 4123 movs r3, #65 - 6288 00b8 2022 movs r2, #32 - 6289 00ba E254 strb r2, [r4, r3] -3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6290 .loc 1 3350 0 - 6291 00bc 0022 movs r2, #0 - 6292 00be 0133 adds r3, r3, #1 - 6293 00c0 E254 strb r2, [r4, r3] -3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6294 .loc 1 3353 0 - 6295 00c2 636C ldr r3, [r4, #68] - 6296 00c4 1021 movs r1, #16 - 6297 00c6 0B43 orrs r3, r1 - 6298 00c8 6364 str r3, [r4, #68] -3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 242 - - - 6299 .loc 1 3356 0 - 6300 00ca 4023 movs r3, #64 - 6301 00cc E254 strb r2, [r4, r3] -3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6302 .loc 1 3358 0 - 6303 00ce 0125 movs r5, #1 - 6304 00d0 3FE0 b .L421 - 6305 .LVL539: - 6306 .L433: -3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 6307 .loc 1 3243 0 - 6308 00d2 234E ldr r6, .L436+4 - 6309 00d4 D6E7 b .L425 - 6310 .LVL540: - 6311 .L427: -3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 6312 .loc 1 3314 0 - 6313 00d6 4123 movs r3, #65 - 6314 00d8 2022 movs r2, #32 - 6315 00da E254 strb r2, [r4, r3] -3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6316 .loc 1 3315 0 - 6317 00dc 0022 movs r2, #0 - 6318 00de 0133 adds r3, r3, #1 - 6319 00e0 E254 strb r2, [r4, r3] -3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6320 .loc 1 3318 0 - 6321 00e2 636C ldr r3, [r4, #68] - 6322 00e4 8021 movs r1, #128 - 6323 00e6 0B43 orrs r3, r1 - 6324 00e8 6364 str r3, [r4, #68] -3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6325 .loc 1 3321 0 - 6326 00ea 4023 movs r3, #64 - 6327 00ec E254 strb r2, [r4, r3] -3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6328 .loc 1 3323 0 - 6329 00ee 0125 movs r5, #1 - 6330 .LVL541: - 6331 00f0 2FE0 b .L421 - 6332 .LVL542: - 6333 .L435: -3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6334 .loc 1 3329 0 - 6335 00f2 228D ldrh r2, [r4, #40] - 6336 00f4 D2B2 uxtb r2, r2 - 6337 00f6 0096 str r6, [sp] - 6338 00f8 3B00 movs r3, r7 - 6339 00fa 0399 ldr r1, [sp, #12] - 6340 00fc 2000 movs r0, r4 - 6341 .LVL543: - 6342 00fe FFF7FEFF bl I2C_TransferConfig - 6343 .LVL544: -3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6344 .loc 1 3332 0 - 6345 0102 638D ldrh r3, [r4, #42] - 6346 0104 228D ldrh r2, [r4, #40] - ARM GAS /tmp/ccFk2Nxo.s page 243 - - - 6347 0106 9B1A subs r3, r3, r2 - 6348 0108 9BB2 uxth r3, r3 - 6349 010a 6385 strh r3, [r4, #42] -3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6350 .loc 1 3335 0 - 6351 010c 4023 movs r3, #64 - 6352 010e 0022 movs r2, #0 - 6353 0110 E254 strb r2, [r4, r3] -3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6354 .loc 1 3341 0 - 6355 0112 1121 movs r1, #17 - 6356 0114 2000 movs r0, r4 - 6357 0116 FFF7FEFF bl I2C_Enable_IRQ - 6358 .LVL545: -3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6359 .loc 1 3344 0 - 6360 011a 2268 ldr r2, [r4] - 6361 011c 1168 ldr r1, [r2] - 6362 011e 8023 movs r3, #128 - 6363 0120 DB01 lsls r3, r3, #7 - 6364 0122 0B43 orrs r3, r1 - 6365 0124 1360 str r3, [r2] - 6366 0126 14E0 b .L421 - 6367 .LVL546: - 6368 .L426: -3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6369 .loc 1 3364 0 - 6370 0128 104B ldr r3, .L436+16 - 6371 012a 6363 str r3, [r4, #52] -3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6372 .loc 1 3368 0 - 6373 012c 8023 movs r3, #128 - 6374 012e D2B2 uxtb r2, r2 - 6375 0130 0B49 ldr r1, .L436+4 - 6376 0132 0091 str r1, [sp] - 6377 0134 9B04 lsls r3, r3, #18 - 6378 0136 0399 ldr r1, [sp, #12] - 6379 0138 2000 movs r0, r4 - 6380 013a FFF7FEFF bl I2C_TransferConfig - 6381 .LVL547: -3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6382 .loc 1 3371 0 - 6383 013e 4023 movs r3, #64 - 6384 0140 0022 movs r2, #0 - 6385 0142 E254 strb r2, [r4, r3] -3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6386 .loc 1 3379 0 - 6387 0144 0121 movs r1, #1 - 6388 0146 2000 movs r0, r4 - 6389 0148 FFF7FEFF bl I2C_Enable_IRQ - 6390 .LVL548: -3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6391 .loc 1 3382 0 - 6392 014c 0025 movs r5, #0 - 6393 .LVL549: - 6394 014e 00E0 b .L421 - 6395 .LVL550: - ARM GAS /tmp/ccFk2Nxo.s page 244 - - - 6396 .L430: -3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6397 .loc 1 3386 0 - 6398 0150 0225 movs r5, #2 - 6399 .LVL551: - 6400 .L421: -3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6401 .loc 1 3388 0 - 6402 0152 2800 movs r0, r5 - 6403 0154 05B0 add sp, sp, #20 - 6404 @ sp needed - 6405 .LVL552: - 6406 0156 F0BD pop {r4, r5, r6, r7, pc} - 6407 .LVL553: - 6408 .L431: -3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6409 .loc 1 3252 0 - 6410 0158 0225 movs r5, #2 - 6411 .LVL554: - 6412 015a FAE7 b .L421 - 6413 .L437: - 6414 .align 2 - 6415 .L436: - 6416 015c 00000000 .word I2C_Master_ISR_DMA - 6417 0160 00200080 .word -2147475456 - 6418 0164 00000000 .word I2C_DMAMasterTransmitCplt - 6419 0168 00000000 .word I2C_DMAError - 6420 016c 00000000 .word I2C_Master_ISR_IT - 6421 .cfi_endproc - 6422 .LFE64: - 6424 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits - 6425 .align 1 - 6426 .global HAL_I2C_Master_Seq_Receive_IT - 6427 .syntax unified - 6428 .code 16 - 6429 .thumb_func - 6430 .fpu softvfp - 6432 HAL_I2C_Master_Seq_Receive_IT: - 6433 .LFB65: -3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 6434 .loc 1 3403 0 - 6435 .cfi_startproc - 6436 @ args = 4, pretend = 0, frame = 0 - 6437 @ frame_needed = 0, uses_anonymous_args = 0 - 6438 .LVL555: - 6439 0000 70B5 push {r4, r5, r6, lr} - 6440 .LCFI53: - 6441 .cfi_def_cfa_offset 16 - 6442 .cfi_offset 4, -16 - 6443 .cfi_offset 5, -12 - 6444 .cfi_offset 6, -8 - 6445 .cfi_offset 14, -4 - 6446 0002 82B0 sub sp, sp, #8 - 6447 .LCFI54: - 6448 .cfi_def_cfa_offset 24 - 6449 0004 0400 movs r4, r0 - 6450 0006 0D00 movs r5, r1 - ARM GAS /tmp/ccFk2Nxo.s page 245 - - - 6451 .LVL556: -3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6452 .loc 1 3410 0 - 6453 0008 4121 movs r1, #65 - 6454 .LVL557: - 6455 000a 415C ldrb r1, [r0, r1] - 6456 000c 2029 cmp r1, #32 - 6457 000e 49D1 bne .L444 -3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6458 .loc 1 3413 0 - 6459 0010 2031 adds r1, r1, #32 - 6460 0012 415C ldrb r1, [r0, r1] - 6461 0014 0129 cmp r1, #1 - 6462 0016 48D0 beq .L445 -3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6463 .loc 1 3413 0 is_stmt 0 discriminator 2 - 6464 0018 4021 movs r1, #64 - 6465 001a 0120 movs r0, #1 - 6466 .LVL558: - 6467 001c 6054 strb r0, [r4, r1] -3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 6468 .loc 1 3415 0 is_stmt 1 discriminator 2 - 6469 001e 0131 adds r1, r1, #1 - 6470 0020 2130 adds r0, r0, #33 - 6471 0022 6054 strb r0, [r4, r1] -3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 6472 .loc 1 3416 0 discriminator 2 - 6473 0024 0131 adds r1, r1, #1 - 6474 0026 1238 subs r0, r0, #18 - 6475 0028 6054 strb r0, [r4, r1] -3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6476 .loc 1 3417 0 discriminator 2 - 6477 002a 0021 movs r1, #0 - 6478 002c 6164 str r1, [r4, #68] -3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 6479 .loc 1 3420 0 discriminator 2 - 6480 002e 6262 str r2, [r4, #36] -3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 6481 .loc 1 3421 0 discriminator 2 - 6482 0030 6385 strh r3, [r4, #42] -3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; - 6483 .loc 1 3422 0 discriminator 2 - 6484 0032 069B ldr r3, [sp, #24] - 6485 .LVL559: - 6486 0034 E362 str r3, [r4, #44] - 6487 .LVL560: -3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6488 .loc 1 3423 0 discriminator 2 - 6489 0036 1E4B ldr r3, .L448 - 6490 0038 6363 str r3, [r4, #52] -3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6491 .loc 1 3426 0 discriminator 2 - 6492 003a 638D ldrh r3, [r4, #42] - 6493 003c 9BB2 uxth r3, r3 - 6494 003e FF2B cmp r3, #255 - 6495 0040 10D9 bls .L440 -3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - ARM GAS /tmp/ccFk2Nxo.s page 246 - - - 6496 .loc 1 3428 0 - 6497 0042 FF23 movs r3, #255 - 6498 0044 2385 strh r3, [r4, #40] - 6499 .LVL561: -3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6500 .loc 1 3429 0 - 6501 0046 8026 movs r6, #128 - 6502 0048 7604 lsls r6, r6, #17 - 6503 .LVL562: - 6504 .L441: -3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6505 .loc 1 3439 0 - 6506 004a 236B ldr r3, [r4, #48] - 6507 004c 122B cmp r3, #18 - 6508 004e 0DD1 bne .L442 -3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6509 .loc 1 3439 0 is_stmt 0 discriminator 1 - 6510 0050 069B ldr r3, [sp, #24] - 6511 0052 AA2B cmp r3, #170 - 6512 0054 0AD0 beq .L442 -3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6513 .loc 1 3439 0 discriminator 3 - 6514 0056 AA23 movs r3, #170 - 6515 0058 1B02 lsls r3, r3, #8 - 6516 005a 069A ldr r2, [sp, #24] - 6517 .LVL563: - 6518 005c 9A42 cmp r2, r3 - 6519 005e 05D0 beq .L442 -3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6520 .loc 1 3441 0 is_stmt 1 - 6521 0060 0023 movs r3, #0 - 6522 0062 0CE0 b .L443 - 6523 .LVL564: - 6524 .L440: -3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; - 6525 .loc 1 3433 0 - 6526 0064 638D ldrh r3, [r4, #42] - 6527 0066 2385 strh r3, [r4, #40] -3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6528 .loc 1 3434 0 - 6529 0068 E66A ldr r6, [r4, #44] - 6530 .LVL565: - 6531 006a EEE7 b .L441 - 6532 .LVL566: - 6533 .L442: -3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6534 .loc 1 3446 0 - 6535 006c 2000 movs r0, r4 - 6536 006e FFF7FEFF bl I2C_ConvertOtherXferOptions - 6537 .LVL567: -3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6538 .loc 1 3449 0 - 6539 0072 638D ldrh r3, [r4, #42] - 6540 0074 9BB2 uxth r3, r3 - 6541 0076 FE2B cmp r3, #254 - 6542 0078 12D8 bhi .L447 -3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 247 - - - 6543 .loc 1 3451 0 - 6544 007a E66A ldr r6, [r4, #44] - 6545 .LVL568: -3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6546 .loc 1 3405 0 - 6547 007c 0D4B ldr r3, .L448+4 - 6548 .L443: - 6549 .LVL569: -3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6550 .loc 1 3456 0 - 6551 007e 228D ldrh r2, [r4, #40] - 6552 0080 D2B2 uxtb r2, r2 - 6553 0082 0093 str r3, [sp] - 6554 0084 3300 movs r3, r6 - 6555 .LVL570: - 6556 0086 2900 movs r1, r5 - 6557 0088 2000 movs r0, r4 - 6558 008a FFF7FEFF bl I2C_TransferConfig - 6559 .LVL571: -3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6560 .loc 1 3459 0 - 6561 008e 4023 movs r3, #64 - 6562 0090 0022 movs r2, #0 - 6563 0092 E254 strb r2, [r4, r3] -3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6564 .loc 1 3464 0 - 6565 0094 0221 movs r1, #2 - 6566 0096 2000 movs r0, r4 - 6567 0098 FFF7FEFF bl I2C_Enable_IRQ - 6568 .LVL572: -3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6569 .loc 1 3466 0 - 6570 009c 0020 movs r0, #0 - 6571 009e 02E0 b .L439 - 6572 .LVL573: - 6573 .L447: -3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6574 .loc 1 3405 0 - 6575 00a0 044B ldr r3, .L448+4 - 6576 00a2 ECE7 b .L443 - 6577 .LVL574: - 6578 .L444: -3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6579 .loc 1 3470 0 - 6580 00a4 0220 movs r0, #2 - 6581 .LVL575: - 6582 .L439: -3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6583 .loc 1 3472 0 - 6584 00a6 02B0 add sp, sp, #8 - 6585 @ sp needed - 6586 .LVL576: - 6587 00a8 70BD pop {r4, r5, r6, pc} - 6588 .LVL577: - 6589 .L445: -3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6590 .loc 1 3413 0 - ARM GAS /tmp/ccFk2Nxo.s page 248 - - - 6591 00aa 0220 movs r0, #2 - 6592 .LVL578: - 6593 00ac FBE7 b .L439 - 6594 .L449: - 6595 00ae C046 .align 2 - 6596 .L448: - 6597 00b0 00000000 .word I2C_Master_ISR_IT - 6598 00b4 00240080 .word -2147474432 - 6599 .cfi_endproc - 6600 .LFE65: - 6602 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits - 6603 .align 1 - 6604 .global HAL_I2C_Master_Seq_Receive_DMA - 6605 .syntax unified - 6606 .code 16 - 6607 .thumb_func - 6608 .fpu softvfp - 6610 HAL_I2C_Master_Seq_Receive_DMA: - 6611 .LFB66: -3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode; - 6612 .loc 1 3487 0 - 6613 .cfi_startproc - 6614 @ args = 4, pretend = 0, frame = 8 - 6615 @ frame_needed = 0, uses_anonymous_args = 0 - 6616 .LVL579: - 6617 0000 F0B5 push {r4, r5, r6, r7, lr} - 6618 .LCFI55: - 6619 .cfi_def_cfa_offset 20 - 6620 .cfi_offset 4, -20 - 6621 .cfi_offset 5, -16 - 6622 .cfi_offset 6, -12 - 6623 .cfi_offset 7, -8 - 6624 .cfi_offset 14, -4 - 6625 0002 85B0 sub sp, sp, #20 - 6626 .LCFI56: - 6627 .cfi_def_cfa_offset 40 - 6628 0004 0400 movs r4, r0 - 6629 0006 0391 str r1, [sp, #12] - 6630 0008 1500 movs r5, r2 - 6631 .LVL580: -3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6632 .loc 1 3495 0 - 6633 000a 4122 movs r2, #65 - 6634 .LVL581: - 6635 000c 825C ldrb r2, [r0, r2] - 6636 000e 202A cmp r2, #32 - 6637 0010 00D0 beq .LCB6764 - 6638 0012 9DE0 b .L460 @long jump - 6639 .LCB6764: -3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6640 .loc 1 3498 0 - 6641 0014 2032 adds r2, r2, #32 - 6642 0016 825C ldrb r2, [r0, r2] - 6643 0018 012A cmp r2, #1 - 6644 001a 00D1 bne .LCB6768 - 6645 001c 9CE0 b .L461 @long jump - 6646 .LCB6768: - ARM GAS /tmp/ccFk2Nxo.s page 249 - - -3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6647 .loc 1 3498 0 is_stmt 0 discriminator 2 - 6648 001e 4022 movs r2, #64 - 6649 0020 0121 movs r1, #1 - 6650 .LVL582: - 6651 0022 8154 strb r1, [r0, r2] -3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; - 6652 .loc 1 3500 0 is_stmt 1 discriminator 2 - 6653 0024 0132 adds r2, r2, #1 - 6654 0026 2131 adds r1, r1, #33 - 6655 0028 8154 strb r1, [r0, r2] -3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 6656 .loc 1 3501 0 discriminator 2 - 6657 002a 0132 adds r2, r2, #1 - 6658 002c 1239 subs r1, r1, #18 - 6659 002e 8154 strb r1, [r0, r2] -3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6660 .loc 1 3502 0 discriminator 2 - 6661 0030 0022 movs r2, #0 - 6662 0032 4264 str r2, [r0, #68] -3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 6663 .loc 1 3505 0 discriminator 2 - 6664 0034 4562 str r5, [r0, #36] -3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 6665 .loc 1 3506 0 discriminator 2 - 6666 0036 4385 strh r3, [r0, #42] -3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; - 6667 .loc 1 3507 0 discriminator 2 - 6668 0038 0A9B ldr r3, [sp, #40] - 6669 .LVL583: - 6670 003a C362 str r3, [r0, #44] - 6671 .LVL584: -3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6672 .loc 1 3508 0 discriminator 2 - 6673 003c 474B ldr r3, .L466 - 6674 003e 4363 str r3, [r0, #52] -3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6675 .loc 1 3511 0 discriminator 2 - 6676 0040 438D ldrh r3, [r0, #42] - 6677 0042 9BB2 uxth r3, r3 - 6678 0044 FF2B cmp r3, #255 - 6679 0046 10D9 bls .L452 -3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 6680 .loc 1 3513 0 - 6681 0048 FF23 movs r3, #255 - 6682 004a 0385 strh r3, [r0, #40] - 6683 .LVL585: -3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6684 .loc 1 3514 0 - 6685 004c 8027 movs r7, #128 - 6686 004e 7F04 lsls r7, r7, #17 - 6687 .LVL586: - 6688 .L453: -3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6689 .loc 1 3524 0 - 6690 0050 236B ldr r3, [r4, #48] - 6691 0052 122B cmp r3, #18 - ARM GAS /tmp/ccFk2Nxo.s page 250 - - - 6692 0054 0DD1 bne .L454 -3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6693 .loc 1 3524 0 is_stmt 0 discriminator 1 - 6694 0056 0A9B ldr r3, [sp, #40] - 6695 0058 AA2B cmp r3, #170 - 6696 005a 0AD0 beq .L454 -3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6697 .loc 1 3524 0 discriminator 3 - 6698 005c AA23 movs r3, #170 - 6699 005e 1B02 lsls r3, r3, #8 - 6700 0060 0A9A ldr r2, [sp, #40] - 6701 0062 9A42 cmp r2, r3 - 6702 0064 05D0 beq .L454 -3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6703 .loc 1 3526 0 is_stmt 1 - 6704 0066 0026 movs r6, #0 - 6705 0068 0CE0 b .L455 - 6706 .LVL587: - 6707 .L452: -3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions; - 6708 .loc 1 3518 0 - 6709 006a 438D ldrh r3, [r0, #42] - 6710 006c 0385 strh r3, [r0, #40] -3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6711 .loc 1 3519 0 - 6712 006e C76A ldr r7, [r0, #44] - 6713 .LVL588: - 6714 0070 EEE7 b .L453 - 6715 .L454: -3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6716 .loc 1 3531 0 - 6717 0072 2000 movs r0, r4 - 6718 .LVL589: - 6719 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions - 6720 .LVL590: -3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6721 .loc 1 3534 0 - 6722 0078 638D ldrh r3, [r4, #42] - 6723 007a 9BB2 uxth r3, r3 - 6724 007c FE2B cmp r3, #254 - 6725 007e 28D8 bhi .L463 -3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6726 .loc 1 3536 0 - 6727 0080 E76A ldr r7, [r4, #44] - 6728 .LVL591: -3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 6729 .loc 1 3489 0 - 6730 0082 374E ldr r6, .L466+4 - 6731 .L455: - 6732 .LVL592: -3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6733 .loc 1 3540 0 - 6734 0084 228D ldrh r2, [r4, #40] - 6735 0086 002A cmp r2, #0 - 6736 0088 4ED0 beq .L456 -3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6737 .loc 1 3542 0 - ARM GAS /tmp/ccFk2Nxo.s page 251 - - - 6738 008a E36B ldr r3, [r4, #60] - 6739 008c 002B cmp r3, #0 - 6740 008e 22D0 beq .L457 -3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6741 .loc 1 3545 0 - 6742 0090 344A ldr r2, .L466+8 - 6743 0092 9A62 str r2, [r3, #40] -3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6744 .loc 1 3548 0 - 6745 0094 E36B ldr r3, [r4, #60] - 6746 0096 344A ldr r2, .L466+12 - 6747 0098 1A63 str r2, [r3, #48] -3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; - 6748 .loc 1 3551 0 - 6749 009a E26B ldr r2, [r4, #60] - 6750 009c 0023 movs r3, #0 - 6751 009e D362 str r3, [r2, #44] -3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6752 .loc 1 3552 0 - 6753 00a0 E26B ldr r2, [r4, #60] - 6754 00a2 5363 str r3, [r2, #52] -3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6755 .loc 1 3555 0 - 6756 00a4 2168 ldr r1, [r4] - 6757 00a6 2431 adds r1, r1, #36 - 6758 00a8 238D ldrh r3, [r4, #40] - 6759 00aa 2A00 movs r2, r5 - 6760 00ac E06B ldr r0, [r4, #60] - 6761 00ae FFF7FEFF bl HAL_DMA_Start_IT - 6762 .LVL593: - 6763 00b2 051E subs r5, r0, #0 - 6764 .LVL594: -3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6765 .loc 1 3572 0 - 6766 00b4 1DD0 beq .L465 -3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 6767 .loc 1 3595 0 - 6768 00b6 4123 movs r3, #65 - 6769 00b8 2022 movs r2, #32 - 6770 00ba E254 strb r2, [r4, r3] -3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6771 .loc 1 3596 0 - 6772 00bc 0022 movs r2, #0 - 6773 00be 0133 adds r3, r3, #1 - 6774 00c0 E254 strb r2, [r4, r3] -3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6775 .loc 1 3599 0 - 6776 00c2 636C ldr r3, [r4, #68] - 6777 00c4 1021 movs r1, #16 - 6778 00c6 0B43 orrs r3, r1 - 6779 00c8 6364 str r3, [r4, #68] -3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6780 .loc 1 3602 0 - 6781 00ca 4023 movs r3, #64 - 6782 00cc E254 strb r2, [r4, r3] -3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6783 .loc 1 3604 0 - ARM GAS /tmp/ccFk2Nxo.s page 252 - - - 6784 00ce 0125 movs r5, #1 - 6785 00d0 3FE0 b .L451 - 6786 .LVL595: - 6787 .L463: -3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 6788 .loc 1 3489 0 - 6789 00d2 234E ldr r6, .L466+4 - 6790 00d4 D6E7 b .L455 - 6791 .LVL596: - 6792 .L457: -3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 6793 .loc 1 3560 0 - 6794 00d6 4123 movs r3, #65 - 6795 00d8 2022 movs r2, #32 - 6796 00da E254 strb r2, [r4, r3] -3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6797 .loc 1 3561 0 - 6798 00dc 0022 movs r2, #0 - 6799 00de 0133 adds r3, r3, #1 - 6800 00e0 E254 strb r2, [r4, r3] -3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6801 .loc 1 3564 0 - 6802 00e2 636C ldr r3, [r4, #68] - 6803 00e4 8021 movs r1, #128 - 6804 00e6 0B43 orrs r3, r1 - 6805 00e8 6364 str r3, [r4, #68] -3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6806 .loc 1 3567 0 - 6807 00ea 4023 movs r3, #64 - 6808 00ec E254 strb r2, [r4, r3] -3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6809 .loc 1 3569 0 - 6810 00ee 0125 movs r5, #1 - 6811 .LVL597: - 6812 00f0 2FE0 b .L451 - 6813 .LVL598: - 6814 .L465: -3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6815 .loc 1 3575 0 - 6816 00f2 228D ldrh r2, [r4, #40] - 6817 00f4 D2B2 uxtb r2, r2 - 6818 00f6 0096 str r6, [sp] - 6819 00f8 3B00 movs r3, r7 - 6820 00fa 0399 ldr r1, [sp, #12] - 6821 00fc 2000 movs r0, r4 - 6822 .LVL599: - 6823 00fe FFF7FEFF bl I2C_TransferConfig - 6824 .LVL600: -3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6825 .loc 1 3578 0 - 6826 0102 638D ldrh r3, [r4, #42] - 6827 0104 228D ldrh r2, [r4, #40] - 6828 0106 9B1A subs r3, r3, r2 - 6829 0108 9BB2 uxth r3, r3 - 6830 010a 6385 strh r3, [r4, #42] -3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6831 .loc 1 3581 0 - ARM GAS /tmp/ccFk2Nxo.s page 253 - - - 6832 010c 4023 movs r3, #64 - 6833 010e 0022 movs r2, #0 - 6834 0110 E254 strb r2, [r4, r3] -3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6835 .loc 1 3587 0 - 6836 0112 1121 movs r1, #17 - 6837 0114 2000 movs r0, r4 - 6838 0116 FFF7FEFF bl I2C_Enable_IRQ - 6839 .LVL601: -3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6840 .loc 1 3590 0 - 6841 011a 2268 ldr r2, [r4] - 6842 011c 1168 ldr r1, [r2] - 6843 011e 8023 movs r3, #128 - 6844 0120 1B02 lsls r3, r3, #8 - 6845 0122 0B43 orrs r3, r1 - 6846 0124 1360 str r3, [r2] - 6847 0126 14E0 b .L451 - 6848 .LVL602: - 6849 .L456: -3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6850 .loc 1 3610 0 - 6851 0128 104B ldr r3, .L466+16 - 6852 012a 6363 str r3, [r4, #52] -3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6853 .loc 1 3614 0 - 6854 012c 8023 movs r3, #128 - 6855 012e D2B2 uxtb r2, r2 - 6856 0130 0B49 ldr r1, .L466+4 - 6857 0132 0091 str r1, [sp] - 6858 0134 9B04 lsls r3, r3, #18 - 6859 0136 0399 ldr r1, [sp, #12] - 6860 0138 2000 movs r0, r4 - 6861 013a FFF7FEFF bl I2C_TransferConfig - 6862 .LVL603: -3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6863 .loc 1 3617 0 - 6864 013e 4023 movs r3, #64 - 6865 0140 0022 movs r2, #0 - 6866 0142 E254 strb r2, [r4, r3] -3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6867 .loc 1 3625 0 - 6868 0144 0121 movs r1, #1 - 6869 0146 2000 movs r0, r4 - 6870 0148 FFF7FEFF bl I2C_Enable_IRQ - 6871 .LVL604: -3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6872 .loc 1 3628 0 - 6873 014c 0025 movs r5, #0 - 6874 .LVL605: - 6875 014e 00E0 b .L451 - 6876 .LVL606: - 6877 .L460: -3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6878 .loc 1 3632 0 - 6879 0150 0225 movs r5, #2 - 6880 .LVL607: - ARM GAS /tmp/ccFk2Nxo.s page 254 - - - 6881 .L451: -3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6882 .loc 1 3634 0 - 6883 0152 2800 movs r0, r5 - 6884 0154 05B0 add sp, sp, #20 - 6885 @ sp needed - 6886 .LVL608: - 6887 0156 F0BD pop {r4, r5, r6, r7, pc} - 6888 .LVL609: - 6889 .L461: -3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6890 .loc 1 3498 0 - 6891 0158 0225 movs r5, #2 - 6892 .LVL610: - 6893 015a FAE7 b .L451 - 6894 .L467: - 6895 .align 2 - 6896 .L466: - 6897 015c 00000000 .word I2C_Master_ISR_DMA - 6898 0160 00240080 .word -2147474432 - 6899 0164 00000000 .word I2C_DMAMasterReceiveCplt - 6900 0168 00000000 .word I2C_DMAError - 6901 016c 00000000 .word I2C_Master_ISR_IT - 6902 .cfi_endproc - 6903 .LFE66: - 6905 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits - 6906 .align 1 - 6907 .global HAL_I2C_Slave_Seq_Transmit_IT - 6908 .syntax unified - 6909 .code 16 - 6910 .thumb_func - 6911 .fpu softvfp - 6913 HAL_I2C_Slave_Seq_Transmit_IT: - 6914 .LFB67: -3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ - 6915 .loc 1 3647 0 - 6916 .cfi_startproc - 6917 @ args = 0, pretend = 0, frame = 0 - 6918 @ frame_needed = 0, uses_anonymous_args = 0 - 6919 .LVL611: - 6920 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 6921 .LCFI57: - 6922 .cfi_def_cfa_offset 24 - 6923 .cfi_offset 3, -24 - 6924 .cfi_offset 4, -20 - 6925 .cfi_offset 5, -16 - 6926 .cfi_offset 6, -12 - 6927 .cfi_offset 7, -8 - 6928 .cfi_offset 14, -4 - 6929 0002 0700 movs r7, r0 - 6930 0004 0C00 movs r4, r1 - 6931 0006 1500 movs r5, r2 - 6932 0008 1E00 movs r6, r3 -3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6933 .loc 1 3651 0 - 6934 000a 4123 movs r3, #65 - 6935 .LVL612: - ARM GAS /tmp/ccFk2Nxo.s page 255 - - - 6936 000c C35C ldrb r3, [r0, r3] - 6937 000e 2822 movs r2, #40 - 6938 .LVL613: - 6939 0010 1340 ands r3, r2 - 6940 0012 282B cmp r3, #40 - 6941 0014 01D0 beq .L476 -3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6942 .loc 1 3727 0 - 6943 0016 0120 movs r0, #1 - 6944 .LVL614: - 6945 .L469: -3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6946 .loc 1 3729 0 - 6947 @ sp needed - 6948 .LVL615: - 6949 .LVL616: - 6950 .LVL617: - 6951 0018 F8BD pop {r3, r4, r5, r6, r7, pc} - 6952 .LVL618: - 6953 .L476: -3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6954 .loc 1 3653 0 - 6955 001a 0029 cmp r1, #0 - 6956 001c 01D0 beq .L470 -3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6957 .loc 1 3653 0 is_stmt 0 discriminator 1 - 6958 001e 002D cmp r5, #0 - 6959 0020 04D1 bne .L471 - 6960 .L470: -3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 6961 .loc 1 3655 0 is_stmt 1 - 6962 0022 8023 movs r3, #128 - 6963 0024 9B00 lsls r3, r3, #2 - 6964 0026 7B64 str r3, [r7, #68] -3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 6965 .loc 1 3656 0 - 6966 0028 0120 movs r0, #1 - 6967 .LVL619: - 6968 002a F5E7 b .L469 - 6969 .LVL620: - 6970 .L471: -3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6971 .loc 1 3660 0 - 6972 002c 0521 movs r1, #5 - 6973 .LVL621: - 6974 002e FFF7FEFF bl I2C_Disable_IRQ - 6975 .LVL622: -3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6976 .loc 1 3663 0 - 6977 0032 4023 movs r3, #64 - 6978 0034 FB5C ldrb r3, [r7, r3] - 6979 0036 012B cmp r3, #1 - 6980 0038 43D0 beq .L475 -3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6981 .loc 1 3663 0 is_stmt 0 discriminator 2 - 6982 003a 4023 movs r3, #64 - 6983 003c 0122 movs r2, #1 - ARM GAS /tmp/ccFk2Nxo.s page 256 - - - 6984 003e FA54 strb r2, [r7, r3] -3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 6985 .loc 1 3667 0 is_stmt 1 discriminator 2 - 6986 0040 0133 adds r3, r3, #1 - 6987 0042 FB5C ldrb r3, [r7, r3] - 6988 0044 2A2B cmp r3, #42 - 6989 0046 22D0 beq .L477 - 6990 .L472: -3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 6991 .loc 1 3693 0 - 6992 0048 4123 movs r3, #65 - 6993 004a 2922 movs r2, #41 - 6994 004c FA54 strb r2, [r7, r3] -3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 6995 .loc 1 3694 0 - 6996 004e 0133 adds r3, r3, #1 - 6997 0050 093A subs r2, r2, #9 - 6998 0052 FA54 strb r2, [r7, r3] -3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 6999 .loc 1 3695 0 - 7000 0054 0023 movs r3, #0 - 7001 0056 7B64 str r3, [r7, #68] -3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7002 .loc 1 3698 0 - 7003 0058 3A68 ldr r2, [r7] - 7004 005a 5368 ldr r3, [r2, #4] - 7005 005c 1A49 ldr r1, .L478 - 7006 005e 0B40 ands r3, r1 - 7007 0060 5360 str r3, [r2, #4] -3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 7008 .loc 1 3701 0 - 7009 0062 7C62 str r4, [r7, #36] -3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 7010 .loc 1 3702 0 - 7011 0064 7D85 strh r5, [r7, #42] -3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 7012 .loc 1 3703 0 - 7013 0066 7B8D ldrh r3, [r7, #42] - 7014 0068 3B85 strh r3, [r7, #40] -3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; - 7015 .loc 1 3704 0 - 7016 006a FE62 str r6, [r7, #44] -3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7017 .loc 1 3705 0 - 7018 006c 174B ldr r3, .L478+4 - 7019 006e 7B63 str r3, [r7, #52] -3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7020 .loc 1 3707 0 - 7021 0070 3B68 ldr r3, [r7] - 7022 0072 9A69 ldr r2, [r3, #24] - 7023 0074 D203 lsls r2, r2, #15 - 7024 0076 01D5 bpl .L473 -3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7025 .loc 1 3711 0 - 7026 0078 0822 movs r2, #8 - 7027 007a DA61 str r2, [r3, #28] - 7028 .L473: - ARM GAS /tmp/ccFk2Nxo.s page 257 - - -3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7029 .loc 1 3715 0 - 7030 007c 4023 movs r3, #64 - 7031 007e 0022 movs r2, #0 - 7032 0080 FA54 strb r2, [r7, r3] -3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7033 .loc 1 3721 0 - 7034 0082 0521 movs r1, #5 - 7035 0084 3800 movs r0, r7 - 7036 0086 FFF7FEFF bl I2C_Enable_IRQ - 7037 .LVL623: -3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7038 .loc 1 3723 0 - 7039 008a 0020 movs r0, #0 - 7040 008c C4E7 b .L469 - 7041 .L477: -3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7042 .loc 1 3670 0 - 7043 008e 0221 movs r1, #2 - 7044 0090 3800 movs r0, r7 - 7045 0092 FFF7FEFF bl I2C_Disable_IRQ - 7046 .LVL624: -3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7047 .loc 1 3673 0 - 7048 0096 3B68 ldr r3, [r7] - 7049 0098 1A68 ldr r2, [r3] - 7050 009a 1204 lsls r2, r2, #16 - 7051 009c D4D5 bpl .L472 -3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7052 .loc 1 3675 0 - 7053 009e 1A68 ldr r2, [r3] - 7054 00a0 0949 ldr r1, .L478 - 7055 00a2 0A40 ands r2, r1 - 7056 00a4 1A60 str r2, [r3] -3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7057 .loc 1 3677 0 - 7058 00a6 FB6B ldr r3, [r7, #60] - 7059 00a8 002B cmp r3, #0 - 7060 00aa CDD0 beq .L472 -3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7061 .loc 1 3681 0 - 7062 00ac 084A ldr r2, .L478+8 - 7063 00ae 5A63 str r2, [r3, #52] -3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7064 .loc 1 3684 0 - 7065 00b0 F86B ldr r0, [r7, #60] - 7066 00b2 FFF7FEFF bl HAL_DMA_Abort_IT - 7067 .LVL625: - 7068 00b6 0028 cmp r0, #0 - 7069 00b8 C6D0 beq .L472 -3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7070 .loc 1 3687 0 - 7071 00ba F86B ldr r0, [r7, #60] - 7072 00bc 436B ldr r3, [r0, #52] - 7073 00be 9847 blx r3 - 7074 .LVL626: - 7075 00c0 C2E7 b .L472 - ARM GAS /tmp/ccFk2Nxo.s page 258 - - - 7076 .L475: -3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7077 .loc 1 3663 0 - 7078 00c2 0220 movs r0, #2 - 7079 00c4 A8E7 b .L469 - 7080 .L479: - 7081 00c6 C046 .align 2 - 7082 .L478: - 7083 00c8 FF7FFFFF .word -32769 - 7084 00cc 00000000 .word I2C_Slave_ISR_IT - 7085 00d0 00000000 .word I2C_DMAAbort - 7086 .cfi_endproc - 7087 .LFE67: - 7089 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits - 7090 .align 1 - 7091 .global HAL_I2C_Slave_Seq_Transmit_DMA - 7092 .syntax unified - 7093 .code 16 - 7094 .thumb_func - 7095 .fpu softvfp - 7097 HAL_I2C_Slave_Seq_Transmit_DMA: - 7098 .LFB68: -3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 7099 .loc 1 3742 0 - 7100 .cfi_startproc - 7101 @ args = 0, pretend = 0, frame = 0 - 7102 @ frame_needed = 0, uses_anonymous_args = 0 - 7103 .LVL627: - 7104 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 7105 .LCFI58: - 7106 .cfi_def_cfa_offset 24 - 7107 .cfi_offset 3, -24 - 7108 .cfi_offset 4, -20 - 7109 .cfi_offset 5, -16 - 7110 .cfi_offset 6, -12 - 7111 .cfi_offset 7, -8 - 7112 .cfi_offset 14, -4 - 7113 0002 0400 movs r4, r0 - 7114 0004 0D00 movs r5, r1 - 7115 0006 1600 movs r6, r2 - 7116 0008 1F00 movs r7, r3 -3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7117 .loc 1 3748 0 - 7118 000a 4123 movs r3, #65 - 7119 .LVL628: - 7120 000c C35C ldrb r3, [r0, r3] - 7121 000e 2822 movs r2, #40 - 7122 .LVL629: - 7123 0010 1340 ands r3, r2 - 7124 0012 282B cmp r3, #40 - 7125 0014 02D0 beq .L494 -3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7126 .loc 1 3906 0 - 7127 0016 0125 movs r5, #1 - 7128 .LVL630: - 7129 .L481: -3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 259 - - - 7130 .loc 1 3908 0 - 7131 0018 2800 movs r0, r5 - 7132 @ sp needed - 7133 .LVL631: - 7134 .LVL632: - 7135 001a F8BD pop {r3, r4, r5, r6, r7, pc} - 7136 .LVL633: - 7137 .L494: -3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7138 .loc 1 3750 0 - 7139 001c 0029 cmp r1, #0 - 7140 001e 57D0 beq .L482 -3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7141 .loc 1 3750 0 is_stmt 0 discriminator 1 - 7142 0020 002E cmp r6, #0 - 7143 0022 55D0 beq .L482 -3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7144 .loc 1 3757 0 is_stmt 1 - 7145 0024 4023 movs r3, #64 - 7146 0026 C35C ldrb r3, [r0, r3] - 7147 0028 012B cmp r3, #1 - 7148 002a 00D1 bne .LCB7285 - 7149 002c A5E0 b .L492 @long jump - 7150 .LCB7285: -3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7151 .loc 1 3757 0 is_stmt 0 discriminator 2 - 7152 002e 4023 movs r3, #64 - 7153 0030 0122 movs r2, #1 - 7154 0032 C254 strb r2, [r0, r3] -3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7155 .loc 1 3760 0 is_stmt 1 discriminator 2 - 7156 0034 0521 movs r1, #5 - 7157 .LVL634: - 7158 0036 FFF7FEFF bl I2C_Disable_IRQ - 7159 .LVL635: -3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7160 .loc 1 3764 0 discriminator 2 - 7161 003a 4123 movs r3, #65 - 7162 003c E35C ldrb r3, [r4, r3] - 7163 003e 2A2B cmp r3, #42 - 7164 0040 4BD0 beq .L495 -3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7165 .loc 1 3789 0 - 7166 0042 4123 movs r3, #65 - 7167 0044 E35C ldrb r3, [r4, r3] - 7168 0046 292B cmp r3, #41 - 7169 0048 62D0 beq .L496 - 7170 .L485: -3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 7171 .loc 1 3816 0 - 7172 004a 4123 movs r3, #65 - 7173 004c 2922 movs r2, #41 - 7174 004e E254 strb r2, [r4, r3] -3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 7175 .loc 1 3817 0 - 7176 0050 0133 adds r3, r3, #1 - 7177 0052 093A subs r2, r2, #9 - ARM GAS /tmp/ccFk2Nxo.s page 260 - - - 7178 0054 E254 strb r2, [r4, r3] -3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7179 .loc 1 3818 0 - 7180 0056 0023 movs r3, #0 - 7181 0058 6364 str r3, [r4, #68] -3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7182 .loc 1 3821 0 - 7183 005a 2268 ldr r2, [r4] - 7184 005c 5368 ldr r3, [r2, #4] - 7185 005e 4849 ldr r1, .L498 - 7186 0060 0B40 ands r3, r1 - 7187 0062 5360 str r3, [r2, #4] -3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 7188 .loc 1 3824 0 - 7189 0064 6562 str r5, [r4, #36] -3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 7190 .loc 1 3825 0 - 7191 0066 6685 strh r6, [r4, #42] -3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 7192 .loc 1 3826 0 - 7193 0068 638D ldrh r3, [r4, #42] - 7194 006a 2385 strh r3, [r4, #40] -3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; - 7195 .loc 1 3827 0 - 7196 006c E762 str r7, [r4, #44] -3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7197 .loc 1 3828 0 - 7198 006e 454B ldr r3, .L498+4 - 7199 0070 6363 str r3, [r4, #52] -3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7200 .loc 1 3830 0 - 7201 0072 A36B ldr r3, [r4, #56] - 7202 0074 002B cmp r3, #0 - 7203 0076 61D0 beq .L486 -3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7204 .loc 1 3833 0 - 7205 0078 434A ldr r2, .L498+8 - 7206 007a 9A62 str r2, [r3, #40] -3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7207 .loc 1 3836 0 - 7208 007c A36B ldr r3, [r4, #56] - 7209 007e 434A ldr r2, .L498+12 - 7210 0080 1A63 str r2, [r3, #48] -3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; - 7211 .loc 1 3839 0 - 7212 0082 A26B ldr r2, [r4, #56] - 7213 0084 0023 movs r3, #0 - 7214 0086 D362 str r3, [r2, #44] -3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7215 .loc 1 3840 0 - 7216 0088 A26B ldr r2, [r4, #56] - 7217 008a 5363 str r3, [r2, #52] -3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7218 .loc 1 3843 0 - 7219 008c 2268 ldr r2, [r4] - 7220 008e 2832 adds r2, r2, #40 - 7221 0090 238D ldrh r3, [r4, #40] - ARM GAS /tmp/ccFk2Nxo.s page 261 - - - 7222 0092 2900 movs r1, r5 - 7223 0094 A06B ldr r0, [r4, #56] - 7224 0096 FFF7FEFF bl HAL_DMA_Start_IT - 7225 .LVL636: - 7226 009a 051E subs r5, r0, #0 - 7227 .LVL637: -3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7228 .loc 1 3860 0 - 7229 009c 5CD1 bne .L497 -3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7230 .loc 1 3863 0 - 7231 009e 638D ldrh r3, [r4, #42] - 7232 00a0 228D ldrh r2, [r4, #40] - 7233 00a2 9B1A subs r3, r3, r2 - 7234 00a4 9BB2 uxth r3, r3 - 7235 00a6 6385 strh r3, [r4, #42] -3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7236 .loc 1 3866 0 - 7237 00a8 0023 movs r3, #0 - 7238 00aa 2385 strh r3, [r4, #40] -3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7239 .loc 1 3883 0 - 7240 00ac 2368 ldr r3, [r4] - 7241 00ae 9A69 ldr r2, [r3, #24] - 7242 00b0 D203 lsls r2, r2, #15 - 7243 00b2 5FD4 bmi .L489 - 7244 .L490: -3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7245 .loc 1 3891 0 - 7246 00b4 4023 movs r3, #64 - 7247 00b6 0022 movs r2, #0 - 7248 00b8 E254 strb r2, [r4, r3] -3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7249 .loc 1 3897 0 - 7250 00ba 0421 movs r1, #4 - 7251 00bc 2000 movs r0, r4 - 7252 .LVL638: - 7253 00be FFF7FEFF bl I2C_Enable_IRQ - 7254 .LVL639: -3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7255 .loc 1 3900 0 - 7256 00c2 2268 ldr r2, [r4] - 7257 00c4 1168 ldr r1, [r2] - 7258 00c6 8023 movs r3, #128 - 7259 00c8 DB01 lsls r3, r3, #7 - 7260 00ca 0B43 orrs r3, r1 - 7261 00cc 1360 str r3, [r2] -3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7262 .loc 1 3902 0 - 7263 00ce A3E7 b .L481 - 7264 .LVL640: - 7265 .L482: -3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 7266 .loc 1 3752 0 - 7267 00d0 8023 movs r3, #128 - 7268 00d2 9B00 lsls r3, r3, #2 - 7269 00d4 6364 str r3, [r4, #68] - ARM GAS /tmp/ccFk2Nxo.s page 262 - - -3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7270 .loc 1 3753 0 - 7271 00d6 0125 movs r5, #1 - 7272 00d8 9EE7 b .L481 - 7273 .LVL641: - 7274 .L495: -3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7275 .loc 1 3767 0 - 7276 00da 0221 movs r1, #2 - 7277 00dc 2000 movs r0, r4 - 7278 00de FFF7FEFF bl I2C_Disable_IRQ - 7279 .LVL642: -3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7280 .loc 1 3769 0 - 7281 00e2 2368 ldr r3, [r4] - 7282 00e4 1A68 ldr r2, [r3] - 7283 00e6 1204 lsls r2, r2, #16 - 7284 00e8 AFD5 bpl .L485 -3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7285 .loc 1 3772 0 - 7286 00ea E26B ldr r2, [r4, #60] - 7287 00ec 002A cmp r2, #0 - 7288 00ee ACD0 beq .L485 -3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7289 .loc 1 3774 0 - 7290 00f0 1A68 ldr r2, [r3] - 7291 00f2 2349 ldr r1, .L498 - 7292 00f4 0A40 ands r2, r1 - 7293 00f6 1A60 str r2, [r3] -3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7294 .loc 1 3778 0 - 7295 00f8 E36B ldr r3, [r4, #60] - 7296 00fa 254A ldr r2, .L498+16 - 7297 00fc 5A63 str r2, [r3, #52] -3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7298 .loc 1 3781 0 - 7299 00fe E06B ldr r0, [r4, #60] - 7300 0100 FFF7FEFF bl HAL_DMA_Abort_IT - 7301 .LVL643: - 7302 0104 0028 cmp r0, #0 - 7303 0106 A0D0 beq .L485 -3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7304 .loc 1 3784 0 - 7305 0108 E06B ldr r0, [r4, #60] - 7306 010a 436B ldr r3, [r0, #52] - 7307 010c 9847 blx r3 - 7308 .LVL644: - 7309 010e 9CE7 b .L485 - 7310 .L496: -3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7311 .loc 1 3791 0 - 7312 0110 2368 ldr r3, [r4] - 7313 0112 1A68 ldr r2, [r3] - 7314 0114 5204 lsls r2, r2, #17 - 7315 0116 98D5 bpl .L485 -3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7316 .loc 1 3793 0 - ARM GAS /tmp/ccFk2Nxo.s page 263 - - - 7317 0118 1A68 ldr r2, [r3] - 7318 011a 1E49 ldr r1, .L498+20 - 7319 011c 0A40 ands r2, r1 - 7320 011e 1A60 str r2, [r3] -3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7321 .loc 1 3796 0 - 7322 0120 A36B ldr r3, [r4, #56] - 7323 0122 002B cmp r3, #0 - 7324 0124 91D0 beq .L485 -3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7325 .loc 1 3800 0 - 7326 0126 1A4A ldr r2, .L498+16 - 7327 0128 5A63 str r2, [r3, #52] -3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7328 .loc 1 3803 0 - 7329 012a A06B ldr r0, [r4, #56] - 7330 012c FFF7FEFF bl HAL_DMA_Abort_IT - 7331 .LVL645: - 7332 0130 0028 cmp r0, #0 - 7333 0132 8AD0 beq .L485 -3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7334 .loc 1 3806 0 - 7335 0134 A06B ldr r0, [r4, #56] - 7336 0136 436B ldr r3, [r0, #52] - 7337 0138 9847 blx r3 - 7338 .LVL646: - 7339 013a 86E7 b .L485 - 7340 .L486: -3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 7341 .loc 1 3848 0 - 7342 013c 4123 movs r3, #65 - 7343 013e 2822 movs r2, #40 - 7344 0140 E254 strb r2, [r4, r3] -3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7345 .loc 1 3849 0 - 7346 0142 0022 movs r2, #0 - 7347 0144 0133 adds r3, r3, #1 - 7348 0146 E254 strb r2, [r4, r3] -3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7349 .loc 1 3852 0 - 7350 0148 636C ldr r3, [r4, #68] - 7351 014a 8021 movs r1, #128 - 7352 014c 0B43 orrs r3, r1 - 7353 014e 6364 str r3, [r4, #68] -3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7354 .loc 1 3855 0 - 7355 0150 4023 movs r3, #64 - 7356 0152 E254 strb r2, [r4, r3] -3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7357 .loc 1 3857 0 - 7358 0154 0125 movs r5, #1 - 7359 .LVL647: - 7360 0156 5FE7 b .L481 - 7361 .LVL648: - 7362 .L497: -3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 7363 .loc 1 3871 0 - ARM GAS /tmp/ccFk2Nxo.s page 264 - - - 7364 0158 4123 movs r3, #65 - 7365 015a 2822 movs r2, #40 - 7366 015c E254 strb r2, [r4, r3] -3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7367 .loc 1 3872 0 - 7368 015e 0022 movs r2, #0 - 7369 0160 0133 adds r3, r3, #1 - 7370 0162 E254 strb r2, [r4, r3] -3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7371 .loc 1 3875 0 - 7372 0164 636C ldr r3, [r4, #68] - 7373 0166 1021 movs r1, #16 - 7374 0168 0B43 orrs r3, r1 - 7375 016a 6364 str r3, [r4, #68] -3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7376 .loc 1 3878 0 - 7377 016c 4023 movs r3, #64 - 7378 016e E254 strb r2, [r4, r3] -3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7379 .loc 1 3880 0 - 7380 0170 0125 movs r5, #1 - 7381 0172 51E7 b .L481 - 7382 .L489: -3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7383 .loc 1 3887 0 - 7384 0174 0822 movs r2, #8 - 7385 0176 DA61 str r2, [r3, #28] - 7386 0178 9CE7 b .L490 - 7387 .LVL649: - 7388 .L492: -3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7389 .loc 1 3757 0 - 7390 017a 0225 movs r5, #2 - 7391 017c 4CE7 b .L481 - 7392 .L499: - 7393 017e C046 .align 2 - 7394 .L498: - 7395 0180 FF7FFFFF .word -32769 - 7396 0184 00000000 .word I2C_Slave_ISR_DMA - 7397 0188 00000000 .word I2C_DMASlaveTransmitCplt - 7398 018c 00000000 .word I2C_DMAError - 7399 0190 00000000 .word I2C_DMAAbort - 7400 0194 FFBFFFFF .word -16385 - 7401 .cfi_endproc - 7402 .LFE68: - 7404 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits - 7405 .align 1 - 7406 .global HAL_I2C_Slave_Seq_Receive_IT - 7407 .syntax unified - 7408 .code 16 - 7409 .thumb_func - 7410 .fpu softvfp - 7412 HAL_I2C_Slave_Seq_Receive_IT: - 7413 .LFB69: -3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */ - 7414 .loc 1 3921 0 - 7415 .cfi_startproc - ARM GAS /tmp/ccFk2Nxo.s page 265 - - - 7416 @ args = 0, pretend = 0, frame = 0 - 7417 @ frame_needed = 0, uses_anonymous_args = 0 - 7418 .LVL650: - 7419 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 7420 .LCFI59: - 7421 .cfi_def_cfa_offset 24 - 7422 .cfi_offset 3, -24 - 7423 .cfi_offset 4, -20 - 7424 .cfi_offset 5, -16 - 7425 .cfi_offset 6, -12 - 7426 .cfi_offset 7, -8 - 7427 .cfi_offset 14, -4 - 7428 0002 0700 movs r7, r0 - 7429 0004 0C00 movs r4, r1 - 7430 0006 1500 movs r5, r2 - 7431 0008 1E00 movs r6, r3 -3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7432 .loc 1 3925 0 - 7433 000a 4123 movs r3, #65 - 7434 .LVL651: - 7435 000c C35C ldrb r3, [r0, r3] - 7436 000e 2822 movs r2, #40 - 7437 .LVL652: - 7438 0010 1340 ands r3, r2 - 7439 0012 282B cmp r3, #40 - 7440 0014 01D0 beq .L508 -4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7441 .loc 1 4001 0 - 7442 0016 0120 movs r0, #1 - 7443 .LVL653: - 7444 .L501: -4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7445 .loc 1 4003 0 - 7446 @ sp needed - 7447 .LVL654: - 7448 .LVL655: - 7449 .LVL656: - 7450 0018 F8BD pop {r3, r4, r5, r6, r7, pc} - 7451 .LVL657: - 7452 .L508: -3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7453 .loc 1 3927 0 - 7454 001a 0029 cmp r1, #0 - 7455 001c 01D0 beq .L502 -3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7456 .loc 1 3927 0 is_stmt 0 discriminator 1 - 7457 001e 002D cmp r5, #0 - 7458 0020 04D1 bne .L503 - 7459 .L502: -3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 7460 .loc 1 3929 0 is_stmt 1 - 7461 0022 8023 movs r3, #128 - 7462 0024 9B00 lsls r3, r3, #2 - 7463 0026 7B64 str r3, [r7, #68] -3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7464 .loc 1 3930 0 - 7465 0028 0120 movs r0, #1 - ARM GAS /tmp/ccFk2Nxo.s page 266 - - - 7466 .LVL658: - 7467 002a F5E7 b .L501 - 7468 .LVL659: - 7469 .L503: -3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7470 .loc 1 3934 0 - 7471 002c 0621 movs r1, #6 - 7472 .LVL660: - 7473 002e FFF7FEFF bl I2C_Disable_IRQ - 7474 .LVL661: -3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7475 .loc 1 3937 0 - 7476 0032 4023 movs r3, #64 - 7477 0034 FB5C ldrb r3, [r7, r3] - 7478 0036 012B cmp r3, #1 - 7479 0038 43D0 beq .L507 -3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7480 .loc 1 3937 0 is_stmt 0 discriminator 2 - 7481 003a 4023 movs r3, #64 - 7482 003c 0122 movs r2, #1 - 7483 003e FA54 strb r2, [r7, r3] -3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7484 .loc 1 3941 0 is_stmt 1 discriminator 2 - 7485 0040 0133 adds r3, r3, #1 - 7486 0042 FB5C ldrb r3, [r7, r3] - 7487 0044 292B cmp r3, #41 - 7488 0046 22D0 beq .L509 - 7489 .L504: -3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 7490 .loc 1 3967 0 - 7491 0048 4123 movs r3, #65 - 7492 004a 2A22 movs r2, #42 - 7493 004c FA54 strb r2, [r7, r3] -3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 7494 .loc 1 3968 0 - 7495 004e 0133 adds r3, r3, #1 - 7496 0050 0A3A subs r2, r2, #10 - 7497 0052 FA54 strb r2, [r7, r3] -3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7498 .loc 1 3969 0 - 7499 0054 0023 movs r3, #0 - 7500 0056 7B64 str r3, [r7, #68] -3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7501 .loc 1 3972 0 - 7502 0058 3A68 ldr r2, [r7] - 7503 005a 5368 ldr r3, [r2, #4] - 7504 005c 1A49 ldr r1, .L510 - 7505 005e 0B40 ands r3, r1 - 7506 0060 5360 str r3, [r2, #4] -3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 7507 .loc 1 3975 0 - 7508 0062 7C62 str r4, [r7, #36] -3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 7509 .loc 1 3976 0 - 7510 0064 7D85 strh r5, [r7, #42] -3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 7511 .loc 1 3977 0 - ARM GAS /tmp/ccFk2Nxo.s page 267 - - - 7512 0066 7B8D ldrh r3, [r7, #42] - 7513 0068 3B85 strh r3, [r7, #40] -3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; - 7514 .loc 1 3978 0 - 7515 006a FE62 str r6, [r7, #44] -3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7516 .loc 1 3979 0 - 7517 006c 174B ldr r3, .L510+4 - 7518 006e 7B63 str r3, [r7, #52] -3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7519 .loc 1 3981 0 - 7520 0070 3B68 ldr r3, [r7] - 7521 0072 9A69 ldr r2, [r3, #24] - 7522 0074 D203 lsls r2, r2, #15 - 7523 0076 01D4 bmi .L505 -3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7524 .loc 1 3985 0 - 7525 0078 0822 movs r2, #8 - 7526 007a DA61 str r2, [r3, #28] - 7527 .L505: -3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7528 .loc 1 3989 0 - 7529 007c 4023 movs r3, #64 - 7530 007e 0022 movs r2, #0 - 7531 0080 FA54 strb r2, [r7, r3] -3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7532 .loc 1 3995 0 - 7533 0082 0621 movs r1, #6 - 7534 0084 3800 movs r0, r7 - 7535 0086 FFF7FEFF bl I2C_Enable_IRQ - 7536 .LVL662: -3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7537 .loc 1 3997 0 - 7538 008a 0020 movs r0, #0 - 7539 008c C4E7 b .L501 - 7540 .L509: -3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7541 .loc 1 3944 0 - 7542 008e 0121 movs r1, #1 - 7543 0090 3800 movs r0, r7 - 7544 0092 FFF7FEFF bl I2C_Disable_IRQ - 7545 .LVL663: -3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7546 .loc 1 3946 0 - 7547 0096 3B68 ldr r3, [r7] - 7548 0098 1A68 ldr r2, [r3] - 7549 009a 5204 lsls r2, r2, #17 - 7550 009c D4D5 bpl .L504 -3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7551 .loc 1 3948 0 - 7552 009e 1A68 ldr r2, [r3] - 7553 00a0 0B49 ldr r1, .L510+8 - 7554 00a2 0A40 ands r2, r1 - 7555 00a4 1A60 str r2, [r3] -3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7556 .loc 1 3951 0 - 7557 00a6 BB6B ldr r3, [r7, #56] - ARM GAS /tmp/ccFk2Nxo.s page 268 - - - 7558 00a8 002B cmp r3, #0 - 7559 00aa CDD0 beq .L504 -3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7560 .loc 1 3955 0 - 7561 00ac 094A ldr r2, .L510+12 - 7562 00ae 5A63 str r2, [r3, #52] -3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7563 .loc 1 3958 0 - 7564 00b0 B86B ldr r0, [r7, #56] - 7565 00b2 FFF7FEFF bl HAL_DMA_Abort_IT - 7566 .LVL664: - 7567 00b6 0028 cmp r0, #0 - 7568 00b8 C6D0 beq .L504 -3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7569 .loc 1 3961 0 - 7570 00ba B86B ldr r0, [r7, #56] - 7571 00bc 436B ldr r3, [r0, #52] - 7572 00be 9847 blx r3 - 7573 .LVL665: - 7574 00c0 C2E7 b .L504 - 7575 .L507: -3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7576 .loc 1 3937 0 - 7577 00c2 0220 movs r0, #2 - 7578 00c4 A8E7 b .L501 - 7579 .L511: - 7580 00c6 C046 .align 2 - 7581 .L510: - 7582 00c8 FF7FFFFF .word -32769 - 7583 00cc 00000000 .word I2C_Slave_ISR_IT - 7584 00d0 FFBFFFFF .word -16385 - 7585 00d4 00000000 .word I2C_DMAAbort - 7586 .cfi_endproc - 7587 .LFE69: - 7589 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits - 7590 .align 1 - 7591 .global HAL_I2C_Slave_Seq_Receive_DMA - 7592 .syntax unified - 7593 .code 16 - 7594 .thumb_func - 7595 .fpu softvfp - 7597 HAL_I2C_Slave_Seq_Receive_DMA: - 7598 .LFB70: -4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; - 7599 .loc 1 4016 0 - 7600 .cfi_startproc - 7601 @ args = 0, pretend = 0, frame = 0 - 7602 @ frame_needed = 0, uses_anonymous_args = 0 - 7603 .LVL666: - 7604 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 7605 .LCFI60: - 7606 .cfi_def_cfa_offset 24 - 7607 .cfi_offset 3, -24 - 7608 .cfi_offset 4, -20 - 7609 .cfi_offset 5, -16 - 7610 .cfi_offset 6, -12 - 7611 .cfi_offset 7, -8 - ARM GAS /tmp/ccFk2Nxo.s page 269 - - - 7612 .cfi_offset 14, -4 - 7613 0002 0400 movs r4, r0 - 7614 0004 0D00 movs r5, r1 - 7615 0006 1600 movs r6, r2 - 7616 0008 1F00 movs r7, r3 -4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7617 .loc 1 4022 0 - 7618 000a 4123 movs r3, #65 - 7619 .LVL667: - 7620 000c C35C ldrb r3, [r0, r3] - 7621 000e 2822 movs r2, #40 - 7622 .LVL668: - 7623 0010 1340 ands r3, r2 - 7624 0012 282B cmp r3, #40 - 7625 0014 02D0 beq .L526 -4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7626 .loc 1 4180 0 - 7627 0016 0125 movs r5, #1 - 7628 .LVL669: - 7629 .L513: -4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7630 .loc 1 4182 0 - 7631 0018 2800 movs r0, r5 - 7632 @ sp needed - 7633 .LVL670: - 7634 .LVL671: - 7635 001a F8BD pop {r3, r4, r5, r6, r7, pc} - 7636 .LVL672: - 7637 .L526: -4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7638 .loc 1 4024 0 - 7639 001c 0029 cmp r1, #0 - 7640 001e 01D0 beq .L514 -4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7641 .loc 1 4024 0 is_stmt 0 discriminator 1 - 7642 0020 002E cmp r6, #0 - 7643 0022 04D1 bne .L515 - 7644 .L514: -4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR; - 7645 .loc 1 4026 0 is_stmt 1 - 7646 0024 8023 movs r3, #128 - 7647 0026 9B00 lsls r3, r3, #2 - 7648 0028 6364 str r3, [r4, #68] -4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7649 .loc 1 4027 0 - 7650 002a 0125 movs r5, #1 - 7651 002c F4E7 b .L513 - 7652 .L515: -4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7653 .loc 1 4031 0 - 7654 002e 0621 movs r1, #6 - 7655 .LVL673: - 7656 0030 FFF7FEFF bl I2C_Disable_IRQ - 7657 .LVL674: -4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7658 .loc 1 4034 0 - 7659 0034 4023 movs r3, #64 - ARM GAS /tmp/ccFk2Nxo.s page 270 - - - 7660 0036 E35C ldrb r3, [r4, r3] - 7661 0038 012B cmp r3, #1 - 7662 003a 00D1 bne .LCB7795 - 7663 003c 9DE0 b .L524 @long jump - 7664 .LCB7795: -4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7665 .loc 1 4034 0 is_stmt 0 discriminator 2 - 7666 003e 4023 movs r3, #64 - 7667 0040 0122 movs r2, #1 - 7668 0042 E254 strb r2, [r4, r3] -4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7669 .loc 1 4038 0 is_stmt 1 discriminator 2 - 7670 0044 0133 adds r3, r3, #1 - 7671 0046 E35C ldrb r3, [r4, r3] - 7672 0048 292B cmp r3, #41 - 7673 004a 46D0 beq .L527 -4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7674 .loc 1 4063 0 - 7675 004c 4123 movs r3, #65 - 7676 004e E35C ldrb r3, [r4, r3] - 7677 0050 2A2B cmp r3, #42 - 7678 0052 5DD0 beq .L528 - 7679 .L517: -4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; - 7680 .loc 1 4090 0 - 7681 0054 4123 movs r3, #65 - 7682 0056 2A22 movs r2, #42 - 7683 0058 E254 strb r2, [r4, r3] -4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 7684 .loc 1 4091 0 - 7685 005a 0133 adds r3, r3, #1 - 7686 005c 0A3A subs r2, r2, #10 - 7687 005e E254 strb r2, [r4, r3] -4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7688 .loc 1 4092 0 - 7689 0060 0023 movs r3, #0 - 7690 0062 6364 str r3, [r4, #68] -4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7691 .loc 1 4095 0 - 7692 0064 2268 ldr r2, [r4] - 7693 0066 5368 ldr r3, [r2, #4] - 7694 0068 4549 ldr r1, .L530 - 7695 006a 0B40 ands r3, r1 - 7696 006c 5360 str r3, [r2, #4] -4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size; - 7697 .loc 1 4098 0 - 7698 006e 6562 str r5, [r4, #36] -4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; - 7699 .loc 1 4099 0 - 7700 0070 6685 strh r6, [r4, #42] -4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; - 7701 .loc 1 4100 0 - 7702 0072 638D ldrh r3, [r4, #42] - 7703 0074 2385 strh r3, [r4, #40] -4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; - 7704 .loc 1 4101 0 - 7705 0076 E762 str r7, [r4, #44] - ARM GAS /tmp/ccFk2Nxo.s page 271 - - -4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7706 .loc 1 4102 0 - 7707 0078 424B ldr r3, .L530+4 - 7708 007a 6363 str r3, [r4, #52] -4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7709 .loc 1 4104 0 - 7710 007c E36B ldr r3, [r4, #60] - 7711 007e 002B cmp r3, #0 - 7712 0080 5CD0 beq .L518 -4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7713 .loc 1 4107 0 - 7714 0082 414A ldr r2, .L530+8 - 7715 0084 9A62 str r2, [r3, #40] -4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7716 .loc 1 4110 0 - 7717 0086 E36B ldr r3, [r4, #60] - 7718 0088 404A ldr r2, .L530+12 - 7719 008a 1A63 str r2, [r3, #48] -4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; - 7720 .loc 1 4113 0 - 7721 008c E26B ldr r2, [r4, #60] - 7722 008e 0023 movs r3, #0 - 7723 0090 D362 str r3, [r2, #44] -4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7724 .loc 1 4114 0 - 7725 0092 E26B ldr r2, [r4, #60] - 7726 0094 5363 str r3, [r2, #52] -4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7727 .loc 1 4117 0 - 7728 0096 2168 ldr r1, [r4] - 7729 0098 2431 adds r1, r1, #36 - 7730 009a 238D ldrh r3, [r4, #40] - 7731 009c 2A00 movs r2, r5 - 7732 009e E06B ldr r0, [r4, #60] - 7733 00a0 FFF7FEFF bl HAL_DMA_Start_IT - 7734 .LVL675: - 7735 00a4 051E subs r5, r0, #0 - 7736 .LVL676: -4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7737 .loc 1 4134 0 - 7738 00a6 57D1 bne .L529 -4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7739 .loc 1 4137 0 - 7740 00a8 638D ldrh r3, [r4, #42] - 7741 00aa 228D ldrh r2, [r4, #40] - 7742 00ac 9B1A subs r3, r3, r2 - 7743 00ae 9BB2 uxth r3, r3 - 7744 00b0 6385 strh r3, [r4, #42] -4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7745 .loc 1 4140 0 - 7746 00b2 0023 movs r3, #0 - 7747 00b4 2385 strh r3, [r4, #40] -4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7748 .loc 1 4157 0 - 7749 00b6 2368 ldr r3, [r4] - 7750 00b8 9A69 ldr r2, [r3, #24] - 7751 00ba D203 lsls r2, r2, #15 - ARM GAS /tmp/ccFk2Nxo.s page 272 - - - 7752 00bc 5AD5 bpl .L521 - 7753 .L522: -4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7754 .loc 1 4165 0 - 7755 00be 4023 movs r3, #64 - 7756 00c0 0022 movs r2, #0 - 7757 00c2 E254 strb r2, [r4, r3] -4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7758 .loc 1 4171 0 - 7759 00c4 0621 movs r1, #6 - 7760 00c6 2000 movs r0, r4 - 7761 .LVL677: - 7762 00c8 FFF7FEFF bl I2C_Enable_IRQ - 7763 .LVL678: -4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7764 .loc 1 4174 0 - 7765 00cc 2268 ldr r2, [r4] - 7766 00ce 1168 ldr r1, [r2] - 7767 00d0 8023 movs r3, #128 - 7768 00d2 1B02 lsls r3, r3, #8 - 7769 00d4 0B43 orrs r3, r1 - 7770 00d6 1360 str r3, [r2] -4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7771 .loc 1 4176 0 - 7772 00d8 9EE7 b .L513 - 7773 .LVL679: - 7774 .L527: -4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7775 .loc 1 4041 0 - 7776 00da 0121 movs r1, #1 - 7777 00dc 2000 movs r0, r4 - 7778 00de FFF7FEFF bl I2C_Disable_IRQ - 7779 .LVL680: -4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7780 .loc 1 4043 0 - 7781 00e2 2368 ldr r3, [r4] - 7782 00e4 1A68 ldr r2, [r3] - 7783 00e6 5204 lsls r2, r2, #17 - 7784 00e8 B4D5 bpl .L517 -4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7785 .loc 1 4046 0 - 7786 00ea A26B ldr r2, [r4, #56] - 7787 00ec 002A cmp r2, #0 - 7788 00ee B1D0 beq .L517 -4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7789 .loc 1 4048 0 - 7790 00f0 1A68 ldr r2, [r3] - 7791 00f2 2749 ldr r1, .L530+16 - 7792 00f4 0A40 ands r2, r1 - 7793 00f6 1A60 str r2, [r3] -4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7794 .loc 1 4052 0 - 7795 00f8 A36B ldr r3, [r4, #56] - 7796 00fa 264A ldr r2, .L530+20 - 7797 00fc 5A63 str r2, [r3, #52] -4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7798 .loc 1 4055 0 - ARM GAS /tmp/ccFk2Nxo.s page 273 - - - 7799 00fe A06B ldr r0, [r4, #56] - 7800 0100 FFF7FEFF bl HAL_DMA_Abort_IT - 7801 .LVL681: - 7802 0104 0028 cmp r0, #0 - 7803 0106 A5D0 beq .L517 -4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7804 .loc 1 4058 0 - 7805 0108 A06B ldr r0, [r4, #56] - 7806 010a 436B ldr r3, [r0, #52] - 7807 010c 9847 blx r3 - 7808 .LVL682: - 7809 010e A1E7 b .L517 - 7810 .L528: -4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7811 .loc 1 4065 0 - 7812 0110 2368 ldr r3, [r4] - 7813 0112 1A68 ldr r2, [r3] - 7814 0114 1204 lsls r2, r2, #16 - 7815 0116 9DD5 bpl .L517 -4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7816 .loc 1 4067 0 - 7817 0118 1A68 ldr r2, [r3] - 7818 011a 1949 ldr r1, .L530 - 7819 011c 0A40 ands r2, r1 - 7820 011e 1A60 str r2, [r3] -4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7821 .loc 1 4070 0 - 7822 0120 E36B ldr r3, [r4, #60] - 7823 0122 002B cmp r3, #0 - 7824 0124 96D0 beq .L517 -4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7825 .loc 1 4074 0 - 7826 0126 1B4A ldr r2, .L530+20 - 7827 0128 5A63 str r2, [r3, #52] -4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7828 .loc 1 4077 0 - 7829 012a E06B ldr r0, [r4, #60] - 7830 012c FFF7FEFF bl HAL_DMA_Abort_IT - 7831 .LVL683: - 7832 0130 0028 cmp r0, #0 - 7833 0132 8FD0 beq .L517 -4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7834 .loc 1 4080 0 - 7835 0134 E06B ldr r0, [r4, #60] - 7836 0136 436B ldr r3, [r0, #52] - 7837 0138 9847 blx r3 - 7838 .LVL684: - 7839 013a 8BE7 b .L517 - 7840 .L518: -4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 7841 .loc 1 4122 0 - 7842 013c 4123 movs r3, #65 - 7843 013e 2822 movs r2, #40 - 7844 0140 E254 strb r2, [r4, r3] -4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7845 .loc 1 4123 0 - 7846 0142 0022 movs r2, #0 - ARM GAS /tmp/ccFk2Nxo.s page 274 - - - 7847 0144 0133 adds r3, r3, #1 - 7848 0146 E254 strb r2, [r4, r3] -4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7849 .loc 1 4126 0 - 7850 0148 636C ldr r3, [r4, #68] - 7851 014a 8021 movs r1, #128 - 7852 014c 0B43 orrs r3, r1 - 7853 014e 6364 str r3, [r4, #68] -4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7854 .loc 1 4129 0 - 7855 0150 4023 movs r3, #64 - 7856 0152 E254 strb r2, [r4, r3] -4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7857 .loc 1 4131 0 - 7858 0154 0125 movs r5, #1 - 7859 .LVL685: - 7860 0156 5FE7 b .L513 - 7861 .LVL686: - 7862 .L529: -4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 7863 .loc 1 4145 0 - 7864 0158 4123 movs r3, #65 - 7865 015a 2822 movs r2, #40 - 7866 015c E254 strb r2, [r4, r3] -4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7867 .loc 1 4146 0 - 7868 015e 0022 movs r2, #0 - 7869 0160 0133 adds r3, r3, #1 - 7870 0162 E254 strb r2, [r4, r3] -4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7871 .loc 1 4149 0 - 7872 0164 636C ldr r3, [r4, #68] - 7873 0166 1021 movs r1, #16 - 7874 0168 0B43 orrs r3, r1 - 7875 016a 6364 str r3, [r4, #68] -4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7876 .loc 1 4152 0 - 7877 016c 4023 movs r3, #64 - 7878 016e E254 strb r2, [r4, r3] -4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7879 .loc 1 4154 0 - 7880 0170 0125 movs r5, #1 - 7881 0172 51E7 b .L513 - 7882 .L521: -4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7883 .loc 1 4161 0 - 7884 0174 0822 movs r2, #8 - 7885 0176 DA61 str r2, [r3, #28] - 7886 0178 A1E7 b .L522 - 7887 .LVL687: - 7888 .L524: -4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7889 .loc 1 4034 0 - 7890 017a 0225 movs r5, #2 - 7891 .LVL688: - 7892 017c 4CE7 b .L513 - 7893 .L531: - ARM GAS /tmp/ccFk2Nxo.s page 275 - - - 7894 017e C046 .align 2 - 7895 .L530: - 7896 0180 FF7FFFFF .word -32769 - 7897 0184 00000000 .word I2C_Slave_ISR_DMA - 7898 0188 00000000 .word I2C_DMASlaveReceiveCplt - 7899 018c 00000000 .word I2C_DMAError - 7900 0190 FFBFFFFF .word -16385 - 7901 0194 00000000 .word I2C_DMAAbort - 7902 .cfi_endproc - 7903 .LFE70: - 7905 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits - 7906 .align 1 - 7907 .global HAL_I2C_EnableListen_IT - 7908 .syntax unified - 7909 .code 16 - 7910 .thumb_func - 7911 .fpu softvfp - 7913 HAL_I2C_EnableListen_IT: - 7914 .LFB71: -4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) - 7915 .loc 1 4191 0 - 7916 .cfi_startproc - 7917 @ args = 0, pretend = 0, frame = 0 - 7918 @ frame_needed = 0, uses_anonymous_args = 0 - 7919 .LVL689: - 7920 0000 10B5 push {r4, lr} - 7921 .LCFI61: - 7922 .cfi_def_cfa_offset 8 - 7923 .cfi_offset 4, -8 - 7924 .cfi_offset 14, -4 -4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7925 .loc 1 4192 0 - 7926 0002 4123 movs r3, #65 - 7927 0004 C35C ldrb r3, [r0, r3] - 7928 0006 202B cmp r3, #32 - 7929 0008 01D0 beq .L535 -4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7930 .loc 1 4204 0 - 7931 000a 0220 movs r0, #2 - 7932 .LVL690: - 7933 .L533: -4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7934 .loc 1 4206 0 - 7935 @ sp needed - 7936 000c 10BD pop {r4, pc} - 7937 .LVL691: - 7938 .L535: -4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; - 7939 .loc 1 4194 0 - 7940 000e 2133 adds r3, r3, #33 - 7941 0010 2822 movs r2, #40 - 7942 0012 C254 strb r2, [r0, r3] -4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7943 .loc 1 4195 0 - 7944 0014 034B ldr r3, .L536 - 7945 0016 4363 str r3, [r0, #52] -4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 276 - - - 7946 .loc 1 4198 0 - 7947 0018 0421 movs r1, #4 - 7948 001a FFF7FEFF bl I2C_Enable_IRQ - 7949 .LVL692: -4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7950 .loc 1 4200 0 - 7951 001e 0020 movs r0, #0 - 7952 0020 F4E7 b .L533 - 7953 .L537: - 7954 0022 C046 .align 2 - 7955 .L536: - 7956 0024 00000000 .word I2C_Slave_ISR_IT - 7957 .cfi_endproc - 7958 .LFE71: - 7960 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits - 7961 .align 1 - 7962 .global HAL_I2C_DisableListen_IT - 7963 .syntax unified - 7964 .code 16 - 7965 .thumb_func - 7966 .fpu softvfp - 7968 HAL_I2C_DisableListen_IT: - 7969 .LFB72: -4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ - 7970 .loc 1 4215 0 - 7971 .cfi_startproc - 7972 @ args = 0, pretend = 0, frame = 0 - 7973 @ frame_needed = 0, uses_anonymous_args = 0 - 7974 .LVL693: - 7975 0000 70B5 push {r4, r5, r6, lr} - 7976 .LCFI62: - 7977 .cfi_def_cfa_offset 16 - 7978 .cfi_offset 4, -16 - 7979 .cfi_offset 5, -12 - 7980 .cfi_offset 6, -8 - 7981 .cfi_offset 14, -4 -4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 7982 .loc 1 4220 0 - 7983 0002 4123 movs r3, #65 - 7984 0004 C35C ldrb r3, [r0, r3] - 7985 0006 282B cmp r3, #40 - 7986 0008 01D0 beq .L541 -4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 7987 .loc 1 4235 0 - 7988 000a 0220 movs r0, #2 - 7989 .LVL694: - 7990 .L539: -4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 7991 .loc 1 4237 0 - 7992 @ sp needed - 7993 000c 70BD pop {r4, r5, r6, pc} - 7994 .LVL695: - 7995 .L541: -4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); - 7996 .loc 1 4222 0 - 7997 000e 4124 movs r4, #65 - 7998 0010 025D ldrb r2, [r0, r4] - ARM GAS /tmp/ccFk2Nxo.s page 277 - - - 7999 .LVL696: -4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 8000 .loc 1 4223 0 - 8001 0012 4221 movs r1, #66 - 8002 0014 435C ldrb r3, [r0, r1] - 8003 0016 0325 movs r5, #3 - 8004 0018 2A40 ands r2, r5 - 8005 .LVL697: - 8006 001a 1343 orrs r3, r2 - 8007 001c 0363 str r3, [r0, #48] -4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 8008 .loc 1 4224 0 - 8009 001e 2023 movs r3, #32 - 8010 0020 0355 strb r3, [r0, r4] -4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 8011 .loc 1 4225 0 - 8012 0022 0023 movs r3, #0 - 8013 0024 4354 strb r3, [r0, r1] -4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8014 .loc 1 4226 0 - 8015 0026 4363 str r3, [r0, #52] -4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8016 .loc 1 4229 0 - 8017 0028 3E39 subs r1, r1, #62 - 8018 002a FFF7FEFF bl I2C_Disable_IRQ - 8019 .LVL698: -4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8020 .loc 1 4231 0 - 8021 002e 0020 movs r0, #0 - 8022 0030 ECE7 b .L539 - 8023 .cfi_endproc - 8024 .LFE72: - 8026 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits - 8027 .align 1 - 8028 .global HAL_I2C_Master_Abort_IT - 8029 .syntax unified - 8030 .code 16 - 8031 .thumb_func - 8032 .fpu softvfp - 8034 HAL_I2C_Master_Abort_IT: - 8035 .LFB73: -4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER) - 8036 .loc 1 4248 0 - 8037 .cfi_startproc - 8038 @ args = 0, pretend = 0, frame = 0 - 8039 @ frame_needed = 0, uses_anonymous_args = 0 - 8040 .LVL699: - 8041 0000 70B5 push {r4, r5, r6, lr} - 8042 .LCFI63: - 8043 .cfi_def_cfa_offset 16 - 8044 .cfi_offset 4, -16 - 8045 .cfi_offset 5, -12 - 8046 .cfi_offset 6, -8 - 8047 .cfi_offset 14, -4 - 8048 0002 82B0 sub sp, sp, #8 - 8049 .LCFI64: - 8050 .cfi_def_cfa_offset 24 - ARM GAS /tmp/ccFk2Nxo.s page 278 - - - 8051 0004 0400 movs r4, r0 - 8052 0006 0D00 movs r5, r1 -4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8053 .loc 1 4249 0 - 8054 0008 4223 movs r3, #66 - 8055 000a C35C ldrb r3, [r0, r3] - 8056 000c 102B cmp r3, #16 - 8057 000e 02D0 beq .L546 -4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8058 .loc 1 4279 0 - 8059 0010 0120 movs r0, #1 - 8060 .LVL700: - 8061 .L543: -4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8062 .loc 1 4281 0 - 8063 0012 02B0 add sp, sp, #8 - 8064 @ sp needed - 8065 .LVL701: - 8066 0014 70BD pop {r4, r5, r6, pc} - 8067 .LVL702: - 8068 .L546: -4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8069 .loc 1 4252 0 - 8070 0016 3033 adds r3, r3, #48 - 8071 0018 C35C ldrb r3, [r0, r3] - 8072 001a 012B cmp r3, #1 - 8073 001c 1DD0 beq .L545 -4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8074 .loc 1 4252 0 is_stmt 0 discriminator 2 - 8075 001e 4026 movs r6, #64 - 8076 0020 0123 movs r3, #1 - 8077 0022 8355 strb r3, [r0, r6] -4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); - 8078 .loc 1 4255 0 is_stmt 1 discriminator 2 - 8079 0024 0221 movs r1, #2 - 8080 .LVL703: - 8081 0026 FFF7FEFF bl I2C_Disable_IRQ - 8082 .LVL704: -4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8083 .loc 1 4256 0 discriminator 2 - 8084 002a 0121 movs r1, #1 - 8085 002c 2000 movs r0, r4 - 8086 002e FFF7FEFF bl I2C_Disable_IRQ - 8087 .LVL705: -4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8088 .loc 1 4259 0 discriminator 2 - 8089 0032 4123 movs r3, #65 - 8090 0034 6022 movs r2, #96 - 8091 0036 E254 strb r2, [r4, r3] -4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8092 .loc 1 4263 0 discriminator 2 - 8093 0038 3F33 adds r3, r3, #63 - 8094 003a 094A ldr r2, .L547 - 8095 003c 0092 str r2, [sp] - 8096 003e 9B04 lsls r3, r3, #18 - 8097 0040 0122 movs r2, #1 - 8098 0042 2900 movs r1, r5 - ARM GAS /tmp/ccFk2Nxo.s page 279 - - - 8099 0044 2000 movs r0, r4 - 8100 0046 FFF7FEFF bl I2C_TransferConfig - 8101 .LVL706: -4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8102 .loc 1 4266 0 discriminator 2 - 8103 004a 0023 movs r3, #0 - 8104 004c A355 strb r3, [r4, r6] -4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8105 .loc 1 4271 0 discriminator 2 - 8106 004e 1221 movs r1, #18 - 8107 0050 2000 movs r0, r4 - 8108 0052 FFF7FEFF bl I2C_Enable_IRQ - 8109 .LVL707: -4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8110 .loc 1 4273 0 discriminator 2 - 8111 0056 0020 movs r0, #0 - 8112 0058 DBE7 b .L543 - 8113 .LVL708: - 8114 .L545: -4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8115 .loc 1 4252 0 - 8116 005a 0220 movs r0, #2 - 8117 .LVL709: - 8118 005c D9E7 b .L543 - 8119 .L548: - 8120 005e C046 .align 2 - 8121 .L547: - 8122 0060 00400080 .word -2147467264 - 8123 .cfi_endproc - 8124 .LFE73: - 8126 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits - 8127 .align 1 - 8128 .global HAL_I2C_EV_IRQHandler - 8129 .syntax unified - 8130 .code 16 - 8131 .thumb_func - 8132 .fpu softvfp - 8134 HAL_I2C_EV_IRQHandler: - 8135 .LFB74: -4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */ - 8136 .loc 1 4298 0 - 8137 .cfi_startproc - 8138 @ args = 0, pretend = 0, frame = 0 - 8139 @ frame_needed = 0, uses_anonymous_args = 0 - 8140 .LVL710: - 8141 0000 10B5 push {r4, lr} - 8142 .LCFI65: - 8143 .cfi_def_cfa_offset 8 - 8144 .cfi_offset 4, -8 - 8145 .cfi_offset 14, -4 -4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); - 8146 .loc 1 4300 0 - 8147 0002 0368 ldr r3, [r0] - 8148 0004 9969 ldr r1, [r3, #24] - 8149 .LVL711: -4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8150 .loc 1 4301 0 - ARM GAS /tmp/ccFk2Nxo.s page 280 - - - 8151 0006 1A68 ldr r2, [r3] - 8152 .LVL712: -4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8153 .loc 1 4304 0 - 8154 0008 436B ldr r3, [r0, #52] - 8155 000a 002B cmp r3, #0 - 8156 000c 00D0 beq .L549 -4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8157 .loc 1 4306 0 - 8158 000e 9847 blx r3 - 8159 .LVL713: - 8160 .L549: -4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8161 .loc 1 4308 0 - 8162 @ sp needed - 8163 0010 10BD pop {r4, pc} - 8164 .cfi_endproc - 8165 .LFE74: - 8167 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits - 8168 .align 1 - 8169 .weak HAL_I2C_MasterTxCpltCallback - 8170 .syntax unified - 8171 .code 16 - 8172 .thumb_func - 8173 .fpu softvfp - 8175 HAL_I2C_MasterTxCpltCallback: - 8176 .LFB76: -4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8177 .loc 1 4366 0 - 8178 .cfi_startproc - 8179 @ args = 0, pretend = 0, frame = 0 - 8180 @ frame_needed = 0, uses_anonymous_args = 0 - 8181 @ link register save eliminated. - 8182 .LVL714: -4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8183 .loc 1 4373 0 - 8184 @ sp needed - 8185 0000 7047 bx lr - 8186 .cfi_endproc - 8187 .LFE76: - 8189 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits - 8190 .align 1 - 8191 .weak HAL_I2C_MasterRxCpltCallback - 8192 .syntax unified - 8193 .code 16 - 8194 .thumb_func - 8195 .fpu softvfp - 8197 HAL_I2C_MasterRxCpltCallback: - 8198 .LFB77: -4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8199 .loc 1 4382 0 - 8200 .cfi_startproc - 8201 @ args = 0, pretend = 0, frame = 0 - 8202 @ frame_needed = 0, uses_anonymous_args = 0 - 8203 @ link register save eliminated. - 8204 .LVL715: -4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 281 - - - 8205 .loc 1 4389 0 - 8206 @ sp needed - 8207 0000 7047 bx lr - 8208 .cfi_endproc - 8209 .LFE77: - 8211 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits - 8212 .align 1 - 8213 .syntax unified - 8214 .code 16 - 8215 .thumb_func - 8216 .fpu softvfp - 8218 I2C_ITMasterSeqCplt: - 8219 .LFB96: -5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */ - 8220 .loc 1 5318 0 - 8221 .cfi_startproc - 8222 @ args = 0, pretend = 0, frame = 0 - 8223 @ frame_needed = 0, uses_anonymous_args = 0 - 8224 .LVL716: - 8225 0000 70B5 push {r4, r5, r6, lr} - 8226 .LCFI66: - 8227 .cfi_def_cfa_offset 16 - 8228 .cfi_offset 4, -16 - 8229 .cfi_offset 5, -12 - 8230 .cfi_offset 6, -8 - 8231 .cfi_offset 14, -4 - 8232 0002 0400 movs r4, r0 -5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8233 .loc 1 5320 0 - 8234 0004 4223 movs r3, #66 - 8235 0006 0022 movs r2, #0 - 8236 0008 C254 strb r2, [r0, r3] -5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8237 .loc 1 5324 0 - 8238 000a 013B subs r3, r3, #1 - 8239 000c C35C ldrb r3, [r0, r3] - 8240 000e 212B cmp r3, #33 - 8241 0010 0FD0 beq .L556 -5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; - 8242 .loc 1 5346 0 - 8243 0012 4123 movs r3, #65 - 8244 0014 2022 movs r2, #32 - 8245 0016 C254 strb r2, [r0, r3] -5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 8246 .loc 1 5347 0 - 8247 0018 2F3B subs r3, r3, #47 - 8248 001a 0363 str r3, [r0, #48] -5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8249 .loc 1 5348 0 - 8250 001c 0025 movs r5, #0 - 8251 001e 4563 str r5, [r0, #52] -5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8252 .loc 1 5351 0 - 8253 0020 0221 movs r1, #2 - 8254 0022 FFF7FEFF bl I2C_Disable_IRQ - 8255 .LVL717: -5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 282 - - - 8256 .loc 1 5354 0 - 8257 0026 4023 movs r3, #64 - 8258 0028 E554 strb r5, [r4, r3] -5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8259 .loc 1 5360 0 - 8260 002a 2000 movs r0, r4 - 8261 002c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback - 8262 .LVL718: - 8263 .L553: -5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8264 .loc 1 5363 0 - 8265 @ sp needed - 8266 .LVL719: - 8267 0030 70BD pop {r4, r5, r6, pc} - 8268 .LVL720: - 8269 .L556: -5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; - 8270 .loc 1 5326 0 - 8271 0032 2033 adds r3, r3, #32 - 8272 0034 2032 adds r2, r2, #32 - 8273 0036 C254 strb r2, [r0, r3] -5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 8274 .loc 1 5327 0 - 8275 0038 303B subs r3, r3, #48 - 8276 003a 0363 str r3, [r0, #48] -5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8277 .loc 1 5328 0 - 8278 003c 0025 movs r5, #0 - 8279 003e 4563 str r5, [r0, #52] -5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8280 .loc 1 5331 0 - 8281 0040 0121 movs r1, #1 - 8282 0042 FFF7FEFF bl I2C_Disable_IRQ - 8283 .LVL721: -5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8284 .loc 1 5334 0 - 8285 0046 4023 movs r3, #64 - 8286 0048 E554 strb r5, [r4, r3] -5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8287 .loc 1 5340 0 - 8288 004a 2000 movs r0, r4 - 8289 004c FFF7FEFF bl HAL_I2C_MasterTxCpltCallback - 8290 .LVL722: - 8291 0050 EEE7 b .L553 - 8292 .cfi_endproc - 8293 .LFE96: - 8295 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits - 8296 .align 1 - 8297 .weak HAL_I2C_SlaveTxCpltCallback - 8298 .syntax unified - 8299 .code 16 - 8300 .thumb_func - 8301 .fpu softvfp - 8303 HAL_I2C_SlaveTxCpltCallback: - 8304 .LFB78: -4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8305 .loc 1 4397 0 - ARM GAS /tmp/ccFk2Nxo.s page 283 - - - 8306 .cfi_startproc - 8307 @ args = 0, pretend = 0, frame = 0 - 8308 @ frame_needed = 0, uses_anonymous_args = 0 - 8309 @ link register save eliminated. - 8310 .LVL723: -4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8311 .loc 1 4404 0 - 8312 @ sp needed - 8313 0000 7047 bx lr - 8314 .cfi_endproc - 8315 .LFE78: - 8317 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits - 8318 .align 1 - 8319 .weak HAL_I2C_SlaveRxCpltCallback - 8320 .syntax unified - 8321 .code 16 - 8322 .thumb_func - 8323 .fpu softvfp - 8325 HAL_I2C_SlaveRxCpltCallback: - 8326 .LFB79: -4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8327 .loc 1 4413 0 - 8328 .cfi_startproc - 8329 @ args = 0, pretend = 0, frame = 0 - 8330 @ frame_needed = 0, uses_anonymous_args = 0 - 8331 @ link register save eliminated. - 8332 .LVL724: -4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8333 .loc 1 4420 0 - 8334 @ sp needed - 8335 0000 7047 bx lr - 8336 .cfi_endproc - 8337 .LFE79: - 8339 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits - 8340 .align 1 - 8341 .syntax unified - 8342 .code 16 - 8343 .thumb_func - 8344 .fpu softvfp - 8346 I2C_ITSlaveSeqCplt: - 8347 .LFB97: -5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */ - 8348 .loc 1 5371 0 - 8349 .cfi_startproc - 8350 @ args = 0, pretend = 0, frame = 0 - 8351 @ frame_needed = 0, uses_anonymous_args = 0 - 8352 .LVL725: - 8353 0000 10B5 push {r4, lr} - 8354 .LCFI67: - 8355 .cfi_def_cfa_offset 8 - 8356 .cfi_offset 4, -8 - 8357 .cfi_offset 14, -4 - 8358 0002 0400 movs r4, r0 -5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8359 .loc 1 5373 0 - 8360 0004 4223 movs r3, #66 - 8361 0006 0022 movs r2, #0 - ARM GAS /tmp/ccFk2Nxo.s page 284 - - - 8362 0008 C254 strb r2, [r0, r3] -5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8363 .loc 1 5375 0 - 8364 000a 013B subs r3, r3, #1 - 8365 000c C35C ldrb r3, [r0, r3] - 8366 000e 292B cmp r3, #41 - 8367 0010 04D0 beq .L562 -5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8368 .loc 1 5395 0 - 8369 0012 4123 movs r3, #65 - 8370 0014 C35C ldrb r3, [r0, r3] - 8371 0016 2A2B cmp r3, #42 - 8372 0018 0FD0 beq .L563 - 8373 .LVL726: - 8374 .L559: -5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8375 .loc 1 5418 0 - 8376 @ sp needed - 8377 .LVL727: - 8378 001a 10BD pop {r4, pc} - 8379 .LVL728: - 8380 .L562: -5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; - 8381 .loc 1 5378 0 - 8382 001c 1833 adds r3, r3, #24 - 8383 001e 2832 adds r2, r2, #40 - 8384 0020 C254 strb r2, [r0, r3] -5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8385 .loc 1 5379 0 - 8386 0022 203B subs r3, r3, #32 - 8387 0024 0363 str r3, [r0, #48] -5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8388 .loc 1 5382 0 - 8389 0026 0121 movs r1, #1 - 8390 0028 FFF7FEFF bl I2C_Disable_IRQ - 8391 .LVL729: -5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8392 .loc 1 5385 0 - 8393 002c 4023 movs r3, #64 - 8394 002e 0022 movs r2, #0 - 8395 0030 E254 strb r2, [r4, r3] -5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8396 .loc 1 5391 0 - 8397 0032 2000 movs r0, r4 - 8398 0034 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback - 8399 .LVL730: - 8400 0038 EFE7 b .L559 - 8401 .LVL731: - 8402 .L563: -5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; - 8403 .loc 1 5398 0 - 8404 003a 1733 adds r3, r3, #23 - 8405 003c 2822 movs r2, #40 - 8406 003e C254 strb r2, [r0, r3] -5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8407 .loc 1 5399 0 - 8408 0040 1F3B subs r3, r3, #31 - ARM GAS /tmp/ccFk2Nxo.s page 285 - - - 8409 0042 0363 str r3, [r0, #48] -5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8410 .loc 1 5402 0 - 8411 0044 0221 movs r1, #2 - 8412 0046 FFF7FEFF bl I2C_Disable_IRQ - 8413 .LVL732: -5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8414 .loc 1 5405 0 - 8415 004a 4023 movs r3, #64 - 8416 004c 0022 movs r2, #0 - 8417 004e E254 strb r2, [r4, r3] -5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8418 .loc 1 5411 0 - 8419 0050 2000 movs r0, r4 - 8420 0052 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback - 8421 .LVL733: -5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8422 .loc 1 5418 0 - 8423 0056 E0E7 b .L559 - 8424 .cfi_endproc - 8425 .LFE97: - 8427 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits - 8428 .align 1 - 8429 .syntax unified - 8430 .code 16 - 8431 .thumb_func - 8432 .fpu softvfp - 8434 I2C_DMASlaveTransmitCplt: - 8435 .LFB104: -5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati - 8436 .loc 1 5921 0 - 8437 .cfi_startproc - 8438 @ args = 0, pretend = 0, frame = 0 - 8439 @ frame_needed = 0, uses_anonymous_args = 0 - 8440 .LVL734: - 8441 0000 10B5 push {r4, lr} - 8442 .LCFI68: - 8443 .cfi_def_cfa_offset 8 - 8444 .cfi_offset 4, -8 - 8445 .cfi_offset 14, -4 -5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; - 8446 .loc 1 5922 0 - 8447 0002 406A ldr r0, [r0, #36] - 8448 .LVL735: -5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8449 .loc 1 5923 0 - 8450 0004 C36A ldr r3, [r0, #44] - 8451 .LVL736: -5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8452 .loc 1 5925 0 - 8453 0006 8022 movs r2, #128 - 8454 0008 5204 lsls r2, r2, #17 - 8455 000a 9342 cmp r3, r2 - 8456 000c 01D0 beq .L565 -5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8457 .loc 1 5925 0 is_stmt 0 discriminator 1 - 8458 000e 002B cmp r3, #0 - ARM GAS /tmp/ccFk2Nxo.s page 286 - - - 8459 0010 06D1 bne .L564 - 8460 .L565: -5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8461 .loc 1 5928 0 is_stmt 1 - 8462 0012 0268 ldr r2, [r0] - 8463 0014 1368 ldr r3, [r2] - 8464 .LVL737: - 8465 0016 0349 ldr r1, .L567 - 8466 0018 0B40 ands r3, r1 - 8467 001a 1360 str r3, [r2] -5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8468 .loc 1 5932 0 - 8469 001c FFF7FEFF bl I2C_ITSlaveSeqCplt - 8470 .LVL738: - 8471 .L564: -5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8472 .loc 1 5940 0 - 8473 @ sp needed - 8474 0020 10BD pop {r4, pc} - 8475 .L568: - 8476 0022 C046 .align 2 - 8477 .L567: - 8478 0024 FFBFFFFF .word -16385 - 8479 .cfi_endproc - 8480 .LFE104: - 8482 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits - 8483 .align 1 - 8484 .syntax unified - 8485 .code 16 - 8486 .thumb_func - 8487 .fpu softvfp - 8489 I2C_DMASlaveReceiveCplt: - 8490 .LFB106: -5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati - 8491 .loc 1 5996 0 - 8492 .cfi_startproc - 8493 @ args = 0, pretend = 0, frame = 0 - 8494 @ frame_needed = 0, uses_anonymous_args = 0 - 8495 .LVL739: - 8496 0000 10B5 push {r4, lr} - 8497 .LCFI69: - 8498 .cfi_def_cfa_offset 8 - 8499 .cfi_offset 4, -8 - 8500 .cfi_offset 14, -4 -5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; - 8501 .loc 1 5997 0 - 8502 0002 406A ldr r0, [r0, #36] - 8503 .LVL740: -5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8504 .loc 1 5998 0 - 8505 0004 C26A ldr r2, [r0, #44] - 8506 .LVL741: -6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) - 8507 .loc 1 6000 0 - 8508 0006 C36B ldr r3, [r0, #60] - 8509 0008 1B68 ldr r3, [r3] - 8510 000a 5B68 ldr r3, [r3, #4] - ARM GAS /tmp/ccFk2Nxo.s page 287 - - - 8511 000c 002B cmp r3, #0 - 8512 000e 09D1 bne .L569 -6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) - 8513 .loc 1 6000 0 is_stmt 0 discriminator 1 - 8514 0010 054B ldr r3, .L571 - 8515 0012 9A42 cmp r2, r3 - 8516 0014 06D0 beq .L569 -6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8517 .loc 1 6004 0 is_stmt 1 - 8518 0016 0268 ldr r2, [r0] - 8519 .LVL742: - 8520 0018 1368 ldr r3, [r2] - 8521 001a 0449 ldr r1, .L571+4 - 8522 001c 0B40 ands r3, r1 - 8523 001e 1360 str r3, [r2] -6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8524 .loc 1 6007 0 - 8525 0020 FFF7FEFF bl I2C_ITSlaveSeqCplt - 8526 .LVL743: - 8527 .L569: -6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8528 .loc 1 6015 0 - 8529 @ sp needed - 8530 0024 10BD pop {r4, pc} - 8531 .L572: - 8532 0026 C046 .align 2 - 8533 .L571: - 8534 0028 0000FFFF .word -65536 - 8535 002c FF7FFFFF .word -32769 - 8536 .cfi_endproc - 8537 .LFE106: - 8539 .section .text.HAL_I2C_AddrCallback,"ax",%progbits - 8540 .align 1 - 8541 .weak HAL_I2C_AddrCallback - 8542 .syntax unified - 8543 .code 16 - 8544 .thumb_func - 8545 .fpu softvfp - 8547 HAL_I2C_AddrCallback: - 8548 .LFB80: -4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8549 .loc 1 4431 0 - 8550 .cfi_startproc - 8551 @ args = 0, pretend = 0, frame = 0 - 8552 @ frame_needed = 0, uses_anonymous_args = 0 - 8553 @ link register save eliminated. - 8554 .LVL744: -4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8555 .loc 1 4440 0 - 8556 @ sp needed - 8557 0000 7047 bx lr - 8558 .cfi_endproc - 8559 .LFE80: - 8561 .section .text.I2C_ITAddrCplt,"ax",%progbits - 8562 .align 1 - 8563 .syntax unified - 8564 .code 16 - ARM GAS /tmp/ccFk2Nxo.s page 288 - - - 8565 .thumb_func - 8566 .fpu softvfp - 8568 I2C_ITAddrCplt: - 8569 .LFB95: -5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection; - 8570 .loc 1 5223 0 - 8571 .cfi_startproc - 8572 @ args = 0, pretend = 0, frame = 0 - 8573 @ frame_needed = 0, uses_anonymous_args = 0 - 8574 .LVL745: - 8575 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 8576 .LCFI70: - 8577 .cfi_def_cfa_offset 24 - 8578 .cfi_offset 3, -24 - 8579 .cfi_offset 4, -20 - 8580 .cfi_offset 5, -16 - 8581 .cfi_offset 6, -12 - 8582 .cfi_offset 7, -8 - 8583 .cfi_offset 14, -4 - 8584 0002 0400 movs r4, r0 -5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8585 .loc 1 5233 0 - 8586 0004 4123 movs r3, #65 - 8587 0006 C35C ldrb r3, [r0, r3] - 8588 0008 2822 movs r2, #40 - 8589 000a 1340 ands r3, r2 - 8590 000c 282B cmp r3, #40 - 8591 000e 06D0 beq .L579 -5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8592 .loc 1 5305 0 - 8593 0010 0368 ldr r3, [r0] - 8594 0012 0822 movs r2, #8 - 8595 0014 DA61 str r2, [r3, #28] -5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8596 .loc 1 5308 0 - 8597 0016 4023 movs r3, #64 - 8598 0018 0022 movs r2, #0 - 8599 001a C254 strb r2, [r0, r3] - 8600 .LVL746: - 8601 .L574: -5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8602 .loc 1 5310 0 - 8603 @ sp needed - 8604 .LVL747: - 8605 001c F8BD pop {r3, r4, r5, r6, r7, pc} - 8606 .LVL748: - 8607 .L579: -5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); - 8608 .loc 1 5235 0 - 8609 001e 0368 ldr r3, [r0] - 8610 0020 9E69 ldr r6, [r3, #24] - 8611 0022 360C lsrs r6, r6, #16 - 8612 0024 273A subs r2, r2, #39 - 8613 0026 1640 ands r6, r2 - 8614 .LVL749: -5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); - 8615 .loc 1 5236 0 - ARM GAS /tmp/ccFk2Nxo.s page 289 - - - 8616 0028 9A69 ldr r2, [r3, #24] - 8617 002a 120C lsrs r2, r2, #16 - 8618 002c FE27 movs r7, #254 - 8619 002e 3A40 ands r2, r7 - 8620 0030 1500 movs r5, r2 - 8621 .LVL750: -5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); - 8622 .loc 1 5237 0 - 8623 0032 9A68 ldr r2, [r3, #8] - 8624 0034 9205 lsls r2, r2, #22 - 8625 0036 920D lsrs r2, r2, #22 - 8626 .LVL751: -5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8627 .loc 1 5238 0 - 8628 0038 D868 ldr r0, [r3, #12] - 8629 .LVL752: - 8630 003a 0740 ands r7, r0 - 8631 .LVL753: -5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8632 .loc 1 5241 0 - 8633 003c E168 ldr r1, [r4, #12] - 8634 .LVL754: - 8635 003e 0229 cmp r1, #2 - 8636 0040 22D1 bne .L576 -5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8637 .loc 1 5243 0 - 8638 0042 D009 lsrs r0, r2, #7 - 8639 0044 4540 eors r5, r0 - 8640 .LVL755: - 8641 0046 0431 adds r1, r1, #4 - 8642 0048 2942 tst r1, r5 - 8643 004a 10D1 bne .L577 - 8644 .LVL756: -5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) - 8645 .loc 1 5246 0 - 8646 004c A16C ldr r1, [r4, #72] - 8647 004e 0131 adds r1, r1, #1 - 8648 0050 A164 str r1, [r4, #72] -5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8649 .loc 1 5247 0 - 8650 0052 A16C ldr r1, [r4, #72] - 8651 0054 0229 cmp r1, #2 - 8652 0056 E1D1 bne .L574 -5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8653 .loc 1 5250 0 - 8654 0058 0021 movs r1, #0 - 8655 005a A164 str r1, [r4, #72] -5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8656 .loc 1 5253 0 - 8657 005c 0820 movs r0, #8 - 8658 005e D861 str r0, [r3, #28] -5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8659 .loc 1 5256 0 - 8660 0060 4023 movs r3, #64 - 8661 0062 E154 strb r1, [r4, r3] -5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8662 .loc 1 5262 0 - ARM GAS /tmp/ccFk2Nxo.s page 290 - - - 8663 0064 3100 movs r1, r6 - 8664 0066 2000 movs r0, r4 - 8665 0068 FFF7FEFF bl HAL_I2C_AddrCallback - 8666 .LVL757: - 8667 006c D6E7 b .L574 - 8668 .LVL758: - 8669 .L577: -5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8670 .loc 1 5271 0 - 8671 006e 0421 movs r1, #4 - 8672 0070 2000 movs r0, r4 - 8673 0072 FFF7FEFF bl I2C_Disable_IRQ - 8674 .LVL759: -5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8675 .loc 1 5274 0 - 8676 0076 4023 movs r3, #64 - 8677 0078 0022 movs r2, #0 - 8678 007a E254 strb r2, [r4, r3] -5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8679 .loc 1 5280 0 - 8680 007c 3A00 movs r2, r7 - 8681 007e 3100 movs r1, r6 - 8682 0080 2000 movs r0, r4 - 8683 0082 FFF7FEFF bl HAL_I2C_AddrCallback - 8684 .LVL760: - 8685 0086 C9E7 b .L574 - 8686 .LVL761: - 8687 .L576: -5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8688 .loc 1 5288 0 - 8689 0088 0421 movs r1, #4 - 8690 008a 2000 movs r0, r4 - 8691 008c FFF7FEFF bl I2C_Disable_IRQ - 8692 .LVL762: -5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8693 .loc 1 5291 0 - 8694 0090 4023 movs r3, #64 - 8695 0092 0022 movs r2, #0 - 8696 0094 E254 strb r2, [r4, r3] -5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8697 .loc 1 5297 0 - 8698 0096 2A00 movs r2, r5 - 8699 0098 3100 movs r1, r6 - 8700 009a 2000 movs r0, r4 - 8701 009c FFF7FEFF bl HAL_I2C_AddrCallback - 8702 .LVL763: - 8703 00a0 BCE7 b .L574 - 8704 .cfi_endproc - 8705 .LFE95: - 8707 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits - 8708 .align 1 - 8709 .weak HAL_I2C_ListenCpltCallback - 8710 .syntax unified - 8711 .code 16 - 8712 .thumb_func - 8713 .fpu softvfp - 8715 HAL_I2C_ListenCpltCallback: - ARM GAS /tmp/ccFk2Nxo.s page 291 - - - 8716 .LFB81: -4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8717 .loc 1 4449 0 - 8718 .cfi_startproc - 8719 @ args = 0, pretend = 0, frame = 0 - 8720 @ frame_needed = 0, uses_anonymous_args = 0 - 8721 @ link register save eliminated. - 8722 .LVL764: -4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8723 .loc 1 4456 0 - 8724 @ sp needed - 8725 0000 7047 bx lr - 8726 .cfi_endproc - 8727 .LFE81: - 8729 .section .text.I2C_ITListenCplt,"ax",%progbits - 8730 .align 1 - 8731 .syntax unified - 8732 .code 16 - 8733 .thumb_func - 8734 .fpu softvfp - 8736 I2C_ITListenCplt: - 8737 .LFB100: -5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */ - 8738 .loc 1 5683 0 - 8739 .cfi_startproc - 8740 @ args = 0, pretend = 0, frame = 0 - 8741 @ frame_needed = 0, uses_anonymous_args = 0 - 8742 .LVL765: - 8743 0000 10B5 push {r4, lr} - 8744 .LCFI71: - 8745 .cfi_def_cfa_offset 8 - 8746 .cfi_offset 4, -8 - 8747 .cfi_offset 14, -4 - 8748 0002 0400 movs r4, r0 -5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; - 8749 .loc 1 5685 0 - 8750 0004 164B ldr r3, .L583 - 8751 0006 C362 str r3, [r0, #44] -5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 8752 .loc 1 5686 0 - 8753 0008 0023 movs r3, #0 - 8754 000a 0363 str r3, [r0, #48] -5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - 8755 .loc 1 5687 0 - 8756 000c 4122 movs r2, #65 - 8757 000e 2020 movs r0, #32 - 8758 .LVL766: - 8759 0010 A054 strb r0, [r4, r2] -5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 8760 .loc 1 5688 0 - 8761 0012 0132 adds r2, r2, #1 - 8762 0014 A354 strb r3, [r4, r2] -5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8763 .loc 1 5689 0 - 8764 0016 6363 str r3, [r4, #52] -5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8765 .loc 1 5692 0 - ARM GAS /tmp/ccFk2Nxo.s page 292 - - - 8766 0018 4B07 lsls r3, r1, #29 - 8767 001a 13D5 bpl .L582 -5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8768 .loc 1 5695 0 - 8769 001c 2368 ldr r3, [r4] - 8770 001e 5B6A ldr r3, [r3, #36] - 8771 0020 626A ldr r2, [r4, #36] - 8772 0022 1370 strb r3, [r2] -5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8773 .loc 1 5698 0 - 8774 0024 636A ldr r3, [r4, #36] - 8775 0026 0133 adds r3, r3, #1 - 8776 0028 6362 str r3, [r4, #36] -5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8777 .loc 1 5700 0 - 8778 002a 238D ldrh r3, [r4, #40] - 8779 002c 002B cmp r3, #0 - 8780 002e 09D0 beq .L582 -5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; - 8781 .loc 1 5702 0 - 8782 0030 013B subs r3, r3, #1 - 8783 0032 2385 strh r3, [r4, #40] -5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8784 .loc 1 5703 0 - 8785 0034 638D ldrh r3, [r4, #42] - 8786 0036 013B subs r3, r3, #1 - 8787 0038 9BB2 uxth r3, r3 - 8788 003a 6385 strh r3, [r4, #42] -5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8789 .loc 1 5706 0 - 8790 003c 636C ldr r3, [r4, #68] - 8791 003e 0422 movs r2, #4 - 8792 0040 1343 orrs r3, r2 - 8793 0042 6364 str r3, [r4, #68] - 8794 .L582: -5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8795 .loc 1 5711 0 - 8796 0044 0721 movs r1, #7 - 8797 .LVL767: - 8798 0046 2000 movs r0, r4 - 8799 0048 FFF7FEFF bl I2C_Disable_IRQ - 8800 .LVL768: -5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8801 .loc 1 5714 0 - 8802 004c 2368 ldr r3, [r4] - 8803 004e 1022 movs r2, #16 - 8804 0050 DA61 str r2, [r3, #28] -5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8805 .loc 1 5717 0 - 8806 0052 4023 movs r3, #64 - 8807 0054 0022 movs r2, #0 - 8808 0056 E254 strb r2, [r4, r3] -5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 8809 .loc 1 5723 0 - 8810 0058 2000 movs r0, r4 - 8811 005a FFF7FEFF bl HAL_I2C_ListenCpltCallback - 8812 .LVL769: - ARM GAS /tmp/ccFk2Nxo.s page 293 - - -5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8813 .loc 1 5725 0 - 8814 @ sp needed - 8815 .LVL770: - 8816 005e 10BD pop {r4, pc} - 8817 .L584: - 8818 .align 2 - 8819 .L583: - 8820 0060 0000FFFF .word -65536 - 8821 .cfi_endproc - 8822 .LFE100: - 8824 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits - 8825 .align 1 - 8826 .weak HAL_I2C_MemTxCpltCallback - 8827 .syntax unified - 8828 .code 16 - 8829 .thumb_func - 8830 .fpu softvfp - 8832 HAL_I2C_MemTxCpltCallback: - 8833 .LFB82: -4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8834 .loc 1 4465 0 - 8835 .cfi_startproc - 8836 @ args = 0, pretend = 0, frame = 0 - 8837 @ frame_needed = 0, uses_anonymous_args = 0 - 8838 @ link register save eliminated. - 8839 .LVL771: -4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8840 .loc 1 4472 0 - 8841 @ sp needed - 8842 0000 7047 bx lr - 8843 .cfi_endproc - 8844 .LFE82: - 8846 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits - 8847 .align 1 - 8848 .weak HAL_I2C_MemRxCpltCallback - 8849 .syntax unified - 8850 .code 16 - 8851 .thumb_func - 8852 .fpu softvfp - 8854 HAL_I2C_MemRxCpltCallback: - 8855 .LFB83: -4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8856 .loc 1 4481 0 - 8857 .cfi_startproc - 8858 @ args = 0, pretend = 0, frame = 0 - 8859 @ frame_needed = 0, uses_anonymous_args = 0 - 8860 @ link register save eliminated. - 8861 .LVL772: -4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8862 .loc 1 4488 0 - 8863 @ sp needed - 8864 0000 7047 bx lr - 8865 .cfi_endproc - 8866 .LFE83: - 8868 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits - 8869 .align 1 - ARM GAS /tmp/ccFk2Nxo.s page 294 - - - 8870 .weak HAL_I2C_ErrorCallback - 8871 .syntax unified - 8872 .code 16 - 8873 .thumb_func - 8874 .fpu softvfp - 8876 HAL_I2C_ErrorCallback: - 8877 .LFB84: -4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8878 .loc 1 4497 0 - 8879 .cfi_startproc - 8880 @ args = 0, pretend = 0, frame = 0 - 8881 @ frame_needed = 0, uses_anonymous_args = 0 - 8882 @ link register save eliminated. - 8883 .LVL773: -4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8884 .loc 1 4504 0 - 8885 @ sp needed - 8886 0000 7047 bx lr - 8887 .cfi_endproc - 8888 .LFE84: - 8890 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits - 8891 .align 1 - 8892 .weak HAL_I2C_AbortCpltCallback - 8893 .syntax unified - 8894 .code 16 - 8895 .thumb_func - 8896 .fpu softvfp - 8898 HAL_I2C_AbortCpltCallback: - 8899 .LFB85: -4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ - 8900 .loc 1 4513 0 - 8901 .cfi_startproc - 8902 @ args = 0, pretend = 0, frame = 0 - 8903 @ frame_needed = 0, uses_anonymous_args = 0 - 8904 @ link register save eliminated. - 8905 .LVL774: -4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8906 .loc 1 4520 0 - 8907 @ sp needed - 8908 0000 7047 bx lr - 8909 .cfi_endproc - 8910 .LFE85: - 8912 .section .text.I2C_ITError,"ax",%progbits - 8913 .align 1 - 8914 .syntax unified - 8915 .code 16 - 8916 .thumb_func - 8917 .fpu softvfp - 8919 I2C_ITError: - 8920 .LFB101: -5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; - 8921 .loc 1 5734 0 - 8922 .cfi_startproc - 8923 @ args = 0, pretend = 0, frame = 0 - 8924 @ frame_needed = 0, uses_anonymous_args = 0 - 8925 .LVL775: - 8926 0000 10B5 push {r4, lr} - ARM GAS /tmp/ccFk2Nxo.s page 295 - - - 8927 .LCFI72: - 8928 .cfi_def_cfa_offset 8 - 8929 .cfi_offset 4, -8 - 8930 .cfi_offset 14, -4 - 8931 0002 0400 movs r4, r0 -5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8932 .loc 1 5735 0 - 8933 0004 4123 movs r3, #65 - 8934 0006 C35C ldrb r3, [r0, r3] - 8935 .LVL776: -5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 8936 .loc 1 5738 0 - 8937 0008 0022 movs r2, #0 - 8938 000a 4220 movs r0, #66 - 8939 .LVL777: - 8940 000c 2254 strb r2, [r4, r0] -5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U; - 8941 .loc 1 5739 0 - 8942 000e 3548 ldr r0, .L598 - 8943 0010 E062 str r0, [r4, #44] -5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8944 .loc 1 5740 0 - 8945 0012 6285 strh r2, [r4, #42] -5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8946 .loc 1 5743 0 - 8947 0014 626C ldr r2, [r4, #68] - 8948 0016 1143 orrs r1, r2 - 8949 .LVL778: - 8950 0018 6164 str r1, [r4, #68] -5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) - 8951 .loc 1 5747 0 - 8952 001a 283B subs r3, r3, #40 - 8953 .LVL779: - 8954 001c DBB2 uxtb r3, r3 -5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || - 8955 .loc 1 5746 0 - 8956 001e 022B cmp r3, #2 - 8957 0020 23D8 bhi .L590 -5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8958 .loc 1 5751 0 - 8959 0022 0321 movs r1, #3 - 8960 0024 2000 movs r0, r4 - 8961 0026 FFF7FEFF bl I2C_Disable_IRQ - 8962 .LVL780: -5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; - 8963 .loc 1 5754 0 - 8964 002a 4123 movs r3, #65 - 8965 002c 2822 movs r2, #40 - 8966 002e E254 strb r2, [r4, r3] -5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; - 8967 .loc 1 5755 0 - 8968 0030 0023 movs r3, #0 - 8969 0032 2363 str r3, [r4, #48] -5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 8970 .loc 1 5756 0 - 8971 0034 2C4B ldr r3, .L598+4 - 8972 0036 6363 str r3, [r4, #52] - ARM GAS /tmp/ccFk2Nxo.s page 296 - - - 8973 .L591: -5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8974 .loc 1 5775 0 - 8975 0038 2368 ldr r3, [r4] - 8976 003a 1A68 ldr r2, [r3] - 8977 003c 5204 lsls r2, r2, #17 - 8978 003e 23D5 bpl .L593 -5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8979 .loc 1 5777 0 - 8980 0040 1A68 ldr r2, [r3] - 8981 0042 2A49 ldr r1, .L598+8 - 8982 0044 0A40 ands r2, r1 - 8983 0046 1A60 str r2, [r3] -5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8984 .loc 1 5779 0 - 8985 0048 A36B ldr r3, [r4, #56] - 8986 004a 002B cmp r3, #0 - 8987 004c 0CD0 beq .L589 -5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8988 .loc 1 5783 0 - 8989 004e 284A ldr r2, .L598+12 - 8990 0050 5A63 str r2, [r3, #52] -5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 8991 .loc 1 5786 0 - 8992 0052 4023 movs r3, #64 - 8993 0054 0022 movs r2, #0 - 8994 0056 E254 strb r2, [r4, r3] -5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 8995 .loc 1 5789 0 - 8996 0058 A06B ldr r0, [r4, #56] - 8997 005a FFF7FEFF bl HAL_DMA_Abort_IT - 8998 .LVL781: - 8999 005e 0028 cmp r0, #0 - 9000 0060 02D0 beq .L589 -5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9001 .loc 1 5792 0 - 9002 0062 A06B ldr r0, [r4, #56] - 9003 0064 436B ldr r3, [r0, #52] - 9004 0066 9847 blx r3 - 9005 .LVL782: - 9006 .L589: -5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9007 .loc 1 5844 0 - 9008 @ sp needed - 9009 .LVL783: - 9010 0068 10BD pop {r4, pc} - 9011 .LVL784: - 9012 .L590: -5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9013 .loc 1 5761 0 - 9014 006a 0721 movs r1, #7 - 9015 006c 2000 movs r0, r4 - 9016 006e FFF7FEFF bl I2C_Disable_IRQ - 9017 .LVL785: -5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9018 .loc 1 5765 0 - 9019 0072 4123 movs r3, #65 - ARM GAS /tmp/ccFk2Nxo.s page 297 - - - 9020 0074 E35C ldrb r3, [r4, r3] - 9021 0076 602B cmp r3, #96 - 9022 0078 02D0 beq .L592 -5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9023 .loc 1 5768 0 - 9024 007a 4123 movs r3, #65 - 9025 007c 2022 movs r2, #32 - 9026 007e E254 strb r2, [r4, r3] - 9027 .L592: -5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 9028 .loc 1 5770 0 - 9029 0080 0023 movs r3, #0 - 9030 0082 2363 str r3, [r4, #48] -5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9031 .loc 1 5771 0 - 9032 0084 6363 str r3, [r4, #52] - 9033 0086 D7E7 b .L591 - 9034 .L593: -5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9035 .loc 1 5797 0 - 9036 0088 1A68 ldr r2, [r3] - 9037 008a 1204 lsls r2, r2, #16 - 9038 008c 14D5 bpl .L595 -5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9039 .loc 1 5799 0 - 9040 008e 1A68 ldr r2, [r3] - 9041 0090 1849 ldr r1, .L598+16 - 9042 0092 0A40 ands r2, r1 - 9043 0094 1A60 str r2, [r3] -5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9044 .loc 1 5801 0 - 9045 0096 E36B ldr r3, [r4, #60] - 9046 0098 002B cmp r3, #0 - 9047 009a E5D0 beq .L589 -5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9048 .loc 1 5805 0 - 9049 009c 144A ldr r2, .L598+12 - 9050 009e 5A63 str r2, [r3, #52] -5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9051 .loc 1 5808 0 - 9052 00a0 4023 movs r3, #64 - 9053 00a2 0022 movs r2, #0 - 9054 00a4 E254 strb r2, [r4, r3] -5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9055 .loc 1 5811 0 - 9056 00a6 E06B ldr r0, [r4, #60] - 9057 00a8 FFF7FEFF bl HAL_DMA_Abort_IT - 9058 .LVL786: - 9059 00ac 0028 cmp r0, #0 - 9060 00ae DBD0 beq .L589 -5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9061 .loc 1 5814 0 - 9062 00b0 E06B ldr r0, [r4, #60] - 9063 00b2 436B ldr r3, [r0, #52] - 9064 00b4 9847 blx r3 - 9065 .LVL787: - 9066 00b6 D7E7 b .L589 - ARM GAS /tmp/ccFk2Nxo.s page 298 - - - 9067 .L595: -5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9068 .loc 1 5818 0 - 9069 00b8 4123 movs r3, #65 - 9070 00ba E35C ldrb r3, [r4, r3] - 9071 00bc 602B cmp r3, #96 - 9072 00be 06D0 beq .L597 -5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9073 .loc 1 5835 0 - 9074 00c0 4023 movs r3, #64 - 9075 00c2 0022 movs r2, #0 - 9076 00c4 E254 strb r2, [r4, r3] -5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9077 .loc 1 5841 0 - 9078 00c6 2000 movs r0, r4 - 9079 00c8 FFF7FEFF bl HAL_I2C_ErrorCallback - 9080 .LVL788: -5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9081 .loc 1 5844 0 - 9082 00cc CCE7 b .L589 - 9083 .L597: -5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9084 .loc 1 5820 0 - 9085 00ce 1F3B subs r3, r3, #31 - 9086 00d0 2022 movs r2, #32 - 9087 00d2 E254 strb r2, [r4, r3] -5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9088 .loc 1 5823 0 - 9089 00d4 013B subs r3, r3, #1 - 9090 00d6 0022 movs r2, #0 - 9091 00d8 E254 strb r2, [r4, r3] -5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9092 .loc 1 5829 0 - 9093 00da 2000 movs r0, r4 - 9094 00dc FFF7FEFF bl HAL_I2C_AbortCpltCallback - 9095 .LVL789: - 9096 00e0 C2E7 b .L589 - 9097 .L599: - 9098 00e2 C046 .align 2 - 9099 .L598: - 9100 00e4 0000FFFF .word -65536 - 9101 00e8 00000000 .word I2C_Slave_ISR_IT - 9102 00ec FFBFFFFF .word -16385 - 9103 00f0 00000000 .word I2C_DMAAbort - 9104 00f4 FF7FFFFF .word -32769 - 9105 .cfi_endproc - 9106 .LFE101: - 9108 .section .text.I2C_ITSlaveCplt,"ax",%progbits - 9109 .align 1 - 9110 .syntax unified - 9111 .code 16 - 9112 .thumb_func - 9113 .fpu softvfp - 9115 I2C_ITSlaveCplt: - 9116 .LFB99: -5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); - 9117 .loc 1 5546 0 - ARM GAS /tmp/ccFk2Nxo.s page 299 - - - 9118 .cfi_startproc - 9119 @ args = 0, pretend = 0, frame = 0 - 9120 @ frame_needed = 0, uses_anonymous_args = 0 - 9121 .LVL790: - 9122 0000 70B5 push {r4, r5, r6, lr} - 9123 .LCFI73: - 9124 .cfi_def_cfa_offset 16 - 9125 .cfi_offset 4, -16 - 9126 .cfi_offset 5, -12 - 9127 .cfi_offset 6, -8 - 9128 .cfi_offset 14, -4 - 9129 0002 0400 movs r4, r0 - 9130 0004 0D00 movs r5, r1 -5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; - 9131 .loc 1 5547 0 - 9132 0006 0368 ldr r3, [r0] - 9133 0008 1E68 ldr r6, [r3] - 9134 .LVL791: -5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9135 .loc 1 5551 0 - 9136 000a 2022 movs r2, #32 - 9137 000c DA61 str r2, [r3, #28] -5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9138 .loc 1 5554 0 - 9139 000e 0721 movs r1, #7 - 9140 .LVL792: - 9141 0010 FFF7FEFF bl I2C_Disable_IRQ - 9142 .LVL793: -5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9143 .loc 1 5557 0 - 9144 0014 2268 ldr r2, [r4] - 9145 0016 5168 ldr r1, [r2, #4] - 9146 0018 8023 movs r3, #128 - 9147 001a 1B02 lsls r3, r3, #8 - 9148 001c 0B43 orrs r3, r1 - 9149 001e 5360 str r3, [r2, #4] -5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9150 .loc 1 5560 0 - 9151 0020 2268 ldr r2, [r4] - 9152 0022 5368 ldr r3, [r2, #4] - 9153 0024 3A49 ldr r1, .L612 - 9154 0026 0B40 ands r3, r1 - 9155 0028 5360 str r3, [r2, #4] -5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9156 .loc 1 5563 0 - 9157 002a 2000 movs r0, r4 - 9158 002c FFF7FEFF bl I2C_Flush_TXDR - 9159 .LVL794: -5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9160 .loc 1 5566 0 - 9161 0030 7304 lsls r3, r6, #17 - 9162 0032 3CD5 bpl .L601 -5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9163 .loc 1 5568 0 - 9164 0034 A36B ldr r3, [r4, #56] - 9165 0036 002B cmp r3, #0 - 9166 0038 03D0 beq .L602 - ARM GAS /tmp/ccFk2Nxo.s page 300 - - -5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9167 .loc 1 5570 0 - 9168 003a 1B68 ldr r3, [r3] - 9169 003c 5B68 ldr r3, [r3, #4] - 9170 003e 9BB2 uxth r3, r3 - 9171 0040 6385 strh r3, [r4, #42] - 9172 .L602: -5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9173 .loc 1 5586 0 - 9174 0042 6B07 lsls r3, r5, #29 - 9175 0044 11D5 bpl .L603 -5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9176 .loc 1 5589 0 - 9177 0046 0423 movs r3, #4 - 9178 0048 9D43 bics r5, r3 - 9179 .LVL795: -5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9180 .loc 1 5592 0 - 9181 004a 2368 ldr r3, [r4] - 9182 004c 5B6A ldr r3, [r3, #36] - 9183 004e 626A ldr r2, [r4, #36] - 9184 0050 1370 strb r3, [r2] -5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9185 .loc 1 5595 0 - 9186 0052 636A ldr r3, [r4, #36] - 9187 0054 0133 adds r3, r3, #1 - 9188 0056 6362 str r3, [r4, #36] -5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9189 .loc 1 5597 0 - 9190 0058 238D ldrh r3, [r4, #40] - 9191 005a 002B cmp r3, #0 - 9192 005c 05D0 beq .L603 -5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; - 9193 .loc 1 5599 0 - 9194 005e 013B subs r3, r3, #1 - 9195 0060 2385 strh r3, [r4, #40] -5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9196 .loc 1 5600 0 - 9197 0062 638D ldrh r3, [r4, #42] - 9198 0064 013B subs r3, r3, #1 - 9199 0066 9BB2 uxth r3, r3 - 9200 0068 6385 strh r3, [r4, #42] - 9201 .L603: -5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9202 .loc 1 5605 0 - 9203 006a 638D ldrh r3, [r4, #42] - 9204 006c 9BB2 uxth r3, r3 - 9205 006e 002B cmp r3, #0 - 9206 0070 03D0 beq .L604 -5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9207 .loc 1 5608 0 - 9208 0072 636C ldr r3, [r4, #68] - 9209 0074 0422 movs r2, #4 - 9210 0076 1343 orrs r3, r2 - 9211 0078 6364 str r3, [r4, #68] - 9212 .L604: -5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; - ARM GAS /tmp/ccFk2Nxo.s page 301 - - - 9213 .loc 1 5611 0 - 9214 007a 0023 movs r3, #0 - 9215 007c 2363 str r3, [r4, #48] -5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 9216 .loc 1 5612 0 - 9217 007e 4222 movs r2, #66 - 9218 0080 A354 strb r3, [r4, r2] -5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9219 .loc 1 5613 0 - 9220 0082 6363 str r3, [r4, #52] -5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9221 .loc 1 5615 0 - 9222 0084 636C ldr r3, [r4, #68] - 9223 0086 002B cmp r3, #0 - 9224 0088 1BD1 bne .L609 -5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9225 .loc 1 5627 0 - 9226 008a E26A ldr r2, [r4, #44] - 9227 008c 214B ldr r3, .L612+4 - 9228 008e 9A42 cmp r2, r3 - 9229 0090 24D1 bne .L610 -5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9230 .loc 1 5646 0 - 9231 0092 4123 movs r3, #65 - 9232 0094 E35C ldrb r3, [r4, r3] - 9233 0096 222B cmp r3, #34 - 9234 0098 2FD0 beq .L611 -5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9235 .loc 1 5662 0 - 9236 009a 4123 movs r3, #65 - 9237 009c 2022 movs r2, #32 - 9238 009e E254 strb r2, [r4, r3] -5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9239 .loc 1 5665 0 - 9240 00a0 013B subs r3, r3, #1 - 9241 00a2 0022 movs r2, #0 - 9242 00a4 E254 strb r2, [r4, r3] -5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9243 .loc 1 5671 0 - 9244 00a6 2000 movs r0, r4 - 9245 00a8 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback - 9246 .LVL796: -5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9247 .loc 1 5674 0 - 9248 00ac 24E0 b .L600 - 9249 .LVL797: - 9250 .L601: -5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9251 .loc 1 5573 0 - 9252 00ae 3304 lsls r3, r6, #16 - 9253 00b0 C7D5 bpl .L602 -5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9254 .loc 1 5575 0 - 9255 00b2 E36B ldr r3, [r4, #60] - 9256 00b4 002B cmp r3, #0 - 9257 00b6 C4D0 beq .L602 -5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - ARM GAS /tmp/ccFk2Nxo.s page 302 - - - 9258 .loc 1 5577 0 - 9259 00b8 1B68 ldr r3, [r3] - 9260 00ba 5B68 ldr r3, [r3, #4] - 9261 00bc 9BB2 uxth r3, r3 - 9262 00be 6385 strh r3, [r4, #42] - 9263 00c0 BFE7 b .L602 - 9264 .LVL798: - 9265 .L609: -5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9266 .loc 1 5618 0 - 9267 00c2 616C ldr r1, [r4, #68] - 9268 00c4 2000 movs r0, r4 - 9269 00c6 FFF7FEFF bl I2C_ITError - 9270 .LVL799: -5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9271 .loc 1 5621 0 - 9272 00ca 4123 movs r3, #65 - 9273 00cc E35C ldrb r3, [r4, r3] - 9274 00ce 282B cmp r3, #40 - 9275 00d0 12D1 bne .L600 -5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9276 .loc 1 5624 0 - 9277 00d2 2900 movs r1, r5 - 9278 00d4 2000 movs r0, r4 - 9279 00d6 FFF7FEFF bl I2C_ITListenCplt - 9280 .LVL800: - 9281 00da 0DE0 b .L600 - 9282 .L610: -5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9283 .loc 1 5630 0 - 9284 00dc 2000 movs r0, r4 - 9285 00de FFF7FEFF bl I2C_ITSlaveSeqCplt - 9286 .LVL801: -5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; - 9287 .loc 1 5632 0 - 9288 00e2 0C4B ldr r3, .L612+4 - 9289 00e4 E362 str r3, [r4, #44] -5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9290 .loc 1 5633 0 - 9291 00e6 4123 movs r3, #65 - 9292 00e8 2022 movs r2, #32 - 9293 00ea E254 strb r2, [r4, r3] -5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9294 .loc 1 5636 0 - 9295 00ec 013B subs r3, r3, #1 - 9296 00ee 0022 movs r2, #0 - 9297 00f0 E254 strb r2, [r4, r3] -5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9298 .loc 1 5642 0 - 9299 00f2 2000 movs r0, r4 - 9300 00f4 FFF7FEFF bl HAL_I2C_ListenCpltCallback - 9301 .LVL802: - 9302 .L600: -5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9303 .loc 1 5674 0 - 9304 @ sp needed - 9305 .LVL803: - ARM GAS /tmp/ccFk2Nxo.s page 303 - - - 9306 .LVL804: - 9307 .LVL805: - 9308 00f8 70BD pop {r4, r5, r6, pc} - 9309 .LVL806: - 9310 .L611: -5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9311 .loc 1 5648 0 - 9312 00fa 1F33 adds r3, r3, #31 - 9313 00fc 2022 movs r2, #32 - 9314 00fe E254 strb r2, [r4, r3] -5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9315 .loc 1 5651 0 - 9316 0100 013B subs r3, r3, #1 - 9317 0102 0022 movs r2, #0 - 9318 0104 E254 strb r2, [r4, r3] -5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9319 .loc 1 5657 0 - 9320 0106 2000 movs r0, r4 - 9321 0108 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback - 9322 .LVL807: - 9323 010c F4E7 b .L600 - 9324 .L613: - 9325 010e C046 .align 2 - 9326 .L612: - 9327 0110 00E800FE .word -33495040 - 9328 0114 0000FFFF .word -65536 - 9329 .cfi_endproc - 9330 .LFE99: - 9332 .section .text.I2C_Slave_ISR_IT,"ax",%progbits - 9333 .align 1 - 9334 .syntax unified - 9335 .code 16 - 9336 .thumb_func - 9337 .fpu softvfp - 9339 I2C_Slave_ISR_IT: - 9340 .LFB90: -4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; - 9341 .loc 1 4733 0 - 9342 .cfi_startproc - 9343 @ args = 0, pretend = 0, frame = 0 - 9344 @ frame_needed = 0, uses_anonymous_args = 0 - 9345 .LVL808: - 9346 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 9347 .LCFI74: - 9348 .cfi_def_cfa_offset 24 - 9349 .cfi_offset 3, -24 - 9350 .cfi_offset 4, -20 - 9351 .cfi_offset 5, -16 - 9352 .cfi_offset 6, -12 - 9353 .cfi_offset 7, -8 - 9354 .cfi_offset 14, -4 - 9355 0002 0400 movs r4, r0 - 9356 0004 0D00 movs r5, r1 - 9357 0006 1600 movs r6, r2 -4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; - 9358 .loc 1 4734 0 - 9359 0008 C76A ldr r7, [r0, #44] - ARM GAS /tmp/ccFk2Nxo.s page 304 - - - 9360 .LVL809: -4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9361 .loc 1 4738 0 - 9362 000a 4023 movs r3, #64 - 9363 000c C35C ldrb r3, [r0, r3] - 9364 000e 012B cmp r3, #1 - 9365 0010 00D1 bne .LCB9263 - 9366 0012 96E0 b .L628 @long jump - 9367 .LCB9263: -4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9368 .loc 1 4738 0 is_stmt 0 discriminator 2 - 9369 0014 0123 movs r3, #1 - 9370 0016 4022 movs r2, #64 - 9371 .LVL810: - 9372 0018 8354 strb r3, [r0, r2] -4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9373 .loc 1 4741 0 is_stmt 1 discriminator 2 - 9374 001a 4A09 lsrs r2, r1, #5 - 9375 001c 1342 tst r3, r2 - 9376 001e 01D0 beq .L616 -4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9377 .loc 1 4741 0 is_stmt 0 discriminator 1 - 9378 0020 B306 lsls r3, r6, #26 - 9379 0022 17D4 bmi .L629 - 9380 .LVL811: - 9381 .L616: -4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9382 .loc 1 4747 0 is_stmt 1 - 9383 0024 EB06 lsls r3, r5, #27 - 9384 0026 40D5 bpl .L617 -4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9385 .loc 1 4747 0 is_stmt 0 discriminator 1 - 9386 0028 F306 lsls r3, r6, #27 - 9387 002a 3ED5 bpl .L617 -4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9388 .loc 1 4753 0 is_stmt 1 - 9389 002c 638D ldrh r3, [r4, #42] - 9390 002e 9BB2 uxth r3, r3 - 9391 0030 002B cmp r3, #0 - 9392 0032 28D1 bne .L618 -4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9393 .loc 1 4755 0 - 9394 0034 4133 adds r3, r3, #65 - 9395 0036 E35C ldrb r3, [r4, r3] - 9396 0038 282B cmp r3, #40 - 9397 003a 0ED0 beq .L630 - 9398 .L619: -4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9399 .loc 1 4760 0 - 9400 003c 4123 movs r3, #65 - 9401 003e E35C ldrb r3, [r4, r3] - 9402 0040 292B cmp r3, #41 - 9403 0042 13D0 beq .L631 - 9404 .L621: -4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9405 .loc 1 4775 0 - 9406 0044 2368 ldr r3, [r4] - ARM GAS /tmp/ccFk2Nxo.s page 305 - - - 9407 0046 1022 movs r2, #16 - 9408 0048 DA61 str r2, [r3, #28] - 9409 .L620: -4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9410 .loc 1 4852 0 - 9411 004a 4023 movs r3, #64 - 9412 004c 0022 movs r2, #0 - 9413 004e E254 strb r2, [r4, r3] -4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9414 .loc 1 4854 0 - 9415 0050 0020 movs r0, #0 - 9416 .L615: -4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9417 .loc 1 4855 0 - 9418 @ sp needed - 9419 .LVL812: - 9420 .LVL813: - 9421 .LVL814: - 9422 .LVL815: - 9423 0052 F8BD pop {r3, r4, r5, r6, r7, pc} - 9424 .LVL816: - 9425 .L629: -4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9426 .loc 1 4744 0 - 9427 0054 FFF7FEFF bl I2C_ITSlaveCplt - 9428 .LVL817: - 9429 0058 E4E7 b .L616 - 9430 .L630: -4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9431 .loc 1 4755 0 discriminator 1 - 9432 005a 8023 movs r3, #128 - 9433 005c 9B04 lsls r3, r3, #18 - 9434 005e 9F42 cmp r7, r3 - 9435 0060 ECD1 bne .L619 -4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9436 .loc 1 4758 0 - 9437 0062 2900 movs r1, r5 - 9438 0064 2000 movs r0, r4 - 9439 0066 FFF7FEFF bl I2C_ITListenCplt - 9440 .LVL818: - 9441 006a EEE7 b .L620 - 9442 .L631: -4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9443 .loc 1 4760 0 discriminator 1 - 9444 006c 364B ldr r3, .L633 - 9445 006e 9F42 cmp r7, r3 - 9446 0070 E8D0 beq .L621 -4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9447 .loc 1 4763 0 - 9448 0072 2368 ldr r3, [r4] - 9449 0074 1022 movs r2, #16 - 9450 0076 DA61 str r2, [r3, #28] -4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9451 .loc 1 4766 0 - 9452 0078 2000 movs r0, r4 - 9453 007a FFF7FEFF bl I2C_Flush_TXDR - 9454 .LVL819: - ARM GAS /tmp/ccFk2Nxo.s page 306 - - -4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9455 .loc 1 4770 0 - 9456 007e 2000 movs r0, r4 - 9457 0080 FFF7FEFF bl I2C_ITSlaveSeqCplt - 9458 .LVL820: - 9459 0084 E1E7 b .L620 - 9460 .L618: -4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9461 .loc 1 4782 0 - 9462 0086 2368 ldr r3, [r4] - 9463 0088 1022 movs r2, #16 - 9464 008a DA61 str r2, [r3, #28] -4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9465 .loc 1 4785 0 - 9466 008c 636C ldr r3, [r4, #68] - 9467 008e 0C3A subs r2, r2, #12 - 9468 0090 1343 orrs r3, r2 - 9469 0092 6364 str r3, [r4, #68] -4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9470 .loc 1 4787 0 - 9471 0094 002F cmp r7, #0 - 9472 0096 03D0 beq .L622 -4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9473 .loc 1 4787 0 is_stmt 0 discriminator 1 - 9474 0098 8023 movs r3, #128 - 9475 009a 5B04 lsls r3, r3, #17 - 9476 009c 9F42 cmp r7, r3 - 9477 009e D4D1 bne .L620 - 9478 .L622: -4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9479 .loc 1 4790 0 is_stmt 1 - 9480 00a0 616C ldr r1, [r4, #68] - 9481 00a2 2000 movs r0, r4 - 9482 00a4 FFF7FEFF bl I2C_ITError - 9483 .LVL821: - 9484 00a8 CFE7 b .L620 - 9485 .L617: -4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9486 .loc 1 4794 0 - 9487 00aa 6B07 lsls r3, r5, #29 - 9488 00ac 1ED5 bpl .L623 -4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9489 .loc 1 4794 0 is_stmt 0 discriminator 1 - 9490 00ae 7307 lsls r3, r6, #29 - 9491 00b0 1CD5 bpl .L623 -4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9492 .loc 1 4796 0 is_stmt 1 - 9493 00b2 638D ldrh r3, [r4, #42] - 9494 00b4 9BB2 uxth r3, r3 - 9495 00b6 002B cmp r3, #0 - 9496 00b8 0DD0 beq .L624 -4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9497 .loc 1 4799 0 - 9498 00ba 2368 ldr r3, [r4] - 9499 00bc 5B6A ldr r3, [r3, #36] - 9500 00be 626A ldr r2, [r4, #36] - 9501 00c0 1370 strb r3, [r2] - ARM GAS /tmp/ccFk2Nxo.s page 307 - - -4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9502 .loc 1 4802 0 - 9503 00c2 636A ldr r3, [r4, #36] - 9504 00c4 0133 adds r3, r3, #1 - 9505 00c6 6362 str r3, [r4, #36] -4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; - 9506 .loc 1 4804 0 - 9507 00c8 238D ldrh r3, [r4, #40] - 9508 00ca 013B subs r3, r3, #1 - 9509 00cc 2385 strh r3, [r4, #40] -4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9510 .loc 1 4805 0 - 9511 00ce 638D ldrh r3, [r4, #42] - 9512 00d0 013B subs r3, r3, #1 - 9513 00d2 9BB2 uxth r3, r3 - 9514 00d4 6385 strh r3, [r4, #42] - 9515 .L624: -4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) - 9516 .loc 1 4808 0 - 9517 00d6 638D ldrh r3, [r4, #42] - 9518 00d8 9BB2 uxth r3, r3 - 9519 00da 002B cmp r3, #0 - 9520 00dc B5D1 bne .L620 -4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) - 9521 .loc 1 4808 0 is_stmt 0 discriminator 1 - 9522 00de 1A4B ldr r3, .L633 - 9523 00e0 9F42 cmp r7, r3 - 9524 00e2 B2D0 beq .L620 -4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9525 .loc 1 4812 0 is_stmt 1 - 9526 00e4 2000 movs r0, r4 - 9527 00e6 FFF7FEFF bl I2C_ITSlaveSeqCplt - 9528 .LVL822: - 9529 00ea AEE7 b .L620 - 9530 .L623: -4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9531 .loc 1 4815 0 - 9532 00ec 2B07 lsls r3, r5, #28 - 9533 00ee 01D5 bpl .L625 -4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9534 .loc 1 4815 0 is_stmt 0 discriminator 1 - 9535 00f0 3307 lsls r3, r6, #28 - 9536 00f2 16D4 bmi .L632 - 9537 .L625: -4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9538 .loc 1 4819 0 is_stmt 1 - 9539 00f4 AB07 lsls r3, r5, #30 - 9540 00f6 A8D5 bpl .L620 -4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9541 .loc 1 4819 0 is_stmt 0 discriminator 1 - 9542 00f8 B307 lsls r3, r6, #30 - 9543 00fa A6D5 bpl .L620 -4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9544 .loc 1 4825 0 is_stmt 1 - 9545 00fc 638D ldrh r3, [r4, #42] - 9546 00fe 9BB2 uxth r3, r3 - 9547 0100 002B cmp r3, #0 - ARM GAS /tmp/ccFk2Nxo.s page 308 - - - 9548 0102 13D0 beq .L626 -4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9549 .loc 1 4828 0 - 9550 0104 2368 ldr r3, [r4] - 9551 0106 626A ldr r2, [r4, #36] - 9552 0108 1278 ldrb r2, [r2] - 9553 010a 9A62 str r2, [r3, #40] -4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9554 .loc 1 4831 0 - 9555 010c 636A ldr r3, [r4, #36] - 9556 010e 0133 adds r3, r3, #1 - 9557 0110 6362 str r3, [r4, #36] -4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--; - 9558 .loc 1 4833 0 - 9559 0112 638D ldrh r3, [r4, #42] - 9560 0114 013B subs r3, r3, #1 - 9561 0116 9BB2 uxth r3, r3 - 9562 0118 6385 strh r3, [r4, #42] -4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9563 .loc 1 4834 0 - 9564 011a 238D ldrh r3, [r4, #40] - 9565 011c 013B subs r3, r3, #1 - 9566 011e 2385 strh r3, [r4, #40] - 9567 0120 93E7 b .L620 - 9568 .L632: -4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9569 .loc 1 4817 0 - 9570 0122 2900 movs r1, r5 - 9571 0124 2000 movs r0, r4 - 9572 0126 FFF7FEFF bl I2C_ITAddrCplt - 9573 .LVL823: - 9574 012a 8EE7 b .L620 - 9575 .L626: -4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9576 .loc 1 4838 0 - 9577 012c 8023 movs r3, #128 - 9578 012e 5B04 lsls r3, r3, #17 - 9579 0130 9F42 cmp r7, r3 - 9580 0132 02D0 beq .L627 -4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9581 .loc 1 4838 0 is_stmt 0 discriminator 1 - 9582 0134 002F cmp r7, #0 - 9583 0136 00D0 beq .LCB9518 - 9584 0138 87E7 b .L620 @long jump - 9585 .LCB9518: - 9586 .L627: -4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9587 .loc 1 4842 0 is_stmt 1 - 9588 013a 2000 movs r0, r4 - 9589 013c FFF7FEFF bl I2C_ITSlaveSeqCplt - 9590 .LVL824: - 9591 0140 83E7 b .L620 - 9592 .LVL825: - 9593 .L628: -4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9594 .loc 1 4738 0 - 9595 0142 0220 movs r0, #2 - ARM GAS /tmp/ccFk2Nxo.s page 309 - - - 9596 .LVL826: - 9597 0144 85E7 b .L615 - 9598 .L634: - 9599 0146 C046 .align 2 - 9600 .L633: - 9601 0148 0000FFFF .word -65536 - 9602 .cfi_endproc - 9603 .LFE90: - 9605 .section .text.I2C_ITMasterCplt,"ax",%progbits - 9606 .align 1 - 9607 .syntax unified - 9608 .code 16 - 9609 .thumb_func - 9610 .fpu softvfp - 9612 I2C_ITMasterCplt: - 9613 .LFB98: -5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror; - 9614 .loc 1 5427 0 - 9615 .cfi_startproc - 9616 @ args = 0, pretend = 0, frame = 0 - 9617 @ frame_needed = 0, uses_anonymous_args = 0 - 9618 .LVL827: - 9619 0000 10B5 push {r4, lr} - 9620 .LCFI75: - 9621 .cfi_def_cfa_offset 8 - 9622 .cfi_offset 4, -8 - 9623 .cfi_offset 14, -4 - 9624 0002 0400 movs r4, r0 -5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9625 .loc 1 5431 0 - 9626 0004 0368 ldr r3, [r0] - 9627 0006 2022 movs r2, #32 - 9628 0008 DA61 str r2, [r3, #28] -5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9629 .loc 1 5434 0 - 9630 000a 0268 ldr r2, [r0] - 9631 000c 5368 ldr r3, [r2, #4] - 9632 000e 2F48 ldr r0, .L646 - 9633 .LVL828: - 9634 0010 0340 ands r3, r0 - 9635 0012 5360 str r3, [r2, #4] -5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL; - 9636 .loc 1 5437 0 - 9637 0014 0023 movs r3, #0 - 9638 0016 2363 str r3, [r4, #48] -5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 9639 .loc 1 5438 0 - 9640 0018 6363 str r3, [r4, #52] -5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9641 .loc 1 5439 0 - 9642 001a 2D4B ldr r3, .L646+4 - 9643 001c E362 str r3, [r4, #44] -5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9644 .loc 1 5441 0 - 9645 001e CB06 lsls r3, r1, #27 - 9646 0020 06D5 bpl .L636 -5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 310 - - - 9647 .loc 1 5444 0 - 9648 0022 2368 ldr r3, [r4] - 9649 0024 1022 movs r2, #16 - 9650 0026 DA61 str r2, [r3, #28] -5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9651 .loc 1 5447 0 - 9652 0028 636C ldr r3, [r4, #68] - 9653 002a 0C3A subs r2, r2, #12 - 9654 002c 1343 orrs r3, r2 - 9655 002e 6364 str r3, [r4, #68] - 9656 .L636: -5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9657 .loc 1 5451 0 - 9658 0030 2000 movs r0, r4 - 9659 0032 FFF7FEFF bl I2C_Flush_TXDR - 9660 .LVL829: -5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9661 .loc 1 5454 0 - 9662 0036 0321 movs r1, #3 - 9663 0038 2000 movs r0, r4 - 9664 003a FFF7FEFF bl I2C_Disable_IRQ - 9665 .LVL830: -5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9666 .loc 1 5457 0 - 9667 003e 626C ldr r2, [r4, #68] - 9668 .LVL831: -5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9669 .loc 1 5460 0 - 9670 0040 4123 movs r3, #65 - 9671 0042 E35C ldrb r3, [r4, r3] - 9672 0044 602B cmp r3, #96 - 9673 0046 19D0 beq .L637 -5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9674 .loc 1 5460 0 is_stmt 0 discriminator 1 - 9675 0048 002A cmp r2, #0 - 9676 004a 17D1 bne .L637 -5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9677 .loc 1 5466 0 is_stmt 1 - 9678 004c 4123 movs r3, #65 - 9679 004e E35C ldrb r3, [r4, r3] - 9680 0050 212B cmp r3, #33 - 9681 0052 18D0 beq .L643 -5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9682 .loc 1 5500 0 - 9683 0054 4123 movs r3, #65 - 9684 0056 E35C ldrb r3, [r4, r3] - 9685 0058 222B cmp r3, #34 - 9686 005a 13D1 bne .L635 -5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9687 .loc 1 5502 0 - 9688 005c 1F33 adds r3, r3, #31 - 9689 005e 2022 movs r2, #32 - 9690 .LVL832: - 9691 0060 E254 strb r2, [r4, r3] -5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9692 .loc 1 5504 0 - 9693 0062 0133 adds r3, r3, #1 - ARM GAS /tmp/ccFk2Nxo.s page 311 - - - 9694 0064 E35C ldrb r3, [r4, r3] - 9695 0066 402B cmp r3, #64 - 9696 0068 26D0 beq .L644 -5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9697 .loc 1 5520 0 - 9698 006a 0023 movs r3, #0 - 9699 006c 4222 movs r2, #66 - 9700 006e A354 strb r3, [r4, r2] -5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9701 .loc 1 5523 0 - 9702 0070 023A subs r2, r2, #2 - 9703 0072 A354 strb r3, [r4, r2] -5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9704 .loc 1 5529 0 - 9705 0074 2000 movs r0, r4 - 9706 0076 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback - 9707 .LVL833: -5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9708 .loc 1 5537 0 - 9709 007a 03E0 b .L635 - 9710 .LVL834: - 9711 .L637: -5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9712 .loc 1 5463 0 - 9713 007c 616C ldr r1, [r4, #68] - 9714 007e 2000 movs r0, r4 - 9715 0080 FFF7FEFF bl I2C_ITError - 9716 .LVL835: - 9717 .L635: -5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9718 .loc 1 5537 0 - 9719 @ sp needed - 9720 .LVL836: - 9721 0084 10BD pop {r4, pc} - 9722 .LVL837: - 9723 .L643: -5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9724 .loc 1 5468 0 - 9725 0086 2033 adds r3, r3, #32 - 9726 0088 2022 movs r2, #32 - 9727 .LVL838: - 9728 008a E254 strb r2, [r4, r3] -5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9729 .loc 1 5470 0 - 9730 008c 0133 adds r3, r3, #1 - 9731 008e E35C ldrb r3, [r4, r3] - 9732 0090 402B cmp r3, #64 - 9733 0092 08D0 beq .L645 -5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9734 .loc 1 5486 0 - 9735 0094 0023 movs r3, #0 - 9736 0096 4222 movs r2, #66 - 9737 0098 A354 strb r3, [r4, r2] -5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9738 .loc 1 5489 0 - 9739 009a 023A subs r2, r2, #2 - 9740 009c A354 strb r3, [r4, r2] - ARM GAS /tmp/ccFk2Nxo.s page 312 - - -5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9741 .loc 1 5495 0 - 9742 009e 2000 movs r0, r4 - 9743 00a0 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback - 9744 .LVL839: - 9745 00a4 EEE7 b .L635 - 9746 .L645: -5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9747 .loc 1 5472 0 - 9748 00a6 0023 movs r3, #0 - 9749 00a8 2232 adds r2, r2, #34 - 9750 00aa A354 strb r3, [r4, r2] -5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9751 .loc 1 5475 0 - 9752 00ac 023A subs r2, r2, #2 - 9753 00ae A354 strb r3, [r4, r2] -5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9754 .loc 1 5481 0 - 9755 00b0 2000 movs r0, r4 - 9756 00b2 FFF7FEFF bl HAL_I2C_MemTxCpltCallback - 9757 .LVL840: - 9758 00b6 E5E7 b .L635 - 9759 .L644: -5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9760 .loc 1 5506 0 - 9761 00b8 0023 movs r3, #0 - 9762 00ba 2232 adds r2, r2, #34 - 9763 00bc A354 strb r3, [r4, r2] -5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9764 .loc 1 5509 0 - 9765 00be 023A subs r2, r2, #2 - 9766 00c0 A354 strb r3, [r4, r2] -5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 9767 .loc 1 5515 0 - 9768 00c2 2000 movs r0, r4 - 9769 00c4 FFF7FEFF bl HAL_I2C_MemRxCpltCallback - 9770 .LVL841: - 9771 00c8 DCE7 b .L635 - 9772 .L647: - 9773 00ca C046 .align 2 - 9774 .L646: - 9775 00cc 00E800FE .word -33495040 - 9776 00d0 0000FFFF .word -65536 - 9777 .cfi_endproc - 9778 .LFE98: - 9780 .section .text.I2C_Master_ISR_IT,"ax",%progbits - 9781 .align 1 - 9782 .syntax unified - 9783 .code 16 - 9784 .thumb_func - 9785 .fpu softvfp - 9787 I2C_Master_ISR_IT: - 9788 .LFB89: -4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress; - 9789 .loc 1 4596 0 - 9790 .cfi_startproc - 9791 @ args = 0, pretend = 0, frame = 0 - ARM GAS /tmp/ccFk2Nxo.s page 313 - - - 9792 @ frame_needed = 0, uses_anonymous_args = 0 - 9793 .LVL842: - 9794 0000 70B5 push {r4, r5, r6, lr} - 9795 .LCFI76: - 9796 .cfi_def_cfa_offset 16 - 9797 .cfi_offset 4, -16 - 9798 .cfi_offset 5, -12 - 9799 .cfi_offset 6, -8 - 9800 .cfi_offset 14, -4 - 9801 0002 82B0 sub sp, sp, #8 - 9802 .LCFI77: - 9803 .cfi_def_cfa_offset 24 - 9804 0004 0400 movs r4, r0 - 9805 0006 0D00 movs r5, r1 - 9806 0008 1600 movs r6, r2 - 9807 .LVL843: -4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9808 .loc 1 4601 0 - 9809 000a 4023 movs r3, #64 - 9810 000c C35C ldrb r3, [r0, r3] - 9811 000e 012B cmp r3, #1 - 9812 0010 00D1 bne .LCB9725 - 9813 0012 ADE0 b .L662 @long jump - 9814 .LCB9725: -4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9815 .loc 1 4601 0 is_stmt 0 discriminator 2 - 9816 0014 0123 movs r3, #1 - 9817 0016 4022 movs r2, #64 - 9818 .LVL844: - 9819 0018 8354 strb r3, [r0, r2] -4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9820 .loc 1 4603 0 is_stmt 1 discriminator 2 - 9821 001a 0A09 lsrs r2, r1, #4 - 9822 001c 1342 tst r3, r2 - 9823 001e 01D0 beq .L650 -4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9824 .loc 1 4603 0 is_stmt 0 discriminator 1 - 9825 0020 F306 lsls r3, r6, #27 - 9826 0022 1ED4 bmi .L663 - 9827 .L650: -4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9828 .loc 1 4616 0 is_stmt 1 - 9829 0024 6B07 lsls r3, r5, #29 - 9830 0026 26D5 bpl .L652 -4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9831 .loc 1 4616 0 is_stmt 0 discriminator 1 - 9832 0028 7307 lsls r3, r6, #29 - 9833 002a 24D5 bpl .L652 -4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9834 .loc 1 4619 0 is_stmt 1 - 9835 002c 0423 movs r3, #4 - 9836 002e 9D43 bics r5, r3 - 9837 .LVL845: -4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9838 .loc 1 4622 0 - 9839 0030 2368 ldr r3, [r4] - 9840 0032 5B6A ldr r3, [r3, #36] - ARM GAS /tmp/ccFk2Nxo.s page 314 - - - 9841 0034 626A ldr r2, [r4, #36] - 9842 0036 1370 strb r3, [r2] -4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9843 .loc 1 4625 0 - 9844 0038 636A ldr r3, [r4, #36] - 9845 003a 0133 adds r3, r3, #1 - 9846 003c 6362 str r3, [r4, #36] -4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; - 9847 .loc 1 4627 0 - 9848 003e 238D ldrh r3, [r4, #40] - 9849 0040 013B subs r3, r3, #1 - 9850 0042 2385 strh r3, [r4, #40] -4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9851 .loc 1 4628 0 - 9852 0044 638D ldrh r3, [r4, #42] - 9853 0046 013B subs r3, r3, #1 - 9854 0048 9BB2 uxth r3, r3 - 9855 004a 6385 strh r3, [r4, #42] - 9856 .LVL846: - 9857 .L651: -4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9858 .loc 1 4712 0 - 9859 004c AB06 lsls r3, r5, #26 - 9860 004e 02D5 bpl .L661 -4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9861 .loc 1 4712 0 is_stmt 0 discriminator 1 - 9862 0050 B306 lsls r3, r6, #26 - 9863 0052 00D5 bpl .LCB9787 - 9864 0054 87E0 b .L664 @long jump - 9865 .LCB9787: - 9866 .L661: -4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9867 .loc 1 4719 0 is_stmt 1 - 9868 0056 4023 movs r3, #64 - 9869 0058 0022 movs r2, #0 - 9870 005a E254 strb r2, [r4, r3] -4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9871 .loc 1 4721 0 - 9872 005c 0020 movs r0, #0 - 9873 .L649: -4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9874 .loc 1 4722 0 - 9875 005e 02B0 add sp, sp, #8 - 9876 @ sp needed - 9877 .LVL847: - 9878 .LVL848: - 9879 .LVL849: - 9880 0060 70BD pop {r4, r5, r6, pc} - 9881 .LVL850: - 9882 .L663: -4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9883 .loc 1 4606 0 - 9884 0062 0368 ldr r3, [r0] - 9885 0064 1022 movs r2, #16 - 9886 0066 DA61 str r2, [r3, #28] -4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9887 .loc 1 4611 0 - ARM GAS /tmp/ccFk2Nxo.s page 315 - - - 9888 0068 436C ldr r3, [r0, #68] - 9889 006a 0C3A subs r2, r2, #12 - 9890 006c 1343 orrs r3, r2 - 9891 006e 4364 str r3, [r0, #68] -4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9892 .loc 1 4614 0 - 9893 0070 FFF7FEFF bl I2C_Flush_TXDR - 9894 .LVL851: - 9895 0074 EAE7 b .L651 - 9896 .LVL852: - 9897 .L652: -4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9898 .loc 1 4630 0 - 9899 0076 AB07 lsls r3, r5, #30 - 9900 0078 10D5 bpl .L653 -4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9901 .loc 1 4630 0 is_stmt 0 discriminator 1 - 9902 007a B307 lsls r3, r6, #30 - 9903 007c 0ED5 bpl .L653 -4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9904 .loc 1 4633 0 is_stmt 1 - 9905 007e 2368 ldr r3, [r4] - 9906 0080 626A ldr r2, [r4, #36] - 9907 0082 1278 ldrb r2, [r2] - 9908 0084 9A62 str r2, [r3, #40] -4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9909 .loc 1 4636 0 - 9910 0086 636A ldr r3, [r4, #36] - 9911 0088 0133 adds r3, r3, #1 - 9912 008a 6362 str r3, [r4, #36] -4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--; - 9913 .loc 1 4638 0 - 9914 008c 238D ldrh r3, [r4, #40] - 9915 008e 013B subs r3, r3, #1 - 9916 0090 2385 strh r3, [r4, #40] -4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9917 .loc 1 4639 0 - 9918 0092 638D ldrh r3, [r4, #42] - 9919 0094 013B subs r3, r3, #1 - 9920 0096 9BB2 uxth r3, r3 - 9921 0098 6385 strh r3, [r4, #42] - 9922 009a D7E7 b .L651 - 9923 .L653: -4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9924 .loc 1 4641 0 - 9925 009c 2B06 lsls r3, r5, #24 - 9926 009e 40D5 bpl .L654 -4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9927 .loc 1 4641 0 is_stmt 0 discriminator 1 - 9928 00a0 7306 lsls r3, r6, #25 - 9929 00a2 3ED5 bpl .L654 -4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9930 .loc 1 4643 0 is_stmt 1 - 9931 00a4 638D ldrh r3, [r4, #42] - 9932 00a6 9BB2 uxth r3, r3 - 9933 00a8 002B cmp r3, #0 - 9934 00aa 2DD0 beq .L655 - ARM GAS /tmp/ccFk2Nxo.s page 316 - - -4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9935 .loc 1 4643 0 is_stmt 0 discriminator 1 - 9936 00ac 238D ldrh r3, [r4, #40] - 9937 00ae 002B cmp r3, #0 - 9938 00b0 2AD1 bne .L655 -4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 9939 .loc 1 4645 0 is_stmt 1 - 9940 00b2 2368 ldr r3, [r4] - 9941 00b4 5968 ldr r1, [r3, #4] - 9942 .LVL853: - 9943 00b6 8905 lsls r1, r1, #22 - 9944 00b8 890D lsrs r1, r1, #22 - 9945 .LVL854: -4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9946 .loc 1 4647 0 - 9947 00ba 638D ldrh r3, [r4, #42] - 9948 00bc 9BB2 uxth r3, r3 - 9949 00be FF2B cmp r3, #255 - 9950 00c0 0ED8 bhi .L665 -4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) - 9951 .loc 1 4654 0 - 9952 00c2 628D ldrh r2, [r4, #42] - 9953 00c4 92B2 uxth r2, r2 - 9954 00c6 2285 strh r2, [r4, #40] -4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 9955 .loc 1 4655 0 - 9956 00c8 E06A ldr r0, [r4, #44] - 9957 .LVL855: - 9958 00ca 2A4B ldr r3, .L666 - 9959 00cc 9842 cmp r0, r3 - 9960 00ce 12D0 beq .L657 -4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9961 .loc 1 4657 0 - 9962 00d0 E36A ldr r3, [r4, #44] - 9963 00d2 D2B2 uxtb r2, r2 - 9964 00d4 0020 movs r0, #0 - 9965 00d6 0090 str r0, [sp] - 9966 00d8 2000 movs r0, r4 - 9967 00da FFF7FEFF bl I2C_TransferConfig - 9968 .LVL856: - 9969 00de B5E7 b .L651 - 9970 .LVL857: - 9971 .L665: -4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START - 9972 .loc 1 4649 0 - 9973 00e0 FF23 movs r3, #255 - 9974 00e2 2385 strh r3, [r4, #40] -4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9975 .loc 1 4650 0 - 9976 00e4 7F3B subs r3, r3, #127 - 9977 00e6 0022 movs r2, #0 - 9978 00e8 0092 str r2, [sp] - 9979 00ea 5B04 lsls r3, r3, #17 - 9980 00ec FF32 adds r2, r2, #255 - 9981 00ee 2000 movs r0, r4 - 9982 .LVL858: - 9983 00f0 FFF7FEFF bl I2C_TransferConfig - ARM GAS /tmp/ccFk2Nxo.s page 317 - - - 9984 .LVL859: - 9985 00f4 AAE7 b .L651 - 9986 .LVL860: - 9987 .L657: -4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 9988 .loc 1 4661 0 - 9989 00f6 8023 movs r3, #128 - 9990 00f8 D2B2 uxtb r2, r2 - 9991 00fa 0020 movs r0, #0 - 9992 00fc 0090 str r0, [sp] - 9993 00fe 9B04 lsls r3, r3, #18 - 9994 0100 2000 movs r0, r4 - 9995 0102 FFF7FEFF bl I2C_TransferConfig - 9996 .LVL861: - 9997 0106 A1E7 b .L651 - 9998 .LVL862: - 9999 .L655: -4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10000 .loc 1 4668 0 - 10001 0108 2368 ldr r3, [r4] - 10002 010a 5B68 ldr r3, [r3, #4] - 10003 010c 9B01 lsls r3, r3, #6 - 10004 010e 03D4 bmi .L658 -4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10005 .loc 1 4671 0 - 10006 0110 2000 movs r0, r4 - 10007 .LVL863: - 10008 0112 FFF7FEFF bl I2C_ITMasterSeqCplt - 10009 .LVL864: - 10010 0116 99E7 b .L651 - 10011 .LVL865: - 10012 .L658: -4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10013 .loc 1 4677 0 - 10014 0118 4021 movs r1, #64 - 10015 .LVL866: - 10016 011a 2000 movs r0, r4 - 10017 .LVL867: - 10018 011c FFF7FEFF bl I2C_ITError - 10019 .LVL868: - 10020 0120 94E7 b .L651 - 10021 .LVL869: - 10022 .L654: -4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10023 .loc 1 4681 0 - 10024 0122 6B06 lsls r3, r5, #25 - 10025 0124 00D4 bmi .LCB9991 - 10026 0126 91E7 b .L651 @long jump - 10027 .LCB9991: -4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10028 .loc 1 4681 0 is_stmt 0 discriminator 1 - 10029 0128 7306 lsls r3, r6, #25 - 10030 012a 00D4 bmi .LCB9996 - 10031 012c 8EE7 b .L651 @long jump - 10032 .LCB9996: -4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10033 .loc 1 4683 0 is_stmt 1 - ARM GAS /tmp/ccFk2Nxo.s page 318 - - - 10034 012e 638D ldrh r3, [r4, #42] - 10035 0130 9BB2 uxth r3, r3 - 10036 0132 002B cmp r3, #0 - 10037 0134 12D1 bne .L659 -4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10038 .loc 1 4685 0 - 10039 0136 2368 ldr r3, [r4] - 10040 0138 5A68 ldr r2, [r3, #4] - 10041 013a 9201 lsls r2, r2, #6 - 10042 013c 00D5 bpl .LCB10006 - 10043 013e 85E7 b .L651 @long jump - 10044 .LCB10006: -4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10045 .loc 1 4688 0 - 10046 0140 E16A ldr r1, [r4, #44] - 10047 .LVL870: - 10048 0142 0C4A ldr r2, .L666 - 10049 0144 9142 cmp r1, r2 - 10050 0146 05D1 bne .L660 -4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10051 .loc 1 4691 0 - 10052 0148 5968 ldr r1, [r3, #4] - 10053 014a 8022 movs r2, #128 - 10054 014c D201 lsls r2, r2, #7 - 10055 014e 0A43 orrs r2, r1 - 10056 0150 5A60 str r2, [r3, #4] - 10057 0152 7BE7 b .L651 - 10058 .L660: -4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10059 .loc 1 4696 0 - 10060 0154 2000 movs r0, r4 - 10061 .LVL871: - 10062 0156 FFF7FEFF bl I2C_ITMasterSeqCplt - 10063 .LVL872: - 10064 015a 77E7 b .L651 - 10065 .LVL873: - 10066 .L659: -4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10067 .loc 1 4704 0 - 10068 015c 4021 movs r1, #64 - 10069 .LVL874: - 10070 015e 2000 movs r0, r4 - 10071 .LVL875: - 10072 0160 FFF7FEFF bl I2C_ITError - 10073 .LVL876: - 10074 0164 72E7 b .L651 - 10075 .LVL877: - 10076 .L664: -4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10077 .loc 1 4715 0 - 10078 0166 2900 movs r1, r5 - 10079 0168 2000 movs r0, r4 - 10080 016a FFF7FEFF bl I2C_ITMasterCplt - 10081 .LVL878: - 10082 016e 72E7 b .L661 - 10083 .LVL879: - 10084 .L662: - ARM GAS /tmp/ccFk2Nxo.s page 319 - - -4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10085 .loc 1 4601 0 - 10086 0170 0220 movs r0, #2 - 10087 .LVL880: - 10088 0172 74E7 b .L649 - 10089 .L667: - 10090 .align 2 - 10091 .L666: - 10092 0174 0000FFFF .word -65536 - 10093 .cfi_endproc - 10094 .LFE89: - 10096 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits - 10097 .align 1 - 10098 .syntax unified - 10099 .code 16 - 10100 .thumb_func - 10101 .fpu softvfp - 10103 I2C_Slave_ISR_DMA: - 10104 .LFB92: -5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; - 10105 .loc 1 5001 0 - 10106 .cfi_startproc - 10107 @ args = 0, pretend = 0, frame = 0 - 10108 @ frame_needed = 0, uses_anonymous_args = 0 - 10109 .LVL881: - 10110 0000 F8B5 push {r3, r4, r5, r6, r7, lr} - 10111 .LCFI78: - 10112 .cfi_def_cfa_offset 24 - 10113 .cfi_offset 3, -24 - 10114 .cfi_offset 4, -20 - 10115 .cfi_offset 5, -16 - 10116 .cfi_offset 6, -12 - 10117 .cfi_offset 7, -8 - 10118 .cfi_offset 14, -4 - 10119 0002 0400 movs r4, r0 - 10120 0004 0D00 movs r5, r1 - 10121 0006 1600 movs r6, r2 -5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U; - 10122 .loc 1 5002 0 - 10123 0008 C76A ldr r7, [r0, #44] - 10124 .LVL882: -5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10125 .loc 1 5006 0 - 10126 000a 4023 movs r3, #64 - 10127 000c C35C ldrb r3, [r0, r3] - 10128 000e 012B cmp r3, #1 - 10129 0010 00D1 bne .LCB10095 - 10130 0012 75E0 b .L682 @long jump - 10131 .LCB10095: -5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10132 .loc 1 5006 0 is_stmt 0 discriminator 2 - 10133 0014 0123 movs r3, #1 - 10134 0016 4022 movs r2, #64 - 10135 .LVL883: - 10136 0018 8354 strb r3, [r0, r2] -5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10137 .loc 1 5009 0 is_stmt 1 discriminator 2 - ARM GAS /tmp/ccFk2Nxo.s page 320 - - - 10138 001a 4A09 lsrs r2, r1, #5 - 10139 001c 1342 tst r3, r2 - 10140 001e 01D0 beq .L670 -5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10141 .loc 1 5009 0 is_stmt 0 discriminator 1 - 10142 0020 B306 lsls r3, r6, #26 - 10143 0022 14D4 bmi .L686 - 10144 .LVL884: - 10145 .L670: -5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10146 .loc 1 5015 0 is_stmt 1 - 10147 0024 EB06 lsls r3, r5, #27 - 10148 0026 5DD5 bpl .L671 -5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10149 .loc 1 5015 0 is_stmt 0 discriminator 1 - 10150 0028 F306 lsls r3, r6, #27 - 10151 002a 5BD5 bpl .L671 -5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) - 10152 .loc 1 5021 0 is_stmt 1 - 10153 002c B20B lsrs r2, r6, #14 - 10154 002e 0123 movs r3, #1 - 10155 0030 1340 ands r3, r2 - 10156 0032 01D1 bne .L672 -5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) - 10157 .loc 1 5021 0 is_stmt 0 discriminator 1 - 10158 0034 3204 lsls r2, r6, #16 - 10159 0036 51D5 bpl .L673 - 10160 .L672: -5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10161 .loc 1 5025 0 is_stmt 1 - 10162 0038 E26B ldr r2, [r4, #60] - 10163 003a 002A cmp r2, #0 - 10164 003c 0AD0 beq .L683 -5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10165 .loc 1 5027 0 - 10166 003e 3104 lsls r1, r6, #16 - 10167 0040 0AD5 bpl .L684 -5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10168 .loc 1 5029 0 - 10169 0042 1268 ldr r2, [r2] - 10170 0044 5268 ldr r2, [r2, #4] - 10171 0046 002A cmp r2, #0 - 10172 0048 24D0 beq .L685 -5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10173 .loc 1 5003 0 - 10174 004a 0021 movs r1, #0 - 10175 004c 05E0 b .L674 - 10176 .LVL885: - 10177 .L686: -5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10178 .loc 1 5012 0 - 10179 004e FFF7FEFF bl I2C_ITSlaveCplt - 10180 .LVL886: - 10181 0052 E7E7 b .L670 - 10182 .L683: -5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10183 .loc 1 5003 0 - ARM GAS /tmp/ccFk2Nxo.s page 321 - - - 10184 0054 0021 movs r1, #0 - 10185 0056 00E0 b .L674 - 10186 .L684: - 10187 0058 0021 movs r1, #0 - 10188 .L674: - 10189 .LVL887: -5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10190 .loc 1 5037 0 - 10191 005a A26B ldr r2, [r4, #56] - 10192 005c 002A cmp r2, #0 - 10193 005e 05D0 beq .L675 -5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10194 .loc 1 5039 0 - 10195 0060 002B cmp r3, #0 - 10196 0062 03D0 beq .L675 -5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10197 .loc 1 5041 0 - 10198 0064 1368 ldr r3, [r2] - 10199 0066 5B68 ldr r3, [r3, #4] - 10200 0068 002B cmp r3, #0 - 10201 006a 15D0 beq .L676 - 10202 .L675: -5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10203 .loc 1 5048 0 - 10204 006c 0129 cmp r1, #1 - 10205 006e 13D0 beq .L676 -5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10206 .loc 1 5077 0 - 10207 0070 2368 ldr r3, [r4] - 10208 0072 1022 movs r2, #16 - 10209 0074 DA61 str r2, [r3, #28] -5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10210 .loc 1 5080 0 - 10211 0076 636C ldr r3, [r4, #68] - 10212 0078 0C3A subs r2, r2, #12 - 10213 007a 1343 orrs r3, r2 - 10214 007c 6364 str r3, [r4, #68] -5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10215 .loc 1 5082 0 - 10216 007e 002F cmp r7, #0 - 10217 0080 03D0 beq .L681 -5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10218 .loc 1 5082 0 is_stmt 0 discriminator 1 - 10219 0082 8023 movs r3, #128 - 10220 0084 5B04 lsls r3, r3, #17 - 10221 0086 9F42 cmp r7, r3 - 10222 0088 30D1 bne .L679 - 10223 .L681: -5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10224 .loc 1 5085 0 is_stmt 1 - 10225 008a 616C ldr r1, [r4, #68] - 10226 .LVL888: - 10227 008c 2000 movs r0, r4 - 10228 008e FFF7FEFF bl I2C_ITError - 10229 .LVL889: - 10230 0092 2BE0 b .L679 - 10231 .LVL890: - ARM GAS /tmp/ccFk2Nxo.s page 322 - - - 10232 .L685: -5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10233 .loc 1 5031 0 - 10234 0094 0121 movs r1, #1 - 10235 0096 E0E7 b .L674 - 10236 .LVL891: - 10237 .L676: -5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10238 .loc 1 5050 0 - 10239 0098 4123 movs r3, #65 - 10240 009a E35C ldrb r3, [r4, r3] - 10241 009c 282B cmp r3, #40 - 10242 009e 07D0 beq .L687 - 10243 .L678: -5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10244 .loc 1 5055 0 - 10245 00a0 4123 movs r3, #65 - 10246 00a2 E35C ldrb r3, [r4, r3] - 10247 00a4 292B cmp r3, #41 - 10248 00a6 0CD0 beq .L688 - 10249 .L680: -5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10250 .loc 1 5070 0 - 10251 00a8 2368 ldr r3, [r4] - 10252 00aa 1022 movs r2, #16 - 10253 00ac DA61 str r2, [r3, #28] - 10254 00ae 1DE0 b .L679 - 10255 .L687: -5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10256 .loc 1 5050 0 discriminator 1 - 10257 00b0 8023 movs r3, #128 - 10258 00b2 9B04 lsls r3, r3, #18 - 10259 00b4 9F42 cmp r7, r3 - 10260 00b6 F3D1 bne .L678 -5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10261 .loc 1 5053 0 - 10262 00b8 2900 movs r1, r5 - 10263 .LVL892: - 10264 00ba 2000 movs r0, r4 - 10265 00bc FFF7FEFF bl I2C_ITListenCplt - 10266 .LVL893: - 10267 00c0 14E0 b .L679 - 10268 .LVL894: - 10269 .L688: -5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10270 .loc 1 5055 0 discriminator 1 - 10271 00c2 104B ldr r3, .L690 - 10272 00c4 9F42 cmp r7, r3 - 10273 00c6 EFD0 beq .L680 -5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10274 .loc 1 5058 0 - 10275 00c8 2368 ldr r3, [r4] - 10276 00ca 1022 movs r2, #16 - 10277 00cc DA61 str r2, [r3, #28] -5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10278 .loc 1 5061 0 - 10279 00ce 2000 movs r0, r4 - ARM GAS /tmp/ccFk2Nxo.s page 323 - - - 10280 00d0 FFF7FEFF bl I2C_Flush_TXDR - 10281 .LVL895: -5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10282 .loc 1 5065 0 - 10283 00d4 2000 movs r0, r4 - 10284 00d6 FFF7FEFF bl I2C_ITSlaveSeqCplt - 10285 .LVL896: - 10286 00da 07E0 b .L679 - 10287 .LVL897: - 10288 .L673: -5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10289 .loc 1 5092 0 - 10290 00dc 2368 ldr r3, [r4] - 10291 00de 1022 movs r2, #16 - 10292 00e0 DA61 str r2, [r3, #28] - 10293 00e2 03E0 b .L679 - 10294 .L671: -5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10295 .loc 1 5095 0 - 10296 00e4 2B07 lsls r3, r5, #28 - 10297 00e6 01D5 bpl .L679 -5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10298 .loc 1 5095 0 is_stmt 0 discriminator 1 - 10299 00e8 3307 lsls r3, r6, #28 - 10300 00ea 04D4 bmi .L689 - 10301 .LVL898: - 10302 .L679: -5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10303 .loc 1 5105 0 is_stmt 1 - 10304 00ec 4023 movs r3, #64 - 10305 00ee 0022 movs r2, #0 - 10306 00f0 E254 strb r2, [r4, r3] -5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10307 .loc 1 5107 0 - 10308 00f2 0020 movs r0, #0 - 10309 .L669: -5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10310 .loc 1 5108 0 - 10311 @ sp needed - 10312 .LVL899: - 10313 .LVL900: - 10314 .LVL901: - 10315 .LVL902: - 10316 00f4 F8BD pop {r3, r4, r5, r6, r7, pc} - 10317 .LVL903: - 10318 .L689: -5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10319 .loc 1 5097 0 - 10320 00f6 2900 movs r1, r5 - 10321 00f8 2000 movs r0, r4 - 10322 00fa FFF7FEFF bl I2C_ITAddrCplt - 10323 .LVL904: - 10324 00fe F5E7 b .L679 - 10325 .LVL905: - 10326 .L682: -5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10327 .loc 1 5006 0 - ARM GAS /tmp/ccFk2Nxo.s page 324 - - - 10328 0100 0220 movs r0, #2 - 10329 .LVL906: - 10330 0102 F7E7 b .L669 - 10331 .L691: - 10332 .align 2 - 10333 .L690: - 10334 0104 0000FFFF .word -65536 - 10335 .cfi_endproc - 10336 .LFE92: - 10338 .section .text.I2C_Master_ISR_DMA,"ax",%progbits - 10339 .align 1 - 10340 .syntax unified - 10341 .code 16 - 10342 .thumb_func - 10343 .fpu softvfp - 10345 I2C_Master_ISR_DMA: - 10346 .LFB91: -4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress; - 10347 .loc 1 4866 0 - 10348 .cfi_startproc - 10349 @ args = 0, pretend = 0, frame = 0 - 10350 @ frame_needed = 0, uses_anonymous_args = 0 - 10351 .LVL907: - 10352 0000 10B5 push {r4, lr} - 10353 .LCFI79: - 10354 .cfi_def_cfa_offset 8 - 10355 .cfi_offset 4, -8 - 10356 .cfi_offset 14, -4 - 10357 0002 82B0 sub sp, sp, #8 - 10358 .LCFI80: - 10359 .cfi_def_cfa_offset 16 - 10360 0004 0400 movs r4, r0 -4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10361 .loc 1 4871 0 - 10362 0006 4023 movs r3, #64 - 10363 0008 C35C ldrb r3, [r0, r3] - 10364 000a 012B cmp r3, #1 - 10365 000c 00D1 bne .LCB10362 - 10366 000e 91E0 b .L705 @long jump - 10367 .LCB10362: -4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10368 .loc 1 4871 0 is_stmt 0 discriminator 2 - 10369 0010 0123 movs r3, #1 - 10370 0012 4020 movs r0, #64 - 10371 .LVL908: - 10372 0014 2354 strb r3, [r4, r0] -4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10373 .loc 1 4873 0 is_stmt 1 discriminator 2 - 10374 0016 0809 lsrs r0, r1, #4 - 10375 0018 0342 tst r3, r0 - 10376 001a 01D0 beq .L694 -4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10377 .loc 1 4873 0 is_stmt 0 discriminator 1 - 10378 001c D306 lsls r3, r2, #27 - 10379 001e 2FD4 bmi .L707 - 10380 .L694: -4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - ARM GAS /tmp/ccFk2Nxo.s page 325 - - - 10381 .loc 1 4889 0 is_stmt 1 - 10382 0020 0B06 lsls r3, r1, #24 - 10383 0022 60D5 bpl .L696 -4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10384 .loc 1 4889 0 is_stmt 0 discriminator 1 - 10385 0024 5306 lsls r3, r2, #25 - 10386 0026 5ED5 bpl .L696 -4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10387 .loc 1 4892 0 is_stmt 1 - 10388 0028 2268 ldr r2, [r4] - 10389 .LVL909: - 10390 002a 1368 ldr r3, [r2] - 10391 002c 4021 movs r1, #64 - 10392 .LVL910: - 10393 002e 8B43 bics r3, r1 - 10394 0030 1360 str r3, [r2] -4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10395 .loc 1 4894 0 - 10396 0032 638D ldrh r3, [r4, #42] - 10397 0034 9BB2 uxth r3, r3 - 10398 0036 002B cmp r3, #0 - 10399 0038 48D0 beq .L697 -4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10400 .loc 1 4897 0 - 10401 003a 2368 ldr r3, [r4] - 10402 003c 5968 ldr r1, [r3, #4] - 10403 003e 8905 lsls r1, r1, #22 - 10404 0040 890D lsrs r1, r1, #22 - 10405 .LVL911: -4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10406 .loc 1 4900 0 - 10407 0042 638D ldrh r3, [r4, #42] - 10408 0044 9BB2 uxth r3, r3 - 10409 0046 FF2B cmp r3, #255 - 10410 0048 2ED9 bls .L698 -4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; - 10411 .loc 1 4902 0 - 10412 004a FF23 movs r3, #255 - 10413 004c 2385 strh r3, [r4, #40] - 10414 .LVL912: -4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10415 .loc 1 4903 0 - 10416 004e 8023 movs r3, #128 - 10417 0050 5B04 lsls r3, r3, #17 - 10418 .LVL913: - 10419 .L699: -4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10420 .loc 1 4919 0 - 10421 0052 228D ldrh r2, [r4, #40] - 10422 0054 D2B2 uxtb r2, r2 - 10423 0056 0020 movs r0, #0 - 10424 0058 0090 str r0, [sp] - 10425 005a 2000 movs r0, r4 - 10426 005c FFF7FEFF bl I2C_TransferConfig - 10427 .LVL914: -4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10428 .loc 1 4922 0 - ARM GAS /tmp/ccFk2Nxo.s page 326 - - - 10429 0060 638D ldrh r3, [r4, #42] - 10430 0062 228D ldrh r2, [r4, #40] - 10431 0064 9B1A subs r3, r3, r2 - 10432 0066 9BB2 uxth r3, r3 - 10433 0068 6385 strh r3, [r4, #42] -4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10434 .loc 1 4925 0 - 10435 006a 4123 movs r3, #65 - 10436 006c E35C ldrb r3, [r4, r3] - 10437 006e 222B cmp r3, #34 - 10438 0070 25D0 beq .L708 -4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10439 .loc 1 4931 0 - 10440 0072 2268 ldr r2, [r4] - 10441 0074 1168 ldr r1, [r2] - 10442 0076 8023 movs r3, #128 - 10443 0078 DB01 lsls r3, r3, #7 - 10444 007a 0B43 orrs r3, r1 - 10445 007c 1360 str r3, [r2] - 10446 007e 0DE0 b .L695 - 10447 .LVL915: - 10448 .L707: -4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10449 .loc 1 4876 0 - 10450 0080 2368 ldr r3, [r4] - 10451 0082 1022 movs r2, #16 - 10452 .LVL916: - 10453 0084 DA61 str r2, [r3, #28] -4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10454 .loc 1 4879 0 - 10455 0086 636C ldr r3, [r4, #68] - 10456 0088 0C3A subs r2, r2, #12 - 10457 008a 1343 orrs r3, r2 - 10458 008c 6364 str r3, [r4, #68] -4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10459 .loc 1 4884 0 - 10460 008e 1221 movs r1, #18 - 10461 .LVL917: - 10462 0090 2000 movs r0, r4 - 10463 0092 FFF7FEFF bl I2C_Enable_IRQ - 10464 .LVL918: -4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10465 .loc 1 4887 0 - 10466 0096 2000 movs r0, r4 - 10467 0098 FFF7FEFF bl I2C_Flush_TXDR - 10468 .LVL919: - 10469 .L695: -4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10470 .loc 1 4987 0 - 10471 009c 4023 movs r3, #64 - 10472 009e 0022 movs r2, #0 - 10473 00a0 E254 strb r2, [r4, r3] -4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10474 .loc 1 4989 0 - 10475 00a2 0020 movs r0, #0 - 10476 .L693: -4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - ARM GAS /tmp/ccFk2Nxo.s page 327 - - - 10477 .loc 1 4990 0 - 10478 00a4 02B0 add sp, sp, #8 - 10479 @ sp needed - 10480 .LVL920: - 10481 00a6 10BD pop {r4, pc} - 10482 .LVL921: - 10483 .L698: -4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) - 10484 .loc 1 4907 0 - 10485 00a8 638D ldrh r3, [r4, #42] - 10486 00aa 2385 strh r3, [r4, #40] -4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10487 .loc 1 4908 0 - 10488 00ac E26A ldr r2, [r4, #44] - 10489 00ae 224B ldr r3, .L709 - 10490 00b0 9A42 cmp r2, r3 - 10491 00b2 01D0 beq .L706 -4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10492 .loc 1 4910 0 - 10493 00b4 E36A ldr r3, [r4, #44] - 10494 .LVL922: - 10495 00b6 CCE7 b .L699 - 10496 .LVL923: - 10497 .L706: -4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10498 .loc 1 4914 0 - 10499 00b8 8023 movs r3, #128 - 10500 00ba 9B04 lsls r3, r3, #18 - 10501 00bc C9E7 b .L699 - 10502 .LVL924: - 10503 .L708: -4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10504 .loc 1 4927 0 - 10505 00be 2268 ldr r2, [r4] - 10506 00c0 1168 ldr r1, [r2] - 10507 00c2 8023 movs r3, #128 - 10508 00c4 1B02 lsls r3, r3, #8 - 10509 00c6 0B43 orrs r3, r1 - 10510 00c8 1360 str r3, [r2] - 10511 00ca E7E7 b .L695 - 10512 .L697: -4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10513 .loc 1 4937 0 - 10514 00cc 2368 ldr r3, [r4] - 10515 00ce 5B68 ldr r3, [r3, #4] - 10516 00d0 9B01 lsls r3, r3, #6 - 10517 00d2 03D4 bmi .L701 -4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10518 .loc 1 4940 0 - 10519 00d4 2000 movs r0, r4 - 10520 00d6 FFF7FEFF bl I2C_ITMasterSeqCplt - 10521 .LVL925: - 10522 00da DFE7 b .L695 - 10523 .L701: -4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10524 .loc 1 4946 0 - 10525 00dc 4021 movs r1, #64 - ARM GAS /tmp/ccFk2Nxo.s page 328 - - - 10526 00de 2000 movs r0, r4 - 10527 00e0 FFF7FEFF bl I2C_ITError - 10528 .LVL926: - 10529 00e4 DAE7 b .L695 - 10530 .LVL927: - 10531 .L696: -4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10532 .loc 1 4950 0 - 10533 00e6 4B06 lsls r3, r1, #25 - 10534 00e8 1CD5 bpl .L702 -4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10535 .loc 1 4950 0 is_stmt 0 discriminator 1 - 10536 00ea 5306 lsls r3, r2, #25 - 10537 00ec 1AD5 bpl .L702 -4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10538 .loc 1 4952 0 is_stmt 1 - 10539 00ee 638D ldrh r3, [r4, #42] - 10540 00f0 9BB2 uxth r3, r3 - 10541 00f2 002B cmp r3, #0 - 10542 00f4 11D1 bne .L703 -4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10543 .loc 1 4954 0 - 10544 00f6 2368 ldr r3, [r4] - 10545 00f8 5A68 ldr r2, [r3, #4] - 10546 .LVL928: - 10547 00fa 9201 lsls r2, r2, #6 - 10548 00fc CED4 bmi .L695 -4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10549 .loc 1 4957 0 - 10550 00fe E16A ldr r1, [r4, #44] - 10551 .LVL929: - 10552 0100 0D4A ldr r2, .L709 - 10553 0102 9142 cmp r1, r2 - 10554 0104 05D1 bne .L704 -4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10555 .loc 1 4960 0 - 10556 0106 5968 ldr r1, [r3, #4] - 10557 0108 8022 movs r2, #128 - 10558 010a D201 lsls r2, r2, #7 - 10559 010c 0A43 orrs r2, r1 - 10560 010e 5A60 str r2, [r3, #4] - 10561 0110 C4E7 b .L695 - 10562 .L704: -4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10563 .loc 1 4965 0 - 10564 0112 2000 movs r0, r4 - 10565 0114 FFF7FEFF bl I2C_ITMasterSeqCplt - 10566 .LVL930: - 10567 0118 C0E7 b .L695 - 10568 .LVL931: - 10569 .L703: -4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10570 .loc 1 4973 0 - 10571 011a 4021 movs r1, #64 - 10572 .LVL932: - 10573 011c 2000 movs r0, r4 - 10574 011e FFF7FEFF bl I2C_ITError - ARM GAS /tmp/ccFk2Nxo.s page 329 - - - 10575 .LVL933: - 10576 0122 BBE7 b .L695 - 10577 .LVL934: - 10578 .L702: -4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10579 .loc 1 4976 0 - 10580 0124 8B06 lsls r3, r1, #26 - 10581 0126 B9D5 bpl .L695 -4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10582 .loc 1 4976 0 is_stmt 0 discriminator 1 - 10583 0128 9306 lsls r3, r2, #26 - 10584 012a B7D5 bpl .L695 -4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10585 .loc 1 4979 0 is_stmt 1 - 10586 012c 2000 movs r0, r4 - 10587 012e FFF7FEFF bl I2C_ITMasterCplt - 10588 .LVL935: - 10589 0132 B3E7 b .L695 - 10590 .LVL936: - 10591 .L705: -4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10592 .loc 1 4871 0 - 10593 0134 0220 movs r0, #2 - 10594 .LVL937: - 10595 0136 B5E7 b .L693 - 10596 .L710: - 10597 .align 2 - 10598 .L709: - 10599 0138 0000FFFF .word -65536 - 10600 .cfi_endproc - 10601 .LFE91: - 10603 .section .text.I2C_DMAError,"ax",%progbits - 10604 .align 1 - 10605 .syntax unified - 10606 .code 16 - 10607 .thumb_func - 10608 .fpu softvfp - 10610 I2C_DMAError: - 10611 .LFB107: -6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati - 10612 .loc 1 6023 0 - 10613 .cfi_startproc - 10614 @ args = 0, pretend = 0, frame = 0 - 10615 @ frame_needed = 0, uses_anonymous_args = 0 - 10616 .LVL938: - 10617 0000 10B5 push {r4, lr} - 10618 .LCFI81: - 10619 .cfi_def_cfa_offset 8 - 10620 .cfi_offset 4, -8 - 10621 .cfi_offset 14, -4 -6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10622 .loc 1 6024 0 - 10623 0002 406A ldr r0, [r0, #36] - 10624 .LVL939: -6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10625 .loc 1 6027 0 - 10626 0004 0268 ldr r2, [r0] - ARM GAS /tmp/ccFk2Nxo.s page 330 - - - 10627 0006 5168 ldr r1, [r2, #4] - 10628 0008 8023 movs r3, #128 - 10629 000a 1B02 lsls r3, r3, #8 - 10630 000c 0B43 orrs r3, r1 - 10631 000e 5360 str r3, [r2, #4] -6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10632 .loc 1 6030 0 - 10633 0010 1021 movs r1, #16 - 10634 0012 FFF7FEFF bl I2C_ITError - 10635 .LVL940: -6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10636 .loc 1 6031 0 - 10637 @ sp needed - 10638 0016 10BD pop {r4, pc} - 10639 .cfi_endproc - 10640 .LFE107: - 10642 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits - 10643 .align 1 - 10644 .syntax unified - 10645 .code 16 - 10646 .thumb_func - 10647 .fpu softvfp - 10649 I2C_DMAMasterTransmitCplt: - 10650 .LFB103: -5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati - 10651 .loc 1 5873 0 - 10652 .cfi_startproc - 10653 @ args = 0, pretend = 0, frame = 0 - 10654 @ frame_needed = 0, uses_anonymous_args = 0 - 10655 .LVL941: - 10656 0000 10B5 push {r4, lr} - 10657 .LCFI82: - 10658 .cfi_def_cfa_offset 8 - 10659 .cfi_offset 4, -8 - 10660 .cfi_offset 14, -4 -5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10661 .loc 1 5874 0 - 10662 0002 446A ldr r4, [r0, #36] - 10663 .LVL942: -5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10664 .loc 1 5877 0 - 10665 0004 2268 ldr r2, [r4] - 10666 0006 1368 ldr r3, [r2] - 10667 0008 1549 ldr r1, .L720 - 10668 000a 0B40 ands r3, r1 - 10669 000c 1360 str r3, [r2] -5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10670 .loc 1 5880 0 - 10671 000e 638D ldrh r3, [r4, #42] - 10672 0010 9BB2 uxth r3, r3 - 10673 0012 002B cmp r3, #0 - 10674 0014 17D0 beq .L718 -5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10675 .loc 1 5889 0 - 10676 0016 218D ldrh r1, [r4, #40] - 10677 0018 636A ldr r3, [r4, #36] - 10678 001a 9C46 mov ip, r3 - ARM GAS /tmp/ccFk2Nxo.s page 331 - - - 10679 001c 6144 add r1, r1, ip - 10680 001e 6162 str r1, [r4, #36] -5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10681 .loc 1 5892 0 - 10682 0020 638D ldrh r3, [r4, #42] - 10683 0022 9BB2 uxth r3, r3 - 10684 0024 FF2B cmp r3, #255 - 10685 0026 13D9 bls .L715 -5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10686 .loc 1 5894 0 - 10687 0028 FF23 movs r3, #255 - 10688 002a 2385 strh r3, [r4, #40] - 10689 .L716: -5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10690 .loc 1 5902 0 - 10691 002c 2268 ldr r2, [r4] - 10692 002e 2832 adds r2, r2, #40 - 10693 0030 238D ldrh r3, [r4, #40] - 10694 0032 A06B ldr r0, [r4, #56] - 10695 .LVL943: - 10696 0034 FFF7FEFF bl HAL_DMA_Start_IT - 10697 .LVL944: - 10698 0038 0028 cmp r0, #0 - 10699 003a 0CD1 bne .L719 -5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10700 .loc 1 5910 0 - 10701 003c 1221 movs r1, #18 - 10702 003e 2000 movs r0, r4 - 10703 0040 FFF7FEFF bl I2C_Enable_IRQ - 10704 .LVL945: - 10705 .L712: -5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10706 .loc 1 5913 0 - 10707 @ sp needed - 10708 .LVL946: - 10709 0044 10BD pop {r4, pc} - 10710 .LVL947: - 10711 .L718: -5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10712 .loc 1 5883 0 - 10713 0046 1221 movs r1, #18 - 10714 0048 2000 movs r0, r4 - 10715 .LVL948: - 10716 004a FFF7FEFF bl I2C_Enable_IRQ - 10717 .LVL949: - 10718 004e F9E7 b .L712 - 10719 .LVL950: - 10720 .L715: -5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10721 .loc 1 5898 0 - 10722 0050 638D ldrh r3, [r4, #42] - 10723 0052 2385 strh r3, [r4, #40] - 10724 0054 EAE7 b .L716 - 10725 .LVL951: - 10726 .L719: -5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10727 .loc 1 5905 0 - ARM GAS /tmp/ccFk2Nxo.s page 332 - - - 10728 0056 1021 movs r1, #16 - 10729 0058 2000 movs r0, r4 - 10730 005a FFF7FEFF bl I2C_ITError - 10731 .LVL952: - 10732 005e F1E7 b .L712 - 10733 .L721: - 10734 .align 2 - 10735 .L720: - 10736 0060 FFBFFFFF .word -16385 - 10737 .cfi_endproc - 10738 .LFE103: - 10740 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits - 10741 .align 1 - 10742 .syntax unified - 10743 .code 16 - 10744 .thumb_func - 10745 .fpu softvfp - 10747 I2C_DMAMasterReceiveCplt: - 10748 .LFB105: -5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati - 10749 .loc 1 5948 0 - 10750 .cfi_startproc - 10751 @ args = 0, pretend = 0, frame = 0 - 10752 @ frame_needed = 0, uses_anonymous_args = 0 - 10753 .LVL953: - 10754 0000 10B5 push {r4, lr} - 10755 .LCFI83: - 10756 .cfi_def_cfa_offset 8 - 10757 .cfi_offset 4, -8 - 10758 .cfi_offset 14, -4 -5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10759 .loc 1 5949 0 - 10760 0002 446A ldr r4, [r0, #36] - 10761 .LVL954: -5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10762 .loc 1 5952 0 - 10763 0004 2268 ldr r2, [r4] - 10764 0006 1368 ldr r3, [r2] - 10765 0008 1549 ldr r1, .L730 - 10766 000a 0B40 ands r3, r1 - 10767 000c 1360 str r3, [r2] -5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10768 .loc 1 5955 0 - 10769 000e 638D ldrh r3, [r4, #42] - 10770 0010 9BB2 uxth r3, r3 - 10771 0012 002B cmp r3, #0 - 10772 0014 17D0 beq .L728 -5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10773 .loc 1 5964 0 - 10774 0016 228D ldrh r2, [r4, #40] - 10775 0018 636A ldr r3, [r4, #36] - 10776 001a 9C46 mov ip, r3 - 10777 001c 6244 add r2, r2, ip - 10778 001e 6262 str r2, [r4, #36] -5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10779 .loc 1 5967 0 - 10780 0020 638D ldrh r3, [r4, #42] - ARM GAS /tmp/ccFk2Nxo.s page 333 - - - 10781 0022 9BB2 uxth r3, r3 - 10782 0024 FF2B cmp r3, #255 - 10783 0026 13D9 bls .L725 -5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10784 .loc 1 5969 0 - 10785 0028 FF23 movs r3, #255 - 10786 002a 2385 strh r3, [r4, #40] - 10787 .L726: -5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10788 .loc 1 5977 0 - 10789 002c 2168 ldr r1, [r4] - 10790 002e 2431 adds r1, r1, #36 - 10791 0030 238D ldrh r3, [r4, #40] - 10792 0032 E06B ldr r0, [r4, #60] - 10793 .LVL955: - 10794 0034 FFF7FEFF bl HAL_DMA_Start_IT - 10795 .LVL956: - 10796 0038 0028 cmp r0, #0 - 10797 003a 0CD1 bne .L729 -5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10798 .loc 1 5985 0 - 10799 003c 1221 movs r1, #18 - 10800 003e 2000 movs r0, r4 - 10801 0040 FFF7FEFF bl I2C_Enable_IRQ - 10802 .LVL957: - 10803 .L722: -5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10804 .loc 1 5988 0 - 10805 @ sp needed - 10806 .LVL958: - 10807 0044 10BD pop {r4, pc} - 10808 .LVL959: - 10809 .L728: -5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10810 .loc 1 5958 0 - 10811 0046 1221 movs r1, #18 - 10812 0048 2000 movs r0, r4 - 10813 .LVL960: - 10814 004a FFF7FEFF bl I2C_Enable_IRQ - 10815 .LVL961: - 10816 004e F9E7 b .L722 - 10817 .LVL962: - 10818 .L725: -5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10819 .loc 1 5973 0 - 10820 0050 638D ldrh r3, [r4, #42] - 10821 0052 2385 strh r3, [r4, #40] - 10822 0054 EAE7 b .L726 - 10823 .LVL963: - 10824 .L729: -5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10825 .loc 1 5980 0 - 10826 0056 1021 movs r1, #16 - 10827 0058 2000 movs r0, r4 - 10828 005a FFF7FEFF bl I2C_ITError - 10829 .LVL964: - 10830 005e F1E7 b .L722 - ARM GAS /tmp/ccFk2Nxo.s page 334 - - - 10831 .L731: - 10832 .align 2 - 10833 .L730: - 10834 0060 FF7FFFFF .word -32769 - 10835 .cfi_endproc - 10836 .LFE105: - 10838 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits - 10839 .align 1 - 10840 .global HAL_I2C_ER_IRQHandler - 10841 .syntax unified - 10842 .code 16 - 10843 .thumb_func - 10844 .fpu softvfp - 10846 HAL_I2C_ER_IRQHandler: - 10847 .LFB75: -4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); - 10848 .loc 1 4317 0 - 10849 .cfi_startproc - 10850 @ args = 0, pretend = 0, frame = 0 - 10851 @ frame_needed = 0, uses_anonymous_args = 0 - 10852 .LVL965: - 10853 0000 70B5 push {r4, r5, r6, lr} - 10854 .LCFI84: - 10855 .cfi_def_cfa_offset 16 - 10856 .cfi_offset 4, -16 - 10857 .cfi_offset 5, -12 - 10858 .cfi_offset 6, -8 - 10859 .cfi_offset 14, -4 -4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); - 10860 .loc 1 4318 0 - 10861 0002 0268 ldr r2, [r0] - 10862 0004 9369 ldr r3, [r2, #24] - 10863 .LVL966: -4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror; - 10864 .loc 1 4319 0 - 10865 0006 1168 ldr r1, [r2] - 10866 .LVL967: -4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10867 .loc 1 4323 0 - 10868 0008 DC05 lsls r4, r3, #23 - 10869 000a 08D5 bpl .L733 -4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10870 .loc 1 4323 0 is_stmt 0 discriminator 1 - 10871 000c 0C06 lsls r4, r1, #24 - 10872 000e 06D5 bpl .L733 -4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10873 .loc 1 4325 0 is_stmt 1 - 10874 0010 446C ldr r4, [r0, #68] - 10875 0012 0125 movs r5, #1 - 10876 0014 2C43 orrs r4, r5 - 10877 0016 4464 str r4, [r0, #68] -4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10878 .loc 1 4328 0 - 10879 0018 8024 movs r4, #128 - 10880 001a 6400 lsls r4, r4, #1 - 10881 001c D461 str r4, [r2, #28] - 10882 .L733: - ARM GAS /tmp/ccFk2Nxo.s page 335 - - -4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10883 .loc 1 4332 0 - 10884 001e 5A05 lsls r2, r3, #21 - 10885 0020 09D5 bpl .L734 -4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10886 .loc 1 4332 0 is_stmt 0 discriminator 1 - 10887 0022 0A06 lsls r2, r1, #24 - 10888 0024 07D5 bpl .L734 -4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10889 .loc 1 4334 0 is_stmt 1 - 10890 0026 426C ldr r2, [r0, #68] - 10891 0028 0824 movs r4, #8 - 10892 002a 2243 orrs r2, r4 - 10893 002c 4264 str r2, [r0, #68] -4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10894 .loc 1 4337 0 - 10895 002e 0268 ldr r2, [r0] - 10896 0030 8024 movs r4, #128 - 10897 0032 E400 lsls r4, r4, #3 - 10898 0034 D461 str r4, [r2, #28] - 10899 .L734: -4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10900 .loc 1 4341 0 - 10901 0036 9B05 lsls r3, r3, #22 - 10902 0038 09D5 bpl .L735 - 10903 .LVL968: -4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10904 .loc 1 4341 0 is_stmt 0 discriminator 1 - 10905 003a 0B06 lsls r3, r1, #24 - 10906 003c 07D5 bpl .L735 -4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10907 .loc 1 4343 0 is_stmt 1 - 10908 003e 436C ldr r3, [r0, #68] - 10909 0040 0222 movs r2, #2 - 10910 0042 1343 orrs r3, r2 - 10911 0044 4364 str r3, [r0, #68] -4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10912 .loc 1 4346 0 - 10913 0046 0368 ldr r3, [r0] - 10914 0048 FF32 adds r2, r2, #255 - 10915 004a FF32 adds r2, r2, #255 - 10916 004c DA61 str r2, [r3, #28] - 10917 .L735: -4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10918 .loc 1 4350 0 - 10919 004e 416C ldr r1, [r0, #68] - 10920 .LVL969: -4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10921 .loc 1 4353 0 - 10922 0050 0B23 movs r3, #11 - 10923 0052 0B42 tst r3, r1 - 10924 0054 00D1 bne .L737 - 10925 .LVL970: - 10926 .L732: -4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10927 .loc 1 4357 0 - 10928 @ sp needed - ARM GAS /tmp/ccFk2Nxo.s page 336 - - - 10929 0056 70BD pop {r4, r5, r6, pc} - 10930 .LVL971: - 10931 .L737: -4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 10932 .loc 1 4355 0 - 10933 0058 FFF7FEFF bl I2C_ITError - 10934 .LVL972: -4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10935 .loc 1 4357 0 - 10936 005c FBE7 b .L732 - 10937 .cfi_endproc - 10938 .LFE75: - 10940 .section .text.I2C_DMAAbort,"ax",%progbits - 10941 .align 1 - 10942 .syntax unified - 10943 .code 16 - 10944 .thumb_func - 10945 .fpu softvfp - 10947 I2C_DMAAbort: - 10948 .LFB108: -6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati - 10949 .loc 1 6040 0 - 10950 .cfi_startproc - 10951 @ args = 0, pretend = 0, frame = 0 - 10952 @ frame_needed = 0, uses_anonymous_args = 0 - 10953 .LVL973: - 10954 0000 10B5 push {r4, lr} - 10955 .LCFI85: - 10956 .cfi_def_cfa_offset 8 - 10957 .cfi_offset 4, -8 - 10958 .cfi_offset 14, -4 -6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10959 .loc 1 6041 0 - 10960 0002 406A ldr r0, [r0, #36] - 10961 .LVL974: -6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; - 10962 .loc 1 6044 0 - 10963 0004 826B ldr r2, [r0, #56] - 10964 0006 0023 movs r3, #0 - 10965 0008 5363 str r3, [r2, #52] -6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10966 .loc 1 6045 0 - 10967 000a C26B ldr r2, [r0, #60] - 10968 000c 5363 str r3, [r2, #52] -6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** { - 10969 .loc 1 6048 0 - 10970 000e 4133 adds r3, r3, #65 - 10971 0010 C35C ldrb r3, [r0, r3] - 10972 0012 602B cmp r3, #96 - 10973 0014 02D0 beq .L741 -6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 10974 .loc 1 6065 0 - 10975 0016 FFF7FEFF bl HAL_I2C_ErrorCallback - 10976 .LVL975: - 10977 .L738: -6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10978 .loc 1 6068 0 - ARM GAS /tmp/ccFk2Nxo.s page 337 - - - 10979 @ sp needed - 10980 001a 10BD pop {r4, pc} - 10981 .LVL976: - 10982 .L741: -6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 10983 .loc 1 6050 0 - 10984 001c 1F3B subs r3, r3, #31 - 10985 001e 2022 movs r2, #32 - 10986 0020 C254 strb r2, [r0, r3] -6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ - 10987 .loc 1 6056 0 - 10988 0022 FFF7FEFF bl HAL_I2C_AbortCpltCallback - 10989 .LVL977: - 10990 0026 F8E7 b .L738 - 10991 .cfi_endproc - 10992 .LFE108: - 10994 .section .text.HAL_I2C_GetState,"ax",%progbits - 10995 .align 1 - 10996 .global HAL_I2C_GetState - 10997 .syntax unified - 10998 .code 16 - 10999 .thumb_func - 11000 .fpu softvfp - 11002 HAL_I2C_GetState: - 11003 .LFB86: -4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */ - 11004 .loc 1 4548 0 - 11005 .cfi_startproc - 11006 @ args = 0, pretend = 0, frame = 0 - 11007 @ frame_needed = 0, uses_anonymous_args = 0 - 11008 @ link register save eliminated. - 11009 .LVL978: -4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 11010 .loc 1 4550 0 - 11011 0000 4123 movs r3, #65 - 11012 0002 C05C ldrb r0, [r0, r3] - 11013 .LVL979: - 11014 0004 C0B2 uxtb r0, r0 -4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 11015 .loc 1 4551 0 - 11016 @ sp needed - 11017 0006 7047 bx lr - 11018 .cfi_endproc - 11019 .LFE86: - 11021 .section .text.HAL_I2C_GetMode,"ax",%progbits - 11022 .align 1 - 11023 .global HAL_I2C_GetMode - 11024 .syntax unified - 11025 .code 16 - 11026 .thumb_func - 11027 .fpu softvfp - 11029 HAL_I2C_GetMode: - 11030 .LFB87: -4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode; - 11031 .loc 1 4560 0 - 11032 .cfi_startproc - 11033 @ args = 0, pretend = 0, frame = 0 - ARM GAS /tmp/ccFk2Nxo.s page 338 - - - 11034 @ frame_needed = 0, uses_anonymous_args = 0 - 11035 @ link register save eliminated. - 11036 .LVL980: -4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 11037 .loc 1 4561 0 - 11038 0000 4223 movs r3, #66 - 11039 0002 C05C ldrb r0, [r0, r3] - 11040 .LVL981: - 11041 0004 C0B2 uxtb r0, r0 -4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 11042 .loc 1 4562 0 - 11043 @ sp needed - 11044 0006 7047 bx lr - 11045 .cfi_endproc - 11046 .LFE87: - 11048 .section .text.HAL_I2C_GetError,"ax",%progbits - 11049 .align 1 - 11050 .global HAL_I2C_GetError - 11051 .syntax unified - 11052 .code 16 - 11053 .thumb_func - 11054 .fpu softvfp - 11056 HAL_I2C_GetError: - 11057 .LFB88: -4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode; - 11058 .loc 1 4571 0 - 11059 .cfi_startproc - 11060 @ args = 0, pretend = 0, frame = 0 - 11061 @ frame_needed = 0, uses_anonymous_args = 0 - 11062 @ link register save eliminated. - 11063 .LVL982: -4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** } - 11064 .loc 1 4572 0 - 11065 0000 406C ldr r0, [r0, #68] - 11066 .LVL983: -4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** - 11067 .loc 1 4573 0 - 11068 @ sp needed - 11069 0002 7047 bx lr - 11070 .cfi_endproc - 11071 .LFE88: - 11073 .text - 11074 .Letext0: - 11075 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 11076 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 11077 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 11078 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 11079 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" - 11080 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 11081 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h" - 11082 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h" - 11083 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccFk2Nxo.s page 339 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_i2c.c - /tmp/ccFk2Nxo.s:16 .text.I2C_Flush_TXDR:0000000000000000 $t - /tmp/ccFk2Nxo.s:22 .text.I2C_Flush_TXDR:0000000000000000 I2C_Flush_TXDR - /tmp/ccFk2Nxo.s:58 .text.I2C_TransferConfig:0000000000000000 $t - /tmp/ccFk2Nxo.s:64 .text.I2C_TransferConfig:0000000000000000 I2C_TransferConfig - /tmp/ccFk2Nxo.s:108 .text.I2C_TransferConfig:0000000000000028 $d - /tmp/ccFk2Nxo.s:113 .text.I2C_Enable_IRQ:0000000000000000 $t - /tmp/ccFk2Nxo.s:119 .text.I2C_Enable_IRQ:0000000000000000 I2C_Enable_IRQ - /tmp/ccFk2Nxo.s:240 .text.I2C_Enable_IRQ:0000000000000074 $d - /tmp/ccFk2Nxo.s:10345 .text.I2C_Master_ISR_DMA:0000000000000000 I2C_Master_ISR_DMA - /tmp/ccFk2Nxo.s:10103 .text.I2C_Slave_ISR_DMA:0000000000000000 I2C_Slave_ISR_DMA - /tmp/ccFk2Nxo.s:246 .text.I2C_Disable_IRQ:0000000000000000 $t - /tmp/ccFk2Nxo.s:252 .text.I2C_Disable_IRQ:0000000000000000 I2C_Disable_IRQ - /tmp/ccFk2Nxo.s:371 .text.I2C_ConvertOtherXferOptions:0000000000000000 $t - /tmp/ccFk2Nxo.s:377 .text.I2C_ConvertOtherXferOptions:0000000000000000 I2C_ConvertOtherXferOptions - /tmp/ccFk2Nxo.s:415 .text.I2C_IsAcknowledgeFailed:0000000000000000 $t - /tmp/ccFk2Nxo.s:421 .text.I2C_IsAcknowledgeFailed:0000000000000000 I2C_IsAcknowledgeFailed - /tmp/ccFk2Nxo.s:533 .text.I2C_IsAcknowledgeFailed:000000000000007c $d - /tmp/ccFk2Nxo.s:538 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 $t - /tmp/ccFk2Nxo.s:544 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 I2C_WaitOnTXISFlagUntilTimeout - /tmp/ccFk2Nxo.s:626 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 $t - /tmp/ccFk2Nxo.s:632 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 I2C_WaitOnFlagUntilTimeout - /tmp/ccFk2Nxo.s:709 .text.I2C_RequestMemoryWrite:0000000000000000 $t - /tmp/ccFk2Nxo.s:715 .text.I2C_RequestMemoryWrite:0000000000000000 I2C_RequestMemoryWrite - /tmp/ccFk2Nxo.s:812 .text.I2C_RequestMemoryWrite:0000000000000070 $d - /tmp/ccFk2Nxo.s:817 .text.I2C_RequestMemoryRead:0000000000000000 $t - /tmp/ccFk2Nxo.s:823 .text.I2C_RequestMemoryRead:0000000000000000 I2C_RequestMemoryRead - /tmp/ccFk2Nxo.s:917 .text.I2C_RequestMemoryRead:000000000000006c $d - /tmp/ccFk2Nxo.s:922 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t - /tmp/ccFk2Nxo.s:928 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout - /tmp/ccFk2Nxo.s:1007 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t - /tmp/ccFk2Nxo.s:1013 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout - /tmp/ccFk2Nxo.s:1127 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000080 $d - /tmp/ccFk2Nxo.s:1132 .text.HAL_I2C_MspInit:0000000000000000 $t - /tmp/ccFk2Nxo.s:1139 .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit - /tmp/ccFk2Nxo.s:1154 .text.HAL_I2C_Init:0000000000000000 $t - /tmp/ccFk2Nxo.s:1161 .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init - /tmp/ccFk2Nxo.s:1309 .text.HAL_I2C_Init:00000000000000c0 $d - /tmp/ccFk2Nxo.s:1316 .text.HAL_I2C_MspDeInit:0000000000000000 $t - /tmp/ccFk2Nxo.s:1323 .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit - /tmp/ccFk2Nxo.s:1338 .text.HAL_I2C_DeInit:0000000000000000 $t - /tmp/ccFk2Nxo.s:1345 .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit - /tmp/ccFk2Nxo.s:1405 .text.HAL_I2C_Master_Transmit:0000000000000000 $t - /tmp/ccFk2Nxo.s:1412 .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit - /tmp/ccFk2Nxo.s:1680 .text.HAL_I2C_Master_Transmit:0000000000000164 $d - /tmp/ccFk2Nxo.s:1686 .text.HAL_I2C_Master_Receive:0000000000000000 $t - /tmp/ccFk2Nxo.s:1693 .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive - /tmp/ccFk2Nxo.s:1961 .text.HAL_I2C_Master_Receive:0000000000000164 $d - /tmp/ccFk2Nxo.s:1967 .text.HAL_I2C_Slave_Transmit:0000000000000000 $t - /tmp/ccFk2Nxo.s:1974 .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit - /tmp/ccFk2Nxo.s:2276 .text.HAL_I2C_Slave_Transmit:0000000000000194 $d - /tmp/ccFk2Nxo.s:2281 .text.HAL_I2C_Slave_Receive:0000000000000000 $t - /tmp/ccFk2Nxo.s:2288 .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive - /tmp/ccFk2Nxo.s:2571 .text.HAL_I2C_Slave_Receive:0000000000000178 $d - /tmp/ccFk2Nxo.s:2576 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:2583 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT - ARM GAS /tmp/ccFk2Nxo.s page 340 - - - /tmp/ccFk2Nxo.s:2712 .text.HAL_I2C_Master_Transmit_IT:0000000000000088 $d - /tmp/ccFk2Nxo.s:9787 .text.I2C_Master_ISR_IT:0000000000000000 I2C_Master_ISR_IT - /tmp/ccFk2Nxo.s:2719 .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:2726 .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT - /tmp/ccFk2Nxo.s:2855 .text.HAL_I2C_Master_Receive_IT:0000000000000088 $d - /tmp/ccFk2Nxo.s:2862 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:2869 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT - /tmp/ccFk2Nxo.s:2957 .text.HAL_I2C_Slave_Transmit_IT:0000000000000058 $d - /tmp/ccFk2Nxo.s:9339 .text.I2C_Slave_ISR_IT:0000000000000000 I2C_Slave_ISR_IT - /tmp/ccFk2Nxo.s:2964 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:2971 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT - /tmp/ccFk2Nxo.s:3059 .text.HAL_I2C_Slave_Receive_IT:0000000000000058 $d - /tmp/ccFk2Nxo.s:3066 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:3073 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA - /tmp/ccFk2Nxo.s:3332 .text.HAL_I2C_Master_Transmit_DMA:000000000000013c $d - /tmp/ccFk2Nxo.s:10649 .text.I2C_DMAMasterTransmitCplt:0000000000000000 I2C_DMAMasterTransmitCplt - /tmp/ccFk2Nxo.s:10610 .text.I2C_DMAError:0000000000000000 I2C_DMAError - /tmp/ccFk2Nxo.s:3342 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:3349 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA - /tmp/ccFk2Nxo.s:3607 .text.HAL_I2C_Master_Receive_DMA:000000000000013c $d - /tmp/ccFk2Nxo.s:10747 .text.I2C_DMAMasterReceiveCplt:0000000000000000 I2C_DMAMasterReceiveCplt - /tmp/ccFk2Nxo.s:3617 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:3624 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA - /tmp/ccFk2Nxo.s:3811 .text.HAL_I2C_Slave_Transmit_DMA:00000000000000e0 $d - /tmp/ccFk2Nxo.s:8434 .text.I2C_DMASlaveTransmitCplt:0000000000000000 I2C_DMASlaveTransmitCplt - /tmp/ccFk2Nxo.s:3820 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:3827 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA - /tmp/ccFk2Nxo.s:4017 .text.HAL_I2C_Slave_Receive_DMA:00000000000000e4 $d - /tmp/ccFk2Nxo.s:8489 .text.I2C_DMASlaveReceiveCplt:0000000000000000 I2C_DMASlaveReceiveCplt - /tmp/ccFk2Nxo.s:4026 .text.HAL_I2C_Mem_Write:0000000000000000 $t - /tmp/ccFk2Nxo.s:4033 .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write - /tmp/ccFk2Nxo.s:4340 .text.HAL_I2C_Mem_Write:000000000000019c $d - /tmp/ccFk2Nxo.s:4345 .text.HAL_I2C_Mem_Read:0000000000000000 $t - /tmp/ccFk2Nxo.s:4352 .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read - /tmp/ccFk2Nxo.s:4661 .text.HAL_I2C_Mem_Read:00000000000001a0 $d - /tmp/ccFk2Nxo.s:4667 .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:4674 .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT - /tmp/ccFk2Nxo.s:4849 .text.HAL_I2C_Mem_Write_IT:00000000000000cc $d - /tmp/ccFk2Nxo.s:4855 .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:4862 .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT - /tmp/ccFk2Nxo.s:5038 .text.HAL_I2C_Mem_Read_IT:00000000000000cc $d - /tmp/ccFk2Nxo.s:5045 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:5052 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA - /tmp/ccFk2Nxo.s:5327 .text.HAL_I2C_Mem_Write_DMA:0000000000000158 $d - /tmp/ccFk2Nxo.s:5335 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:5342 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA - /tmp/ccFk2Nxo.s:5618 .text.HAL_I2C_Mem_Read_DMA:0000000000000158 $d - /tmp/ccFk2Nxo.s:5627 .text.HAL_I2C_IsDeviceReady:0000000000000000 $t - /tmp/ccFk2Nxo.s:5634 .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady - /tmp/ccFk2Nxo.s:5939 .text.HAL_I2C_IsDeviceReady:000000000000017c $d - /tmp/ccFk2Nxo.s:5944 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:5951 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 HAL_I2C_Master_Seq_Transmit_IT - /tmp/ccFk2Nxo.s:6116 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000000000b0 $d - /tmp/ccFk2Nxo.s:6122 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:6129 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Master_Seq_Transmit_DMA - /tmp/ccFk2Nxo.s:6416 .text.HAL_I2C_Master_Seq_Transmit_DMA:000000000000015c $d - /tmp/ccFk2Nxo.s:6425 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 $t - ARM GAS /tmp/ccFk2Nxo.s page 341 - - - /tmp/ccFk2Nxo.s:6432 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 HAL_I2C_Master_Seq_Receive_IT - /tmp/ccFk2Nxo.s:6597 .text.HAL_I2C_Master_Seq_Receive_IT:00000000000000b0 $d - /tmp/ccFk2Nxo.s:6603 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:6610 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 HAL_I2C_Master_Seq_Receive_DMA - /tmp/ccFk2Nxo.s:6897 .text.HAL_I2C_Master_Seq_Receive_DMA:000000000000015c $d - /tmp/ccFk2Nxo.s:6906 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:6913 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 HAL_I2C_Slave_Seq_Transmit_IT - /tmp/ccFk2Nxo.s:7083 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000000000c8 $d - /tmp/ccFk2Nxo.s:10947 .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort - /tmp/ccFk2Nxo.s:7090 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:7097 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Seq_Transmit_DMA - /tmp/ccFk2Nxo.s:7395 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000180 $d - /tmp/ccFk2Nxo.s:7405 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:7412 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 HAL_I2C_Slave_Seq_Receive_IT - /tmp/ccFk2Nxo.s:7582 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000000000c8 $d - /tmp/ccFk2Nxo.s:7590 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:7597 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 HAL_I2C_Slave_Seq_Receive_DMA - /tmp/ccFk2Nxo.s:7896 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000180 $d - /tmp/ccFk2Nxo.s:7906 .text.HAL_I2C_EnableListen_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:7913 .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT - /tmp/ccFk2Nxo.s:7956 .text.HAL_I2C_EnableListen_IT:0000000000000024 $d - /tmp/ccFk2Nxo.s:7961 .text.HAL_I2C_DisableListen_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:7968 .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT - /tmp/ccFk2Nxo.s:8027 .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:8034 .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT - /tmp/ccFk2Nxo.s:8122 .text.HAL_I2C_Master_Abort_IT:0000000000000060 $d - /tmp/ccFk2Nxo.s:8127 .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t - /tmp/ccFk2Nxo.s:8134 .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler - /tmp/ccFk2Nxo.s:8168 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8175 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback - /tmp/ccFk2Nxo.s:8190 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8197 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback - /tmp/ccFk2Nxo.s:8212 .text.I2C_ITMasterSeqCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:8218 .text.I2C_ITMasterSeqCplt:0000000000000000 I2C_ITMasterSeqCplt - /tmp/ccFk2Nxo.s:8296 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8303 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback - /tmp/ccFk2Nxo.s:8318 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8325 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback - /tmp/ccFk2Nxo.s:8340 .text.I2C_ITSlaveSeqCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:8346 .text.I2C_ITSlaveSeqCplt:0000000000000000 I2C_ITSlaveSeqCplt - /tmp/ccFk2Nxo.s:8428 .text.I2C_DMASlaveTransmitCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:8478 .text.I2C_DMASlaveTransmitCplt:0000000000000024 $d - /tmp/ccFk2Nxo.s:8483 .text.I2C_DMASlaveReceiveCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:8534 .text.I2C_DMASlaveReceiveCplt:0000000000000028 $d - /tmp/ccFk2Nxo.s:8540 .text.HAL_I2C_AddrCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8547 .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback - /tmp/ccFk2Nxo.s:8562 .text.I2C_ITAddrCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:8568 .text.I2C_ITAddrCplt:0000000000000000 I2C_ITAddrCplt - /tmp/ccFk2Nxo.s:8708 .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8715 .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback - /tmp/ccFk2Nxo.s:8730 .text.I2C_ITListenCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:8736 .text.I2C_ITListenCplt:0000000000000000 I2C_ITListenCplt - /tmp/ccFk2Nxo.s:8820 .text.I2C_ITListenCplt:0000000000000060 $d - /tmp/ccFk2Nxo.s:8825 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8832 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback - /tmp/ccFk2Nxo.s:8847 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8854 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback - ARM GAS /tmp/ccFk2Nxo.s page 342 - - - /tmp/ccFk2Nxo.s:8869 .text.HAL_I2C_ErrorCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8876 .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback - /tmp/ccFk2Nxo.s:8891 .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t - /tmp/ccFk2Nxo.s:8898 .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback - /tmp/ccFk2Nxo.s:8913 .text.I2C_ITError:0000000000000000 $t - /tmp/ccFk2Nxo.s:8919 .text.I2C_ITError:0000000000000000 I2C_ITError - /tmp/ccFk2Nxo.s:9100 .text.I2C_ITError:00000000000000e4 $d - /tmp/ccFk2Nxo.s:9109 .text.I2C_ITSlaveCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:9115 .text.I2C_ITSlaveCplt:0000000000000000 I2C_ITSlaveCplt - /tmp/ccFk2Nxo.s:9327 .text.I2C_ITSlaveCplt:0000000000000110 $d - /tmp/ccFk2Nxo.s:9333 .text.I2C_Slave_ISR_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:9601 .text.I2C_Slave_ISR_IT:0000000000000148 $d - /tmp/ccFk2Nxo.s:9606 .text.I2C_ITMasterCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:9612 .text.I2C_ITMasterCplt:0000000000000000 I2C_ITMasterCplt - /tmp/ccFk2Nxo.s:9775 .text.I2C_ITMasterCplt:00000000000000cc $d - /tmp/ccFk2Nxo.s:9781 .text.I2C_Master_ISR_IT:0000000000000000 $t - /tmp/ccFk2Nxo.s:10092 .text.I2C_Master_ISR_IT:0000000000000174 $d - /tmp/ccFk2Nxo.s:10097 .text.I2C_Slave_ISR_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:10334 .text.I2C_Slave_ISR_DMA:0000000000000104 $d - /tmp/ccFk2Nxo.s:10339 .text.I2C_Master_ISR_DMA:0000000000000000 $t - /tmp/ccFk2Nxo.s:10599 .text.I2C_Master_ISR_DMA:0000000000000138 $d - /tmp/ccFk2Nxo.s:10604 .text.I2C_DMAError:0000000000000000 $t - /tmp/ccFk2Nxo.s:10643 .text.I2C_DMAMasterTransmitCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:10736 .text.I2C_DMAMasterTransmitCplt:0000000000000060 $d - /tmp/ccFk2Nxo.s:10741 .text.I2C_DMAMasterReceiveCplt:0000000000000000 $t - /tmp/ccFk2Nxo.s:10834 .text.I2C_DMAMasterReceiveCplt:0000000000000060 $d - /tmp/ccFk2Nxo.s:10839 .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t - /tmp/ccFk2Nxo.s:10846 .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler - /tmp/ccFk2Nxo.s:10941 .text.I2C_DMAAbort:0000000000000000 $t - /tmp/ccFk2Nxo.s:10995 .text.HAL_I2C_GetState:0000000000000000 $t - /tmp/ccFk2Nxo.s:11002 .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState - /tmp/ccFk2Nxo.s:11022 .text.HAL_I2C_GetMode:0000000000000000 $t - /tmp/ccFk2Nxo.s:11029 .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode - /tmp/ccFk2Nxo.s:11049 .text.HAL_I2C_GetError:0000000000000000 $t - /tmp/ccFk2Nxo.s:11056 .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError - -UNDEFINED SYMBOLS -HAL_GetTick -HAL_DMA_Start_IT -HAL_DMA_Abort_IT diff --git a/Blink/build/stm32f0xx_hal_i2c.o b/Blink/build/stm32f0xx_hal_i2c.o deleted file mode 100644 index 976b12d..0000000 Binary files a/Blink/build/stm32f0xx_hal_i2c.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_i2c_ex.d b/Blink/build/stm32f0xx_hal_i2c_ex.d deleted file mode 100644 index 4349f59..0000000 --- a/Blink/build/stm32f0xx_hal_i2c_ex.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_i2c_ex.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_i2c_ex.lst b/Blink/build/stm32f0xx_hal_i2c_ex.lst deleted file mode 100644 index 9653c92..0000000 --- a/Blink/build/stm32f0xx_hal_i2c_ex.lst +++ /dev/null @@ -1,862 +0,0 @@ -ARM GAS /tmp/ccTAwSRA.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_i2c_ex.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_I2CEx_ConfigAnalogFilter,"ax",%progbits - 16 .align 1 - 17 .global HAL_I2CEx_ConfigAnalogFilter - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_I2CEx_ConfigAnalogFilter: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @file stm32f0xx_hal_i2c_ex.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * functionalities of I2C Extended peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * + Extended features functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @verbatim - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ============================================================================== - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### I2C peripheral Extended features ##### - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ============================================================================== - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] Comparing to other previous devices, the I2C interface for STM32F0xx - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** devices contains the following additional features - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Possibility to disable or enable Analog Noise Filter - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Use of a configured Digital Noise Filter - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Disable or enable wakeup from Stop mode(s) - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Disable or enable Fast Mode Plus - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### How to use this driver ##### - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ============================================================================== - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] This driver provides functions to configure Noise Filter and Wake Up Feature - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure I2C Analog noise filter using the function HAL_I2CEx_ConfigAnalogFilter() - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure I2C Digital noise filter using the function HAL_I2CEx_ConfigDigitalFilter() - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure the enable or disable of I2C Wake Up Mode using the functions : - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableWakeUp() - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableWakeUp() - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure the enable or disable of fast mode plus driving capability using the functions : - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableFastModePlus() - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableFastModePlus() - ARM GAS /tmp/ccTAwSRA.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @endverbatim - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ****************************************************************************** - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @attention - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** *

© Copyright (c) 2016 STMicroelectronics. - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * All rights reserved.

- 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the "License"; You may not use this file except in compliance with the - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * License. You may obtain a copy of the License at: - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * opensource.org/licenses/BSD-3-Clause - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ****************************************************************************** - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Includes ------------------------------------------------------------------*/ - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #include "stm32f0xx_hal.h" - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx I2CEx - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #ifdef HAL_I2C_MODULE_ENABLED - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private typedef -----------------------------------------------------------*/ - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private define ------------------------------------------------------------*/ - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private macro -------------------------------------------------------------*/ - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private variables ---------------------------------------------------------*/ - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private function prototypes -----------------------------------------------*/ - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private functions ---------------------------------------------------------*/ - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions I2C Extended Exported Functions - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group1 Extended features functions - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Extended features functions - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @verbatim - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### Extended features functions ##### - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** =============================================================================== - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Noise Filters - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Wake Up Feature - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Fast Mode Plus - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @endverbatim - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{ - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** - ARM GAS /tmp/ccTAwSRA.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Configure I2C Analog noise filter. - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param AnalogFilter New state of the Analog filter. - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 26 .loc 1 98 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 .LVL0: - 31 0000 F0B5 push {r4, r5, r6, r7, lr} - 32 .LCFI0: - 33 .cfi_def_cfa_offset 20 - 34 .cfi_offset 4, -20 - 35 .cfi_offset 5, -16 - 36 .cfi_offset 6, -12 - 37 .cfi_offset 7, -8 - 38 .cfi_offset 14, -4 - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) - 39 .loc 1 103 0 - 40 0002 4123 movs r3, #65 - 41 0004 C35C ldrb r3, [r0, r3] - 42 0006 202B cmp r3, #32 - 43 0008 20D1 bne .L3 - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); - 44 .loc 1 106 0 - 45 000a 2033 adds r3, r3, #32 - 46 000c C35C ldrb r3, [r0, r3] - 47 000e 012B cmp r3, #1 - 48 0010 1ED0 beq .L4 - 49 .loc 1 106 0 is_stmt 0 discriminator 2 - 50 0012 4024 movs r4, #64 - 51 0014 0122 movs r2, #1 - 52 0016 0255 strb r2, [r0, r4] - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; - 53 .loc 1 108 0 is_stmt 1 discriminator 2 - 54 0018 4125 movs r5, #65 - 55 001a 2423 movs r3, #36 - 56 001c 4355 strb r3, [r0, r5] - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); - 57 .loc 1 111 0 discriminator 2 - 58 001e 0668 ldr r6, [r0] - 59 0020 3368 ldr r3, [r6] - 60 0022 9343 bics r3, r2 - 61 0024 3360 str r3, [r6] - ARM GAS /tmp/ccTAwSRA.s page 4 - - - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Reset I2Cx ANOFF bit */ - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); - 62 .loc 1 114 0 discriminator 2 - 63 0026 0668 ldr r6, [r0] - 64 0028 3368 ldr r3, [r6] - 65 002a 0A4F ldr r7, .L5 - 66 002c 3B40 ands r3, r7 - 67 002e 3360 str r3, [r6] - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Set analog filter bit*/ - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= AnalogFilter; - 68 .loc 1 117 0 discriminator 2 - 69 0030 0668 ldr r6, [r0] - 70 0032 3368 ldr r3, [r6] - 71 0034 1943 orrs r1, r3 - 72 .LVL1: - 73 0036 3160 str r1, [r6] - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); - 74 .loc 1 119 0 discriminator 2 - 75 0038 0168 ldr r1, [r0] - 76 003a 0B68 ldr r3, [r1] - 77 003c 1343 orrs r3, r2 - 78 003e 0B60 str r3, [r1] - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; - 79 .loc 1 121 0 discriminator 2 - 80 0040 2023 movs r3, #32 - 81 0042 4355 strb r3, [r0, r5] - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); - 82 .loc 1 124 0 discriminator 2 - 83 0044 0023 movs r3, #0 - 84 0046 0355 strb r3, [r0, r4] - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; - 85 .loc 1 126 0 discriminator 2 - 86 0048 0020 movs r0, #0 - 87 .LVL2: - 88 004a 00E0 b .L2 - 89 .LVL3: - 90 .L3: - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; - 91 .loc 1 130 0 - 92 004c 0220 movs r0, #2 - 93 .LVL4: - 94 .L2: - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 95 .loc 1 132 0 - 96 @ sp needed - 97 004e F0BD pop {r4, r5, r6, r7, pc} - ARM GAS /tmp/ccTAwSRA.s page 5 - - - 98 .LVL5: - 99 .L4: - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 100 .loc 1 106 0 - 101 0050 0220 movs r0, #2 - 102 .LVL6: - 103 0052 FCE7 b .L2 - 104 .L6: - 105 .align 2 - 106 .L5: - 107 0054 FFEFFFFF .word -4097 - 108 .cfi_endproc - 109 .LFE40: - 111 .section .text.HAL_I2CEx_ConfigDigitalFilter,"ax",%progbits - 112 .align 1 - 113 .global HAL_I2CEx_ConfigDigitalFilter - 114 .syntax unified - 115 .code 16 - 116 .thumb_func - 117 .fpu softvfp - 119 HAL_I2CEx_ConfigDigitalFilter: - 120 .LFB41: - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Configure I2C Digital noise filter. - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param DigitalFilter Coefficient of digital noise filter between Min_Data=0x00 and Max_Data=0x - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 121 .loc 1 142 0 - 122 .cfi_startproc - 123 @ args = 0, pretend = 0, frame = 0 - 124 @ frame_needed = 0, uses_anonymous_args = 0 - 125 .LVL7: - 126 0000 F0B5 push {r4, r5, r6, r7, lr} - 127 .LCFI1: - 128 .cfi_def_cfa_offset 20 - 129 .cfi_offset 4, -20 - 130 .cfi_offset 5, -16 - 131 .cfi_offset 6, -12 - 132 .cfi_offset 7, -8 - 133 .cfi_offset 14, -4 - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** uint32_t tmpreg; - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) - 134 .loc 1 149 0 - 135 0002 4123 movs r3, #65 - 136 0004 C35C ldrb r3, [r0, r3] - 137 0006 202B cmp r3, #32 - 138 0008 1ED1 bne .L9 - ARM GAS /tmp/ccTAwSRA.s page 6 - - - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); - 139 .loc 1 152 0 - 140 000a 2033 adds r3, r3, #32 - 141 000c C35C ldrb r3, [r0, r3] - 142 000e 012B cmp r3, #1 - 143 0010 1CD0 beq .L10 - 144 .loc 1 152 0 is_stmt 0 discriminator 2 - 145 0012 4024 movs r4, #64 - 146 0014 0122 movs r2, #1 - 147 0016 0255 strb r2, [r0, r4] - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; - 148 .loc 1 154 0 is_stmt 1 discriminator 2 - 149 0018 4125 movs r5, #65 - 150 001a 2423 movs r3, #36 - 151 001c 4355 strb r3, [r0, r5] - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); - 152 .loc 1 157 0 discriminator 2 - 153 001e 0668 ldr r6, [r0] - 154 0020 3368 ldr r3, [r6] - 155 0022 9343 bics r3, r2 - 156 0024 3360 str r3, [r6] - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Get the old register value */ - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg = hi2c->Instance->CR1; - 157 .loc 1 160 0 discriminator 2 - 158 0026 0668 ldr r6, [r0] - 159 0028 3368 ldr r3, [r6] - 160 .LVL8: - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Reset I2Cx DNF bits [11:8] */ - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg &= ~(I2C_CR1_DNF); - 161 .loc 1 163 0 discriminator 2 - 162 002a 094F ldr r7, .L11 - 163 002c 3B40 ands r3, r7 - 164 .LVL9: - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Set I2Cx DNF coefficient */ - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg |= DigitalFilter << 8U; - 165 .loc 1 166 0 discriminator 2 - 166 002e 0902 lsls r1, r1, #8 - 167 .LVL10: - 168 0030 1943 orrs r1, r3 - 169 .LVL11: - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Store the new register value */ - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 = tmpreg; - 170 .loc 1 169 0 discriminator 2 - 171 0032 3160 str r1, [r6] - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); - 172 .loc 1 171 0 discriminator 2 - 173 0034 0168 ldr r1, [r0] - ARM GAS /tmp/ccTAwSRA.s page 7 - - - 174 .LVL12: - 175 0036 0B68 ldr r3, [r1] - 176 0038 1343 orrs r3, r2 - 177 003a 0B60 str r3, [r1] - 178 .LVL13: - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; - 179 .loc 1 173 0 discriminator 2 - 180 003c 2023 movs r3, #32 - 181 003e 4355 strb r3, [r0, r5] - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); - 182 .loc 1 176 0 discriminator 2 - 183 0040 0023 movs r3, #0 - 184 0042 0355 strb r3, [r0, r4] - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; - 185 .loc 1 178 0 discriminator 2 - 186 0044 0020 movs r0, #0 - 187 .LVL14: - 188 0046 00E0 b .L8 - 189 .LVL15: - 190 .L9: - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; - 191 .loc 1 182 0 - 192 0048 0220 movs r0, #2 - 193 .LVL16: - 194 .L8: - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 195 .loc 1 184 0 - 196 @ sp needed - 197 004a F0BD pop {r4, r5, r6, r7, pc} - 198 .LVL17: - 199 .L10: - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 200 .loc 1 152 0 - 201 004c 0220 movs r0, #2 - 202 .LVL18: - 203 004e FCE7 b .L8 - 204 .L12: - 205 .align 2 - 206 .L11: - 207 0050 FFF0FFFF .word -3841 - 208 .cfi_endproc - 209 .LFE41: - 211 .section .text.HAL_I2CEx_EnableWakeUp,"ax",%progbits - 212 .align 1 - 213 .global HAL_I2CEx_EnableWakeUp - 214 .syntax unified - 215 .code 16 - 216 .thumb_func - 217 .fpu softvfp - ARM GAS /tmp/ccTAwSRA.s page 8 - - - 219 HAL_I2CEx_EnableWakeUp: - 220 .LFB42: - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #if defined(I2C_CR1_WUPEN) - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Enable I2C wakeup from Stop mode(s). - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp(I2C_HandleTypeDef *hi2c) - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 221 .loc 1 194 0 - 222 .cfi_startproc - 223 @ args = 0, pretend = 0, frame = 0 - 224 @ frame_needed = 0, uses_anonymous_args = 0 - 225 .LVL19: - 226 0000 70B5 push {r4, r5, r6, lr} - 227 .LCFI2: - 228 .cfi_def_cfa_offset 16 - 229 .cfi_offset 4, -16 - 230 .cfi_offset 5, -12 - 231 .cfi_offset 6, -8 - 232 .cfi_offset 14, -4 - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) - 233 .loc 1 198 0 - 234 0002 4123 movs r3, #65 - 235 0004 C35C ldrb r3, [r0, r3] - 236 0006 202B cmp r3, #32 - 237 0008 1DD1 bne .L15 - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); - 238 .loc 1 201 0 - 239 000a 2033 adds r3, r3, #32 - 240 000c C35C ldrb r3, [r0, r3] - 241 000e 012B cmp r3, #1 - 242 0010 1BD0 beq .L16 - 243 .loc 1 201 0 is_stmt 0 discriminator 2 - 244 0012 4021 movs r1, #64 - 245 0014 0122 movs r2, #1 - 246 0016 4254 strb r2, [r0, r1] - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; - 247 .loc 1 203 0 is_stmt 1 discriminator 2 - 248 0018 4124 movs r4, #65 - 249 001a 2423 movs r3, #36 - 250 001c 0355 strb r3, [r0, r4] - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); - 251 .loc 1 206 0 discriminator 2 - 252 001e 0568 ldr r5, [r0] - 253 0020 2B68 ldr r3, [r5] - ARM GAS /tmp/ccTAwSRA.s page 9 - - - 254 0022 9343 bics r3, r2 - 255 0024 2B60 str r3, [r5] - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= I2C_CR1_WUPEN; - 256 .loc 1 209 0 discriminator 2 - 257 0026 0568 ldr r5, [r0] - 258 0028 2E68 ldr r6, [r5] - 259 002a 8023 movs r3, #128 - 260 002c DB02 lsls r3, r3, #11 - 261 002e 3343 orrs r3, r6 - 262 0030 2B60 str r3, [r5] - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); - 263 .loc 1 211 0 discriminator 2 - 264 0032 0568 ldr r5, [r0] - 265 0034 2B68 ldr r3, [r5] - 266 0036 1343 orrs r3, r2 - 267 0038 2B60 str r3, [r5] - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; - 268 .loc 1 213 0 discriminator 2 - 269 003a 2023 movs r3, #32 - 270 003c 0355 strb r3, [r0, r4] - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); - 271 .loc 1 216 0 discriminator 2 - 272 003e 0023 movs r3, #0 - 273 0040 4354 strb r3, [r0, r1] - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; - 274 .loc 1 218 0 discriminator 2 - 275 0042 0020 movs r0, #0 - 276 .LVL20: - 277 0044 00E0 b .L14 - 278 .LVL21: - 279 .L15: - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; - 280 .loc 1 222 0 - 281 0046 0220 movs r0, #2 - 282 .LVL22: - 283 .L14: - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 284 .loc 1 224 0 - 285 @ sp needed - 286 0048 70BD pop {r4, r5, r6, pc} - 287 .LVL23: - 288 .L16: - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 289 .loc 1 201 0 - 290 004a 0220 movs r0, #2 - 291 .LVL24: - ARM GAS /tmp/ccTAwSRA.s page 10 - - - 292 004c FCE7 b .L14 - 293 .cfi_endproc - 294 .LFE42: - 296 .section .text.HAL_I2CEx_DisableWakeUp,"ax",%progbits - 297 .align 1 - 298 .global HAL_I2CEx_DisableWakeUp - 299 .syntax unified - 300 .code 16 - 301 .thumb_func - 302 .fpu softvfp - 304 HAL_I2CEx_DisableWakeUp: - 305 .LFB43: - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Disable I2C wakeup from Stop mode(s). - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp(I2C_HandleTypeDef *hi2c) - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 306 .loc 1 233 0 - 307 .cfi_startproc - 308 @ args = 0, pretend = 0, frame = 0 - 309 @ frame_needed = 0, uses_anonymous_args = 0 - 310 .LVL25: - 311 0000 70B5 push {r4, r5, r6, lr} - 312 .LCFI3: - 313 .cfi_def_cfa_offset 16 - 314 .cfi_offset 4, -16 - 315 .cfi_offset 5, -12 - 316 .cfi_offset 6, -8 - 317 .cfi_offset 14, -4 - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */ - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) - 318 .loc 1 237 0 - 319 0002 4123 movs r3, #65 - 320 0004 C35C ldrb r3, [r0, r3] - 321 0006 202B cmp r3, #32 - 322 0008 1CD1 bne .L19 - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */ - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c); - 323 .loc 1 240 0 - 324 000a 2033 adds r3, r3, #32 - 325 000c C35C ldrb r3, [r0, r3] - 326 000e 012B cmp r3, #1 - 327 0010 1AD0 beq .L20 - 328 .loc 1 240 0 is_stmt 0 discriminator 2 - 329 0012 4021 movs r1, #64 - 330 0014 0122 movs r2, #1 - 331 0016 4254 strb r2, [r0, r1] - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; - 332 .loc 1 242 0 is_stmt 1 discriminator 2 - ARM GAS /tmp/ccTAwSRA.s page 11 - - - 333 0018 4124 movs r4, #65 - 334 001a 2423 movs r3, #36 - 335 001c 0355 strb r3, [r0, r4] - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); - 336 .loc 1 245 0 discriminator 2 - 337 001e 0568 ldr r5, [r0] - 338 0020 2B68 ldr r3, [r5] - 339 0022 9343 bics r3, r2 - 340 0024 2B60 str r3, [r5] - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */ - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_WUPEN); - 341 .loc 1 248 0 discriminator 2 - 342 0026 0568 ldr r5, [r0] - 343 0028 2B68 ldr r3, [r5] - 344 002a 084E ldr r6, .L21 - 345 002c 3340 ands r3, r6 - 346 002e 2B60 str r3, [r5] - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); - 347 .loc 1 250 0 discriminator 2 - 348 0030 0568 ldr r5, [r0] - 349 0032 2B68 ldr r3, [r5] - 350 0034 1343 orrs r3, r2 - 351 0036 2B60 str r3, [r5] - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; - 352 .loc 1 252 0 discriminator 2 - 353 0038 2023 movs r3, #32 - 354 003a 0355 strb r3, [r0, r4] - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */ - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c); - 355 .loc 1 255 0 discriminator 2 - 356 003c 0023 movs r3, #0 - 357 003e 4354 strb r3, [r0, r1] - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK; - 358 .loc 1 257 0 discriminator 2 - 359 0040 0020 movs r0, #0 - 360 .LVL26: - 361 0042 00E0 b .L18 - 362 .LVL27: - 363 .L19: - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY; - 364 .loc 1 261 0 - 365 0044 0220 movs r0, #2 - 366 .LVL28: - 367 .L18: - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 368 .loc 1 263 0 - ARM GAS /tmp/ccTAwSRA.s page 12 - - - 369 @ sp needed - 370 0046 70BD pop {r4, r5, r6, pc} - 371 .LVL29: - 372 .L20: - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 373 .loc 1 240 0 - 374 0048 0220 movs r0, #2 - 375 .LVL30: - 376 004a FCE7 b .L18 - 377 .L22: - 378 .align 2 - 379 .L21: - 380 004c FFFFFBFF .word -262145 - 381 .cfi_endproc - 382 .LFE43: - 384 .section .text.HAL_I2CEx_EnableFastModePlus,"ax",%progbits - 385 .align 1 - 386 .global HAL_I2CEx_EnableFastModePlus - 387 .syntax unified - 388 .code 16 - 389 .thumb_func - 390 .fpu softvfp - 392 HAL_I2CEx_EnableFastModePlus: - 393 .LFB44: - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #endif - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Enable the I2C fast mode plus driving capability. - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be enabled on all selected - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * can be enabled only by using I2C_FASTMODEPLUS_I2C1 parameter. - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be enabled - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval None - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** void HAL_I2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus) - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 394 .loc 1 280 0 - 395 .cfi_startproc - 396 @ args = 0, pretend = 0, frame = 8 - 397 @ frame_needed = 0, uses_anonymous_args = 0 - 398 @ link register save eliminated. - 399 .LVL31: - 400 0000 82B0 sub sp, sp, #8 - 401 .LCFI4: - 402 .cfi_def_cfa_offset 8 - 403 .LBB2: - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameter */ - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); - 404 .loc 1 285 0 - ARM GAS /tmp/ccTAwSRA.s page 13 - - - 405 0002 074A ldr r2, .L24 - 406 0004 9169 ldr r1, [r2, #24] - 407 0006 0123 movs r3, #1 - 408 0008 1943 orrs r1, r3 - 409 000a 9161 str r1, [r2, #24] - 410 000c 9269 ldr r2, [r2, #24] - 411 000e 1340 ands r3, r2 - 412 0010 0193 str r3, [sp, #4] - 413 0012 019B ldr r3, [sp, #4] - 414 .LBE2: - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable fast mode plus driving capability for selected pin */ - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** SET_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus); - 415 .loc 1 288 0 - 416 0014 034A ldr r2, .L24+4 - 417 0016 1368 ldr r3, [r2] - 418 0018 1843 orrs r0, r3 - 419 .LVL32: - 420 001a 1060 str r0, [r2] - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 421 .loc 1 289 0 - 422 001c 02B0 add sp, sp, #8 - 423 @ sp needed - 424 001e 7047 bx lr - 425 .L25: - 426 .align 2 - 427 .L24: - 428 0020 00100240 .word 1073876992 - 429 0024 00000140 .word 1073807360 - 430 .cfi_endproc - 431 .LFE44: - 433 .section .text.HAL_I2CEx_DisableFastModePlus,"ax",%progbits - 434 .align 1 - 435 .global HAL_I2CEx_DisableFastModePlus - 436 .syntax unified - 437 .code 16 - 438 .thumb_func - 439 .fpu softvfp - 441 HAL_I2CEx_DisableFastModePlus: - 442 .LFB45: - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Disable the I2C fast mode plus driving capability. - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin. - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be disabled on all selected - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9. - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * can be disabled only by using I2C_FASTMODEPLUS_I2C1 parameter. - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be disabled - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter. - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval None - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */ - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus) - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** { - 443 .loc 1 305 0 - ARM GAS /tmp/ccTAwSRA.s page 14 - - - 444 .cfi_startproc - 445 @ args = 0, pretend = 0, frame = 8 - 446 @ frame_needed = 0, uses_anonymous_args = 0 - 447 @ link register save eliminated. - 448 .LVL33: - 449 0000 82B0 sub sp, sp, #8 - 450 .LCFI5: - 451 .cfi_def_cfa_offset 8 - 452 .LBB3: - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameter */ - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */ - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); - 453 .loc 1 310 0 - 454 0002 074A ldr r2, .L27 - 455 0004 9169 ldr r1, [r2, #24] - 456 0006 0123 movs r3, #1 - 457 0008 1943 orrs r1, r3 - 458 000a 9161 str r1, [r2, #24] - 459 000c 9269 ldr r2, [r2, #24] - 460 000e 1340 ands r3, r2 - 461 0010 0193 str r3, [sp, #4] - 462 0012 019B ldr r3, [sp, #4] - 463 .LBE3: - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable fast mode plus driving capability for selected pin */ - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** CLEAR_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus); - 464 .loc 1 313 0 - 465 0014 034A ldr r2, .L27+4 - 466 0016 1368 ldr r3, [r2] - 467 0018 8343 bics r3, r0 - 468 001a 1360 str r3, [r2] - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** } - 469 .loc 1 314 0 - 470 001c 02B0 add sp, sp, #8 - 471 @ sp needed - 472 001e 7047 bx lr - 473 .L28: - 474 .align 2 - 475 .L27: - 476 0020 00100240 .word 1073876992 - 477 0024 00000140 .word 1073807360 - 478 .cfi_endproc - 479 .LFE45: - 481 .text - 482 .Letext0: - 483 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 484 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 485 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 486 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 487 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 488 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h" - 489 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h" - 490 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccTAwSRA.s page 15 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_i2c_ex.c - /tmp/ccTAwSRA.s:16 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 $t - /tmp/ccTAwSRA.s:23 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 HAL_I2CEx_ConfigAnalogFilter - /tmp/ccTAwSRA.s:107 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000054 $d - /tmp/ccTAwSRA.s:112 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 $t - /tmp/ccTAwSRA.s:119 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 HAL_I2CEx_ConfigDigitalFilter - /tmp/ccTAwSRA.s:207 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000050 $d - /tmp/ccTAwSRA.s:212 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 $t - /tmp/ccTAwSRA.s:219 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 HAL_I2CEx_EnableWakeUp - /tmp/ccTAwSRA.s:297 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 $t - /tmp/ccTAwSRA.s:304 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 HAL_I2CEx_DisableWakeUp - /tmp/ccTAwSRA.s:380 .text.HAL_I2CEx_DisableWakeUp:000000000000004c $d - /tmp/ccTAwSRA.s:385 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 $t - /tmp/ccTAwSRA.s:392 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 HAL_I2CEx_EnableFastModePlus - /tmp/ccTAwSRA.s:428 .text.HAL_I2CEx_EnableFastModePlus:0000000000000020 $d - /tmp/ccTAwSRA.s:434 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 $t - /tmp/ccTAwSRA.s:441 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 HAL_I2CEx_DisableFastModePlus - /tmp/ccTAwSRA.s:476 .text.HAL_I2CEx_DisableFastModePlus:0000000000000020 $d - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_i2c_ex.o b/Blink/build/stm32f0xx_hal_i2c_ex.o deleted file mode 100644 index 2affe8c..0000000 Binary files a/Blink/build/stm32f0xx_hal_i2c_ex.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_msp.d b/Blink/build/stm32f0xx_hal_msp.d deleted file mode 100644 index 8b7a265..0000000 --- a/Blink/build/stm32f0xx_hal_msp.d +++ /dev/null @@ -1,73 +0,0 @@ -build/stm32f0xx_hal_msp.o: Src/stm32f0xx_hal_msp.c Inc/main.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Inc/main.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_msp.lst b/Blink/build/stm32f0xx_hal_msp.lst deleted file mode 100644 index fc99b08..0000000 --- a/Blink/build/stm32f0xx_hal_msp.lst +++ /dev/null @@ -1,170 +0,0 @@ -ARM GAS /tmp/ccDFtYGV.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_msp.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_MspInit,"ax",%progbits - 16 .align 1 - 17 .global HAL_MspInit - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_MspInit: - 24 .LFB40: - 25 .file 1 "Src/stm32f0xx_hal_msp.c" - 1:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Header */ - 2:Src/stm32f0xx_hal_msp.c **** /** - 3:Src/stm32f0xx_hal_msp.c **** ****************************************************************************** - 4:Src/stm32f0xx_hal_msp.c **** * File Name : stm32f0xx_hal_msp.c - 5:Src/stm32f0xx_hal_msp.c **** * Description : This file provides code for the MSP Initialization - 6:Src/stm32f0xx_hal_msp.c **** * and de-Initialization codes. - 7:Src/stm32f0xx_hal_msp.c **** ****************************************************************************** - 8:Src/stm32f0xx_hal_msp.c **** * @attention - 9:Src/stm32f0xx_hal_msp.c **** * - 10:Src/stm32f0xx_hal_msp.c **** *

© Copyright (c) 2020 STMicroelectronics. - 11:Src/stm32f0xx_hal_msp.c **** * All rights reserved.

- 12:Src/stm32f0xx_hal_msp.c **** * - 13:Src/stm32f0xx_hal_msp.c **** * This software component is licensed by ST under BSD 3-Clause license, - 14:Src/stm32f0xx_hal_msp.c **** * the "License"; You may not use this file except in compliance with the - 15:Src/stm32f0xx_hal_msp.c **** * License. You may obtain a copy of the License at: - 16:Src/stm32f0xx_hal_msp.c **** * opensource.org/licenses/BSD-3-Clause - 17:Src/stm32f0xx_hal_msp.c **** * - 18:Src/stm32f0xx_hal_msp.c **** ****************************************************************************** - 19:Src/stm32f0xx_hal_msp.c **** */ - 20:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Header */ - 21:Src/stm32f0xx_hal_msp.c **** - 22:Src/stm32f0xx_hal_msp.c **** /* Includes ------------------------------------------------------------------*/ - 23:Src/stm32f0xx_hal_msp.c **** #include "main.h" - 24:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Includes */ - 25:Src/stm32f0xx_hal_msp.c **** - 26:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Includes */ - 27:Src/stm32f0xx_hal_msp.c **** - 28:Src/stm32f0xx_hal_msp.c **** /* Private typedef -----------------------------------------------------------*/ - 29:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN TD */ - 30:Src/stm32f0xx_hal_msp.c **** - 31:Src/stm32f0xx_hal_msp.c **** /* USER CODE END TD */ - 32:Src/stm32f0xx_hal_msp.c **** - 33:Src/stm32f0xx_hal_msp.c **** /* Private define ------------------------------------------------------------*/ - ARM GAS /tmp/ccDFtYGV.s page 2 - - - 34:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Define */ - 35:Src/stm32f0xx_hal_msp.c **** - 36:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Define */ - 37:Src/stm32f0xx_hal_msp.c **** - 38:Src/stm32f0xx_hal_msp.c **** /* Private macro -------------------------------------------------------------*/ - 39:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Macro */ - 40:Src/stm32f0xx_hal_msp.c **** - 41:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Macro */ - 42:Src/stm32f0xx_hal_msp.c **** - 43:Src/stm32f0xx_hal_msp.c **** /* Private variables ---------------------------------------------------------*/ - 44:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN PV */ - 45:Src/stm32f0xx_hal_msp.c **** - 46:Src/stm32f0xx_hal_msp.c **** /* USER CODE END PV */ - 47:Src/stm32f0xx_hal_msp.c **** - 48:Src/stm32f0xx_hal_msp.c **** /* Private function prototypes -----------------------------------------------*/ - 49:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN PFP */ - 50:Src/stm32f0xx_hal_msp.c **** - 51:Src/stm32f0xx_hal_msp.c **** /* USER CODE END PFP */ - 52:Src/stm32f0xx_hal_msp.c **** - 53:Src/stm32f0xx_hal_msp.c **** /* External functions --------------------------------------------------------*/ - 54:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN ExternalFunctions */ - 55:Src/stm32f0xx_hal_msp.c **** - 56:Src/stm32f0xx_hal_msp.c **** /* USER CODE END ExternalFunctions */ - 57:Src/stm32f0xx_hal_msp.c **** - 58:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN 0 */ - 59:Src/stm32f0xx_hal_msp.c **** - 60:Src/stm32f0xx_hal_msp.c **** /* USER CODE END 0 */ - 61:Src/stm32f0xx_hal_msp.c **** /** - 62:Src/stm32f0xx_hal_msp.c **** * Initializes the Global MSP. - 63:Src/stm32f0xx_hal_msp.c **** */ - 64:Src/stm32f0xx_hal_msp.c **** void HAL_MspInit(void) - 65:Src/stm32f0xx_hal_msp.c **** { - 26 .loc 1 65 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 8 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 @ link register save eliminated. - 31 0000 82B0 sub sp, sp, #8 - 32 .LCFI0: - 33 .cfi_def_cfa_offset 8 - 34 .LBB2: - 66:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN MspInit 0 */ - 67:Src/stm32f0xx_hal_msp.c **** - 68:Src/stm32f0xx_hal_msp.c **** /* USER CODE END MspInit 0 */ - 69:Src/stm32f0xx_hal_msp.c **** - 70:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_SYSCFG_CLK_ENABLE(); - 35 .loc 1 70 0 - 36 0002 0A4B ldr r3, .L2 - 37 0004 9969 ldr r1, [r3, #24] - 38 0006 0122 movs r2, #1 - 39 0008 1143 orrs r1, r2 - 40 000a 9961 str r1, [r3, #24] - 41 000c 9969 ldr r1, [r3, #24] - 42 000e 0A40 ands r2, r1 - 43 0010 0092 str r2, [sp] - 44 0012 009A ldr r2, [sp] - 45 .LBE2: - ARM GAS /tmp/ccDFtYGV.s page 3 - - - 46 .LBB3: - 71:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_PWR_CLK_ENABLE(); - 47 .loc 1 71 0 - 48 0014 DA69 ldr r2, [r3, #28] - 49 0016 8021 movs r1, #128 - 50 0018 4905 lsls r1, r1, #21 - 51 001a 0A43 orrs r2, r1 - 52 001c DA61 str r2, [r3, #28] - 53 001e DB69 ldr r3, [r3, #28] - 54 0020 0B40 ands r3, r1 - 55 0022 0193 str r3, [sp, #4] - 56 0024 019B ldr r3, [sp, #4] - 57 .LBE3: - 72:Src/stm32f0xx_hal_msp.c **** - 73:Src/stm32f0xx_hal_msp.c **** /* System interrupt init*/ - 74:Src/stm32f0xx_hal_msp.c **** - 75:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN MspInit 1 */ - 76:Src/stm32f0xx_hal_msp.c **** - 77:Src/stm32f0xx_hal_msp.c **** /* USER CODE END MspInit 1 */ - 78:Src/stm32f0xx_hal_msp.c **** } - 58 .loc 1 78 0 - 59 0026 02B0 add sp, sp, #8 - 60 @ sp needed - 61 0028 7047 bx lr - 62 .L3: - 63 002a C046 .align 2 - 64 .L2: - 65 002c 00100240 .word 1073876992 - 66 .cfi_endproc - 67 .LFE40: - 69 .text - 70 .Letext0: - 71 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 72 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 73 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 74 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 75 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccDFtYGV.s page 4 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_msp.c - /tmp/ccDFtYGV.s:16 .text.HAL_MspInit:0000000000000000 $t - /tmp/ccDFtYGV.s:23 .text.HAL_MspInit:0000000000000000 HAL_MspInit - /tmp/ccDFtYGV.s:65 .text.HAL_MspInit:000000000000002c $d - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_msp.o b/Blink/build/stm32f0xx_hal_msp.o deleted file mode 100644 index 017e258..0000000 Binary files a/Blink/build/stm32f0xx_hal_msp.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_pwr.d b/Blink/build/stm32f0xx_hal_pwr.d deleted file mode 100644 index 52934e1..0000000 --- a/Blink/build/stm32f0xx_hal_pwr.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_pwr.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_pwr.lst b/Blink/build/stm32f0xx_hal_pwr.lst deleted file mode 100644 index 5961ff7..0000000 --- a/Blink/build/stm32f0xx_hal_pwr.lst +++ /dev/null @@ -1,1014 +0,0 @@ -ARM GAS /tmp/ccbSGm1q.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_pwr.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_PWR_DeInit,"ax",%progbits - 16 .align 1 - 17 .global HAL_PWR_DeInit - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_PWR_DeInit: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @file stm32f0xx_hal_pwr.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief PWR HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * functionalities of the Power Controller (PWR) peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * + Initialization/de-initialization function - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * + Peripheral Control function - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @verbatim - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ****************************************************************************** - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @attention - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *

© Copyright (c) 2016 STMicroelectronics. - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * All rights reserved.

- 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This software component is licensed by ST under BSD 3-Clause license, - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * the "License"; You may not use this file except in compliance with the - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * License. You may obtain a copy of the License at: - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * opensource.org/licenses/BSD-3-Clause - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ****************************************************************************** - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Includes ------------------------------------------------------------------*/ - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #include "stm32f0xx_hal.h" - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @addtogroup STM32F0xx_HAL_Driver - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{ - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR PWR - ARM GAS /tmp/ccbSGm1q.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief PWR HAL module driver - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{ - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #ifdef HAL_PWR_MODULE_ENABLED - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private typedef -----------------------------------------------------------*/ - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private define ------------------------------------------------------------*/ - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private macro -------------------------------------------------------------*/ - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private variables ---------------------------------------------------------*/ - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private function prototypes -----------------------------------------------*/ - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private functions ---------------------------------------------------------*/ - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions PWR Exported Functions - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{ - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group1 Initialization and de-initialization functions - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Initialization and de-initialization functions - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @verbatim - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** =============================================================================== - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ##### Initialization and de-initialization functions ##### - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** =============================================================================== - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..] - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** After reset, the backup domain (RTC registers, RTC backup data - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** registers) is protected against possible unwanted - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** write accesses. - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** To enable access to the RTC Domain and RTC registers, proceed as follows: - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Enable the Power Controller (PWR) APB1 interface clock using the - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __HAL_RCC_PWR_CLK_ENABLE() macro. - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Enable access to RTC domain using the HAL_PWR_EnableBkUpAccess() function. - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @endverbatim - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{ - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Deinitializes the PWR peripheral registers to their default reset values. - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DeInit(void) - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 26 .loc 1 76 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 @ link register save eliminated. - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __HAL_RCC_PWR_FORCE_RESET(); - 31 .loc 1 77 0 - 32 0000 054B ldr r3, .L2 - 33 0002 1969 ldr r1, [r3, #16] - 34 0004 8022 movs r2, #128 - 35 0006 5205 lsls r2, r2, #21 - 36 0008 0A43 orrs r2, r1 - 37 000a 1A61 str r2, [r3, #16] - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __HAL_RCC_PWR_RELEASE_RESET(); - ARM GAS /tmp/ccbSGm1q.s page 3 - - - 38 .loc 1 78 0 - 39 000c 1A69 ldr r2, [r3, #16] - 40 000e 0349 ldr r1, .L2+4 - 41 0010 0A40 ands r2, r1 - 42 0012 1A61 str r2, [r3, #16] - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 43 .loc 1 79 0 - 44 @ sp needed - 45 0014 7047 bx lr - 46 .L3: - 47 0016 C046 .align 2 - 48 .L2: - 49 0018 00100240 .word 1073876992 - 50 001c FFFFFFEF .word -268435457 - 51 .cfi_endproc - 52 .LFE40: - 54 .section .text.HAL_PWR_EnableBkUpAccess,"ax",%progbits - 55 .align 1 - 56 .global HAL_PWR_EnableBkUpAccess - 57 .syntax unified - 58 .code 16 - 59 .thumb_func - 60 .fpu softvfp - 62 HAL_PWR_EnableBkUpAccess: - 63 .LFB41: - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enables access to the backup domain (RTC registers, RTC - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * backup data registers when present). - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Backup Domain Access should be kept enabled. - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableBkUpAccess(void) - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 64 .loc 1 89 0 - 65 .cfi_startproc - 66 @ args = 0, pretend = 0, frame = 0 - 67 @ frame_needed = 0, uses_anonymous_args = 0 - 68 @ link register save eliminated. - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR |= (uint32_t)PWR_CR_DBP; - 69 .loc 1 90 0 - 70 0000 034A ldr r2, .L5 - 71 0002 1168 ldr r1, [r2] - 72 0004 8023 movs r3, #128 - 73 0006 5B00 lsls r3, r3, #1 - 74 0008 0B43 orrs r3, r1 - 75 000a 1360 str r3, [r2] - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 76 .loc 1 91 0 - 77 @ sp needed - 78 000c 7047 bx lr - 79 .L6: - 80 000e C046 .align 2 - 81 .L5: - 82 0010 00700040 .word 1073770496 - 83 .cfi_endproc - ARM GAS /tmp/ccbSGm1q.s page 4 - - - 84 .LFE41: - 86 .section .text.HAL_PWR_DisableBkUpAccess,"ax",%progbits - 87 .align 1 - 88 .global HAL_PWR_DisableBkUpAccess - 89 .syntax unified - 90 .code 16 - 91 .thumb_func - 92 .fpu softvfp - 94 HAL_PWR_DisableBkUpAccess: - 95 .LFB42: - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables access to the backup domain (RTC registers, RTC - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * backup data registers when present). - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Backup Domain Access should be kept enabled. - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableBkUpAccess(void) - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 96 .loc 1 101 0 - 97 .cfi_startproc - 98 @ args = 0, pretend = 0, frame = 0 - 99 @ frame_needed = 0, uses_anonymous_args = 0 - 100 @ link register save eliminated. - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR &= ~((uint32_t)PWR_CR_DBP); - 101 .loc 1 102 0 - 102 0000 024A ldr r2, .L8 - 103 0002 1368 ldr r3, [r2] - 104 0004 0249 ldr r1, .L8+4 - 105 0006 0B40 ands r3, r1 - 106 0008 1360 str r3, [r2] - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 107 .loc 1 103 0 - 108 @ sp needed - 109 000a 7047 bx lr - 110 .L9: - 111 .align 2 - 112 .L8: - 113 000c 00700040 .word 1073770496 - 114 0010 FFFEFFFF .word -257 - 115 .cfi_endproc - 116 .LFE42: - 118 .section .text.HAL_PWR_EnableWakeUpPin,"ax",%progbits - 119 .align 1 - 120 .global HAL_PWR_EnableWakeUpPin - 121 .syntax unified - 122 .code 16 - 123 .thumb_func - 124 .fpu softvfp - 126 HAL_PWR_EnableWakeUpPin: - 127 .LFB43: - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @} - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - ARM GAS /tmp/ccbSGm1q.s page 5 - - - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group2 Peripheral Control functions - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Low Power modes configuration functions - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @verbatim - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** =============================================================================== - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ##### Peripheral Control functions ##### - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** =============================================================================== - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** WakeUp pin configuration *** - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ================================ - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..] - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) WakeUp pin is used to wakeup the system from Standby mode. This pin is - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** forced in input pull down configuration and is active on rising edges. - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) There are two WakeUp pins, and up to eight Wakeup pins on STM32F07x & STM32F09x devices. - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 1 on PA.00. - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 2 on PC.13. - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 3 on PE.06.(STM32F07x/STM32F09x) - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 4 on PA.02.(STM32F07x/STM32F09x) - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 5 on PC.05.(STM32F07x/STM32F09x) - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 6 on PB.05.(STM32F07x/STM32F09x) - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 7 on PB.15.(STM32F07x/STM32F09x) - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 8 on PF.02.(STM32F07x/STM32F09x) - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Low Power modes configuration *** - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ===================================== - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..] - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The devices feature 3 low-power modes: - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Sleep mode: Cortex-M0 core stopped, peripherals kept running. - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Stop mode: all clocks are stopped, regulator running, regulator - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** in low power mode - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Standby mode: 1.2V domain powered off (mode not available on STM32F0x8 devices). - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Sleep mode *** - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ================== - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..] - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Entry: - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The Sleep mode is entered by using the HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_S - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** functions with - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Exit: - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Any peripheral interrupt acknowledged by the nested vectored interrupt - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** controller (NVIC) can wake up the device from Sleep mode. - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Stop mode *** - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ================= - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..] - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** In Stop mode, all clocks in the 1.8V domain are stopped, the PLL, the HSI, - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** and the HSE RC oscillators are disabled. Internal SRAM and register contents - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** are preserved. - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The voltage regulator can be configured either in normal or low-power mode. - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** To minimize the consumption. - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Entry: - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The Stop mode is entered using the HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPEN - ARM GAS /tmp/ccbSGm1q.s page 6 - - - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** function with: - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Main regulator ON. - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Low Power regulator ON. - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFI: enter STOP mode with WFI instruction - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFE: enter STOP mode with WFE instruction - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Exit: - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Any EXTI Line (Internal or External) configured in Interrupt/Event mode. - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Some specific communication peripherals (CEC, USART, I2C) interrupts, - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** when programmed in wakeup mode (the peripheral must be - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** programmed in wakeup mode and the corresponding interrupt vector - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** must be enabled in the NVIC) - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Standby mode *** - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ==================== - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..] - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The Standby mode allows to achieve the lowest power consumption. It is based - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** on the Cortex-M0 deep sleep mode, with the voltage regulator disabled. - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The 1.8V domain is consequently powered off. The PLL, the HSI oscillator and - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** the HSE oscillator are also switched off. SRAM and register contents are lost - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** except for the RTC registers, RTC backup registers and Standby circuitry. - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The voltage regulator is OFF. - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Entry: - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) The Standby mode is entered using the HAL_PWR_EnterSTANDBYMode() function. - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Exit: - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) WKUP pin rising edge, RTC alarm (Alarm A), RTC wakeup, - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tamper event, time-stamp event, external reset in NRST pin, IWDG reset. - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Auto-wakeup (AWU) from low-power mode *** - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ============================================= - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..] - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The MCU can be woken up from low-power mode by an RTC Alarm event, an RTC - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** Wakeup event, a tamper event, a time-stamp event, or a comparator event, - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** without depending on an external interrupt (Auto-wakeup mode). - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) RTC auto-wakeup (AWU) from the Stop and Standby modes - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC alarm event, it is necessary to - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** configure the RTC to generate the RTC alarm using the HAL_RTC_SetAlarm_IT() function. - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC Tamper or time stamp event, it - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** is necessary to configure the RTC to detect the tamper or time stamp event using the - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** HAL_RTC_SetTimeStamp_IT() or HAL_RTC_SetTamper_IT() functions. - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC WakeUp event, it is necessary to - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** configure the RTC to generate the RTC WakeUp event using the HAL_RTC_SetWakeUpTimer_IT() - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Comparator auto-wakeup (AWU) from the Stop mode - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with a comparator wakeup event, it is necessary to: - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+++) Configure the EXTI Line associated with the comparator (example EXTI Line 22 for c - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** to be sensitive to to the selected edges (falling, rising or falling - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** and rising) (Interrupt or Event modes) using the EXTI_Init() function. - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+++) Configure the comparator to generate the event. - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @endverbatim - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{ - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - ARM GAS /tmp/ccbSGm1q.s page 7 - - - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enables the WakeUp PINx functionality. - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to enable. - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be value of : - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @ref PWREx_WakeUp_Pins - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx) - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 128 .loc 1 232 0 - 129 .cfi_startproc - 130 @ args = 0, pretend = 0, frame = 0 - 131 @ frame_needed = 0, uses_anonymous_args = 0 - 132 @ link register save eliminated. - 133 .LVL0: - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */ - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx)); - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Enable the EWUPx pin */ - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SET_BIT(PWR->CSR, WakeUpPinx); - 134 .loc 1 236 0 - 135 0000 024A ldr r2, .L11 - 136 0002 5368 ldr r3, [r2, #4] - 137 0004 1843 orrs r0, r3 - 138 .LVL1: - 139 0006 5060 str r0, [r2, #4] - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 140 .loc 1 237 0 - 141 @ sp needed - 142 0008 7047 bx lr - 143 .L12: - 144 000a C046 .align 2 - 145 .L11: - 146 000c 00700040 .word 1073770496 - 147 .cfi_endproc - 148 .LFE43: - 150 .section .text.HAL_PWR_DisableWakeUpPin,"ax",%progbits - 151 .align 1 - 152 .global HAL_PWR_DisableWakeUpPin - 153 .syntax unified - 154 .code 16 - 155 .thumb_func - 156 .fpu softvfp - 158 HAL_PWR_DisableWakeUpPin: - 159 .LFB44: - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables the WakeUp PINx functionality. - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to disable. - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be values of : - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @ref PWREx_WakeUp_Pins - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx) - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 160 .loc 1 247 0 - 161 .cfi_startproc - ARM GAS /tmp/ccbSGm1q.s page 8 - - - 162 @ args = 0, pretend = 0, frame = 0 - 163 @ frame_needed = 0, uses_anonymous_args = 0 - 164 @ link register save eliminated. - 165 .LVL2: - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */ - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx)); - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Disable the EWUPx pin */ - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** CLEAR_BIT(PWR->CSR, WakeUpPinx); - 166 .loc 1 251 0 - 167 0000 024A ldr r2, .L14 - 168 0002 5368 ldr r3, [r2, #4] - 169 0004 8343 bics r3, r0 - 170 0006 5360 str r3, [r2, #4] - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 171 .loc 1 252 0 - 172 @ sp needed - 173 0008 7047 bx lr - 174 .L15: - 175 000a C046 .align 2 - 176 .L14: - 177 000c 00700040 .word 1073770496 - 178 .cfi_endproc - 179 .LFE44: - 181 .section .text.HAL_PWR_EnterSLEEPMode,"ax",%progbits - 182 .align 1 - 183 .global HAL_PWR_EnterSLEEPMode - 184 .syntax unified - 185 .code 16 - 186 .thumb_func - 187 .fpu softvfp - 189 HAL_PWR_EnterSLEEPMode: - 190 .LFB45: - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enters Sleep mode. - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note In Sleep mode, all I/O pins keep the same state as in Run mode. - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in SLEEP mode. - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * On STM32F0 devices, this parameter is a dummy value and it is ignored - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * as regulator can't be modified in this mode. Parameter is kept for platform - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * compatibility. - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param SLEEPEntry Specifies if SLEEP mode is entered with WFI or WFE instruction. - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * When WFI entry is used, tick interrupt have to be disabled if not desired as - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * the interrupt wake up source. - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be one of the following values: - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry) - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 191 .loc 1 270 0 - 192 .cfi_startproc - 193 @ args = 0, pretend = 0, frame = 0 - 194 @ frame_needed = 0, uses_anonymous_args = 0 - 195 @ link register save eliminated. - 196 .LVL3: - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */ - ARM GAS /tmp/ccbSGm1q.s page 9 - - - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_REGULATOR(Regulator)); - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_SLEEP_ENTRY(SLEEPEntry)); - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear SLEEPDEEP bit of Cortex System Control Register */ - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); - 197 .loc 1 276 0 - 198 0000 064A ldr r2, .L20 - 199 0002 1369 ldr r3, [r2, #16] - 200 0004 0420 movs r0, #4 - 201 .LVL4: - 202 0006 8343 bics r3, r0 - 203 0008 1361 str r3, [r2, #16] - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select SLEEP mode entry -------------------------------------------------*/ - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** if(SLEEPEntry == PWR_SLEEPENTRY_WFI) - 204 .loc 1 279 0 - 205 000a 0129 cmp r1, #1 - 206 000c 03D0 beq .L19 - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Interrupt */ - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFI(); - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** else - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Event */ - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __SEV(); - 207 .loc 1 287 0 - 208 .syntax divided - 209 @ 287 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 210 000e 40BF sev - 211 @ 0 "" 2 - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE(); - 212 .loc 1 288 0 - 213 @ 288 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 214 0010 20BF wfe - 215 @ 0 "" 2 - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE(); - 216 .loc 1 289 0 - 217 @ 289 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 218 0012 20BF wfe - 219 @ 0 "" 2 - 220 .thumb - 221 .syntax unified - 222 .L16: - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 223 .loc 1 291 0 - 224 @ sp needed - 225 0014 7047 bx lr - 226 .L19: - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 227 .loc 1 282 0 - 228 .syntax divided - 229 @ 282 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 230 0016 30BF wfi - 231 @ 0 "" 2 - 232 .thumb - ARM GAS /tmp/ccbSGm1q.s page 10 - - - 233 .syntax unified - 234 0018 FCE7 b .L16 - 235 .L21: - 236 001a C046 .align 2 - 237 .L20: - 238 001c 00ED00E0 .word -536810240 - 239 .cfi_endproc - 240 .LFE45: - 242 .section .text.HAL_PWR_EnterSTOPMode,"ax",%progbits - 243 .align 1 - 244 .global HAL_PWR_EnterSTOPMode - 245 .syntax unified - 246 .code 16 - 247 .thumb_func - 248 .fpu softvfp - 250 HAL_PWR_EnterSTOPMode: - 251 .LFB46: - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enters STOP mode. - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note In Stop mode, all I/O pins keep the same state as in Run mode. - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note When exiting Stop mode by issuing an interrupt or a wakeup event, - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * the HSI RC oscillator is selected as system clock. - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note When the voltage regulator operates in low power mode, an additional - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * startup delay is incurred when waking up from Stop mode. - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * By keeping the internal regulator ON during Stop mode, the consumption - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * is higher although the startup time is reduced. - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in STOP mode. - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be one of the following values: - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_MAINREGULATOR_ON: STOP mode with regulator ON - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_LOWPOWERREGULATOR_ON: STOP mode with low power regulator ON - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param STOPEntry specifies if STOP mode in entered with WFI or WFE instruction. - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be one of the following values: - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFI:Enter STOP mode with WFI instruction - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFE: Enter STOP mode with WFE instruction - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry) - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 252 .loc 1 313 0 - 253 .cfi_startproc - 254 @ args = 0, pretend = 0, frame = 0 - 255 @ frame_needed = 0, uses_anonymous_args = 0 - 256 .LVL5: - 257 0000 10B5 push {r4, lr} - 258 .LCFI0: - 259 .cfi_def_cfa_offset 8 - 260 .cfi_offset 4, -8 - 261 .cfi_offset 14, -4 - 262 .LVL6: - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** uint32_t tmpreg = 0; - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */ - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_REGULATOR(Regulator)); - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_STOP_ENTRY(STOPEntry)); - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select the regulator state in STOP mode ---------------------------------*/ - ARM GAS /tmp/ccbSGm1q.s page 11 - - - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tmpreg = PWR->CR; - 263 .loc 1 321 0 - 264 0002 0C4A ldr r2, .L26 - 265 0004 1368 ldr r3, [r2] - 266 .LVL7: - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear PDDS and LPDS bits */ - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tmpreg &= (uint32_t)~(PWR_CR_PDDS | PWR_CR_LPDS); - 267 .loc 1 324 0 - 268 0006 0324 movs r4, #3 - 269 0008 A343 bics r3, r4 - 270 .LVL8: - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set LPDS bit according to Regulator value */ - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tmpreg |= Regulator; - 271 .loc 1 327 0 - 272 000a 1843 orrs r0, r3 - 273 .LVL9: - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Store the new value */ - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR = tmpreg; - 274 .loc 1 330 0 - 275 000c 1060 str r0, [r2] - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */ - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; - 276 .loc 1 333 0 - 277 000e 0A4A ldr r2, .L26+4 - 278 0010 1369 ldr r3, [r2, #16] - 279 0012 0420 movs r0, #4 - 280 .LVL10: - 281 0014 0343 orrs r3, r0 - 282 0016 1361 str r3, [r2, #16] - 283 .LVL11: - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select STOP mode entry --------------------------------------------------*/ - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** if(STOPEntry == PWR_STOPENTRY_WFI) - 284 .loc 1 336 0 - 285 0018 0129 cmp r1, #1 - 286 001a 08D0 beq .L25 - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Interrupt */ - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFI(); - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** else - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Event */ - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __SEV(); - 287 .loc 1 344 0 - 288 .syntax divided - 289 @ 344 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 290 001c 40BF sev - 291 @ 0 "" 2 - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE(); - 292 .loc 1 345 0 - 293 @ 345 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 294 001e 20BF wfe - ARM GAS /tmp/ccbSGm1q.s page 12 - - - 295 @ 0 "" 2 - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE(); - 296 .loc 1 346 0 - 297 @ 346 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 298 0020 20BF wfe - 299 @ 0 "" 2 - 300 .thumb - 301 .syntax unified - 302 .L24: - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Reset SLEEPDEEP bit of Cortex System Control Register */ - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); - 303 .loc 1 350 0 - 304 0022 054A ldr r2, .L26+4 - 305 0024 1369 ldr r3, [r2, #16] - 306 0026 0421 movs r1, #4 - 307 .LVL12: - 308 0028 8B43 bics r3, r1 - 309 002a 1361 str r3, [r2, #16] - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 310 .loc 1 351 0 - 311 @ sp needed - 312 002c 10BD pop {r4, pc} - 313 .LVL13: - 314 .L25: - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 315 .loc 1 339 0 - 316 .syntax divided - 317 @ 339 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 318 002e 30BF wfi - 319 @ 0 "" 2 - 320 .thumb - 321 .syntax unified - 322 0030 F7E7 b .L24 - 323 .L27: - 324 0032 C046 .align 2 - 325 .L26: - 326 0034 00700040 .word 1073770496 - 327 0038 00ED00E0 .word -536810240 - 328 .cfi_endproc - 329 .LFE46: - 331 .section .text.HAL_PWR_EnterSTANDBYMode,"ax",%progbits - 332 .align 1 - 333 .global HAL_PWR_EnterSTANDBYMode - 334 .syntax unified - 335 .code 16 - 336 .thumb_func - 337 .fpu softvfp - 339 HAL_PWR_EnterSTANDBYMode: - 340 .LFB47: - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enters STANDBY mode. - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note In Standby mode, all I/O pins are high impedance except for: - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - Reset pad (still available) - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - RTC alternate function pins if configured for tamper, time-stamp, RTC - ARM GAS /tmp/ccbSGm1q.s page 13 - - - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Alarm out, or RTC clock calibration out. - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - WKUP pins if enabled. - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * STM32F0x8 devices, the Stop mode is available, but it is - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * aningless to distinguish between voltage regulator in Low power - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * mode and voltage regulator in Run mode because the regulator - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * not used and the core is supplied directly from an external source. - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Consequently, the Standby mode is not available on those devices. - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnterSTANDBYMode(void) - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 341 .loc 1 368 0 - 342 .cfi_startproc - 343 @ args = 0, pretend = 0, frame = 0 - 344 @ frame_needed = 0, uses_anonymous_args = 0 - 345 @ link register save eliminated. - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select STANDBY mode */ - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR |= (uint32_t)PWR_CR_PDDS; - 346 .loc 1 370 0 - 347 0000 054A ldr r2, .L29 - 348 0002 1368 ldr r3, [r2] - 349 0004 0221 movs r1, #2 - 350 0006 0B43 orrs r3, r1 - 351 0008 1360 str r3, [r2] - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */ - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; - 352 .loc 1 373 0 - 353 000a 044A ldr r2, .L29+4 - 354 000c 1369 ldr r3, [r2, #16] - 355 000e 0231 adds r1, r1, #2 - 356 0010 0B43 orrs r3, r1 - 357 0012 1361 str r3, [r2, #16] - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* This option is used to ensure that store operations are completed */ - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #if defined ( __CC_ARM) - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __force_stores(); - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #endif - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Interrupt */ - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFI(); - 358 .loc 1 380 0 - 359 .syntax divided - 360 @ 380 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1 - 361 0014 30BF wfi - 362 @ 0 "" 2 - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 363 .loc 1 381 0 - 364 .thumb - 365 .syntax unified - 366 @ sp needed - 367 0016 7047 bx lr - 368 .L30: - 369 .align 2 - 370 .L29: - 371 0018 00700040 .word 1073770496 - 372 001c 00ED00E0 .word -536810240 - 373 .cfi_endproc - ARM GAS /tmp/ccbSGm1q.s page 14 - - - 374 .LFE47: - 376 .section .text.HAL_PWR_EnableSleepOnExit,"ax",%progbits - 377 .align 1 - 378 .global HAL_PWR_EnableSleepOnExit - 379 .syntax unified - 380 .code 16 - 381 .thumb_func - 382 .fpu softvfp - 384 HAL_PWR_EnableSleepOnExit: - 385 .LFB48: - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Indicates Sleep-On-Exit when returning from Handler mode to Thread mode. - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Set SLEEPONEXIT bit of SCR register. When this bit is set, the processor - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over. - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Setting this bit is useful when the processor is expected to run only on - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * interruptions handling. - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableSleepOnExit(void) - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 386 .loc 1 392 0 - 387 .cfi_startproc - 388 @ args = 0, pretend = 0, frame = 0 - 389 @ frame_needed = 0, uses_anonymous_args = 0 - 390 @ link register save eliminated. - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SLEEPONEXIT bit of Cortex System Control Register */ - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk)); - 391 .loc 1 394 0 - 392 0000 024A ldr r2, .L32 - 393 0002 1369 ldr r3, [r2, #16] - 394 0004 0221 movs r1, #2 - 395 0006 0B43 orrs r3, r1 - 396 0008 1361 str r3, [r2, #16] - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 397 .loc 1 395 0 - 398 @ sp needed - 399 000a 7047 bx lr - 400 .L33: - 401 .align 2 - 402 .L32: - 403 000c 00ED00E0 .word -536810240 - 404 .cfi_endproc - 405 .LFE48: - 407 .section .text.HAL_PWR_DisableSleepOnExit,"ax",%progbits - 408 .align 1 - 409 .global HAL_PWR_DisableSleepOnExit - 410 .syntax unified - 411 .code 16 - 412 .thumb_func - 413 .fpu softvfp - 415 HAL_PWR_DisableSleepOnExit: - 416 .LFB49: - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables Sleep-On-Exit feature when returning from Handler mode to Thread mode. - ARM GAS /tmp/ccbSGm1q.s page 15 - - - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Clears SLEEPONEXIT bit of SCR register. When this bit is set, the processor - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over. - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableSleepOnExit(void) - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 417 .loc 1 405 0 - 418 .cfi_startproc - 419 @ args = 0, pretend = 0, frame = 0 - 420 @ frame_needed = 0, uses_anonymous_args = 0 - 421 @ link register save eliminated. - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear SLEEPONEXIT bit of Cortex System Control Register */ - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk)); - 422 .loc 1 407 0 - 423 0000 024A ldr r2, .L35 - 424 0002 1369 ldr r3, [r2, #16] - 425 0004 0221 movs r1, #2 - 426 0006 8B43 bics r3, r1 - 427 0008 1361 str r3, [r2, #16] - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 428 .loc 1 408 0 - 429 @ sp needed - 430 000a 7047 bx lr - 431 .L36: - 432 .align 2 - 433 .L35: - 434 000c 00ED00E0 .word -536810240 - 435 .cfi_endproc - 436 .LFE49: - 438 .section .text.HAL_PWR_EnableSEVOnPend,"ax",%progbits - 439 .align 1 - 440 .global HAL_PWR_EnableSEVOnPend - 441 .syntax unified - 442 .code 16 - 443 .thumb_func - 444 .fpu softvfp - 446 HAL_PWR_EnableSEVOnPend: - 447 .LFB50: - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enables CORTEX M4 SEVONPEND bit. - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Sets SEVONPEND bit of SCR register. When this bit is set, this causes - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended. - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableSEVOnPend(void) - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 448 .loc 1 419 0 - 449 .cfi_startproc - 450 @ args = 0, pretend = 0, frame = 0 - 451 @ frame_needed = 0, uses_anonymous_args = 0 - 452 @ link register save eliminated. - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SEVONPEND bit of Cortex System Control Register */ - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk)); - 453 .loc 1 421 0 - ARM GAS /tmp/ccbSGm1q.s page 16 - - - 454 0000 024A ldr r2, .L38 - 455 0002 1369 ldr r3, [r2, #16] - 456 0004 1021 movs r1, #16 - 457 0006 0B43 orrs r3, r1 - 458 0008 1361 str r3, [r2, #16] - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 459 .loc 1 422 0 - 460 @ sp needed - 461 000a 7047 bx lr - 462 .L39: - 463 .align 2 - 464 .L38: - 465 000c 00ED00E0 .word -536810240 - 466 .cfi_endproc - 467 .LFE50: - 469 .section .text.HAL_PWR_DisableSEVOnPend,"ax",%progbits - 470 .align 1 - 471 .global HAL_PWR_DisableSEVOnPend - 472 .syntax unified - 473 .code 16 - 474 .thumb_func - 475 .fpu softvfp - 477 HAL_PWR_DisableSEVOnPend: - 478 .LFB51: - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables CORTEX M4 SEVONPEND bit. - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Clears SEVONPEND bit of SCR register. When this bit is set, this causes - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended. - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */ - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableSEVOnPend(void) - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** { - 479 .loc 1 432 0 - 480 .cfi_startproc - 481 @ args = 0, pretend = 0, frame = 0 - 482 @ frame_needed = 0, uses_anonymous_args = 0 - 483 @ link register save eliminated. - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear SEVONPEND bit of Cortex System Control Register */ - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk)); - 484 .loc 1 434 0 - 485 0000 024A ldr r2, .L41 - 486 0002 1369 ldr r3, [r2, #16] - 487 0004 1021 movs r1, #16 - 488 0006 8B43 bics r3, r1 - 489 0008 1361 str r3, [r2, #16] - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** } - 490 .loc 1 435 0 - 491 @ sp needed - 492 000a 7047 bx lr - 493 .L42: - 494 .align 2 - 495 .L41: - 496 000c 00ED00E0 .word -536810240 - 497 .cfi_endproc - 498 .LFE51: - ARM GAS /tmp/ccbSGm1q.s page 17 - - - 500 .text - 501 .Letext0: - 502 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 503 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 504 .file 4 "Drivers/CMSIS/Include/core_cm0.h" - 505 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 506 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 507 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccbSGm1q.s page 18 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_pwr.c - /tmp/ccbSGm1q.s:16 .text.HAL_PWR_DeInit:0000000000000000 $t - /tmp/ccbSGm1q.s:23 .text.HAL_PWR_DeInit:0000000000000000 HAL_PWR_DeInit - /tmp/ccbSGm1q.s:49 .text.HAL_PWR_DeInit:0000000000000018 $d - /tmp/ccbSGm1q.s:55 .text.HAL_PWR_EnableBkUpAccess:0000000000000000 $t - /tmp/ccbSGm1q.s:62 .text.HAL_PWR_EnableBkUpAccess:0000000000000000 HAL_PWR_EnableBkUpAccess - /tmp/ccbSGm1q.s:82 .text.HAL_PWR_EnableBkUpAccess:0000000000000010 $d - /tmp/ccbSGm1q.s:87 .text.HAL_PWR_DisableBkUpAccess:0000000000000000 $t - /tmp/ccbSGm1q.s:94 .text.HAL_PWR_DisableBkUpAccess:0000000000000000 HAL_PWR_DisableBkUpAccess - /tmp/ccbSGm1q.s:113 .text.HAL_PWR_DisableBkUpAccess:000000000000000c $d - /tmp/ccbSGm1q.s:119 .text.HAL_PWR_EnableWakeUpPin:0000000000000000 $t - /tmp/ccbSGm1q.s:126 .text.HAL_PWR_EnableWakeUpPin:0000000000000000 HAL_PWR_EnableWakeUpPin - /tmp/ccbSGm1q.s:146 .text.HAL_PWR_EnableWakeUpPin:000000000000000c $d - /tmp/ccbSGm1q.s:151 .text.HAL_PWR_DisableWakeUpPin:0000000000000000 $t - /tmp/ccbSGm1q.s:158 .text.HAL_PWR_DisableWakeUpPin:0000000000000000 HAL_PWR_DisableWakeUpPin - /tmp/ccbSGm1q.s:177 .text.HAL_PWR_DisableWakeUpPin:000000000000000c $d - /tmp/ccbSGm1q.s:182 .text.HAL_PWR_EnterSLEEPMode:0000000000000000 $t - /tmp/ccbSGm1q.s:189 .text.HAL_PWR_EnterSLEEPMode:0000000000000000 HAL_PWR_EnterSLEEPMode - /tmp/ccbSGm1q.s:238 .text.HAL_PWR_EnterSLEEPMode:000000000000001c $d - /tmp/ccbSGm1q.s:243 .text.HAL_PWR_EnterSTOPMode:0000000000000000 $t - /tmp/ccbSGm1q.s:250 .text.HAL_PWR_EnterSTOPMode:0000000000000000 HAL_PWR_EnterSTOPMode - /tmp/ccbSGm1q.s:326 .text.HAL_PWR_EnterSTOPMode:0000000000000034 $d - /tmp/ccbSGm1q.s:332 .text.HAL_PWR_EnterSTANDBYMode:0000000000000000 $t - /tmp/ccbSGm1q.s:339 .text.HAL_PWR_EnterSTANDBYMode:0000000000000000 HAL_PWR_EnterSTANDBYMode - /tmp/ccbSGm1q.s:371 .text.HAL_PWR_EnterSTANDBYMode:0000000000000018 $d - /tmp/ccbSGm1q.s:377 .text.HAL_PWR_EnableSleepOnExit:0000000000000000 $t - /tmp/ccbSGm1q.s:384 .text.HAL_PWR_EnableSleepOnExit:0000000000000000 HAL_PWR_EnableSleepOnExit - /tmp/ccbSGm1q.s:403 .text.HAL_PWR_EnableSleepOnExit:000000000000000c $d - /tmp/ccbSGm1q.s:408 .text.HAL_PWR_DisableSleepOnExit:0000000000000000 $t - /tmp/ccbSGm1q.s:415 .text.HAL_PWR_DisableSleepOnExit:0000000000000000 HAL_PWR_DisableSleepOnExit - /tmp/ccbSGm1q.s:434 .text.HAL_PWR_DisableSleepOnExit:000000000000000c $d - /tmp/ccbSGm1q.s:439 .text.HAL_PWR_EnableSEVOnPend:0000000000000000 $t - /tmp/ccbSGm1q.s:446 .text.HAL_PWR_EnableSEVOnPend:0000000000000000 HAL_PWR_EnableSEVOnPend - /tmp/ccbSGm1q.s:465 .text.HAL_PWR_EnableSEVOnPend:000000000000000c $d - /tmp/ccbSGm1q.s:470 .text.HAL_PWR_DisableSEVOnPend:0000000000000000 $t - /tmp/ccbSGm1q.s:477 .text.HAL_PWR_DisableSEVOnPend:0000000000000000 HAL_PWR_DisableSEVOnPend - /tmp/ccbSGm1q.s:496 .text.HAL_PWR_DisableSEVOnPend:000000000000000c $d - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_pwr.o b/Blink/build/stm32f0xx_hal_pwr.o deleted file mode 100644 index c9d9d64..0000000 Binary files a/Blink/build/stm32f0xx_hal_pwr.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_pwr_ex.d b/Blink/build/stm32f0xx_hal_pwr_ex.d deleted file mode 100644 index 491ddd2..0000000 --- a/Blink/build/stm32f0xx_hal_pwr_ex.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_pwr_ex.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_pwr_ex.lst b/Blink/build/stm32f0xx_hal_pwr_ex.lst deleted file mode 100644 index ece0917..0000000 --- a/Blink/build/stm32f0xx_hal_pwr_ex.lst +++ /dev/null @@ -1,710 +0,0 @@ -ARM GAS /tmp/ccxTYr0X.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_pwr_ex.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_PWR_ConfigPVD,"ax",%progbits - 16 .align 1 - 17 .global HAL_PWR_ConfigPVD - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_PWR_ConfigPVD: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @file stm32f0xx_hal_pwr_ex.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Extended PWR HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * functionalities of the Power Controller (PWR) peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * + Extended Initialization and de-initialization functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * + Extended Peripheral Control functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ****************************************************************************** - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @attention - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *

© Copyright (c) 2016 STMicroelectronics. - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * All rights reserved.

- 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * the "License"; You may not use this file except in compliance with the - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * License. You may obtain a copy of the License at: - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * opensource.org/licenses/BSD-3-Clause - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ****************************************************************************** - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Includes ------------------------------------------------------------------*/ - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #include "stm32f0xx_hal.h" - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{ - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx PWREx - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief PWREx HAL module driver - ARM GAS /tmp/ccxTYr0X.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{ - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #ifdef HAL_PWR_MODULE_ENABLED - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private typedef -----------------------------------------------------------*/ - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private define ------------------------------------------------------------*/ - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx_Private_Constants PWREx Private Constants - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{ - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_MODE_IT (0x00010000U) - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_MODE_EVT (0x00020000U) - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_RISING_EDGE (0x00000001U) - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_FALLING_EDGE (0x00000002U) - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @} - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private macro -------------------------------------------------------------*/ - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private variables ---------------------------------------------------------*/ - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private function prototypes -----------------------------------------------*/ - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Exported functions ---------------------------------------------------------*/ - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx_Exported_Functions PWREx Exported Functions - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{ - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx_Exported_Functions_Group1 Peripheral Extended Control Functions - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Extended Peripheral Control functions - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** @verbatim - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** =============================================================================== - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ##### Peripheral extended control functions ##### - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** =============================================================================== - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *** PVD configuration *** - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ========================= - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** [..] - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) The PVD is used to monitor the VDD power supply by comparing it to a - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** threshold selected by the PVD Level (PLS[2:0] bits in the PWR_CR). - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) A PVDO flag is available to indicate if VDD/VDDA is higher or lower - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** than the PVD threshold. This event is internally connected to the EXTI - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** line16 and can generate an interrupt if enabled. This is done through - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWR_ConfigPVD(), HAL_PWR_EnablePVD() functions. - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) The PVD is stopped in Standby mode. - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** -@- PVD is not available on STM32F030x4/x6/x8 - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *** VDDIO2 Monitor Configuration *** - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ==================================== - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** [..] - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) VDDIO2 monitor is used to monitor the VDDIO2 power supply by comparing it - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** to VREFInt Voltage - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) This monitor is internally connected to the EXTI line31 - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** and can generate an interrupt if enabled. This is done through - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWREx_EnableVddio2Monitor() function. - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** -@- VDDIO2 is available on STM32F07x/09x/04x - ARM GAS /tmp/ccxTYr0X.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** @endverbatim - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{ - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #if defined (STM32F031x6) || defined (STM32F051x8) || \ - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F071xB) || defined (STM32F091xC) || \ - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F042x6) || defined (STM32F072xB) - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Configures the voltage threshold detected by the Power Voltage Detector(PVD). - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @param sConfigPVD pointer to an PWR_PVDTypeDef structure that contains the configuration - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * information for the PVD. - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note Refer to the electrical characteristics of your device datasheet for - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * more details about the voltage threshold corresponding to each - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * detection level. - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD) - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 26 .loc 1 109 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 @ link register save eliminated. - 31 .LVL0: - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check the parameters */ - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** assert_param(IS_PWR_PVD_LEVEL(sConfigPVD->PVDLevel)); - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** assert_param(IS_PWR_PVD_MODE(sConfigPVD->Mode)); - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Set PLS[7:5] bits according to PVDLevel value */ - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** MODIFY_REG(PWR->CR, PWR_CR_PLS, sConfigPVD->PVDLevel); - 32 .loc 1 115 0 - 33 0000 1C4A ldr r2, .L6 - 34 0002 1368 ldr r3, [r2] - 35 0004 E021 movs r1, #224 - 36 0006 8B43 bics r3, r1 - 37 0008 0168 ldr r1, [r0] - 38 000a 0B43 orrs r3, r1 - 39 000c 1360 str r3, [r2] - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Clear any previous config. Keep it clear if no event or IT mode is selected */ - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_DISABLE_EVENT(); - 40 .loc 1 118 0 - 41 000e 1A4B ldr r3, .L6+4 - 42 0010 5968 ldr r1, [r3, #4] - 43 0012 1A4A ldr r2, .L6+8 - 44 0014 1140 ands r1, r2 - 45 0016 5960 str r1, [r3, #4] - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_DISABLE_IT(); - 46 .loc 1 119 0 - 47 0018 1968 ldr r1, [r3] - 48 001a 1140 ands r1, r2 - 49 001c 1960 str r1, [r3] - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE();__HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE(); - 50 .loc 1 120 0 - 51 001e 9968 ldr r1, [r3, #8] - 52 0020 1140 ands r1, r2 - ARM GAS /tmp/ccxTYr0X.s page 4 - - - 53 0022 9960 str r1, [r3, #8] - 54 0024 D968 ldr r1, [r3, #12] - 55 0026 0A40 ands r2, r1 - 56 0028 DA60 str r2, [r3, #12] - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Configure interrupt mode */ - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_MODE_IT) == PVD_MODE_IT) - 57 .loc 1 123 0 - 58 002a 4368 ldr r3, [r0, #4] - 59 002c DB03 lsls r3, r3, #15 - 60 002e 05D5 bpl .L2 - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_IT(); - 61 .loc 1 125 0 - 62 0030 114A ldr r2, .L6+4 - 63 0032 1168 ldr r1, [r2] - 64 0034 8023 movs r3, #128 - 65 0036 5B02 lsls r3, r3, #9 - 66 0038 0B43 orrs r3, r1 - 67 003a 1360 str r3, [r2] - 68 .L2: - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Configure event mode */ - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_MODE_EVT) == PVD_MODE_EVT) - 69 .loc 1 129 0 - 70 003c 4368 ldr r3, [r0, #4] - 71 003e 9B03 lsls r3, r3, #14 - 72 0040 05D5 bpl .L3 - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_EVENT(); - 73 .loc 1 131 0 - 74 0042 0D4A ldr r2, .L6+4 - 75 0044 5168 ldr r1, [r2, #4] - 76 0046 8023 movs r3, #128 - 77 0048 5B02 lsls r3, r3, #9 - 78 004a 0B43 orrs r3, r1 - 79 004c 5360 str r3, [r2, #4] - 80 .L3: - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Configure the edge */ - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_RISING_EDGE) == PVD_RISING_EDGE) - 81 .loc 1 135 0 - 82 004e 4368 ldr r3, [r0, #4] - 83 0050 DB07 lsls r3, r3, #31 - 84 0052 05D5 bpl .L4 - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE(); - 85 .loc 1 137 0 - 86 0054 084A ldr r2, .L6+4 - 87 0056 9168 ldr r1, [r2, #8] - 88 0058 8023 movs r3, #128 - 89 005a 5B02 lsls r3, r3, #9 - 90 005c 0B43 orrs r3, r1 - 91 005e 9360 str r3, [r2, #8] - 92 .L4: - ARM GAS /tmp/ccxTYr0X.s page 5 - - - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_FALLING_EDGE) == PVD_FALLING_EDGE) - 93 .loc 1 140 0 - 94 0060 4368 ldr r3, [r0, #4] - 95 0062 9B07 lsls r3, r3, #30 - 96 0064 05D5 bpl .L1 - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE(); - 97 .loc 1 142 0 - 98 0066 044A ldr r2, .L6+4 - 99 0068 D168 ldr r1, [r2, #12] - 100 006a 8023 movs r3, #128 - 101 006c 5B02 lsls r3, r3, #9 - 102 006e 0B43 orrs r3, r1 - 103 0070 D360 str r3, [r2, #12] - 104 .L1: - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 105 .loc 1 144 0 - 106 @ sp needed - 107 0072 7047 bx lr - 108 .L7: - 109 .align 2 - 110 .L6: - 111 0074 00700040 .word 1073770496 - 112 0078 00040140 .word 1073808384 - 113 007c FFFFFEFF .word -65537 - 114 .cfi_endproc - 115 .LFE40: - 117 .section .text.HAL_PWR_EnablePVD,"ax",%progbits - 118 .align 1 - 119 .global HAL_PWR_EnablePVD - 120 .syntax unified - 121 .code 16 - 122 .thumb_func - 123 .fpu softvfp - 125 HAL_PWR_EnablePVD: - 126 .LFB41: - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Enables the Power Voltage Detector(PVD). - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_EnablePVD(void) - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 127 .loc 1 151 0 - 128 .cfi_startproc - 129 @ args = 0, pretend = 0, frame = 0 - 130 @ frame_needed = 0, uses_anonymous_args = 0 - 131 @ link register save eliminated. - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** PWR->CR |= (uint32_t)PWR_CR_PVDE; - 132 .loc 1 152 0 - 133 0000 024A ldr r2, .L9 - 134 0002 1368 ldr r3, [r2] - 135 0004 1021 movs r1, #16 - 136 0006 0B43 orrs r3, r1 - ARM GAS /tmp/ccxTYr0X.s page 6 - - - 137 0008 1360 str r3, [r2] - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 138 .loc 1 153 0 - 139 @ sp needed - 140 000a 7047 bx lr - 141 .L10: - 142 .align 2 - 143 .L9: - 144 000c 00700040 .word 1073770496 - 145 .cfi_endproc - 146 .LFE41: - 148 .section .text.HAL_PWR_DisablePVD,"ax",%progbits - 149 .align 1 - 150 .global HAL_PWR_DisablePVD - 151 .syntax unified - 152 .code 16 - 153 .thumb_func - 154 .fpu softvfp - 156 HAL_PWR_DisablePVD: - 157 .LFB42: - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Disables the Power Voltage Detector(PVD). - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_DisablePVD(void) - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 158 .loc 1 160 0 - 159 .cfi_startproc - 160 @ args = 0, pretend = 0, frame = 0 - 161 @ frame_needed = 0, uses_anonymous_args = 0 - 162 @ link register save eliminated. - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** PWR->CR &= ~((uint32_t)PWR_CR_PVDE); - 163 .loc 1 161 0 - 164 0000 024A ldr r2, .L12 - 165 0002 1368 ldr r3, [r2] - 166 0004 1021 movs r1, #16 - 167 0006 8B43 bics r3, r1 - 168 0008 1360 str r3, [r2] - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 169 .loc 1 162 0 - 170 @ sp needed - 171 000a 7047 bx lr - 172 .L13: - 173 .align 2 - 174 .L12: - 175 000c 00700040 .word 1073770496 - 176 .cfi_endproc - 177 .LFE42: - 179 .section .text.HAL_PWR_PVDCallback,"ax",%progbits - 180 .align 1 - 181 .weak HAL_PWR_PVDCallback - 182 .syntax unified - 183 .code 16 - 184 .thumb_func - 185 .fpu softvfp - 187 HAL_PWR_PVDCallback: - ARM GAS /tmp/ccxTYr0X.s page 7 - - - 188 .LFB44: - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief This function handles the PWR PVD interrupt request. - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note This API should be called under the PVD_IRQHandler() or PVD_VDDIO2_IRQHandler(). - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_PVD_IRQHandler(void) - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */ - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if(__HAL_PWR_PVD_EXTI_GET_FLAG() != RESET) - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* PWR PVD interrupt user callback */ - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWR_PVDCallback(); - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Clear PWR Exti pending bit */ - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_CLEAR_FLAG(); - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief PWR PVD interrupt callback - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __weak void HAL_PWR_PVDCallback(void) - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 189 .loc 1 187 0 - 190 .cfi_startproc - 191 @ args = 0, pretend = 0, frame = 0 - 192 @ frame_needed = 0, uses_anonymous_args = 0 - 193 @ link register save eliminated. - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed, - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** the HAL_PWR_PVDCallback could be implemented in the user file - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 194 .loc 1 191 0 - 195 @ sp needed - 196 0000 7047 bx lr - 197 .cfi_endproc - 198 .LFE44: - 200 .section .text.HAL_PWR_PVD_IRQHandler,"ax",%progbits - 201 .align 1 - 202 .global HAL_PWR_PVD_IRQHandler - 203 .syntax unified - 204 .code 16 - 205 .thumb_func - 206 .fpu softvfp - 208 HAL_PWR_PVD_IRQHandler: - 209 .LFB43: - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */ - 210 .loc 1 170 0 - 211 .cfi_startproc - 212 @ args = 0, pretend = 0, frame = 0 - 213 @ frame_needed = 0, uses_anonymous_args = 0 - 214 0000 10B5 push {r4, lr} - 215 .LCFI0: - 216 .cfi_def_cfa_offset 8 - ARM GAS /tmp/ccxTYr0X.s page 8 - - - 217 .cfi_offset 4, -8 - 218 .cfi_offset 14, -4 - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 219 .loc 1 172 0 - 220 0002 064B ldr r3, .L18 - 221 0004 5B69 ldr r3, [r3, #20] - 222 0006 DB03 lsls r3, r3, #15 - 223 0008 00D4 bmi .L17 - 224 .L15: - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 225 .loc 1 180 0 - 226 @ sp needed - 227 000a 10BD pop {r4, pc} - 228 .L17: - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 229 .loc 1 175 0 - 230 000c FFF7FEFF bl HAL_PWR_PVDCallback - 231 .LVL1: - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 232 .loc 1 178 0 - 233 0010 024B ldr r3, .L18 - 234 0012 8022 movs r2, #128 - 235 0014 5202 lsls r2, r2, #9 - 236 0016 5A61 str r2, [r3, #20] - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 237 .loc 1 180 0 - 238 0018 F7E7 b .L15 - 239 .L19: - 240 001a C046 .align 2 - 241 .L18: - 242 001c 00040140 .word 1073808384 - 243 .cfi_endproc - 244 .LFE43: - 246 .section .text.HAL_PWREx_EnableVddio2Monitor,"ax",%progbits - 247 .align 1 - 248 .global HAL_PWREx_EnableVddio2Monitor - 249 .syntax unified - 250 .code 16 - 251 .thumb_func - 252 .fpu softvfp - 254 HAL_PWREx_EnableVddio2Monitor: - 255 .LFB45: - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #endif /* defined (STM32F031x6) || defined (STM32F051x8) || */ - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* defined (STM32F071xB) || defined (STM32F091xC) || */ - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* defined (STM32F042x6) || defined (STM32F072xB) */ - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #if defined (STM32F042x6) || defined (STM32F048xx) || \ - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F071xB) || defined (STM32F072xB) || defined (STM32F078xx) || \ - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F091xC) || defined (STM32F098xx) - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Enable VDDIO2 monitor: enable Exti 31 and falling edge detection. - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note If Exti 31 is enable correlty and VDDIO2 voltage goes below Vrefint, - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** an interrupt is generated Irq line 1. - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** NVIS has to be enable by user. - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - ARM GAS /tmp/ccxTYr0X.s page 9 - - - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWREx_EnableVddio2Monitor(void) - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 256 .loc 1 208 0 - 257 .cfi_startproc - 258 @ args = 0, pretend = 0, frame = 0 - 259 @ frame_needed = 0, uses_anonymous_args = 0 - 260 @ link register save eliminated. - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_ENABLE_IT(); - 261 .loc 1 209 0 - 262 0000 044B ldr r3, .L21 - 263 0002 1968 ldr r1, [r3] - 264 0004 8022 movs r2, #128 - 265 0006 1206 lsls r2, r2, #24 - 266 0008 1143 orrs r1, r2 - 267 000a 1960 str r1, [r3] - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_ENABLE_FALLING_EDGE(); - 268 .loc 1 210 0 - 269 000c D968 ldr r1, [r3, #12] - 270 000e 0A43 orrs r2, r1 - 271 0010 DA60 str r2, [r3, #12] - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 272 .loc 1 211 0 - 273 @ sp needed - 274 0012 7047 bx lr - 275 .L22: - 276 .align 2 - 277 .L21: - 278 0014 00040140 .word 1073808384 - 279 .cfi_endproc - 280 .LFE45: - 282 .section .text.HAL_PWREx_DisableVddio2Monitor,"ax",%progbits - 283 .align 1 - 284 .global HAL_PWREx_DisableVddio2Monitor - 285 .syntax unified - 286 .code 16 - 287 .thumb_func - 288 .fpu softvfp - 290 HAL_PWREx_DisableVddio2Monitor: - 291 .LFB46: - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Disable the Vddio2 Monitor. - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWREx_DisableVddio2Monitor(void) - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 292 .loc 1 218 0 - 293 .cfi_startproc - 294 @ args = 0, pretend = 0, frame = 0 - 295 @ frame_needed = 0, uses_anonymous_args = 0 - 296 @ link register save eliminated. - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_DISABLE_IT(); - 297 .loc 1 219 0 - 298 0000 064B ldr r3, .L24 - 299 0002 1A68 ldr r2, [r3] - 300 0004 5200 lsls r2, r2, #1 - 301 0006 5208 lsrs r2, r2, #1 - ARM GAS /tmp/ccxTYr0X.s page 10 - - - 302 0008 1A60 str r2, [r3] - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_DISABLE_FALLING_EDGE(); - 303 .loc 1 220 0 - 304 000a DA68 ldr r2, [r3, #12] - 305 000c 5200 lsls r2, r2, #1 - 306 000e 5208 lsrs r2, r2, #1 - 307 0010 DA60 str r2, [r3, #12] - 308 0012 9A68 ldr r2, [r3, #8] - 309 0014 5200 lsls r2, r2, #1 - 310 0016 5208 lsrs r2, r2, #1 - 311 0018 9A60 str r2, [r3, #8] - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 312 .loc 1 222 0 - 313 @ sp needed - 314 001a 7047 bx lr - 315 .L25: - 316 .align 2 - 317 .L24: - 318 001c 00040140 .word 1073808384 - 319 .cfi_endproc - 320 .LFE46: - 322 .section .text.HAL_PWREx_Vddio2MonitorCallback,"ax",%progbits - 323 .align 1 - 324 .weak HAL_PWREx_Vddio2MonitorCallback - 325 .syntax unified - 326 .code 16 - 327 .thumb_func - 328 .fpu softvfp - 330 HAL_PWREx_Vddio2MonitorCallback: - 331 .LFB48: - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief This function handles the PWR Vddio2 monitor interrupt request. - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note This API should be called under the VDDIO2_IRQHandler() PVD_VDDIO2_IRQHandler(). - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWREx_Vddio2Monitor_IRQHandler(void) - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */ - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if(__HAL_PWR_VDDIO2_EXTI_GET_FLAG() != RESET) - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* PWR Vddio2 monitor interrupt user callback */ - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWREx_Vddio2MonitorCallback(); - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Clear PWR Exti pending bit */ - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_CLEAR_FLAG(); - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief PWR Vddio2 Monitor interrupt callback - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __weak void HAL_PWREx_Vddio2MonitorCallback(void) - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 332 .loc 1 247 0 - ARM GAS /tmp/ccxTYr0X.s page 11 - - - 333 .cfi_startproc - 334 @ args = 0, pretend = 0, frame = 0 - 335 @ frame_needed = 0, uses_anonymous_args = 0 - 336 @ link register save eliminated. - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed, - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** the HAL_PWREx_Vddio2MonitorCallback could be implemented in the user file - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */ - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 337 .loc 1 251 0 - 338 @ sp needed - 339 0000 7047 bx lr - 340 .cfi_endproc - 341 .LFE48: - 343 .section .text.HAL_PWREx_Vddio2Monitor_IRQHandler,"ax",%progbits - 344 .align 1 - 345 .global HAL_PWREx_Vddio2Monitor_IRQHandler - 346 .syntax unified - 347 .code 16 - 348 .thumb_func - 349 .fpu softvfp - 351 HAL_PWREx_Vddio2Monitor_IRQHandler: - 352 .LFB47: - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */ - 353 .loc 1 230 0 - 354 .cfi_startproc - 355 @ args = 0, pretend = 0, frame = 0 - 356 @ frame_needed = 0, uses_anonymous_args = 0 - 357 0000 10B5 push {r4, lr} - 358 .LCFI1: - 359 .cfi_def_cfa_offset 8 - 360 .cfi_offset 4, -8 - 361 .cfi_offset 14, -4 - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** { - 362 .loc 1 232 0 - 363 0002 064B ldr r3, .L30 - 364 0004 5B69 ldr r3, [r3, #20] - 365 0006 002B cmp r3, #0 - 366 0008 00DB blt .L29 - 367 .L27: - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 368 .loc 1 240 0 - 369 @ sp needed - 370 000a 10BD pop {r4, pc} - 371 .L29: - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 372 .loc 1 235 0 - 373 000c FFF7FEFF bl HAL_PWREx_Vddio2MonitorCallback - 374 .LVL2: - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** } - 375 .loc 1 238 0 - 376 0010 024B ldr r3, .L30 - 377 0012 8022 movs r2, #128 - 378 0014 1206 lsls r2, r2, #24 - 379 0016 5A61 str r2, [r3, #20] - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** - 380 .loc 1 240 0 - 381 0018 F7E7 b .L27 - ARM GAS /tmp/ccxTYr0X.s page 12 - - - 382 .L31: - 383 001a C046 .align 2 - 384 .L30: - 385 001c 00040140 .word 1073808384 - 386 .cfi_endproc - 387 .LFE47: - 389 .text - 390 .Letext0: - 391 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 392 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 393 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 394 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 395 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h" - 396 .file 7 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" - 397 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccxTYr0X.s page 13 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_pwr_ex.c - /tmp/ccxTYr0X.s:16 .text.HAL_PWR_ConfigPVD:0000000000000000 $t - /tmp/ccxTYr0X.s:23 .text.HAL_PWR_ConfigPVD:0000000000000000 HAL_PWR_ConfigPVD - /tmp/ccxTYr0X.s:111 .text.HAL_PWR_ConfigPVD:0000000000000074 $d - /tmp/ccxTYr0X.s:118 .text.HAL_PWR_EnablePVD:0000000000000000 $t - /tmp/ccxTYr0X.s:125 .text.HAL_PWR_EnablePVD:0000000000000000 HAL_PWR_EnablePVD - /tmp/ccxTYr0X.s:144 .text.HAL_PWR_EnablePVD:000000000000000c $d - /tmp/ccxTYr0X.s:149 .text.HAL_PWR_DisablePVD:0000000000000000 $t - /tmp/ccxTYr0X.s:156 .text.HAL_PWR_DisablePVD:0000000000000000 HAL_PWR_DisablePVD - /tmp/ccxTYr0X.s:175 .text.HAL_PWR_DisablePVD:000000000000000c $d - /tmp/ccxTYr0X.s:180 .text.HAL_PWR_PVDCallback:0000000000000000 $t - /tmp/ccxTYr0X.s:187 .text.HAL_PWR_PVDCallback:0000000000000000 HAL_PWR_PVDCallback - /tmp/ccxTYr0X.s:201 .text.HAL_PWR_PVD_IRQHandler:0000000000000000 $t - /tmp/ccxTYr0X.s:208 .text.HAL_PWR_PVD_IRQHandler:0000000000000000 HAL_PWR_PVD_IRQHandler - /tmp/ccxTYr0X.s:242 .text.HAL_PWR_PVD_IRQHandler:000000000000001c $d - /tmp/ccxTYr0X.s:247 .text.HAL_PWREx_EnableVddio2Monitor:0000000000000000 $t - /tmp/ccxTYr0X.s:254 .text.HAL_PWREx_EnableVddio2Monitor:0000000000000000 HAL_PWREx_EnableVddio2Monitor - /tmp/ccxTYr0X.s:278 .text.HAL_PWREx_EnableVddio2Monitor:0000000000000014 $d - /tmp/ccxTYr0X.s:283 .text.HAL_PWREx_DisableVddio2Monitor:0000000000000000 $t - /tmp/ccxTYr0X.s:290 .text.HAL_PWREx_DisableVddio2Monitor:0000000000000000 HAL_PWREx_DisableVddio2Monitor - /tmp/ccxTYr0X.s:318 .text.HAL_PWREx_DisableVddio2Monitor:000000000000001c $d - /tmp/ccxTYr0X.s:323 .text.HAL_PWREx_Vddio2MonitorCallback:0000000000000000 $t - /tmp/ccxTYr0X.s:330 .text.HAL_PWREx_Vddio2MonitorCallback:0000000000000000 HAL_PWREx_Vddio2MonitorCallback - /tmp/ccxTYr0X.s:344 .text.HAL_PWREx_Vddio2Monitor_IRQHandler:0000000000000000 $t - /tmp/ccxTYr0X.s:351 .text.HAL_PWREx_Vddio2Monitor_IRQHandler:0000000000000000 HAL_PWREx_Vddio2Monitor_IRQHandler - /tmp/ccxTYr0X.s:385 .text.HAL_PWREx_Vddio2Monitor_IRQHandler:000000000000001c $d - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_pwr_ex.o b/Blink/build/stm32f0xx_hal_pwr_ex.o deleted file mode 100644 index 0e92af3..0000000 Binary files a/Blink/build/stm32f0xx_hal_pwr_ex.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_rcc.d b/Blink/build/stm32f0xx_hal_rcc.d deleted file mode 100644 index 9e7eea0..0000000 --- a/Blink/build/stm32f0xx_hal_rcc.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_rcc.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_rcc.lst b/Blink/build/stm32f0xx_hal_rcc.lst deleted file mode 100644 index bd759f5..0000000 --- a/Blink/build/stm32f0xx_hal_rcc.lst +++ /dev/null @@ -1,3828 +0,0 @@ -ARM GAS /tmp/ccxndioT.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_rcc.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_RCC_DeInit,"ax",%progbits - 16 .align 1 - 17 .global HAL_RCC_DeInit - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_RCC_DeInit: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @file stm32f0xx_hal_rcc.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * functionalities of the Reset and Clock Control (RCC) peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * + Initialization and de-initialization functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * + Peripheral Control functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @verbatim - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ============================================================================== - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### RCC specific features ##### - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ============================================================================== - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] - 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** After reset the device is running from Internal High Speed oscillator - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HSI 8MHz) with Flash 0 wait state, Flash prefetch buffer is enabled, - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** and all peripherals are off except internal SRAM, Flash and JTAG. - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) There is no prescaler on High speed (AHB) and Low speed (APB) buses; - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** all peripherals mapped on these buses are running at HSI speed. - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) The clock for all peripherals is switched off, except the SRAM and FLASH. - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) All GPIOs are in input floating state, except the JTAG pins which - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** are assigned to be used for debug purpose. - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] Once the device started from reset, the user application has to: - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the clock source to be used to drive the System clock - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (if the application needs higher frequency/performance) - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the System clock frequency and Flash settings - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the AHB and APB buses prescalers - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Enable the clock for the peripheral(s) to be used - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the clock source(s) for peripherals whose clocks are not - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** derived from the System clock (RTC, ADC, I2C, USART, TIM, USB FS, etc..) - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### RCC Limitations ##### - ARM GAS /tmp/ccxndioT.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ============================================================================== - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** A delay between an RCC peripheral clock enable and the effective peripheral - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** enabling should be taken into account in order to manage the peripheral read/write - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** from/to registers. - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) This delay depends on the peripheral mapping. - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) AHB & APB peripherals, 1 dummy read is necessary - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** Workarounds: - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) For AHB & APB peripherals, a dummy read to the peripheral register has been - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** inserted in each __HAL_RCC_PPP_CLK_ENABLE() macro. - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endverbatim - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ****************************************************************************** - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @attention - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *

© Copyright (c) 2016 STMicroelectronics. - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * All rights reserved.

- 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This software component is licensed by ST under BSD 3-Clause license, - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * the "License"; You may not use this file except in compliance with the - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * License. You may obtain a copy of the License at: - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * opensource.org/licenses/BSD-3-Clause - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ****************************************************************************** - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Includes ------------------------------------------------------------------*/ - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #include "stm32f0xx_hal.h" - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @addtogroup STM32F0xx_HAL_Driver - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC RCC - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC HAL module driver - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #ifdef HAL_RCC_MODULE_ENABLED - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private typedef -----------------------------------------------------------*/ - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private define ------------------------------------------------------------*/ - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Private_Constants RCC Private Constants - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @} - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private macro -------------------------------------------------------------*/ - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Private_Macros RCC Private Macros - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #define MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #define MCO1_GPIO_PORT GPIOA - ARM GAS /tmp/ccxndioT.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #define MCO1_PIN GPIO_PIN_8 - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @} - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private variables ---------------------------------------------------------*/ - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Private_Variables RCC Private Variables - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @} - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Exported functions ---------------------------------------------------------*/ - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions RCC Exported Functions - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Initialization and Configuration functions - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @verbatim - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** =============================================================================== - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### Initialization and de-initialization functions ##### - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** =============================================================================== - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** This section provides functions allowing to configure the internal/external oscillators - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HSE, HSI, HSI14, HSI48, LSE, LSI, PLL, CSS and MCO) and the System buses clocks (SYSCLK, - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** AHB and APB1). - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] Internal/external clock and PLL configuration - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) HSI (high-speed internal), 8 MHz factory-trimmed RC used directly or through - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the PLL as System clock source. - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** The HSI clock can be used also to clock the USART and I2C peripherals. - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) HSI14 (high-speed internal), 14 MHz factory-trimmed RC used directly to clock - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the ADC peripheral. - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) LSI (low-speed internal), ~40 KHz low consumption RC used as IWDG and/or RTC - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** clock source. - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) HSE (high-speed external), 4 to 32 MHz crystal oscillator used directly or - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** through the PLL as System clock source. Can be used also as RTC clock source. - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) LSE (low-speed external), 32 KHz oscillator used as RTC clock source. - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) PLL (clocked by HSI, HSI48 or HSE), featuring different output clocks: - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The first output is used to generate the high speed system clock (up to 48 MHz) - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The second output is used to generate the clock for the USB FS (48 MHz) - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The third output may be used to generate the clock for the TIM, I2C and USART - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** peripherals (up to 48 MHz) - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) CSS (Clock security system), once enable using the macro __HAL_RCC_CSS_ENABLE() - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** and if a HSE clock failure occurs(HSE used directly or through PLL as System - ARM GAS /tmp/ccxndioT.s page 4 - - - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** clock source), the System clocks automatically switched to HSI and an interrupt - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** is generated if enabled. The interrupt is linked to the Cortex-M0 NMI - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (Non-Maskable Interrupt) exception vector. - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) MCO (microcontroller clock output), used to output SYSCLK, HSI, HSE, LSI, LSE or PLL - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** clock (divided by 2) output on pin (such as PA8 pin). - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] System, AHB and APB buses clocks configuration - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) Several clock sources can be used to drive the System clock (SYSCLK): HSI, - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HSE and PLL. - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** The AHB clock (HCLK) is derived from System clock through configurable - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prescaler and used to clock the CPU, memory and peripherals mapped - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** on AHB bus (DMA, GPIO...). APB1 (PCLK1) clock is derived - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** from AHB clock through configurable prescalers and used to clock - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the peripherals mapped on these buses. You can use - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** "@ref HAL_RCC_GetSysClockFreq()" function to retrieve the frequencies of these clocks. - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) All the peripheral clocks are derived from the System clock (SYSCLK) except: - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The FLASH program/erase clock which is always HSI 8MHz clock. - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The USB 48 MHz clock which is derived from the PLL VCO clock. - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The USART clock which can be derived as well from HSI 8MHz, LSI or LSE. - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The I2C clock which can be derived as well from HSI 8MHz clock. - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The ADC clock which is derived from PLL output. - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The RTC clock which is derived from the LSE, LSI or 1 MHz HSE_RTC - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HSE divided by a programmable prescaler). The System clock (SYSCLK) - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** frequency must be higher or equal to the RTC clock frequency. - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) IWDG clock which is always the LSI clock. - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) For the STM32F0xx devices, the maximum frequency of the SYSCLK, HCLK and PCLK1 is 48 MHz, - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** Depending on the SYSCLK frequency, the flash latency should be adapted accordingly. - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) After reset, the System clock source is the HSI (8 MHz) with 0 WS and - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prefetch is disabled. - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endverbatim - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** Additional consideration on the SYSCLK based on Latency settings: - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** +-----------------------------------------------+ - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** | Latency | SYSCLK clock frequency (MHz) | - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |---------------|-------------------------------| - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |0WS(1CPU cycle)| 0 < SYSCLK <= 24 | - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |---------------|-------------------------------| - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |1WS(2CPU cycle)| 24 < SYSCLK <= 48 | - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** +-----------------------------------------------+ - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Resets the RCC clock configuration to the default reset state. - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The default reset state of the clock configuration is given below: - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - HSI ON and used as system clock source - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - HSE and PLL OFF - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - AHB, APB1 prescaler set to 1. - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - CSS and MCO1 OFF - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - All interrupts disabled - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - All interrupt and reset flags cleared - ARM GAS /tmp/ccxndioT.s page 5 - - - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note This function does not modify the configuration of the - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - Peripheral clocks - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - LSI, LSE and RTC clocks - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HAL status - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_DeInit(void) - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 26 .loc 1 211 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 0000 70B5 push {r4, r5, r6, lr} - 31 .LCFI0: - 32 .cfi_def_cfa_offset 16 - 33 .cfi_offset 4, -16 - 34 .cfi_offset 5, -12 - 35 .cfi_offset 6, -8 - 36 .cfi_offset 14, -4 - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart; - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick*/ - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 37 .loc 1 215 0 - 38 0002 FFF7FEFF bl HAL_GetTick - 39 .LVL0: - 40 0006 0400 movs r4, r0 - 41 .LVL1: - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set HSION bit, HSITRIM[4:0] bits to the reset value*/ - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_HSION | RCC_CR_HSITRIM_4); - 42 .loc 1 218 0 - 43 0008 284A ldr r2, .L17 - 44 000a 1368 ldr r3, [r2] - 45 000c 8121 movs r1, #129 - 46 000e 0B43 orrs r3, r1 - 47 0010 1360 str r3, [r2] - 48 .LVL2: - 49 .L2: - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */ - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSIRDY) == RESET) - 50 .loc 1 221 0 - 51 0012 264B ldr r3, .L17 - 52 0014 1B68 ldr r3, [r3] - 53 0016 9B07 lsls r3, r3, #30 - 54 0018 07D4 bmi .L13 - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) - 55 .loc 1 223 0 - 56 001a FFF7FEFF bl HAL_GetTick - 57 .LVL3: - 58 001e 001B subs r0, r0, r4 - 59 0020 0228 cmp r0, #2 - 60 0022 F6D9 bls .L2 - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 61 .loc 1 225 0 - ARM GAS /tmp/ccxndioT.s page 6 - - - 62 0024 0324 movs r4, #3 - 63 .LVL4: - 64 .L3: - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset SW[1:0], HPRE[3:0], PPRE[2:0] and MCOSEL[2:0] bits */ - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CFGR, RCC_CFGR_SW | RCC_CFGR_HPRE | RCC_CFGR_PPRE | RCC_CFGR_MCO); - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI as SYSCLK status is enabled */ - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while (READ_BIT(RCC->CFGR, RCC_CFGR_SWS) != RESET) - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Update the SystemCoreClock global variable for HSI as system clock source */ - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SystemCoreClock = HSI_VALUE; - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adapt Systick interrupt period */ - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if (HAL_InitTick(uwTickPrio) != HAL_OK) - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset HSEON, CSSON, PLLON bits */ - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_PLLON | RCC_CR_CSSON | RCC_CR_HSEON); - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset HSEBYP bit */ - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get start tick */ - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLLRDY is cleared */ - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(READ_BIT(RCC->CR, RCC_CR_PLLRDY) != RESET) - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset CFGR register */ - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR); - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset CFGR2 register */ - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR2); - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset CFGR3 register */ - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR3); - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable all interrupts */ - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CIR); - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - ARM GAS /tmp/ccxndioT.s page 7 - - - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Clear all reset flags */ - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_CLEAR_RESET_FLAGS(); - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_OK; - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 65 .loc 1 284 0 - 66 0026 2000 movs r0, r4 - 67 @ sp needed - 68 0028 70BD pop {r4, r5, r6, pc} - 69 .LVL5: - 70 .L13: - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 71 .loc 1 230 0 - 72 002a 204A ldr r2, .L17 - 73 002c 5368 ldr r3, [r2, #4] - 74 002e 2049 ldr r1, .L17+4 - 75 0030 0B40 ands r3, r1 - 76 0032 5360 str r3, [r2, #4] - 77 .L5: - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 78 .loc 1 233 0 - 79 0034 1D4B ldr r3, .L17 - 80 0036 5B68 ldr r3, [r3, #4] - 81 0038 0C22 movs r2, #12 - 82 003a 1A42 tst r2, r3 - 83 003c 07D0 beq .L14 - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 84 .loc 1 235 0 - 85 003e FFF7FEFF bl HAL_GetTick - 86 .LVL6: - 87 0042 001B subs r0, r0, r4 - 88 0044 1B4B ldr r3, .L17+8 - 89 0046 9842 cmp r0, r3 - 90 0048 F4D9 bls .L5 - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 91 .loc 1 237 0 - 92 004a 0324 movs r4, #3 - 93 .LVL7: - 94 004c EBE7 b .L3 - 95 .LVL8: - 96 .L14: - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 97 .loc 1 242 0 - 98 004e 1A4B ldr r3, .L17+12 - 99 0050 1A4A ldr r2, .L17+16 - 100 0052 1A60 str r2, [r3] - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 101 .loc 1 245 0 - 102 0054 1A4B ldr r3, .L17+20 - 103 0056 1868 ldr r0, [r3] - 104 0058 FFF7FEFF bl HAL_InitTick - 105 .LVL9: - 106 005c 041E subs r4, r0, #0 - 107 .LVL10: - 108 005e 01D0 beq .L15 - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 109 .loc 1 247 0 - ARM GAS /tmp/ccxndioT.s page 8 - - - 110 0060 0124 movs r4, #1 - 111 0062 E0E7 b .L3 - 112 .L15: - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 113 .loc 1 251 0 - 114 0064 114B ldr r3, .L17 - 115 0066 1A68 ldr r2, [r3] - 116 0068 1649 ldr r1, .L17+24 - 117 006a 0A40 ands r2, r1 - 118 006c 1A60 str r2, [r3] - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 119 .loc 1 254 0 - 120 006e 1A68 ldr r2, [r3] - 121 0070 1549 ldr r1, .L17+28 - 122 0072 0A40 ands r2, r1 - 123 0074 1A60 str r2, [r3] - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 124 .loc 1 257 0 - 125 0076 FFF7FEFF bl HAL_GetTick - 126 .LVL11: - 127 007a 0500 movs r5, r0 - 128 .LVL12: - 129 .L7: - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 130 .loc 1 260 0 - 131 007c 0B4B ldr r3, .L17 - 132 007e 1B68 ldr r3, [r3] - 133 0080 9B01 lsls r3, r3, #6 - 134 0082 06D5 bpl .L16 - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 135 .loc 1 262 0 - 136 0084 FFF7FEFF bl HAL_GetTick - 137 .LVL13: - 138 0088 401B subs r0, r0, r5 - 139 008a 0228 cmp r0, #2 - 140 008c F6D9 bls .L7 - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 141 .loc 1 264 0 - 142 008e 0324 movs r4, #3 - 143 0090 C9E7 b .L3 - 144 .L16: - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 145 .loc 1 269 0 - 146 0092 064B ldr r3, .L17 - 147 0094 0022 movs r2, #0 - 148 0096 5A60 str r2, [r3, #4] - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 149 .loc 1 272 0 - 150 0098 DA62 str r2, [r3, #44] - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 151 .loc 1 275 0 - 152 009a 1A63 str r2, [r3, #48] - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 153 .loc 1 278 0 - 154 009c 9A60 str r2, [r3, #8] - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 155 .loc 1 281 0 - ARM GAS /tmp/ccxndioT.s page 9 - - - 156 009e 596A ldr r1, [r3, #36] - 157 00a0 8022 movs r2, #128 - 158 00a2 5204 lsls r2, r2, #17 - 159 00a4 0A43 orrs r2, r1 - 160 00a6 5A62 str r2, [r3, #36] - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 161 .loc 1 283 0 - 162 00a8 BDE7 b .L3 - 163 .L18: - 164 00aa C046 .align 2 - 165 .L17: - 166 00ac 00100240 .word 1073876992 - 167 00b0 0CF8FFF0 .word -251660276 - 168 00b4 88130000 .word 5000 - 169 00b8 00000000 .word SystemCoreClock - 170 00bc 00127A00 .word 8000000 - 171 00c0 00000000 .word uwTickPrio - 172 00c4 FFFFF6FE .word -17367041 - 173 00c8 FFFFFBFF .word -262145 - 174 .cfi_endproc - 175 .LFE40: - 177 .section .text.HAL_RCC_OscConfig,"ax",%progbits - 178 .align 1 - 179 .global HAL_RCC_OscConfig - 180 .syntax unified - 181 .code 16 - 182 .thumb_func - 183 .fpu softvfp - 185 HAL_RCC_OscConfig: - 186 .LFB41: - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Initializes the RCC Oscillators according to the specified parameters in the - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * RCC_OscInitTypeDef. - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * contains the configuration information for the RCC Oscillators. - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The PLL is not disabled when used as system clock. - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * supported by this macro. User should request a transition to LSE Off - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * first and then LSE On or LSE Bypass. - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * supported by this macro. User should request a transition to HSE Off - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * first and then HSE On or HSE Bypass. - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HAL status - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 187 .loc 1 301 0 - 188 .cfi_startproc - 189 @ args = 0, pretend = 0, frame = 8 - 190 @ frame_needed = 0, uses_anonymous_args = 0 - 191 .LVL14: - 192 0000 70B5 push {r4, r5, r6, lr} - 193 .LCFI1: - 194 .cfi_def_cfa_offset 16 - 195 .cfi_offset 4, -16 - 196 .cfi_offset 5, -12 - ARM GAS /tmp/ccxndioT.s page 10 - - - 197 .cfi_offset 6, -8 - 198 .cfi_offset 14, -4 - 199 0002 82B0 sub sp, sp, #8 - 200 .LCFI2: - 201 .cfi_def_cfa_offset 24 - 202 0004 041E subs r4, r0, #0 - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart; - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t pll_config; - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t pll_config2; - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check Null pointer */ - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct == NULL) - 203 .loc 1 307 0 - 204 0006 00D1 bne .LCB169 - 205 0008 85E2 b .L86 @long jump - 206 .LCB169: - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------------- HSE Configuration ------------------------*/ - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) - 207 .loc 1 316 0 - 208 000a 0368 ldr r3, [r0] - 209 000c DB07 lsls r3, r3, #31 - 210 000e 2BD5 bpl .L21 - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* When the HSE is used as system clock or clock source for PLL in these cases it is not allowe - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE) - 211 .loc 1 322 0 - 212 0010 B34B ldr r3, .L131 - 213 0012 5A68 ldr r2, [r3, #4] - 214 0014 0C23 movs r3, #12 - 215 0016 1340 ands r3, r2 - 216 0018 042B cmp r3, #4 - 217 001a 1DD0 beq .L22 - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_ - 218 .loc 1 323 0 - 219 001c B04B ldr r3, .L131 - 220 001e 5A68 ldr r2, [r3, #4] - 221 0020 0C23 movs r3, #12 - 222 0022 1340 ands r3, r2 - 223 0024 082B cmp r3, #8 - 224 0026 0ED0 beq .L112 - 225 .L23: - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_ - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - ARM GAS /tmp/ccxndioT.s page 11 - - - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the new HSE configuration ---------------------------------------*/ - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); - 226 .loc 1 333 0 - 227 0028 6368 ldr r3, [r4, #4] - 228 002a 012B cmp r3, #1 - 229 002c 41D0 beq .L113 - 230 .loc 1 333 0 is_stmt 0 discriminator 2 - 231 002e 002B cmp r3, #0 - 232 0030 56D1 bne .L26 - 233 .loc 1 333 0 discriminator 3 - 234 0032 AB4B ldr r3, .L131 - 235 0034 1A68 ldr r2, [r3] - 236 0036 AB49 ldr r1, .L131+4 - 237 0038 0A40 ands r2, r1 - 238 003a 1A60 str r2, [r3] - 239 003c 1A68 ldr r2, [r3] - 240 003e AA49 ldr r1, .L131+8 - 241 0040 0A40 ands r2, r1 - 242 0042 1A60 str r2, [r3] - 243 0044 3BE0 b .L25 - 244 .L112: - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_ - 245 .loc 1 323 0 is_stmt 1 discriminator 1 - 246 0046 A64B ldr r3, .L131 - 247 0048 5B68 ldr r3, [r3, #4] - 248 004a C022 movs r2, #192 - 249 004c 5202 lsls r2, r2, #9 - 250 004e 1340 ands r3, r2 - 251 0050 8022 movs r2, #128 - 252 0052 5202 lsls r2, r2, #9 - 253 0054 9342 cmp r3, r2 - 254 0056 E7D1 bne .L23 - 255 .L22: - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 256 .loc 1 325 0 - 257 0058 A14B ldr r3, .L131 - 258 005a 1B68 ldr r3, [r3] - 259 005c 9B03 lsls r3, r3, #14 - 260 005e 03D5 bpl .L21 - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 261 .loc 1 325 0 is_stmt 0 discriminator 1 - 262 0060 6368 ldr r3, [r4, #4] - 263 0062 002B cmp r3, #0 - 264 0064 00D1 bne .LCB227 - 265 0066 59E2 b .L114 @long jump - 266 .LCB227: - 267 .LVL15: - 268 .L21: - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSE State */ - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF) - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - ARM GAS /tmp/ccxndioT.s page 12 - - - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSE is ready */ - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSE is disabled */ - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*----------------------------- HSI Configuration --------------------------*/ - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) - 269 .loc 1 368 0 is_stmt 1 - 270 0068 2368 ldr r3, [r4] - 271 006a 9B07 lsls r3, r3, #30 - 272 006c 78D5 bpl .L33 - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock * - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI) - 273 .loc 1 375 0 - 274 006e 9C4B ldr r3, .L131 - 275 0070 5B68 ldr r3, [r3, #4] - 276 0072 0C22 movs r2, #12 - 277 0074 1A42 tst r2, r3 - 278 0076 62D0 beq .L34 - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_ - 279 .loc 1 376 0 - 280 0078 994B ldr r3, .L131 - 281 007a 5A68 ldr r2, [r3, #4] - 282 007c 0C23 movs r3, #12 - 283 007e 1340 ands r3, r2 - 284 0080 082B cmp r3, #8 - 285 0082 53D0 beq .L115 - 286 .L35: - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* When HSI is used as system clock it will not disabled */ - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ - ARM GAS /tmp/ccxndioT.s page 13 - - - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Otherwise, just the calibration is allowed */ - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI State */ - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSIState != RCC_HSI_OFF) - 287 .loc 1 393 0 - 288 0084 E368 ldr r3, [r4, #12] - 289 0086 002B cmp r3, #0 - 290 0088 00D1 bne .LCB252 - 291 008a 8BE0 b .L37 @long jump - 292 .LCB252: - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI). */ - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_ENABLE(); - 293 .loc 1 396 0 - 294 008c 944A ldr r2, .L131 - 295 008e 1368 ldr r3, [r2] - 296 0090 0121 movs r1, #1 - 297 0092 0B43 orrs r3, r1 - 298 0094 1360 str r3, [r2] - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 299 .loc 1 399 0 - 300 0096 FFF7FEFF bl HAL_GetTick - 301 .LVL16: - 302 009a 0500 movs r5, r0 - 303 .LVL17: - 304 .L38: - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */ - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 305 .loc 1 402 0 - 306 009c 904B ldr r3, .L131 - 307 009e 1B68 ldr r3, [r3] - 308 00a0 9B07 lsls r3, r3, #30 - 309 00a2 76D4 bmi .L116 - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) - 310 .loc 1 404 0 - 311 00a4 FFF7FEFF bl HAL_GetTick - 312 .LVL18: - 313 00a8 401B subs r0, r0, r5 - 314 00aa 0228 cmp r0, #2 - 315 00ac F6D9 bls .L38 - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 316 .loc 1 406 0 - ARM GAS /tmp/ccxndioT.s page 14 - - - 317 00ae 0320 movs r0, #3 - 318 00b0 32E2 b .L20 - 319 .LVL19: - 320 .L113: - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 321 .loc 1 333 0 discriminator 1 - 322 00b2 8B4A ldr r2, .L131 - 323 00b4 1168 ldr r1, [r2] - 324 00b6 8023 movs r3, #128 - 325 00b8 5B02 lsls r3, r3, #9 - 326 00ba 0B43 orrs r3, r1 - 327 00bc 1360 str r3, [r2] - 328 .L25: - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 329 .loc 1 337 0 - 330 00be 6368 ldr r3, [r4, #4] - 331 00c0 002B cmp r3, #0 - 332 00c2 25D0 beq .L28 - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 333 .loc 1 340 0 - 334 00c4 FFF7FEFF bl HAL_GetTick - 335 .LVL20: - 336 00c8 0500 movs r5, r0 - 337 .LVL21: - 338 .L29: - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 339 .loc 1 343 0 - 340 00ca 854B ldr r3, .L131 - 341 00cc 1B68 ldr r3, [r3] - 342 00ce 9B03 lsls r3, r3, #14 - 343 00d0 CAD4 bmi .L21 - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 344 .loc 1 345 0 - 345 00d2 FFF7FEFF bl HAL_GetTick - 346 .LVL22: - 347 00d6 401B subs r0, r0, r5 - 348 00d8 6428 cmp r0, #100 - 349 00da F6D9 bls .L29 - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 350 .loc 1 347 0 - 351 00dc 0320 movs r0, #3 - 352 00de 1BE2 b .L20 - 353 .LVL23: - 354 .L26: - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 355 .loc 1 333 0 discriminator 4 - 356 00e0 052B cmp r3, #5 - 357 00e2 09D0 beq .L117 - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 358 .loc 1 333 0 is_stmt 0 discriminator 6 - 359 00e4 7E4B ldr r3, .L131 - 360 00e6 1A68 ldr r2, [r3] - 361 00e8 7E49 ldr r1, .L131+4 - 362 00ea 0A40 ands r2, r1 - 363 00ec 1A60 str r2, [r3] - 364 00ee 1A68 ldr r2, [r3] - 365 00f0 7D49 ldr r1, .L131+8 - ARM GAS /tmp/ccxndioT.s page 15 - - - 366 00f2 0A40 ands r2, r1 - 367 00f4 1A60 str r2, [r3] - 368 00f6 E2E7 b .L25 - 369 .L117: - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 370 .loc 1 333 0 discriminator 5 - 371 00f8 794B ldr r3, .L131 - 372 00fa 1968 ldr r1, [r3] - 373 00fc 8022 movs r2, #128 - 374 00fe D202 lsls r2, r2, #11 - 375 0100 0A43 orrs r2, r1 - 376 0102 1A60 str r2, [r3] - 377 0104 1968 ldr r1, [r3] - 378 0106 8022 movs r2, #128 - 379 0108 5202 lsls r2, r2, #9 - 380 010a 0A43 orrs r2, r1 - 381 010c 1A60 str r2, [r3] - 382 010e D6E7 b .L25 - 383 .L28: - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 384 .loc 1 354 0 is_stmt 1 - 385 0110 FFF7FEFF bl HAL_GetTick - 386 .LVL24: - 387 0114 0500 movs r5, r0 - 388 .LVL25: - 389 .L31: - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 390 .loc 1 357 0 - 391 0116 724B ldr r3, .L131 - 392 0118 1B68 ldr r3, [r3] - 393 011a 9B03 lsls r3, r3, #14 - 394 011c A4D5 bpl .L21 - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 395 .loc 1 359 0 - 396 011e FFF7FEFF bl HAL_GetTick - 397 .LVL26: - 398 0122 401B subs r0, r0, r5 - 399 0124 6428 cmp r0, #100 - 400 0126 F6D9 bls .L31 - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 401 .loc 1 361 0 - 402 0128 0320 movs r0, #3 - 403 012a F5E1 b .L20 - 404 .LVL27: - 405 .L115: - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 406 .loc 1 376 0 discriminator 1 - 407 012c 6C4B ldr r3, .L131 - 408 012e 5B68 ldr r3, [r3, #4] - 409 0130 C022 movs r2, #192 - 410 0132 5202 lsls r2, r2, #9 - 411 0134 1340 ands r3, r2 - 412 0136 8022 movs r2, #128 - 413 0138 1202 lsls r2, r2, #8 - 414 013a 9342 cmp r3, r2 - 415 013c A2D1 bne .L35 - 416 .L34: - ARM GAS /tmp/ccxndioT.s page 16 - - - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 417 .loc 1 379 0 - 418 013e 684B ldr r3, .L131 - 419 0140 1B68 ldr r3, [r3] - 420 0142 9B07 lsls r3, r3, #30 - 421 0144 04D5 bpl .L36 - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 422 .loc 1 379 0 is_stmt 0 discriminator 1 - 423 0146 E368 ldr r3, [r4, #12] - 424 0148 012B cmp r3, #1 - 425 014a 01D0 beq .L36 - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 426 .loc 1 381 0 is_stmt 1 - 427 014c 0120 movs r0, #1 - 428 014e E3E1 b .L20 - 429 .L36: - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 430 .loc 1 387 0 - 431 0150 6349 ldr r1, .L131 - 432 0152 0B68 ldr r3, [r1] - 433 0154 F822 movs r2, #248 - 434 0156 9343 bics r3, r2 - 435 0158 2269 ldr r2, [r4, #16] - 436 015a D200 lsls r2, r2, #3 - 437 015c 1343 orrs r3, r2 - 438 015e 0B60 str r3, [r1] - 439 .L33: - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */ - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_DISABLE(); - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is disabled */ - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------------ LSI Configuration -------------------------*/ - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) - 440 .loc 1 433 0 - 441 0160 2368 ldr r3, [r4] - 442 0162 1B07 lsls r3, r3, #28 - ARM GAS /tmp/ccxndioT.s page 17 - - - 443 0164 44D5 bpl .L42 - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSI State */ - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->LSIState != RCC_LSI_OFF) - 444 .loc 1 439 0 - 445 0166 E369 ldr r3, [r4, #28] - 446 0168 002B cmp r3, #0 - 447 016a 2ED0 beq .L43 - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal Low Speed oscillator (LSI). */ - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_LSI_ENABLE(); - 448 .loc 1 442 0 - 449 016c 5C4A ldr r2, .L131 - 450 016e 536A ldr r3, [r2, #36] - 451 0170 0121 movs r1, #1 - 452 0172 0B43 orrs r3, r1 - 453 0174 5362 str r3, [r2, #36] - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 454 .loc 1 445 0 - 455 0176 FFF7FEFF bl HAL_GetTick - 456 .LVL28: - 457 017a 0500 movs r5, r0 - 458 .LVL29: - 459 .L44: - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSI is ready */ - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) - 460 .loc 1 448 0 - 461 017c 584B ldr r3, .L131 - 462 017e 5B6A ldr r3, [r3, #36] - 463 0180 9B07 lsls r3, r3, #30 - 464 0182 35D4 bmi .L42 - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) - 465 .loc 1 450 0 - 466 0184 FFF7FEFF bl HAL_GetTick - 467 .LVL30: - 468 0188 401B subs r0, r0, r5 - 469 018a 0228 cmp r0, #2 - 470 018c F6D9 bls .L44 - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 471 .loc 1 452 0 - 472 018e 0320 movs r0, #3 - 473 0190 C2E1 b .L20 - 474 .L116: - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 475 .loc 1 411 0 - 476 0192 5349 ldr r1, .L131 - 477 0194 0B68 ldr r3, [r1] - 478 0196 F822 movs r2, #248 - 479 0198 9343 bics r3, r2 - ARM GAS /tmp/ccxndioT.s page 18 - - - 480 019a 2269 ldr r2, [r4, #16] - 481 019c D200 lsls r2, r2, #3 - 482 019e 1343 orrs r3, r2 - 483 01a0 0B60 str r3, [r1] - 484 01a2 DDE7 b .L33 - 485 .LVL31: - 486 .L37: - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 487 .loc 1 416 0 - 488 01a4 4E4A ldr r2, .L131 - 489 01a6 1368 ldr r3, [r2] - 490 01a8 0121 movs r1, #1 - 491 01aa 8B43 bics r3, r1 - 492 01ac 1360 str r3, [r2] - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 493 .loc 1 419 0 - 494 01ae FFF7FEFF bl HAL_GetTick - 495 .LVL32: - 496 01b2 0500 movs r5, r0 - 497 .LVL33: - 498 .L40: - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 499 .loc 1 422 0 - 500 01b4 4A4B ldr r3, .L131 - 501 01b6 1B68 ldr r3, [r3] - 502 01b8 9B07 lsls r3, r3, #30 - 503 01ba D1D5 bpl .L33 - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 504 .loc 1 424 0 - 505 01bc FFF7FEFF bl HAL_GetTick - 506 .LVL34: - 507 01c0 401B subs r0, r0, r5 - 508 01c2 0228 cmp r0, #2 - 509 01c4 F6D9 bls .L40 - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 510 .loc 1 426 0 - 511 01c6 0320 movs r0, #3 - 512 01c8 A6E1 b .L20 - 513 .LVL35: - 514 .L43: - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal Low Speed oscillator (LSI). */ - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_LSI_DISABLE(); - 515 .loc 1 459 0 - 516 01ca 454A ldr r2, .L131 - 517 01cc 536A ldr r3, [r2, #36] - 518 01ce 0121 movs r1, #1 - 519 01d0 8B43 bics r3, r1 - 520 01d2 5362 str r3, [r2, #36] - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 521 .loc 1 462 0 - ARM GAS /tmp/ccxndioT.s page 19 - - - 522 01d4 FFF7FEFF bl HAL_GetTick - 523 .LVL36: - 524 01d8 0500 movs r5, r0 - 525 .LVL37: - 526 .L46: - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSI is disabled */ - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) - 527 .loc 1 465 0 - 528 01da 414B ldr r3, .L131 - 529 01dc 5B6A ldr r3, [r3, #36] - 530 01de 9B07 lsls r3, r3, #30 - 531 01e0 06D5 bpl .L42 - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) - 532 .loc 1 467 0 - 533 01e2 FFF7FEFF bl HAL_GetTick - 534 .LVL38: - 535 01e6 401B subs r0, r0, r5 - 536 01e8 0228 cmp r0, #2 - 537 01ea F6D9 bls .L46 - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 538 .loc 1 469 0 - 539 01ec 0320 movs r0, #3 - 540 01ee 93E1 b .L20 - 541 .LVL39: - 542 .L42: - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------------ LSE Configuration -------------------------*/ - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) - 543 .loc 1 475 0 - 544 01f0 2368 ldr r3, [r4] - 545 01f2 5B07 lsls r3, r3, #29 - 546 01f4 00D4 bmi .LCB535 - 547 01f6 7FE0 b .L48 @long jump - 548 .LCB535: - 549 .LVL40: - 550 .LBB2: - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** FlagStatus pwrclkchanged = RESET; - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Update LSE configuration in Backup Domain control register */ - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Requires to enable write access to Backup Domain of necessary */ - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_PWR_IS_CLK_DISABLED()) - 551 .loc 1 484 0 - 552 01f8 394B ldr r3, .L131 - 553 01fa DB69 ldr r3, [r3, #28] - 554 01fc DB00 lsls r3, r3, #3 - 555 01fe 1DD4 bmi .L95 - 556 .LBB3: - ARM GAS /tmp/ccxndioT.s page 20 - - - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_ENABLE(); - 557 .loc 1 486 0 - 558 0200 374A ldr r2, .L131 - 559 0202 D169 ldr r1, [r2, #28] - 560 0204 8020 movs r0, #128 - 561 0206 4005 lsls r0, r0, #21 - 562 0208 0143 orrs r1, r0 - 563 020a D161 str r1, [r2, #28] - 564 020c D369 ldr r3, [r2, #28] - 565 020e 0340 ands r3, r0 - 566 0210 0193 str r3, [sp, #4] - 567 0212 019B ldr r3, [sp, #4] - 568 .LVL41: - 569 .LBE3: - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pwrclkchanged = SET; - 570 .loc 1 487 0 - 571 0214 0125 movs r5, #1 - 572 .LVL42: - 573 .L49: - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) - 574 .loc 1 490 0 - 575 0216 354B ldr r3, .L131+12 - 576 0218 1B68 ldr r3, [r3] - 577 021a DB05 lsls r3, r3, #23 - 578 021c 10D5 bpl .L118 - 579 .L50: - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable write access to Backup domain */ - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SET_BIT(PWR->CR, PWR_CR_DBP); - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait for Backup domain Write protection disable */ - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the new LSE configuration -----------------------------------------*/ - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); - 580 .loc 1 508 0 - 581 021e A368 ldr r3, [r4, #8] - 582 0220 012B cmp r3, #1 - 583 0222 21D0 beq .L119 - 584 .loc 1 508 0 is_stmt 0 discriminator 2 - 585 0224 002B cmp r3, #0 - 586 0226 36D1 bne .L55 - 587 .loc 1 508 0 discriminator 3 - 588 0228 2D4B ldr r3, .L131 - 589 022a 1A6A ldr r2, [r3, #32] - ARM GAS /tmp/ccxndioT.s page 21 - - - 590 022c 0121 movs r1, #1 - 591 022e 8A43 bics r2, r1 - 592 0230 1A62 str r2, [r3, #32] - 593 0232 1A6A ldr r2, [r3, #32] - 594 0234 0331 adds r1, r1, #3 - 595 0236 8A43 bics r2, r1 - 596 0238 1A62 str r2, [r3, #32] - 597 023a 1AE0 b .L54 - 598 .LVL43: - 599 .L95: - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 600 .loc 1 477 0 is_stmt 1 - 601 023c 0025 movs r5, #0 - 602 023e EAE7 b .L49 - 603 .LVL44: - 604 .L118: - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 605 .loc 1 493 0 - 606 0240 2A4A ldr r2, .L131+12 - 607 0242 1168 ldr r1, [r2] - 608 0244 8023 movs r3, #128 - 609 0246 5B00 lsls r3, r3, #1 - 610 0248 0B43 orrs r3, r1 - 611 024a 1360 str r3, [r2] - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 612 .loc 1 496 0 - 613 024c FFF7FEFF bl HAL_GetTick - 614 .LVL45: - 615 0250 0600 movs r6, r0 - 616 .LVL46: - 617 .L51: - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 618 .loc 1 498 0 - 619 0252 264B ldr r3, .L131+12 - 620 0254 1B68 ldr r3, [r3] - 621 0256 DB05 lsls r3, r3, #23 - 622 0258 E1D4 bmi .L50 - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 623 .loc 1 500 0 - 624 025a FFF7FEFF bl HAL_GetTick - 625 .LVL47: - 626 025e 801B subs r0, r0, r6 - 627 0260 6428 cmp r0, #100 - 628 0262 F6D9 bls .L51 - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 629 .loc 1 502 0 - 630 0264 0320 movs r0, #3 - 631 0266 57E1 b .L20 - 632 .LVL48: - 633 .L119: - 634 .loc 1 508 0 discriminator 1 - 635 0268 1D4A ldr r2, .L131 - 636 026a 136A ldr r3, [r2, #32] - 637 026c 0121 movs r1, #1 - 638 026e 0B43 orrs r3, r1 - 639 0270 1362 str r3, [r2, #32] - 640 .L54: - ARM GAS /tmp/ccxndioT.s page 22 - - - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */ - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->LSEState != RCC_LSE_OFF) - 641 .loc 1 510 0 - 642 0272 A368 ldr r3, [r4, #8] - 643 0274 002B cmp r3, #0 - 644 0276 24D0 beq .L57 - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 645 .loc 1 513 0 - 646 0278 FFF7FEFF bl HAL_GetTick - 647 .LVL49: - 648 027c 0600 movs r6, r0 - 649 .LVL50: - 650 .L58: - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSE is ready */ - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 651 .loc 1 516 0 - 652 027e 184B ldr r3, .L131 - 653 0280 1B6A ldr r3, [r3, #32] - 654 0282 9B07 lsls r3, r3, #30 - 655 0284 36D4 bmi .L60 - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) - 656 .loc 1 518 0 - 657 0286 FFF7FEFF bl HAL_GetTick - 658 .LVL51: - 659 028a 801B subs r0, r0, r6 - 660 028c 184B ldr r3, .L131+16 - 661 028e 9842 cmp r0, r3 - 662 0290 F5D9 bls .L58 - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 663 .loc 1 520 0 - 664 0292 0320 movs r0, #3 - 665 0294 40E1 b .L20 - 666 .LVL52: - 667 .L55: - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */ - 668 .loc 1 508 0 discriminator 4 - 669 0296 052B cmp r3, #5 - 670 0298 09D0 beq .L120 - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */ - 671 .loc 1 508 0 is_stmt 0 discriminator 6 - 672 029a 114B ldr r3, .L131 - 673 029c 1A6A ldr r2, [r3, #32] - 674 029e 0121 movs r1, #1 - 675 02a0 8A43 bics r2, r1 - 676 02a2 1A62 str r2, [r3, #32] - 677 02a4 1A6A ldr r2, [r3, #32] - 678 02a6 0331 adds r1, r1, #3 - 679 02a8 8A43 bics r2, r1 - 680 02aa 1A62 str r2, [r3, #32] - 681 02ac E1E7 b .L54 - 682 .L120: - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */ - ARM GAS /tmp/ccxndioT.s page 23 - - - 683 .loc 1 508 0 discriminator 5 - 684 02ae 0C4B ldr r3, .L131 - 685 02b0 1A6A ldr r2, [r3, #32] - 686 02b2 0421 movs r1, #4 - 687 02b4 0A43 orrs r2, r1 - 688 02b6 1A62 str r2, [r3, #32] - 689 02b8 1A6A ldr r2, [r3, #32] - 690 02ba 0339 subs r1, r1, #3 - 691 02bc 0A43 orrs r2, r1 - 692 02be 1A62 str r2, [r3, #32] - 693 02c0 D7E7 b .L54 - 694 .L57: - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 695 .loc 1 527 0 is_stmt 1 - 696 02c2 FFF7FEFF bl HAL_GetTick - 697 .LVL53: - 698 02c6 0600 movs r6, r0 - 699 .LVL54: - 700 .L61: - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSE is disabled */ - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) - 701 .loc 1 530 0 - 702 02c8 054B ldr r3, .L131 - 703 02ca 1B6A ldr r3, [r3, #32] - 704 02cc 9B07 lsls r3, r3, #30 - 705 02ce 11D5 bpl .L60 - 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) - 706 .loc 1 532 0 - 707 02d0 FFF7FEFF bl HAL_GetTick - 708 .LVL55: - 709 02d4 801B subs r0, r0, r6 - 710 02d6 064B ldr r3, .L131+16 - 711 02d8 9842 cmp r0, r3 - 712 02da F5D9 bls .L61 - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 713 .loc 1 534 0 - 714 02dc 0320 movs r0, #3 - 715 02de 1BE1 b .L20 - 716 .L132: - 717 .align 2 - 718 .L131: - 719 02e0 00100240 .word 1073876992 - 720 02e4 FFFFFEFF .word -65537 - 721 02e8 FFFFFBFF .word -262145 - 722 02ec 00700040 .word 1073770496 - 723 02f0 88130000 .word 5000 - 724 .L60: - 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - ARM GAS /tmp/ccxndioT.s page 24 - - - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Require to disable power clock if necessary */ - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(pwrclkchanged == SET) - 725 .loc 1 540 0 - 726 02f4 012D cmp r5, #1 - 727 02f6 3AD0 beq .L121 - 728 .LVL56: - 729 .L48: - 730 .LBE2: - 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE(); - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*----------------------------- HSI14 Configuration --------------------------*/ - 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI14) == RCC_OSCILLATORTYPE_HSI14) - 731 .loc 1 547 0 - 732 02f8 2368 ldr r3, [r4] - 733 02fa DB06 lsls r3, r3, #27 - 734 02fc 10D5 bpl .L63 - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSI14(RCC_OscInitStruct->HSI14State)); - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSI14CalibrationValue)); - 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI14 State */ - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSI14State == RCC_HSI14_ON) - 735 .loc 1 554 0 - 736 02fe 6369 ldr r3, [r4, #20] - 737 0300 012B cmp r3, #1 - 738 0302 3AD0 beq .L122 - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable ADC control of the Internal High Speed oscillator HSI14 */ - 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14ADC_DISABLE(); - 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI). */ - 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_ENABLE(); - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */ - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI14RDY) == RESET) - 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI14_TIMEOUT_VALUE) - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator 14Mhz (HSI14) calibration value. */ - 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSI14CalibrationValue); - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if(RCC_OscInitStruct->HSI14State == RCC_HSI14_ADC_CONTROL) - 739 .loc 1 577 0 - ARM GAS /tmp/ccxndioT.s page 25 - - - 740 0304 0533 adds r3, r3, #5 - 741 0306 58D1 bne .L67 - 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable ADC control of the Internal High Speed oscillator HSI14 */ - 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14ADC_ENABLE(); - 742 .loc 1 580 0 - 743 0308 884A ldr r2, .L133 - 744 030a 536B ldr r3, [r2, #52] - 745 030c 0421 movs r1, #4 - 746 030e 8B43 bics r3, r1 - 747 0310 5363 str r3, [r2, #52] - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator 14Mhz (HSI14) calibration value. */ - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSI14CalibrationValue); - 748 .loc 1 583 0 - 749 0312 536B ldr r3, [r2, #52] - 750 0314 F431 adds r1, r1, #244 - 751 0316 8B43 bics r3, r1 - 752 0318 A169 ldr r1, [r4, #24] - 753 031a C900 lsls r1, r1, #3 - 754 031c 0B43 orrs r3, r1 - 755 031e 5363 str r3, [r2, #52] - 756 .L63: - 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable ADC control of the Internal High Speed oscillator HSI14 */ - 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14ADC_DISABLE(); - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */ - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_DISABLE(); - 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */ - 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI14RDY) != RESET) - 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI14_TIMEOUT_VALUE) - 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT) - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*----------------------------- HSI48 Configuration --------------------------*/ - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48) - 757 .loc 1 609 0 - 758 0320 2368 ldr r3, [r4] - 759 0322 9B06 lsls r3, r3, #26 - 760 0324 00D4 bmi .LCB765 - 761 0326 82E0 b .L70 @long jump - 762 .LCB765: - 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - ARM GAS /tmp/ccxndioT.s page 26 - - - 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSI48(RCC_OscInitStruct->HSI48State)); - 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* When the HSI48 is used as system clock it is not allowed to be disabled */ - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI48) || - 763 .loc 1 615 0 - 764 0328 804B ldr r3, .L133 - 765 032a 5A68 ldr r2, [r3, #4] - 766 032c 0C23 movs r3, #12 - 767 032e 1340 ands r3, r2 - 768 0330 0C2B cmp r3, #12 - 769 0332 60D0 beq .L71 - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_OSC - 770 .loc 1 616 0 discriminator 1 - 771 0334 7D4B ldr r3, .L133 - 772 0336 5A68 ldr r2, [r3, #4] - 773 0338 0C23 movs r3, #12 - 774 033a 1340 ands r3, r2 - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_OSC - 775 .loc 1 615 0 discriminator 1 - 776 033c 082B cmp r3, #8 - 777 033e 53D0 beq .L123 - 778 .L72: - 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) != RESET) && (RCC_OscInitStruct->HSI48State != RCC_ - 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI48 State */ - 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSI48State != RCC_HSI48_OFF) - 779 .loc 1 626 0 - 780 0340 236A ldr r3, [r4, #32] - 781 0342 002B cmp r3, #0 - 782 0344 60D0 beq .L73 - 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI48). */ - 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI48_ENABLE(); - 783 .loc 1 629 0 - 784 0346 794A ldr r2, .L133 - 785 0348 516B ldr r1, [r2, #52] - 786 034a 8023 movs r3, #128 - 787 034c 5B02 lsls r3, r3, #9 - 788 034e 0B43 orrs r3, r1 - 789 0350 5363 str r3, [r2, #52] - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 790 .loc 1 632 0 - 791 0352 FFF7FEFF bl HAL_GetTick - 792 .LVL57: - 793 0356 0500 movs r5, r0 - 794 .LVL58: - 795 .L74: - 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI48 is ready */ - ARM GAS /tmp/ccxndioT.s page 27 - - - 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) == RESET) - 796 .loc 1 635 0 - 797 0358 744B ldr r3, .L133 - 798 035a 5B6B ldr r3, [r3, #52] - 799 035c DB03 lsls r3, r3, #15 - 800 035e 66D4 bmi .L70 - 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) - 801 .loc 1 637 0 - 802 0360 FFF7FEFF bl HAL_GetTick - 803 .LVL59: - 804 0364 401B subs r0, r0, r5 - 805 0366 0228 cmp r0, #2 - 806 0368 F6D9 bls .L74 - 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 807 .loc 1 639 0 - 808 036a 0320 movs r0, #3 - 809 036c D4E0 b .L20 - 810 .LVL60: - 811 .L121: - 812 .LBB4: - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 813 .loc 1 542 0 - 814 036e 6F4A ldr r2, .L133 - 815 0370 D369 ldr r3, [r2, #28] - 816 0372 6F49 ldr r1, .L133+4 - 817 0374 0B40 ands r3, r1 - 818 0376 D361 str r3, [r2, #28] - 819 0378 BEE7 b .L48 - 820 .LVL61: - 821 .L122: - 822 .LBE4: - 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 823 .loc 1 557 0 - 824 037a 6C4B ldr r3, .L133 - 825 037c 5A6B ldr r2, [r3, #52] - 826 037e 0421 movs r1, #4 - 827 0380 0A43 orrs r2, r1 - 828 0382 5A63 str r2, [r3, #52] - 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 829 .loc 1 560 0 - 830 0384 5A6B ldr r2, [r3, #52] - 831 0386 0339 subs r1, r1, #3 - 832 0388 0A43 orrs r2, r1 - 833 038a 5A63 str r2, [r3, #52] - 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 834 .loc 1 563 0 - 835 038c FFF7FEFF bl HAL_GetTick - 836 .LVL62: - 837 0390 0500 movs r5, r0 - 838 .LVL63: - 839 .L65: - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 840 .loc 1 566 0 - 841 0392 664B ldr r3, .L133 - 842 0394 5B6B ldr r3, [r3, #52] - ARM GAS /tmp/ccxndioT.s page 28 - - - 843 0396 9B07 lsls r3, r3, #30 - 844 0398 06D4 bmi .L124 - 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 845 .loc 1 568 0 - 846 039a FFF7FEFF bl HAL_GetTick - 847 .LVL64: - 848 039e 401B subs r0, r0, r5 - 849 03a0 0228 cmp r0, #2 - 850 03a2 F6D9 bls .L65 - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 851 .loc 1 570 0 - 852 03a4 0320 movs r0, #3 - 853 03a6 B7E0 b .L20 - 854 .L124: - 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 855 .loc 1 575 0 - 856 03a8 6049 ldr r1, .L133 - 857 03aa 4B6B ldr r3, [r1, #52] - 858 03ac F822 movs r2, #248 - 859 03ae 9343 bics r3, r2 - 860 03b0 A269 ldr r2, [r4, #24] - 861 03b2 D200 lsls r2, r2, #3 - 862 03b4 1343 orrs r3, r2 - 863 03b6 4B63 str r3, [r1, #52] - 864 03b8 B2E7 b .L63 - 865 .LVL65: - 866 .L67: - 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 867 .loc 1 588 0 - 868 03ba 5C4B ldr r3, .L133 - 869 03bc 5A6B ldr r2, [r3, #52] - 870 03be 0421 movs r1, #4 - 871 03c0 0A43 orrs r2, r1 - 872 03c2 5A63 str r2, [r3, #52] - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 873 .loc 1 591 0 - 874 03c4 5A6B ldr r2, [r3, #52] - 875 03c6 0339 subs r1, r1, #3 - 876 03c8 8A43 bics r2, r1 - 877 03ca 5A63 str r2, [r3, #52] - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 878 .loc 1 594 0 - 879 03cc FFF7FEFF bl HAL_GetTick - 880 .LVL66: - 881 03d0 0500 movs r5, r0 - 882 .LVL67: - 883 .L68: - 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 884 .loc 1 597 0 - 885 03d2 564B ldr r3, .L133 - 886 03d4 5B6B ldr r3, [r3, #52] - 887 03d6 9B07 lsls r3, r3, #30 - 888 03d8 A2D5 bpl .L63 - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 889 .loc 1 599 0 - 890 03da FFF7FEFF bl HAL_GetTick - 891 .LVL68: - ARM GAS /tmp/ccxndioT.s page 29 - - - 892 03de 401B subs r0, r0, r5 - 893 03e0 0228 cmp r0, #2 - 894 03e2 F6D9 bls .L68 - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 895 .loc 1 601 0 - 896 03e4 0320 movs r0, #3 - 897 03e6 97E0 b .L20 - 898 .LVL69: - 899 .L123: - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 900 .loc 1 616 0 - 901 03e8 504B ldr r3, .L133 - 902 03ea 5B68 ldr r3, [r3, #4] - 903 03ec C022 movs r2, #192 - 904 03ee 5202 lsls r2, r2, #9 - 905 03f0 1340 ands r3, r2 - 906 03f2 9342 cmp r3, r2 - 907 03f4 A4D1 bne .L72 - 908 .L71: - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 909 .loc 1 618 0 - 910 03f6 4D4B ldr r3, .L133 - 911 03f8 5B6B ldr r3, [r3, #52] - 912 03fa DB03 lsls r3, r3, #15 - 913 03fc 17D5 bpl .L70 - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 914 .loc 1 618 0 is_stmt 0 discriminator 1 - 915 03fe 236A ldr r3, [r4, #32] - 916 0400 012B cmp r3, #1 - 917 0402 14D0 beq .L70 - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 918 .loc 1 620 0 is_stmt 1 - 919 0404 0120 movs r0, #1 - 920 0406 87E0 b .L20 - 921 .L73: - 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI48). */ - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI48_DISABLE(); - 922 .loc 1 646 0 - 923 0408 484A ldr r2, .L133 - 924 040a 536B ldr r3, [r2, #52] - 925 040c 4949 ldr r1, .L133+8 - 926 040e 0B40 ands r3, r1 - 927 0410 5363 str r3, [r2, #52] - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 928 .loc 1 649 0 - 929 0412 FFF7FEFF bl HAL_GetTick - 930 .LVL70: - 931 0416 0500 movs r5, r0 - 932 .LVL71: - 933 .L76: - ARM GAS /tmp/ccxndioT.s page 30 - - - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI48 is ready */ - 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) != RESET) - 934 .loc 1 652 0 - 935 0418 444B ldr r3, .L133 - 936 041a 5B6B ldr r3, [r3, #52] - 937 041c DB03 lsls r3, r3, #15 - 938 041e 06D5 bpl .L70 - 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) - 939 .loc 1 654 0 - 940 0420 FFF7FEFF bl HAL_GetTick - 941 .LVL72: - 942 0424 401B subs r0, r0, r5 - 943 0426 0228 cmp r0, #2 - 944 0428 F6D9 bls .L76 - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 945 .loc 1 656 0 - 946 042a 0320 movs r0, #3 - 947 042c 74E0 b .L20 - 948 .LVL73: - 949 .L70: - 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ - 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*-------------------------------- PLL Configuration -----------------------*/ - 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) - 950 .loc 1 667 0 - 951 042e 636A ldr r3, [r4, #36] - 952 0430 002B cmp r3, #0 - 953 0432 00D1 bne .LCB967 - 954 0434 74E0 b .L104 @long jump - 955 .LCB967: - 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check if the PLL is used as system clock or not */ - 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) - 956 .loc 1 670 0 - 957 0436 3D4A ldr r2, .L133 - 958 0438 5168 ldr r1, [r2, #4] - 959 043a 0C22 movs r2, #12 - 960 043c 0A40 ands r2, r1 - 961 043e 082A cmp r2, #8 - 962 0440 4DD0 beq .L78 - 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) - 963 .loc 1 672 0 - 964 0442 022B cmp r3, #2 - 965 0444 12D0 beq .L125 - 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - ARM GAS /tmp/ccxndioT.s page 31 - - - 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource)); - 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PLL_MUL(RCC_OscInitStruct->PLL.PLLMUL)); - 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PREDIV(RCC_OscInitStruct->PLL.PREDIV)); - 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the main PLL. */ - 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); - 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLL is disabled */ - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the main PLL clock source, predivider and multiplication factor. */ - 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, - 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PREDIV, - 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL); - 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the main PLL. */ - 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_ENABLE(); - 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLL is ready */ - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the main PLL. */ - 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); - 966 .loc 1 716 0 - 967 0446 394A ldr r2, .L133 - 968 0448 1368 ldr r3, [r2] - 969 044a 3B49 ldr r1, .L133+12 - 970 044c 0B40 ands r3, r1 - 971 044e 1360 str r3, [r2] - 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 972 .loc 1 719 0 - 973 0450 FFF7FEFF bl HAL_GetTick - 974 .LVL74: - 975 0454 0400 movs r4, r0 - 976 .LVL75: - 977 .L84: - ARM GAS /tmp/ccxndioT.s page 32 - - - 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLL is disabled */ - 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 978 .loc 1 722 0 - 979 0456 354B ldr r3, .L133 - 980 0458 1B68 ldr r3, [r3] - 981 045a 9B01 lsls r3, r3, #6 - 982 045c 3DD5 bpl .L126 - 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 983 .loc 1 724 0 - 984 045e FFF7FEFF bl HAL_GetTick - 985 .LVL76: - 986 0462 001B subs r0, r0, r4 - 987 0464 0228 cmp r0, #2 - 988 0466 F6D9 bls .L84 - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 989 .loc 1 726 0 - 990 0468 0320 movs r0, #3 - 991 046a 55E0 b .L20 - 992 .LVL77: - 993 .L125: - 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 994 .loc 1 680 0 - 995 046c 2F4A ldr r2, .L133 - 996 046e 1368 ldr r3, [r2] - 997 0470 3149 ldr r1, .L133+12 - 998 0472 0B40 ands r3, r1 - 999 0474 1360 str r3, [r2] - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1000 .loc 1 683 0 - 1001 0476 FFF7FEFF bl HAL_GetTick - 1002 .LVL78: - 1003 047a 0500 movs r5, r0 - 1004 .LVL79: - 1005 .L80: - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1006 .loc 1 686 0 - 1007 047c 2B4B ldr r3, .L133 - 1008 047e 1B68 ldr r3, [r3] - 1009 0480 9B01 lsls r3, r3, #6 - 1010 0482 06D5 bpl .L127 - 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1011 .loc 1 688 0 - 1012 0484 FFF7FEFF bl HAL_GetTick - 1013 .LVL80: - 1014 0488 401B subs r0, r0, r5 - 1015 048a 0228 cmp r0, #2 - 1016 048c F6D9 bls .L80 - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1017 .loc 1 690 0 - 1018 048e 0320 movs r0, #3 - 1019 0490 42E0 b .L20 - 1020 .L127: - 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PREDIV, - 1021 .loc 1 695 0 - ARM GAS /tmp/ccxndioT.s page 33 - - - 1022 0492 264B ldr r3, .L133 - 1023 0494 DA6A ldr r2, [r3, #44] - 1024 0496 0F21 movs r1, #15 - 1025 0498 8A43 bics r2, r1 - 1026 049a 216B ldr r1, [r4, #48] - 1027 049c 0A43 orrs r2, r1 - 1028 049e DA62 str r2, [r3, #44] - 1029 04a0 5A68 ldr r2, [r3, #4] - 1030 04a2 2649 ldr r1, .L133+16 - 1031 04a4 0A40 ands r2, r1 - 1032 04a6 E16A ldr r1, [r4, #44] - 1033 04a8 A06A ldr r0, [r4, #40] - 1034 04aa 0143 orrs r1, r0 - 1035 04ac 0A43 orrs r2, r1 - 1036 04ae 5A60 str r2, [r3, #4] - 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1037 .loc 1 699 0 - 1038 04b0 1968 ldr r1, [r3] - 1039 04b2 8022 movs r2, #128 - 1040 04b4 5204 lsls r2, r2, #17 - 1041 04b6 0A43 orrs r2, r1 - 1042 04b8 1A60 str r2, [r3] - 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1043 .loc 1 702 0 - 1044 04ba FFF7FEFF bl HAL_GetTick - 1045 .LVL81: - 1046 04be 0400 movs r4, r0 - 1047 .LVL82: - 1048 .L82: - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1049 .loc 1 705 0 - 1050 04c0 1A4B ldr r3, .L133 - 1051 04c2 1B68 ldr r3, [r3] - 1052 04c4 9B01 lsls r3, r3, #6 - 1053 04c6 06D4 bmi .L128 - 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1054 .loc 1 707 0 - 1055 04c8 FFF7FEFF bl HAL_GetTick - 1056 .LVL83: - 1057 04cc 001B subs r0, r0, r4 - 1058 04ce 0228 cmp r0, #2 - 1059 04d0 F6D9 bls .L82 - 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1060 .loc 1 709 0 - 1061 04d2 0320 movs r0, #3 - 1062 04d4 20E0 b .L20 - 1063 .L128: - 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check if there is a request to disable the PLL used as System clock source */ - 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) - 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - ARM GAS /tmp/ccxndioT.s page 34 - - - 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Do not return HAL_ERROR if request repeats the current configuration */ - 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pll_config = RCC->CFGR; - 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pll_config2 = RCC->CFGR2; - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((READ_BIT(pll_config, RCC_CFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config2, RCC_CFGR2_PREDIV) != RCC_OscInitStruct->PLL.PREDIV) || - 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMUL) != RCC_OscInitStruct->PLL.PLLMUL)) - 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_OK; - 1064 .loc 1 753 0 - 1065 04d6 0020 movs r0, #0 - 1066 04d8 1EE0 b .L20 - 1067 .L126: - 1068 04da 0020 movs r0, #0 - 1069 04dc 1CE0 b .L20 - 1070 .LVL84: - 1071 .L78: - 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1072 .loc 1 734 0 - 1073 04de 012B cmp r3, #1 - 1074 04e0 20D0 beq .L108 - 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pll_config2 = RCC->CFGR2; - 1075 .loc 1 741 0 - 1076 04e2 124B ldr r3, .L133 - 1077 04e4 5A68 ldr r2, [r3, #4] - 1078 .LVL85: - 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((READ_BIT(pll_config, RCC_CFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || - 1079 .loc 1 742 0 - 1080 04e6 D96A ldr r1, [r3, #44] - 1081 .LVL86: - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config2, RCC_CFGR2_PREDIV) != RCC_OscInitStruct->PLL.PREDIV) || - 1082 .loc 1 743 0 - 1083 04e8 C023 movs r3, #192 - 1084 04ea 5B02 lsls r3, r3, #9 - 1085 04ec 1340 ands r3, r2 - 1086 04ee A06A ldr r0, [r4, #40] - 1087 04f0 8342 cmp r3, r0 - 1088 04f2 01D0 beq .L129 - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1089 .loc 1 747 0 - 1090 04f4 0120 movs r0, #1 - 1091 04f6 0FE0 b .L20 - 1092 .L129: - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMUL) != RCC_OscInitStruct->PLL.PLLMUL)) - 1093 .loc 1 744 0 discriminator 1 - 1094 04f8 0F23 movs r3, #15 - 1095 04fa 0B40 ands r3, r1 - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config2, RCC_CFGR2_PREDIV) != RCC_OscInitStruct->PLL.PREDIV) || - 1096 .loc 1 743 0 discriminator 1 - ARM GAS /tmp/ccxndioT.s page 35 - - - 1097 04fc 216B ldr r1, [r4, #48] - 1098 .LVL87: - 1099 04fe 8B42 cmp r3, r1 - 1100 0500 01D0 beq .L130 - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1101 .loc 1 747 0 - 1102 0502 0120 movs r0, #1 - 1103 0504 08E0 b .L20 - 1104 .L130: - 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1105 .loc 1 745 0 - 1106 0506 F023 movs r3, #240 - 1107 0508 9B03 lsls r3, r3, #14 - 1108 050a 1A40 ands r2, r3 - 1109 .LVL88: - 1110 050c E36A ldr r3, [r4, #44] - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMUL) != RCC_OscInitStruct->PLL.PLLMUL)) - 1111 .loc 1 744 0 - 1112 050e 9A42 cmp r2, r3 - 1113 0510 0AD0 beq .L111 - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1114 .loc 1 747 0 - 1115 0512 0120 movs r0, #1 - 1116 0514 00E0 b .L20 - 1117 .LVL89: - 1118 .L86: - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1119 .loc 1 309 0 - 1120 0516 0120 movs r0, #1 - 1121 .LVL90: - 1122 .L20: - 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1123 .loc 1 754 0 - 1124 0518 02B0 add sp, sp, #8 - 1125 @ sp needed - 1126 051a 70BD pop {r4, r5, r6, pc} - 1127 .LVL91: - 1128 .L114: - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1129 .loc 1 327 0 - 1130 051c 0120 movs r0, #1 - 1131 .LVL92: - 1132 051e FBE7 b .L20 - 1133 .L104: - 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1134 .loc 1 753 0 - 1135 0520 0020 movs r0, #0 - 1136 0522 F9E7 b .L20 - 1137 .L108: - 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1138 .loc 1 736 0 - 1139 0524 0120 movs r0, #1 - 1140 0526 F7E7 b .L20 - 1141 .L111: - 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1142 .loc 1 753 0 - 1143 0528 0020 movs r0, #0 - ARM GAS /tmp/ccxndioT.s page 36 - - - 1144 052a F5E7 b .L20 - 1145 .L134: - 1146 .align 2 - 1147 .L133: - 1148 052c 00100240 .word 1073876992 - 1149 0530 FFFFFFEF .word -268435457 - 1150 0534 FFFFFEFF .word -65537 - 1151 0538 FFFFFFFE .word -16777217 - 1152 053c FF7FC2FF .word -4030465 - 1153 .cfi_endproc - 1154 .LFE41: - 1156 .section .text.HAL_RCC_MCOConfig,"ax",%progbits - 1157 .align 1 - 1158 .global HAL_RCC_MCOConfig - 1159 .syntax unified - 1160 .code 16 - 1161 .thumb_func - 1162 .fpu softvfp - 1164 HAL_RCC_MCOConfig: - 1165 .LFB43: - 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Initializes the CPU, AHB and APB buses clocks according to the specified - 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * parameters in the RCC_ClkInitStruct. - 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that - 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * contains the configuration information for the RCC peripheral. - 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param FLatency FLASH Latency - 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * The value of this parameter depend on device used within the same series - 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency - 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * and updated by @ref HAL_RCC_GetHCLKFreq() function called within this function - 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The HSI is used (enabled by hardware) as system clock source after - 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * start-up from Reset, wake-up from STOP and STANDBY mode, or in case - 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * of failure of the HSE used directly or indirectly as system clock - 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * (if the Clock Security System CSS is enabled). - 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note A switch from one clock source to another occurs only if the target - 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * clock source is ready (clock stable after start-up delay or PLL locked). - 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * If a clock source which is not yet ready is selected, the switch will - 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * occur when the clock source will be ready. - 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * You can use @ref HAL_RCC_GetClockConfig() function to know which clock is - 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * currently used as system clock source. - 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HAL status - 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) - 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart; - 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check Null pointer */ - 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_ClkInitStruct == NULL) - 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ - 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType)); - 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); - ARM GAS /tmp/ccxndioT.s page 37 - - - 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY) - 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock - 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HCLK) of the device. */ - 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Increasing the number of wait states because of higher CPU frequency */ - 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(FLatency > __HAL_FLASH_GET_LATENCY()) - 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ - 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); - 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash - 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ - 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_FLASH_GET_LATENCY() != FLatency) - 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*-------------------------- HCLK Configuration --------------------------*/ - 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) - 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the highest APB divider in order to ensure that we do not go through - 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** a non-spec phase whatever we decrease or increase HCLK. */ - 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) - 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE, RCC_HCLK_DIV16); - 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the new HCLK clock divider */ - 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); - 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); - 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------- SYSCLK Configuration ---------------------------*/ - 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) - 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); - 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSE is selected as System Clock Source */ - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) - 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSE ready flag */ - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* PLL is selected as System Clock Source */ - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) - 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the PLL ready flag */ - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - ARM GAS /tmp/ccxndioT.s page 38 - - - 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_SWS_HSI48) - 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI48 is selected as System Clock Source */ - 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSI48) - 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI48 ready flag */ - 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) == RESET) - 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_CFGR_SWS_HSI48 */ - 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI is selected as System Clock Source */ - 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else - 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI ready flag */ - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); - 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */ - 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick(); - 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) - 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) - 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT; - 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Decreasing the number of wait states because of lower CPU frequency */ - 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(FLatency < __HAL_FLASH_GET_LATENCY()) - 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ - 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); - 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash - 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ - 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_FLASH_GET_LATENCY() != FLatency) - 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR; - 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*-------------------------- PCLK1 Configuration ---------------------------*/ - 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) - 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); - 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE, RCC_ClkInitStruct->APB1CLKDivider); - 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ - 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CF - ARM GAS /tmp/ccxndioT.s page 39 - - - 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings*/ - 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_InitTick (TICK_INT_PRIORITY); - 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_OK; - 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @} - 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group2 Peripheral Control functions - 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC clocks control functions - 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @verbatim - 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** =============================================================================== - 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### Peripheral Control functions ##### - 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** =============================================================================== - 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] - 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** This subsection provides a set of functions allowing to control the RCC Clocks - 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** frequencies. - 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endverbatim - 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{ - 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_MCOPRE) - 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Selects the clock source to output on MCO pin. - 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note MCO pin should be configured in alternate function mode. - 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source. - 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values: - 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1 Clock source to output on MCO1 pin(PA8). - 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output. - 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values: - 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK No clock selected - 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK System Clock selected as MCO clock - 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI selected as MCO clock - 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE selected as MCO clock - 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSI LSI selected as MCO clock - 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSE LSE selected as MCO clock - 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI14 HSI14 selected as MCO clock - 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @if STM32F042x6 - 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock - 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F048xx - 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock - 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F071xB - 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock - 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F072xB - 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock - 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F078xx - 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock - 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - ARM GAS /tmp/ccxndioT.s page 40 - - - 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F091xC - 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock - 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F098xx - 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock - 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F030x6 - 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F030xC - 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F031x6 - 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F038xx - 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F070x6 - 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F070xB - 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock - 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endif - 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK_DIV2 PLLCLK Divided by 2 selected as MCO clock - 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO DIV. - 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values: - 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock - 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_2 division by 2 applied to MCO clock - 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_4 division by 4 applied to MCO clock - 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_8 division by 8 applied to MCO clock - 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_16 division by 16 applied to MCO clock - 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_32 division by 32 applied to MCO clock - 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_64 division by 64 applied to MCO clock - 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_128 division by 128 applied to MCO clock - 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None - 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ - 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #else - 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** - 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Selects the clock source to output on MCO pin. - 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note MCO pin should be configured in alternate function mode. - 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source. -1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values: -1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1 Clock source to output on MCO1 pin(PA8). -1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output. -1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values: -1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK No clock selected as MCO clock -1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK System clock selected as MCO clock -1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI selected as MCO clock -1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE selected as MCO clock -1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSI LSI selected as MCO clock -1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSE LSE selected as MCO clock -1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI14 HSI14 selected as MCO clock -1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK_DIV2 PLLCLK Divided by 2 selected as MCO clock -1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO DIV. -1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values: -1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock -1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None -1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif -1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv) -1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - ARM GAS /tmp/ccxndioT.s page 41 - - - 1166 .loc 1 1019 0 - 1167 .cfi_startproc - 1168 @ args = 0, pretend = 0, frame = 24 - 1169 @ frame_needed = 0, uses_anonymous_args = 0 - 1170 .LVL93: - 1171 0000 70B5 push {r4, r5, r6, lr} - 1172 .LCFI3: - 1173 .cfi_def_cfa_offset 16 - 1174 .cfi_offset 4, -16 - 1175 .cfi_offset 5, -12 - 1176 .cfi_offset 6, -8 - 1177 .cfi_offset 14, -4 - 1178 0002 86B0 sub sp, sp, #24 - 1179 .LCFI4: - 1180 .cfi_def_cfa_offset 40 - 1181 0004 0D00 movs r5, r1 - 1182 0006 1600 movs r6, r2 -1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** GPIO_InitTypeDef gpio; -1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ -1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCOx)); -1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv)); -1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); -1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the MCO1 pin in alternate function mode */ -1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Mode = GPIO_MODE_AF_PP; - 1183 .loc 1 1028 0 - 1184 0008 0223 movs r3, #2 - 1185 000a 0293 str r3, [sp, #8] -1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Speed = GPIO_SPEED_FREQ_HIGH; - 1186 .loc 1 1029 0 - 1187 000c 0133 adds r3, r3, #1 - 1188 000e 0493 str r3, [sp, #16] -1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Pull = GPIO_NOPULL; - 1189 .loc 1 1030 0 - 1190 0010 0023 movs r3, #0 - 1191 0012 0393 str r3, [sp, #12] -1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Pin = MCO1_PIN; - 1192 .loc 1 1031 0 - 1193 0014 8022 movs r2, #128 - 1194 .LVL94: - 1195 0016 5200 lsls r2, r2, #1 - 1196 0018 0192 str r2, [sp, #4] -1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF0_MCO; - 1197 .loc 1 1032 0 - 1198 001a 0593 str r3, [sp, #20] - 1199 .LBB5: -1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* MCO1 Clock Enable */ -1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MCO1_CLK_ENABLE(); - 1200 .loc 1 1035 0 - 1201 001c 0B4C ldr r4, .L136 - 1202 001e 6269 ldr r2, [r4, #20] - 1203 0020 8021 movs r1, #128 - 1204 .LVL95: - 1205 0022 8902 lsls r1, r1, #10 - 1206 0024 0A43 orrs r2, r1 - ARM GAS /tmp/ccxndioT.s page 42 - - - 1207 0026 6261 str r2, [r4, #20] - 1208 0028 6369 ldr r3, [r4, #20] - 1209 002a 0B40 ands r3, r1 - 1210 002c 0093 str r3, [sp] - 1211 002e 009B ldr r3, [sp] - 1212 .LBE5: -1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_GPIO_Init(MCO1_GPIO_PORT, &gpio); - 1213 .loc 1 1037 0 - 1214 0030 9020 movs r0, #144 - 1215 .LVL96: - 1216 0032 01A9 add r1, sp, #4 - 1217 0034 C005 lsls r0, r0, #23 - 1218 0036 FFF7FEFF bl HAL_GPIO_Init - 1219 .LVL97: -1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the MCO clock source */ -1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_MCO1_CONFIG(RCC_MCOSource, RCC_MCODiv); - 1220 .loc 1 1040 0 - 1221 003a 6268 ldr r2, [r4, #4] - 1222 003c 044B ldr r3, .L136+4 - 1223 003e 1A40 ands r2, r3 - 1224 0040 3543 orrs r5, r6 - 1225 .LVL98: - 1226 0042 2A43 orrs r2, r5 - 1227 0044 6260 str r2, [r4, #4] -1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1228 .loc 1 1041 0 - 1229 0046 06B0 add sp, sp, #24 - 1230 @ sp needed - 1231 .LVL99: - 1232 0048 70BD pop {r4, r5, r6, pc} - 1233 .L137: - 1234 004a C046 .align 2 - 1235 .L136: - 1236 004c 00100240 .word 1073876992 - 1237 0050 FFFFFF80 .word -2130706433 - 1238 .cfi_endproc - 1239 .LFE43: - 1241 .section .text.HAL_RCC_EnableCSS,"ax",%progbits - 1242 .align 1 - 1243 .global HAL_RCC_EnableCSS - 1244 .syntax unified - 1245 .code 16 - 1246 .thumb_func - 1247 .fpu softvfp - 1249 HAL_RCC_EnableCSS: - 1250 .LFB44: -1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Enables the Clock Security System. -1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If a failure is detected on the HSE oscillator clock, this oscillator -1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * is automatically disabled and an interrupt is generated to inform the -1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * software about the failure (Clock Security System Interrupt, CSSI), -1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * allowing the MCU to perform rescue operations. The CSSI is linked to -1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * the Cortex-M0 NMI (Non-Maskable Interrupt) exception vector. -1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None - ARM GAS /tmp/ccxndioT.s page 43 - - -1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_EnableCSS(void) -1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1251 .loc 1 1053 0 - 1252 .cfi_startproc - 1253 @ args = 0, pretend = 0, frame = 0 - 1254 @ frame_needed = 0, uses_anonymous_args = 0 - 1255 @ link register save eliminated. -1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ; - 1256 .loc 1 1054 0 - 1257 0000 034A ldr r2, .L139 - 1258 0002 1168 ldr r1, [r2] - 1259 0004 8023 movs r3, #128 - 1260 0006 1B03 lsls r3, r3, #12 - 1261 0008 0B43 orrs r3, r1 - 1262 000a 1360 str r3, [r2] -1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1263 .loc 1 1055 0 - 1264 @ sp needed - 1265 000c 7047 bx lr - 1266 .L140: - 1267 000e C046 .align 2 - 1268 .L139: - 1269 0010 00100240 .word 1073876992 - 1270 .cfi_endproc - 1271 .LFE44: - 1273 .section .text.HAL_RCC_DisableCSS,"ax",%progbits - 1274 .align 1 - 1275 .global HAL_RCC_DisableCSS - 1276 .syntax unified - 1277 .code 16 - 1278 .thumb_func - 1279 .fpu softvfp - 1281 HAL_RCC_DisableCSS: - 1282 .LFB45: -1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Disables the Clock Security System. -1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None -1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_DisableCSS(void) -1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1283 .loc 1 1062 0 - 1284 .cfi_startproc - 1285 @ args = 0, pretend = 0, frame = 0 - 1286 @ frame_needed = 0, uses_anonymous_args = 0 - 1287 @ link register save eliminated. -1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_CSSON) ; - 1288 .loc 1 1063 0 - 1289 0000 024A ldr r2, .L142 - 1290 0002 1368 ldr r3, [r2] - 1291 0004 0249 ldr r1, .L142+4 - 1292 0006 0B40 ands r3, r1 - 1293 0008 1360 str r3, [r2] -1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1294 .loc 1 1064 0 - 1295 @ sp needed - ARM GAS /tmp/ccxndioT.s page 44 - - - 1296 000a 7047 bx lr - 1297 .L143: - 1298 .align 2 - 1299 .L142: - 1300 000c 00100240 .word 1073876992 - 1301 0010 FFFFF7FF .word -524289 - 1302 .cfi_endproc - 1303 .LFE45: - 1305 .global __aeabi_uidiv - 1306 .section .text.HAL_RCC_GetSysClockFreq,"ax",%progbits - 1307 .align 1 - 1308 .global HAL_RCC_GetSysClockFreq - 1309 .syntax unified - 1310 .code 16 - 1311 .thumb_func - 1312 .fpu softvfp - 1314 HAL_RCC_GetSysClockFreq: - 1315 .LFB46: -1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Returns the SYSCLK frequency -1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The system frequency computed by this function is not the real -1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * frequency in the chip. It is calculated based on the predefined -1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * constant and the selected clock source: -1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(*) -1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If SYSCLK source is HSE, function returns a value based on HSE_VALUE -1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * divided by PREDIV factor(**) -1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If SYSCLK source is PLL, function returns a value based on HSE_VALUE -1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * divided by PREDIV factor(**) or depending on STM32F0xxxx devices either a value based -1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * on HSI_VALUE divided by 2 or HSI_VALUE divided by PREDIV factor(*) multiplied by the -1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * PLL factor. -1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note (*) HSI_VALUE is a constant defined in stm32f0xx_hal_conf.h file (default value -1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * 8 MHz) but the real value may vary depending on the variations -1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * in voltage and temperature. -1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note (**) HSE_VALUE is a constant defined in stm32f0xx_hal_conf.h file (default value -1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real -1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * frequency of the crystal used. Otherwise, this function may -1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * have wrong result. -1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * -1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The result of this function could be not correct when using fractional -1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * value for HSE crystal. -1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * -1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note This function can be used by the user application to compute the -1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * baud-rate for the communication peripherals or configure other parameters. -1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * -1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Each time SYSCLK changes, this function must be called to update the -1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * right SYSCLK value. Otherwise, any configuration based on this function will be incorre -1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * -1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval SYSCLK frequency -1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t HAL_RCC_GetSysClockFreq(void) -1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1316 .loc 1 1098 0 - 1317 .cfi_startproc - 1318 @ args = 0, pretend = 0, frame = 32 - 1319 @ frame_needed = 0, uses_anonymous_args = 0 - 1320 0000 30B5 push {r4, r5, lr} - ARM GAS /tmp/ccxndioT.s page 45 - - - 1321 .LCFI5: - 1322 .cfi_def_cfa_offset 12 - 1323 .cfi_offset 4, -12 - 1324 .cfi_offset 5, -8 - 1325 .cfi_offset 14, -4 - 1326 0002 89B0 sub sp, sp, #36 - 1327 .LCFI6: - 1328 .cfi_def_cfa_offset 48 -1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** const uint8_t aPLLMULFactorTable[16] = { 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, - 1329 .loc 1 1099 0 - 1330 0004 04AA add r2, sp, #16 - 1331 0006 1F4B ldr r3, .L153 - 1332 0008 1800 movs r0, r3 - 1333 000a 32C8 ldmia r0!, {r1, r4, r5} - 1334 000c 32C2 stmia r2!, {r1, r4, r5} - 1335 000e 1100 movs r1, r2 - 1336 0010 0268 ldr r2, [r0] - 1337 0012 0A60 str r2, [r1] -1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** 10U, 11U, 12U, 13U, 14U, 15U, 16U, 16U}; -1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** const uint8_t aPredivFactorTable[16] = { 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, - 1338 .loc 1 1101 0 - 1339 0014 6A46 mov r2, sp - 1340 0016 1033 adds r3, r3, #16 - 1341 0018 13CB ldmia r3!, {r0, r1, r4} - 1342 001a 13C2 stmia r2!, {r0, r1, r4} - 1343 001c 1B68 ldr r3, [r3] - 1344 001e 1360 str r3, [r2] - 1345 .LVL100: -1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** 9U,10U, 11U, 12U, 13U, 14U, 15U, 16U}; -1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tmpreg = 0U, prediv = 0U, pllclk = 0U, pllmul = 0U; -1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t sysclockfreq = 0U; -1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tmpreg = RCC->CFGR; - 1346 .loc 1 1107 0 - 1347 0020 194B ldr r3, .L153+4 - 1348 0022 5A68 ldr r2, [r3, #4] - 1349 .LVL101: -1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get SYSCLK source -------------------------------------------------------*/ -1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** switch (tmpreg & RCC_CFGR_SWS) - 1350 .loc 1 1110 0 - 1351 0024 0C23 movs r3, #12 - 1352 0026 1340 ands r3, r2 - 1353 0028 082B cmp r3, #8 - 1354 002a 04D0 beq .L146 - 1355 002c 0C2B cmp r3, #12 - 1356 002e 26D0 beq .L150 -1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock */ -1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = HSE_VALUE; - 1357 .loc 1 1114 0 - 1358 0030 1648 ldr r0, .L153+8 - 1359 .LVL102: - 1360 .L144: -1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break; - ARM GAS /tmp/ccxndioT.s page 46 - - -1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_PLLCLK: /* PLL used as system clock */ -1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllmul = aPLLMULFactorTable[(uint32_t)(tmpreg & RCC_CFGR_PLLMUL) >> RCC_CFGR_PLLMUL_BITNUMBER -1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prediv = aPredivFactorTable[(uint32_t)(RCC->CFGR2 & RCC_CFGR2_PREDIV) >> RCC_CFGR2_PREDIV_BIT -1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) == RCC_PLLSOURCE_HSE) -1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSE used as PLL clock source : PLLCLK = HSE/PREDIV * PLLMUL */ -1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) HSE_VALUE / (uint64_t) (prediv)) * ((uint64_t) pllmul); -1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_PLLSRC_HSI48_PREDIV) -1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if ((tmpreg & RCC_CFGR_PLLSRC) == RCC_PLLSOURCE_HSI48) -1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI48 used as PLL clock source : PLLCLK = HSI48/PREDIV * PLLMUL */ -1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) HSI48_VALUE / (uint64_t) (prediv)) * ((uint64_t) pllmul); -1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_CFGR_PLLSRC_HSI48_PREDIV */ -1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else -1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if (defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6) || defined(STM32F071xB) -1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI used as PLL clock source : PLLCLK = HSI/PREDIV * PLLMUL */ -1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) HSI_VALUE / (uint64_t) (prediv)) * ((uint64_t) pllmul); -1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #else -1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI used as PLL clock source : PLLCLK = HSI/2 * PLLMUL */ -1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) (HSI_VALUE >> 1U) * ((uint64_t) pllmul)); -1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif -1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = pllclk; -1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break; -1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_SWS_HSI48) -1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSI48: /* HSI48 used as system clock source */ -1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = HSI48_VALUE; -1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break; -1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_CFGR_SWS_HSI48 */ -1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ -1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** default: /* HSI used as system clock */ -1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = HSI_VALUE; -1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break; -1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return sysclockfreq; -1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1361 .loc 1 1161 0 - 1362 0032 09B0 add sp, sp, #36 - 1363 @ sp needed - 1364 0034 30BD pop {r4, r5, pc} - 1365 .LVL103: - 1366 .L146: -1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prediv = aPredivFactorTable[(uint32_t)(RCC->CFGR2 & RCC_CFGR2_PREDIV) >> RCC_CFGR2_PREDIV_BIT - 1367 .loc 1 1119 0 - 1368 0036 910C lsrs r1, r2, #18 - 1369 0038 0F23 movs r3, #15 - 1370 003a 1940 ands r1, r3 - ARM GAS /tmp/ccxndioT.s page 47 - - - 1371 003c 04A8 add r0, sp, #16 - 1372 003e 445C ldrb r4, [r0, r1] - 1373 .LVL104: -1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) == RCC_PLLSOURCE_HSE) - 1374 .loc 1 1120 0 - 1375 0040 1149 ldr r1, .L153+4 - 1376 0042 C96A ldr r1, [r1, #44] - 1377 0044 0B40 ands r3, r1 - 1378 0046 6946 mov r1, sp - 1379 0048 C95C ldrb r1, [r1, r3] - 1380 .LVL105: -1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1381 .loc 1 1121 0 - 1382 004a C023 movs r3, #192 - 1383 004c 5B02 lsls r3, r3, #9 - 1384 004e 1A40 ands r2, r3 - 1385 .LVL106: - 1386 0050 8023 movs r3, #128 - 1387 0052 5B02 lsls r3, r3, #9 - 1388 0054 9A42 cmp r2, r3 - 1389 0056 08D0 beq .L151 -1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1390 .loc 1 1127 0 - 1391 0058 C023 movs r3, #192 - 1392 005a 5B02 lsls r3, r3, #9 - 1393 005c 9A42 cmp r2, r3 - 1394 005e 09D0 beq .L152 -1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #else - 1395 .loc 1 1137 0 - 1396 0060 0A48 ldr r0, .L153+8 - 1397 0062 FFF7FEFF bl __aeabi_uidiv - 1398 .LVL107: - 1399 0066 6043 muls r0, r4 - 1400 .LVL108: - 1401 0068 E3E7 b .L144 - 1402 .LVL109: - 1403 .L151: -1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1404 .loc 1 1124 0 - 1405 006a 0848 ldr r0, .L153+8 - 1406 006c FFF7FEFF bl __aeabi_uidiv - 1407 .LVL110: - 1408 0070 6043 muls r0, r4 - 1409 .LVL111: - 1410 0072 DEE7 b .L144 - 1411 .LVL112: - 1412 .L152: -1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1413 .loc 1 1130 0 - 1414 0074 0648 ldr r0, .L153+12 - 1415 0076 FFF7FEFF bl __aeabi_uidiv - 1416 .LVL113: - 1417 007a 6043 muls r0, r4 - 1418 .LVL114: - 1419 007c D9E7 b .L144 - 1420 .LVL115: - 1421 .L150: - ARM GAS /tmp/ccxndioT.s page 48 - - -1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break; - 1422 .loc 1 1149 0 - 1423 007e 0448 ldr r0, .L153+12 - 1424 .LVL116: -1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1425 .loc 1 1160 0 - 1426 0080 D7E7 b .L144 - 1427 .L154: - 1428 0082 C046 .align 2 - 1429 .L153: - 1430 0084 00000000 .word .LANCHOR0 - 1431 0088 00100240 .word 1073876992 - 1432 008c 00127A00 .word 8000000 - 1433 0090 006CDC02 .word 48000000 - 1434 .cfi_endproc - 1435 .LFE46: - 1437 .section .text.HAL_RCC_ClockConfig,"ax",%progbits - 1438 .align 1 - 1439 .global HAL_RCC_ClockConfig - 1440 .syntax unified - 1441 .code 16 - 1442 .thumb_func - 1443 .fpu softvfp - 1445 HAL_RCC_ClockConfig: - 1446 .LFB42: - 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart; - 1447 .loc 1 780 0 - 1448 .cfi_startproc - 1449 @ args = 0, pretend = 0, frame = 0 - 1450 @ frame_needed = 0, uses_anonymous_args = 0 - 1451 .LVL117: - 1452 0000 70B5 push {r4, r5, r6, lr} - 1453 .LCFI7: - 1454 .cfi_def_cfa_offset 16 - 1455 .cfi_offset 4, -16 - 1456 .cfi_offset 5, -12 - 1457 .cfi_offset 6, -8 - 1458 .cfi_offset 14, -4 - 1459 0002 0400 movs r4, r0 - 1460 0004 0D00 movs r5, r1 - 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1461 .loc 1 784 0 - 1462 0006 0028 cmp r0, #0 - 1463 0008 00D1 bne .LCB1473 - 1464 000a 89E0 b .L169 @long jump - 1465 .LCB1473: - 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1466 .loc 1 798 0 - 1467 000c 464B ldr r3, .L181 - 1468 000e 1A68 ldr r2, [r3] - 1469 0010 0123 movs r3, #1 - 1470 0012 1340 ands r3, r2 - 1471 0014 8B42 cmp r3, r1 - 1472 0016 0BD2 bcs .L157 - 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1473 .loc 1 801 0 - 1474 0018 4349 ldr r1, .L181 - ARM GAS /tmp/ccxndioT.s page 49 - - - 1475 .LVL118: - 1476 001a 0B68 ldr r3, [r1] - 1477 001c 0122 movs r2, #1 - 1478 001e 9343 bics r3, r2 - 1479 0020 2B43 orrs r3, r5 - 1480 0022 0B60 str r3, [r1] - 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1481 .loc 1 805 0 - 1482 0024 0B68 ldr r3, [r1] - 1483 0026 1A40 ands r2, r3 - 1484 0028 AA42 cmp r2, r5 - 1485 002a 01D0 beq .L157 - 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1486 .loc 1 807 0 - 1487 002c 0120 movs r0, #1 - 1488 .LVL119: - 1489 002e 78E0 b .L156 - 1490 .LVL120: - 1491 .L157: - 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1492 .loc 1 812 0 - 1493 0030 2368 ldr r3, [r4] - 1494 0032 9A07 lsls r2, r3, #30 - 1495 0034 0ED5 bpl .L158 - 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1496 .loc 1 816 0 - 1497 0036 5B07 lsls r3, r3, #29 - 1498 0038 05D5 bpl .L159 - 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1499 .loc 1 818 0 - 1500 003a 3C4A ldr r2, .L181+4 - 1501 003c 5168 ldr r1, [r2, #4] - 1502 003e E023 movs r3, #224 - 1503 0040 DB00 lsls r3, r3, #3 - 1504 0042 0B43 orrs r3, r1 - 1505 0044 5360 str r3, [r2, #4] - 1506 .L159: - 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1507 .loc 1 823 0 - 1508 0046 394A ldr r2, .L181+4 - 1509 0048 5368 ldr r3, [r2, #4] - 1510 004a F021 movs r1, #240 - 1511 004c 8B43 bics r3, r1 - 1512 004e A168 ldr r1, [r4, #8] - 1513 0050 0B43 orrs r3, r1 - 1514 0052 5360 str r3, [r2, #4] - 1515 .L158: - 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1516 .loc 1 827 0 - 1517 0054 2368 ldr r3, [r4] - 1518 0056 DB07 lsls r3, r3, #31 - 1519 0058 35D5 bpl .L160 - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1520 .loc 1 832 0 - 1521 005a 6368 ldr r3, [r4, #4] - 1522 005c 012B cmp r3, #1 - 1523 005e 09D0 beq .L177 - ARM GAS /tmp/ccxndioT.s page 50 - - - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1524 .loc 1 841 0 - 1525 0060 022B cmp r3, #2 - 1526 0062 24D0 beq .L178 - 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1527 .loc 1 851 0 - 1528 0064 032B cmp r3, #3 - 1529 0066 28D0 beq .L179 - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1530 .loc 1 864 0 - 1531 0068 304A ldr r2, .L181+4 - 1532 006a 1268 ldr r2, [r2] - 1533 006c 9207 lsls r2, r2, #30 - 1534 006e 05D4 bmi .L162 - 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1535 .loc 1 866 0 - 1536 0070 0120 movs r0, #1 - 1537 .LVL121: - 1538 0072 56E0 b .L156 - 1539 .LVL122: - 1540 .L177: - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1541 .loc 1 835 0 - 1542 0074 2D4A ldr r2, .L181+4 - 1543 0076 1268 ldr r2, [r2] - 1544 0078 9203 lsls r2, r2, #14 - 1545 007a 53D5 bpl .L180 - 1546 .L162: - 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1547 .loc 1 869 0 - 1548 007c 2B49 ldr r1, .L181+4 - 1549 007e 4A68 ldr r2, [r1, #4] - 1550 0080 0320 movs r0, #3 - 1551 .LVL123: - 1552 0082 8243 bics r2, r0 - 1553 0084 1343 orrs r3, r2 - 1554 0086 4B60 str r3, [r1, #4] - 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1555 .loc 1 872 0 - 1556 0088 FFF7FEFF bl HAL_GetTick - 1557 .LVL124: - 1558 008c 0600 movs r6, r0 - 1559 .LVL125: - 1560 .L165: - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1561 .loc 1 874 0 - 1562 008e 274B ldr r3, .L181+4 - 1563 0090 5B68 ldr r3, [r3, #4] - 1564 0092 0C22 movs r2, #12 - 1565 0094 1A40 ands r2, r3 - 1566 0096 6368 ldr r3, [r4, #4] - 1567 0098 9B00 lsls r3, r3, #2 - 1568 009a 9A42 cmp r2, r3 - 1569 009c 13D0 beq .L160 - 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1570 .loc 1 876 0 - 1571 009e FFF7FEFF bl HAL_GetTick - ARM GAS /tmp/ccxndioT.s page 51 - - - 1572 .LVL126: - 1573 00a2 801B subs r0, r0, r6 - 1574 00a4 224B ldr r3, .L181+8 - 1575 00a6 9842 cmp r0, r3 - 1576 00a8 F1D9 bls .L165 - 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1577 .loc 1 878 0 - 1578 00aa 0320 movs r0, #3 - 1579 00ac 39E0 b .L156 - 1580 .LVL127: - 1581 .L178: - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1582 .loc 1 844 0 - 1583 00ae 1F4A ldr r2, .L181+4 - 1584 00b0 1268 ldr r2, [r2] - 1585 00b2 9201 lsls r2, r2, #6 - 1586 00b4 E2D4 bmi .L162 - 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1587 .loc 1 846 0 - 1588 00b6 0120 movs r0, #1 - 1589 .LVL128: - 1590 00b8 33E0 b .L156 - 1591 .LVL129: - 1592 .L179: - 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1593 .loc 1 854 0 - 1594 00ba 1C4A ldr r2, .L181+4 - 1595 00bc 526B ldr r2, [r2, #52] - 1596 00be D203 lsls r2, r2, #15 - 1597 00c0 DCD4 bmi .L162 - 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1598 .loc 1 856 0 - 1599 00c2 0120 movs r0, #1 - 1600 .LVL130: - 1601 00c4 2DE0 b .L156 - 1602 .L160: - 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1603 .loc 1 884 0 - 1604 00c6 184B ldr r3, .L181 - 1605 00c8 1A68 ldr r2, [r3] - 1606 00ca 0123 movs r3, #1 - 1607 00cc 1340 ands r3, r2 - 1608 00ce AB42 cmp r3, r5 - 1609 00d0 0BD9 bls .L167 - 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1610 .loc 1 887 0 - 1611 00d2 1549 ldr r1, .L181 - 1612 00d4 0B68 ldr r3, [r1] - 1613 00d6 0122 movs r2, #1 - 1614 00d8 9343 bics r3, r2 - 1615 00da 2B43 orrs r3, r5 - 1616 00dc 0B60 str r3, [r1] - 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1617 .loc 1 891 0 - 1618 00de 0B68 ldr r3, [r1] - 1619 00e0 1A40 ands r2, r3 - 1620 00e2 AA42 cmp r2, r5 - ARM GAS /tmp/ccxndioT.s page 52 - - - 1621 00e4 01D0 beq .L167 - 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1622 .loc 1 893 0 - 1623 00e6 0120 movs r0, #1 - 1624 00e8 1BE0 b .L156 - 1625 .L167: - 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1626 .loc 1 898 0 - 1627 00ea 2368 ldr r3, [r4] - 1628 00ec 5B07 lsls r3, r3, #29 - 1629 00ee 06D5 bpl .L168 - 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1630 .loc 1 901 0 - 1631 00f0 0E4A ldr r2, .L181+4 - 1632 00f2 5368 ldr r3, [r2, #4] - 1633 00f4 0F49 ldr r1, .L181+12 - 1634 00f6 0B40 ands r3, r1 - 1635 00f8 E168 ldr r1, [r4, #12] - 1636 00fa 0B43 orrs r3, r1 - 1637 00fc 5360 str r3, [r2, #4] - 1638 .L168: - 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1639 .loc 1 905 0 - 1640 00fe FFF7FEFF bl HAL_RCC_GetSysClockFreq - 1641 .LVL131: - 1642 0102 0A4B ldr r3, .L181+4 - 1643 0104 5A68 ldr r2, [r3, #4] - 1644 0106 1209 lsrs r2, r2, #4 - 1645 0108 0F23 movs r3, #15 - 1646 010a 1340 ands r3, r2 - 1647 010c 0A4A ldr r2, .L181+16 - 1648 010e D35C ldrb r3, [r2, r3] - 1649 0110 D840 lsrs r0, r0, r3 - 1650 0112 0A4B ldr r3, .L181+20 - 1651 0114 1860 str r0, [r3] - 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1652 .loc 1 908 0 - 1653 0116 0020 movs r0, #0 - 1654 0118 FFF7FEFF bl HAL_InitTick - 1655 .LVL132: - 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1656 .loc 1 910 0 - 1657 011c 0020 movs r0, #0 - 1658 011e 00E0 b .L156 - 1659 .LVL133: - 1660 .L169: - 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1661 .loc 1 786 0 - 1662 0120 0120 movs r0, #1 - 1663 .LVL134: - 1664 .L156: - 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 1665 .loc 1 911 0 - 1666 @ sp needed - 1667 .LVL135: - 1668 .LVL136: - 1669 0122 70BD pop {r4, r5, r6, pc} - ARM GAS /tmp/ccxndioT.s page 53 - - - 1670 .LVL137: - 1671 .L180: - 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1672 .loc 1 837 0 - 1673 0124 0120 movs r0, #1 - 1674 .LVL138: - 1675 0126 FCE7 b .L156 - 1676 .L182: - 1677 .align 2 - 1678 .L181: - 1679 0128 00200240 .word 1073881088 - 1680 012c 00100240 .word 1073876992 - 1681 0130 88130000 .word 5000 - 1682 0134 FFF8FFFF .word -1793 - 1683 0138 00000000 .word AHBPrescTable - 1684 013c 00000000 .word SystemCoreClock - 1685 .cfi_endproc - 1686 .LFE42: - 1688 .section .text.HAL_RCC_GetHCLKFreq,"ax",%progbits - 1689 .align 1 - 1690 .global HAL_RCC_GetHCLKFreq - 1691 .syntax unified - 1692 .code 16 - 1693 .thumb_func - 1694 .fpu softvfp - 1696 HAL_RCC_GetHCLKFreq: - 1697 .LFB47: -1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Returns the HCLK frequency -1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Each time HCLK changes, this function must be called to update the -1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * right HCLK value. Otherwise, any configuration based on this function will be incorrect -1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * -1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency -1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * and updated within this function -1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HCLK frequency -1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t HAL_RCC_GetHCLKFreq(void) -1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1698 .loc 1 1173 0 - 1699 .cfi_startproc - 1700 @ args = 0, pretend = 0, frame = 0 - 1701 @ frame_needed = 0, uses_anonymous_args = 0 - 1702 @ link register save eliminated. -1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return SystemCoreClock; - 1703 .loc 1 1174 0 - 1704 0000 014B ldr r3, .L184 - 1705 0002 1868 ldr r0, [r3] -1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1706 .loc 1 1175 0 - 1707 @ sp needed - 1708 0004 7047 bx lr - 1709 .L185: - 1710 0006 C046 .align 2 - 1711 .L184: - 1712 0008 00000000 .word SystemCoreClock - 1713 .cfi_endproc - ARM GAS /tmp/ccxndioT.s page 54 - - - 1714 .LFE47: - 1716 .section .text.HAL_RCC_GetPCLK1Freq,"ax",%progbits - 1717 .align 1 - 1718 .global HAL_RCC_GetPCLK1Freq - 1719 .syntax unified - 1720 .code 16 - 1721 .thumb_func - 1722 .fpu softvfp - 1724 HAL_RCC_GetPCLK1Freq: - 1725 .LFB48: -1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Returns the PCLK1 frequency -1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Each time PCLK1 changes, this function must be called to update the -1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * right PCLK1 value. Otherwise, any configuration based on this function will be incorrec -1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval PCLK1 frequency -1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK1Freq(void) -1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1726 .loc 1 1184 0 - 1727 .cfi_startproc - 1728 @ args = 0, pretend = 0, frame = 0 - 1729 @ frame_needed = 0, uses_anonymous_args = 0 - 1730 0000 10B5 push {r4, lr} - 1731 .LCFI8: - 1732 .cfi_def_cfa_offset 8 - 1733 .cfi_offset 4, -8 - 1734 .cfi_offset 14, -4 -1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ -1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE) >> RCC_CFGR_PPRE_BITNU - 1735 .loc 1 1186 0 - 1736 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq - 1737 .LVL139: - 1738 0006 044B ldr r3, .L187 - 1739 0008 5A68 ldr r2, [r3, #4] - 1740 000a 120A lsrs r2, r2, #8 - 1741 000c 0723 movs r3, #7 - 1742 000e 1340 ands r3, r2 - 1743 0010 024A ldr r2, .L187+4 - 1744 0012 D35C ldrb r3, [r2, r3] - 1745 0014 D840 lsrs r0, r0, r3 -1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1746 .loc 1 1187 0 - 1747 @ sp needed - 1748 0016 10BD pop {r4, pc} - 1749 .L188: - 1750 .align 2 - 1751 .L187: - 1752 0018 00100240 .word 1073876992 - 1753 001c 00000000 .word APBPrescTable - 1754 .cfi_endproc - 1755 .LFE48: - 1757 .section .text.HAL_RCC_GetOscConfig,"ax",%progbits - 1758 .align 1 - 1759 .global HAL_RCC_GetOscConfig - 1760 .syntax unified - 1761 .code 16 - ARM GAS /tmp/ccxndioT.s page 55 - - - 1762 .thumb_func - 1763 .fpu softvfp - 1765 HAL_RCC_GetOscConfig: - 1766 .LFB49: -1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Configures the RCC_OscInitStruct according to the internal -1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * RCC configuration registers. -1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that -1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * will be configured. -1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None -1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) -1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1767 .loc 1 1197 0 - 1768 .cfi_startproc - 1769 @ args = 0, pretend = 0, frame = 0 - 1770 @ frame_needed = 0, uses_anonymous_args = 0 - 1771 @ link register save eliminated. - 1772 .LVL140: -1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ -1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(RCC_OscInitStruct != NULL); -1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set all possible values for the Oscillator type parameter ---------------*/ -1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI \ -1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** | RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_HSI14; -1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT) -1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType |= RCC_OSCILLATORTYPE_HSI48; - 1773 .loc 1 1205 0 - 1774 0000 3F23 movs r3, #63 - 1775 0002 0360 str r3, [r0] -1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ -1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSE configuration -----------------------------------------------*/ -1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_HSEBYP) == RCC_CR_HSEBYP) - 1776 .loc 1 1210 0 - 1777 0004 324B ldr r3, .L205 - 1778 0006 1B68 ldr r3, [r3] - 1779 0008 5B03 lsls r3, r3, #13 - 1780 000a 40D5 bpl .L190 -1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS; - 1781 .loc 1 1212 0 - 1782 000c 0523 movs r3, #5 - 1783 000e 4360 str r3, [r0, #4] - 1784 .L191: -1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if((RCC->CR &RCC_CR_HSEON) == RCC_CR_HSEON) -1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_ON; -1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else -1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_OFF; -1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - ARM GAS /tmp/ccxndioT.s page 56 - - -1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSI configuration -----------------------------------------------*/ -1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_HSION) == RCC_CR_HSION) - 1785 .loc 1 1224 0 - 1786 0010 2F4B ldr r3, .L205 - 1787 0012 1B68 ldr r3, [r3] - 1788 0014 DB07 lsls r3, r3, #31 - 1789 0016 44D5 bpl .L193 -1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_ON; - 1790 .loc 1 1226 0 - 1791 0018 0123 movs r3, #1 - 1792 001a C360 str r3, [r0, #12] - 1793 .L194: -1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else -1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_OFF; -1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSICalibrationValue = (uint32_t)((RCC->CR &RCC_CR_HSITRIM) >> RCC_CR_HSITRIM_B - 1794 .loc 1 1233 0 - 1795 001c 2C49 ldr r1, .L205 - 1796 001e 0A68 ldr r2, [r1] - 1797 0020 D208 lsrs r2, r2, #3 - 1798 0022 1F23 movs r3, #31 - 1799 0024 1340 ands r3, r2 - 1800 0026 0361 str r3, [r0, #16] -1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the LSE configuration -----------------------------------------------*/ -1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->BDCR &RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP) - 1801 .loc 1 1236 0 - 1802 0028 0B6A ldr r3, [r1, #32] - 1803 002a 5B07 lsls r3, r3, #29 - 1804 002c 3CD5 bpl .L195 -1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS; - 1805 .loc 1 1238 0 - 1806 002e 0523 movs r3, #5 - 1807 0030 8360 str r3, [r0, #8] - 1808 .L196: -1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if((RCC->BDCR &RCC_BDCR_LSEON) == RCC_BDCR_LSEON) -1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_ON; -1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else -1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_OFF; -1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the LSI configuration -----------------------------------------------*/ -1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CSR &RCC_CSR_LSION) == RCC_CSR_LSION) - 1809 .loc 1 1250 0 - 1810 0032 274B ldr r3, .L205 - 1811 0034 5B6A ldr r3, [r3, #36] - 1812 0036 DB07 lsls r3, r3, #31 - 1813 0038 40D5 bpl .L198 - ARM GAS /tmp/ccxndioT.s page 57 - - -1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_ON; - 1814 .loc 1 1252 0 - 1815 003a 0123 movs r3, #1 - 1816 003c C361 str r3, [r0, #28] - 1817 .L199: -1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else -1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_OFF; -1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSI14 configuration -----------------------------------------------*/ -1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR2 & RCC_CR2_HSI14ON) == RCC_CR2_HSI14ON) - 1818 .loc 1 1260 0 - 1819 003e 244B ldr r3, .L205 - 1820 0040 5B6B ldr r3, [r3, #52] - 1821 0042 DB07 lsls r3, r3, #31 - 1822 0044 3DD5 bpl .L200 -1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI14State = RCC_HSI_ON; - 1823 .loc 1 1262 0 - 1824 0046 0123 movs r3, #1 - 1825 0048 4361 str r3, [r0, #20] - 1826 .L201: -1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else -1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI14State = RCC_HSI_OFF; -1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI14CalibrationValue = (uint32_t)((RCC->CR2 & RCC_CR2_HSI14TRIM) >> RCC_HSI14 - 1827 .loc 1 1269 0 - 1828 004a 214A ldr r2, .L205 - 1829 004c 516B ldr r1, [r2, #52] - 1830 004e C908 lsrs r1, r1, #3 - 1831 0050 1F23 movs r3, #31 - 1832 0052 0B40 ands r3, r1 - 1833 0054 8361 str r3, [r0, #24] -1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT) -1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSI48 configuration if any-----------------------------------------*/ -1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI48State = __HAL_RCC_GET_HSI48_STATE(); - 1834 .loc 1 1273 0 - 1835 0056 536B ldr r3, [r2, #52] - 1836 0058 8021 movs r1, #128 - 1837 005a 4902 lsls r1, r1, #9 - 1838 005c 0B40 ands r3, r1 - 1839 005e 591E subs r1, r3, #1 - 1840 0060 8B41 sbcs r3, r3, r1 - 1841 0062 0362 str r3, [r0, #32] -1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ -1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the PLL configuration -----------------------------------------------*/ -1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_PLLON) == RCC_CR_PLLON) - 1842 .loc 1 1277 0 - 1843 0064 1368 ldr r3, [r2] - ARM GAS /tmp/ccxndioT.s page 58 - - - 1844 0066 DB01 lsls r3, r3, #7 - 1845 0068 2ED4 bmi .L204 -1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON; -1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else -1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF; - 1846 .loc 1 1283 0 - 1847 006a 0123 movs r3, #1 - 1848 006c 4362 str r3, [r0, #36] - 1849 .L203: -1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLSource = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLSRC); - 1850 .loc 1 1285 0 - 1851 006e 184B ldr r3, .L205 - 1852 0070 5A68 ldr r2, [r3, #4] - 1853 0072 C021 movs r1, #192 - 1854 0074 4902 lsls r1, r1, #9 - 1855 0076 0A40 ands r2, r1 - 1856 0078 8262 str r2, [r0, #40] -1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMUL); - 1857 .loc 1 1286 0 - 1858 007a 5A68 ldr r2, [r3, #4] - 1859 007c F021 movs r1, #240 - 1860 007e 8903 lsls r1, r1, #14 - 1861 0080 0A40 ands r2, r1 - 1862 0082 C262 str r2, [r0, #44] -1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PREDIV = (uint32_t)(RCC->CFGR2 & RCC_CFGR2_PREDIV); - 1863 .loc 1 1287 0 - 1864 0084 DA6A ldr r2, [r3, #44] - 1865 0086 0F23 movs r3, #15 - 1866 0088 1340 ands r3, r2 - 1867 008a 0363 str r3, [r0, #48] -1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1868 .loc 1 1288 0 - 1869 @ sp needed - 1870 008c 7047 bx lr - 1871 .L190: -1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1872 .loc 1 1214 0 - 1873 008e 104B ldr r3, .L205 - 1874 0090 1B68 ldr r3, [r3] - 1875 0092 DB03 lsls r3, r3, #15 - 1876 0094 02D5 bpl .L192 -1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1877 .loc 1 1216 0 - 1878 0096 0123 movs r3, #1 - 1879 0098 4360 str r3, [r0, #4] - 1880 009a B9E7 b .L191 - 1881 .L192: -1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1882 .loc 1 1220 0 - 1883 009c 0023 movs r3, #0 - 1884 009e 4360 str r3, [r0, #4] - 1885 00a0 B6E7 b .L191 - 1886 .L193: - ARM GAS /tmp/ccxndioT.s page 59 - - -1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1887 .loc 1 1230 0 - 1888 00a2 0023 movs r3, #0 - 1889 00a4 C360 str r3, [r0, #12] - 1890 00a6 B9E7 b .L194 - 1891 .L195: -1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1892 .loc 1 1240 0 - 1893 00a8 094B ldr r3, .L205 - 1894 00aa 1B6A ldr r3, [r3, #32] - 1895 00ac DB07 lsls r3, r3, #31 - 1896 00ae 02D5 bpl .L197 -1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1897 .loc 1 1242 0 - 1898 00b0 0123 movs r3, #1 - 1899 00b2 8360 str r3, [r0, #8] - 1900 00b4 BDE7 b .L196 - 1901 .L197: -1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1902 .loc 1 1246 0 - 1903 00b6 0023 movs r3, #0 - 1904 00b8 8360 str r3, [r0, #8] - 1905 00ba BAE7 b .L196 - 1906 .L198: -1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1907 .loc 1 1256 0 - 1908 00bc 0023 movs r3, #0 - 1909 00be C361 str r3, [r0, #28] - 1910 00c0 BDE7 b .L199 - 1911 .L200: -1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1912 .loc 1 1266 0 - 1913 00c2 0023 movs r3, #0 - 1914 00c4 4361 str r3, [r0, #20] - 1915 00c6 C0E7 b .L201 - 1916 .L204: -1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1917 .loc 1 1279 0 - 1918 00c8 0223 movs r3, #2 - 1919 00ca 4362 str r3, [r0, #36] - 1920 00cc CFE7 b .L203 - 1921 .L206: - 1922 00ce C046 .align 2 - 1923 .L205: - 1924 00d0 00100240 .word 1073876992 - 1925 .cfi_endproc - 1926 .LFE49: - 1928 .section .text.HAL_RCC_GetClockConfig,"ax",%progbits - 1929 .align 1 - 1930 .global HAL_RCC_GetClockConfig - 1931 .syntax unified - 1932 .code 16 - 1933 .thumb_func - 1934 .fpu softvfp - 1936 HAL_RCC_GetClockConfig: - 1937 .LFB50: -1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - ARM GAS /tmp/ccxndioT.s page 60 - - -1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Get the RCC_ClkInitStruct according to the internal -1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * RCC configuration registers. -1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_ClkInitTypeDef structure that -1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * contains the current clock configuration. -1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param pFLatency Pointer on the Flash Latency. -1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None -1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency) -1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1938 .loc 1 1299 0 - 1939 .cfi_startproc - 1940 @ args = 0, pretend = 0, frame = 0 - 1941 @ frame_needed = 0, uses_anonymous_args = 0 - 1942 .LVL141: - 1943 0000 10B5 push {r4, lr} - 1944 .LCFI9: - 1945 .cfi_def_cfa_offset 8 - 1946 .cfi_offset 4, -8 - 1947 .cfi_offset 14, -4 -1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */ -1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(RCC_ClkInitStruct != NULL); -1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(pFLatency != NULL); -1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set all possible values for the Clock type parameter --------------------*/ -1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1; - 1948 .loc 1 1305 0 - 1949 0002 0723 movs r3, #7 - 1950 0004 0360 str r3, [r0] -1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the SYSCLK configuration --------------------------------------------*/ -1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->SYSCLKSource = (uint32_t)(RCC->CFGR & RCC_CFGR_SW); - 1951 .loc 1 1308 0 - 1952 0006 0A4B ldr r3, .L208 - 1953 0008 5C68 ldr r4, [r3, #4] - 1954 000a 0322 movs r2, #3 - 1955 000c 2240 ands r2, r4 - 1956 000e 4260 str r2, [r0, #4] -1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HCLK configuration ----------------------------------------------*/ -1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->AHBCLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_HPRE); - 1957 .loc 1 1311 0 - 1958 0010 5C68 ldr r4, [r3, #4] - 1959 0012 F022 movs r2, #240 - 1960 0014 2240 ands r2, r4 - 1961 0016 8260 str r2, [r0, #8] -1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the APB1 configuration ----------------------------------------------*/ -1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->APB1CLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_PPRE); - 1962 .loc 1 1314 0 - 1963 0018 5B68 ldr r3, [r3, #4] - 1964 001a E022 movs r2, #224 - 1965 001c D200 lsls r2, r2, #3 - 1966 001e 1340 ands r3, r2 - 1967 0020 C360 str r3, [r0, #12] -1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the Flash Wait State (Latency) configuration ------------------------*/ -1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *pFLatency = __HAL_FLASH_GET_LATENCY(); - ARM GAS /tmp/ccxndioT.s page 61 - - - 1968 .loc 1 1316 0 - 1969 0022 044B ldr r3, .L208+4 - 1970 0024 1A68 ldr r2, [r3] - 1971 0026 0123 movs r3, #1 - 1972 0028 1340 ands r3, r2 - 1973 002a 0B60 str r3, [r1] -1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 1974 .loc 1 1317 0 - 1975 @ sp needed - 1976 002c 10BD pop {r4, pc} - 1977 .L209: - 1978 002e C046 .align 2 - 1979 .L208: - 1980 0030 00100240 .word 1073876992 - 1981 0034 00200240 .word 1073881088 - 1982 .cfi_endproc - 1983 .LFE50: - 1985 .section .text.HAL_RCC_CSSCallback,"ax",%progbits - 1986 .align 1 - 1987 .weak HAL_RCC_CSSCallback - 1988 .syntax unified - 1989 .code 16 - 1990 .thumb_func - 1991 .fpu softvfp - 1993 HAL_RCC_CSSCallback: - 1994 .LFB52: -1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief This function handles the RCC CSS interrupt request. -1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note This API should be called under the NMI_Handler(). -1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None -1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_NMI_IRQHandler(void) -1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check RCC CSSF flag */ -1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_IT(RCC_IT_CSS)) -1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { -1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* RCC Clock Security System interrupt user callback */ -1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_RCC_CSSCallback(); -1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Clear RCC CSS pending bit */ -1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_CLEAR_IT(RCC_IT_CSS); -1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } -1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** -1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** -1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC Clock Security System interrupt callback -1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval none -1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __weak void HAL_RCC_CSSCallback(void) -1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 1995 .loc 1 1342 0 - 1996 .cfi_startproc - 1997 @ args = 0, pretend = 0, frame = 0 - 1998 @ frame_needed = 0, uses_anonymous_args = 0 - 1999 @ link register save eliminated. -1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* NOTE : This function Should not be modified, when the callback is needed, - ARM GAS /tmp/ccxndioT.s page 62 - - -1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the HAL_RCC_CSSCallback could be implemented in the user file -1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */ -1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 2000 .loc 1 1346 0 - 2001 @ sp needed - 2002 0000 7047 bx lr - 2003 .cfi_endproc - 2004 .LFE52: - 2006 .section .text.HAL_RCC_NMI_IRQHandler,"ax",%progbits - 2007 .align 1 - 2008 .global HAL_RCC_NMI_IRQHandler - 2009 .syntax unified - 2010 .code 16 - 2011 .thumb_func - 2012 .fpu softvfp - 2014 HAL_RCC_NMI_IRQHandler: - 2015 .LFB51: -1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check RCC CSSF flag */ - 2016 .loc 1 1325 0 - 2017 .cfi_startproc - 2018 @ args = 0, pretend = 0, frame = 0 - 2019 @ frame_needed = 0, uses_anonymous_args = 0 - 2020 0000 10B5 push {r4, lr} - 2021 .LCFI10: - 2022 .cfi_def_cfa_offset 8 - 2023 .cfi_offset 4, -8 - 2024 .cfi_offset 14, -4 -1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** { - 2025 .loc 1 1327 0 - 2026 0002 054B ldr r3, .L214 - 2027 0004 9B68 ldr r3, [r3, #8] - 2028 0006 1B06 lsls r3, r3, #24 - 2029 0008 00D4 bmi .L213 - 2030 .L211: -1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 2031 .loc 1 1335 0 - 2032 @ sp needed - 2033 000a 10BD pop {r4, pc} - 2034 .L213: -1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 2035 .loc 1 1330 0 - 2036 000c FFF7FEFF bl HAL_RCC_CSSCallback - 2037 .LVL142: -1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** } - 2038 .loc 1 1333 0 - 2039 0010 024B ldr r3, .L214+4 - 2040 0012 8022 movs r2, #128 - 2041 0014 1A70 strb r2, [r3] -1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** - 2042 .loc 1 1335 0 - 2043 0016 F8E7 b .L211 - 2044 .L215: - 2045 .align 2 - 2046 .L214: - 2047 0018 00100240 .word 1073876992 - 2048 001c 0A100240 .word 1073877002 - 2049 .cfi_endproc - ARM GAS /tmp/ccxndioT.s page 63 - - - 2050 .LFE51: - 2052 .section .rodata - 2053 .align 2 - 2054 .set .LANCHOR0,. + 0 - 2055 .LC0: - 2056 0000 02 .byte 2 - 2057 0001 03 .byte 3 - 2058 0002 04 .byte 4 - 2059 0003 05 .byte 5 - 2060 0004 06 .byte 6 - 2061 0005 07 .byte 7 - 2062 0006 08 .byte 8 - 2063 0007 09 .byte 9 - 2064 0008 0A .byte 10 - 2065 0009 0B .byte 11 - 2066 000a 0C .byte 12 - 2067 000b 0D .byte 13 - 2068 000c 0E .byte 14 - 2069 000d 0F .byte 15 - 2070 000e 10 .byte 16 - 2071 000f 10 .byte 16 - 2072 .LC1: - 2073 0010 01 .byte 1 - 2074 0011 02 .byte 2 - 2075 0012 03 .byte 3 - 2076 0013 04 .byte 4 - 2077 0014 05 .byte 5 - 2078 0015 06 .byte 6 - 2079 0016 07 .byte 7 - 2080 0017 08 .byte 8 - 2081 0018 09 .byte 9 - 2082 0019 0A .byte 10 - 2083 001a 0B .byte 11 - 2084 001b 0C .byte 12 - 2085 001c 0D .byte 13 - 2086 001d 0E .byte 14 - 2087 001e 0F .byte 15 - 2088 001f 10 .byte 16 - 2089 .text - 2090 .Letext0: - 2091 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 2092 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 2093 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 2094 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 2095 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" - 2096 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 2097 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h" - 2098 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h" - 2099 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccxndioT.s page 64 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_rcc.c - /tmp/ccxndioT.s:16 .text.HAL_RCC_DeInit:0000000000000000 $t - /tmp/ccxndioT.s:23 .text.HAL_RCC_DeInit:0000000000000000 HAL_RCC_DeInit - /tmp/ccxndioT.s:166 .text.HAL_RCC_DeInit:00000000000000ac $d - /tmp/ccxndioT.s:178 .text.HAL_RCC_OscConfig:0000000000000000 $t - /tmp/ccxndioT.s:185 .text.HAL_RCC_OscConfig:0000000000000000 HAL_RCC_OscConfig - /tmp/ccxndioT.s:719 .text.HAL_RCC_OscConfig:00000000000002e0 $d - /tmp/ccxndioT.s:726 .text.HAL_RCC_OscConfig:00000000000002f4 $t - /tmp/ccxndioT.s:1148 .text.HAL_RCC_OscConfig:000000000000052c $d - /tmp/ccxndioT.s:1157 .text.HAL_RCC_MCOConfig:0000000000000000 $t - /tmp/ccxndioT.s:1164 .text.HAL_RCC_MCOConfig:0000000000000000 HAL_RCC_MCOConfig - /tmp/ccxndioT.s:1236 .text.HAL_RCC_MCOConfig:000000000000004c $d - /tmp/ccxndioT.s:1242 .text.HAL_RCC_EnableCSS:0000000000000000 $t - /tmp/ccxndioT.s:1249 .text.HAL_RCC_EnableCSS:0000000000000000 HAL_RCC_EnableCSS - /tmp/ccxndioT.s:1269 .text.HAL_RCC_EnableCSS:0000000000000010 $d - /tmp/ccxndioT.s:1274 .text.HAL_RCC_DisableCSS:0000000000000000 $t - /tmp/ccxndioT.s:1281 .text.HAL_RCC_DisableCSS:0000000000000000 HAL_RCC_DisableCSS - /tmp/ccxndioT.s:1300 .text.HAL_RCC_DisableCSS:000000000000000c $d - /tmp/ccxndioT.s:1307 .text.HAL_RCC_GetSysClockFreq:0000000000000000 $t - /tmp/ccxndioT.s:1314 .text.HAL_RCC_GetSysClockFreq:0000000000000000 HAL_RCC_GetSysClockFreq - /tmp/ccxndioT.s:1430 .text.HAL_RCC_GetSysClockFreq:0000000000000084 $d - /tmp/ccxndioT.s:1438 .text.HAL_RCC_ClockConfig:0000000000000000 $t - /tmp/ccxndioT.s:1445 .text.HAL_RCC_ClockConfig:0000000000000000 HAL_RCC_ClockConfig - /tmp/ccxndioT.s:1679 .text.HAL_RCC_ClockConfig:0000000000000128 $d - /tmp/ccxndioT.s:1689 .text.HAL_RCC_GetHCLKFreq:0000000000000000 $t - /tmp/ccxndioT.s:1696 .text.HAL_RCC_GetHCLKFreq:0000000000000000 HAL_RCC_GetHCLKFreq - /tmp/ccxndioT.s:1712 .text.HAL_RCC_GetHCLKFreq:0000000000000008 $d - /tmp/ccxndioT.s:1717 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 $t - /tmp/ccxndioT.s:1724 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 HAL_RCC_GetPCLK1Freq - /tmp/ccxndioT.s:1752 .text.HAL_RCC_GetPCLK1Freq:0000000000000018 $d - /tmp/ccxndioT.s:1758 .text.HAL_RCC_GetOscConfig:0000000000000000 $t - /tmp/ccxndioT.s:1765 .text.HAL_RCC_GetOscConfig:0000000000000000 HAL_RCC_GetOscConfig - /tmp/ccxndioT.s:1924 .text.HAL_RCC_GetOscConfig:00000000000000d0 $d - /tmp/ccxndioT.s:1929 .text.HAL_RCC_GetClockConfig:0000000000000000 $t - /tmp/ccxndioT.s:1936 .text.HAL_RCC_GetClockConfig:0000000000000000 HAL_RCC_GetClockConfig - /tmp/ccxndioT.s:1980 .text.HAL_RCC_GetClockConfig:0000000000000030 $d - /tmp/ccxndioT.s:1986 .text.HAL_RCC_CSSCallback:0000000000000000 $t - /tmp/ccxndioT.s:1993 .text.HAL_RCC_CSSCallback:0000000000000000 HAL_RCC_CSSCallback - /tmp/ccxndioT.s:2007 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 $t - /tmp/ccxndioT.s:2014 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 HAL_RCC_NMI_IRQHandler - /tmp/ccxndioT.s:2047 .text.HAL_RCC_NMI_IRQHandler:0000000000000018 $d - /tmp/ccxndioT.s:2053 .rodata:0000000000000000 $d - -UNDEFINED SYMBOLS -HAL_GetTick -HAL_InitTick -SystemCoreClock -uwTickPrio -HAL_GPIO_Init -__aeabi_uidiv -AHBPrescTable -APBPrescTable diff --git a/Blink/build/stm32f0xx_hal_rcc.o b/Blink/build/stm32f0xx_hal_rcc.o deleted file mode 100644 index 3044f60..0000000 Binary files a/Blink/build/stm32f0xx_hal_rcc.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_rcc_ex.d b/Blink/build/stm32f0xx_hal_rcc_ex.d deleted file mode 100644 index 41b7022..0000000 --- a/Blink/build/stm32f0xx_hal_rcc_ex.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_rcc_ex.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_rcc_ex.lst b/Blink/build/stm32f0xx_hal_rcc_ex.lst deleted file mode 100644 index c4cdc62..0000000 --- a/Blink/build/stm32f0xx_hal_rcc_ex.lst +++ /dev/null @@ -1,2572 +0,0 @@ -ARM GAS /tmp/ccysQskn.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_rcc_ex.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.HAL_RCCEx_PeriphCLKConfig,"ax",%progbits - 16 .align 1 - 17 .global HAL_RCCEx_PeriphCLKConfig - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 HAL_RCCEx_PeriphCLKConfig: - 24 .LFB40: - 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c" - 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ****************************************************************************** - 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @file stm32f0xx_hal_rcc_ex.c - 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @author MCD Application Team - 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Extended RCC HAL module driver. - 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This file provides firmware functions to manage the following - 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * functionalities RCC extension peripheral: - 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * + Extended Peripheral Control functions - 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * + Extended Clock Recovery System Control functions - 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ****************************************************************************** - 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @attention - 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *

© Copyright (c) 2016 STMicroelectronics. - 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * All rights reserved.

- 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, - 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * the "License"; You may not use this file except in compliance with the - 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * License. You may obtain a copy of the License at: - 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * opensource.org/licenses/BSD-3-Clause - 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ****************************************************************************** - 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Includes ------------------------------------------------------------------*/ - 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #include "stm32f0xx_hal.h" - 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver - 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{ - 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #ifdef HAL_RCC_MODULE_ENABLED - 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - ARM GAS /tmp/ccysQskn.s page 2 - - - 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx RCCEx - 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCC Extension HAL module driver. - 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{ - 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private typedef -----------------------------------------------------------*/ - 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private define ------------------------------------------------------------*/ - 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(CRS) - 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Private_Constants RCCEx Private Constants - 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{ - 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Bit position in register */ - 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #define CRS_CFGR_FELIM_BITNUMBER 16 - 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #define CRS_CR_TRIM_BITNUMBER 8 - 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #define CRS_ISR_FECAP_BITNUMBER 16 - 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @} - 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* CRS */ - 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private macro -------------------------------------------------------------*/ - 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Private_Macros RCCEx Private Macros - 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{ - 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @} - 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private variables ---------------------------------------------------------*/ - 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private function prototypes -----------------------------------------------*/ - 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private functions ---------------------------------------------------------*/ - 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Exported_Functions RCCEx Exported Functions - 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{ - 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Exported_Functions_Group1 Extended Peripheral Control functions - 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Extended Peripheral Control functions - 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @verbatim - 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** =============================================================================== - 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ##### Extended Peripheral Control functions ##### - 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** =============================================================================== - 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** [..] - 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** This subsection provides a set of functions allowing to control the RCC Clocks - 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequencies. - 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** [..] - 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (@) Important note: Care must be taken when HAL_RCCEx_PeriphCLKConfig() is used to - 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** select the RTC clock source; in this case the Backup domain will be reset in - 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** order to modify the RTC Clock source, as consequence RTC registers (including - 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the backup registers) are set to their reset values. - 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endverbatim - 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{ - 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - ARM GAS /tmp/ccysQskn.s page 3 - - - 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Initializes the RCC extended peripherals clocks according to the specified - 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * parameters in the RCC_PeriphCLKInitTypeDef. - 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param PeriphClkInit pointer to an RCC_PeriphCLKInitTypeDef structure that - 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * contains the configuration information for the Extended Peripherals clocks - 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * (USART, RTC, I2C, CEC and USB). - 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note Care must be taken when @ref HAL_RCCEx_PeriphCLKConfig() is used to select - 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * the RTC clock source; in this case the Backup domain will be reset in - 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * order to modify the RTC Clock source, as consequence RTC registers (including - 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * the backup registers) and RCC_BDCR register are set to their reset values. - 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval HAL status - 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) - 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 26 .loc 1 105 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 8 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 .LVL0: - 31 0000 70B5 push {r4, r5, r6, lr} - 32 .LCFI0: - 33 .cfi_def_cfa_offset 16 - 34 .cfi_offset 4, -16 - 35 .cfi_offset 5, -12 - 36 .cfi_offset 6, -8 - 37 .cfi_offset 14, -4 - 38 0002 82B0 sub sp, sp, #8 - 39 .LCFI1: - 40 .cfi_def_cfa_offset 24 - 41 0004 0400 movs r4, r0 - 42 .LVL1: - 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t tickstart = 0U; - 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t temp_reg = 0U; - 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection)); - 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*---------------------------- RTC configuration -------------------------------*/ - 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC)) - 43 .loc 1 113 0 - 44 0006 0368 ldr r3, [r0] - 45 0008 DB03 lsls r3, r3, #15 - 46 000a 35D5 bpl .L2 - 47 .LVL2: - 48 .LBB2: - 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* check for RTC Parameters used to output RTCCLK */ - 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); - 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** FlagStatus pwrclkchanged = RESET; - 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* As soon as function is called to change RTC clock source, activation of the - 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** power domain is done. */ - 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Requires to enable write access to Backup Domain of necessary */ - 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_PWR_IS_CLK_DISABLED()) - 49 .loc 1 123 0 - ARM GAS /tmp/ccysQskn.s page 4 - - - 50 000c 4B4B ldr r3, .L22 - 51 000e DB69 ldr r3, [r3, #28] - 52 0010 DB00 lsls r3, r3, #3 - 53 0012 66D4 bmi .L15 - 54 .LBB3: - 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_PWR_CLK_ENABLE(); - 55 .loc 1 125 0 - 56 0014 494A ldr r2, .L22 - 57 0016 D169 ldr r1, [r2, #28] - 58 0018 8020 movs r0, #128 - 59 .LVL3: - 60 001a 4005 lsls r0, r0, #21 - 61 001c 0143 orrs r1, r0 - 62 001e D161 str r1, [r2, #28] - 63 0020 D369 ldr r3, [r2, #28] - 64 0022 0340 ands r3, r0 - 65 0024 0193 str r3, [sp, #4] - 66 0026 019B ldr r3, [sp, #4] - 67 .LVL4: - 68 .LBE3: - 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pwrclkchanged = SET; - 69 .loc 1 126 0 - 70 0028 0125 movs r5, #1 - 71 .LVL5: - 72 .L3: - 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) - 73 .loc 1 129 0 - 74 002a 454B ldr r3, .L22+4 - 75 002c 1B68 ldr r3, [r3] - 76 002e DB05 lsls r3, r3, #23 - 77 0030 59D5 bpl .L19 - 78 .LVL6: - 79 .L4: - 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Enable write access to Backup domain */ - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** SET_BIT(PWR->CR, PWR_CR_DBP); - 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait for Backup domain Write protection disable */ - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** tickstart = HAL_GetTick(); - 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) - 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) - 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return HAL_TIMEOUT; - 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Reset the Backup domain only if the RTC Clock source selection is modified from reset value - 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** temp_reg = (RCC->BDCR & RCC_BDCR_RTCSEL); - 80 .loc 1 147 0 - 81 0032 424B ldr r3, .L22 - 82 0034 1B6A ldr r3, [r3, #32] - ARM GAS /tmp/ccysQskn.s page 5 - - - 83 0036 C022 movs r2, #192 - 84 0038 9200 lsls r2, r2, #2 - 85 003a 1340 ands r3, r2 - 86 .LVL7: - 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((temp_reg != 0x00000000U) && (temp_reg != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSE - 87 .loc 1 148 0 - 88 003c 13D0 beq .L8 - 89 .loc 1 148 0 is_stmt 0 discriminator 1 - 90 003e 6168 ldr r1, [r4, #4] - 91 0040 0A40 ands r2, r1 - 92 0042 9A42 cmp r2, r3 - 93 0044 0FD0 beq .L8 - 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Store the content of BDCR register before the reset of Backup Domain */ - 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** temp_reg = (RCC->BDCR & ~(RCC_BDCR_RTCSEL)); - 94 .loc 1 151 0 is_stmt 1 - 95 0046 3D4B ldr r3, .L22 - 96 .LVL8: - 97 0048 186A ldr r0, [r3, #32] - 98 004a 3E4A ldr r2, .L22+8 - 99 004c 0240 ands r2, r0 - 100 .LVL9: - 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* RTC Clock selection can be changed only if the Backup Domain is reset */ - 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_BACKUPRESET_FORCE(); - 101 .loc 1 153 0 - 102 004e 1E6A ldr r6, [r3, #32] - 103 0050 8021 movs r1, #128 - 104 0052 4902 lsls r1, r1, #9 - 105 0054 3143 orrs r1, r6 - 106 0056 1962 str r1, [r3, #32] - 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_BACKUPRESET_RELEASE(); - 107 .loc 1 154 0 - 108 0058 196A ldr r1, [r3, #32] - 109 005a 3B4E ldr r6, .L22+12 - 110 005c 3140 ands r1, r6 - 111 005e 1962 str r1, [r3, #32] - 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Restore the Content of BDCR register */ - 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** RCC->BDCR = temp_reg; - 112 .loc 1 156 0 - 113 0060 1A62 str r2, [r3, #32] - 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait for LSERDY if LSE was enabled */ - 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (HAL_IS_BIT_SET(temp_reg, RCC_BDCR_LSEON)) - 114 .loc 1 159 0 - 115 0062 C307 lsls r3, r0, #31 - 116 0064 53D4 bmi .L20 - 117 .LVL10: - 118 .L8: - 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get Start Tick */ - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** tickstart = HAL_GetTick(); - 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait till LSE is ready */ - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) - 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - ARM GAS /tmp/ccysQskn.s page 6 - - - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return HAL_TIMEOUT; - 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); - 119 .loc 1 174 0 - 120 0066 354A ldr r2, .L22 - 121 0068 136A ldr r3, [r2, #32] - 122 006a 3649 ldr r1, .L22+8 - 123 006c 0B40 ands r3, r1 - 124 006e 6168 ldr r1, [r4, #4] - 125 0070 0B43 orrs r3, r1 - 126 0072 1362 str r3, [r2, #32] - 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Require to disable power clock if necessary */ - 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(pwrclkchanged == SET) - 127 .loc 1 177 0 - 128 0074 012D cmp r5, #1 - 129 0076 59D0 beq .L21 - 130 .LVL11: - 131 .L2: - 132 .LBE2: - 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_PWR_CLK_DISABLE(); - 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------- USART1 Configuration ------------------------*/ - 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) - 133 .loc 1 184 0 - 134 0078 2368 ldr r3, [r4] - 135 007a DB07 lsls r3, r3, #31 - 136 007c 06D5 bpl .L11 - 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection)); - 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USART1 clock source */ - 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); - 137 .loc 1 190 0 - 138 007e 2F4A ldr r2, .L22 - 139 0080 136B ldr r3, [r2, #48] - 140 0082 0321 movs r1, #3 - 141 0084 8B43 bics r3, r1 - 142 0086 A168 ldr r1, [r4, #8] - 143 0088 0B43 orrs r3, r1 - 144 008a 1363 str r3, [r2, #48] - 145 .L11: - 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\ - 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx) - 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*----------------------------- USART2 Configuration --------------------------*/ - 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2) - 146 .loc 1 196 0 - 147 008c 2368 ldr r3, [r4] - ARM GAS /tmp/ccysQskn.s page 7 - - - 148 008e 9B07 lsls r3, r3, #30 - 149 0090 06D5 bpl .L12 - 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection)); - 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USART2 clock source */ - 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection); - 150 .loc 1 202 0 - 151 0092 2A4A ldr r2, .L22 - 152 0094 136B ldr r3, [r2, #48] - 153 0096 2D49 ldr r1, .L22+16 - 154 0098 0B40 ands r3, r1 - 155 009a E168 ldr r1, [r4, #12] - 156 009c 0B43 orrs r3, r1 - 157 009e 1363 str r3, [r2, #48] - 158 .L12: - 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */ - 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */ - 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F091xC) || defined(STM32F098xx) - 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*----------------------------- USART3 Configuration --------------------------*/ - 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3) - 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection)); - 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USART3 clock source */ - 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection); - 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F091xC || STM32F098xx */ - 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------ I2C1 Configuration ------------------------*/ - 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) - 159 .loc 1 220 0 - 160 00a0 2368 ldr r3, [r4] - 161 00a2 9B06 lsls r3, r3, #26 - 162 00a4 06D5 bpl .L13 - 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection)); - 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the I2C1 clock source */ - 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection); - 163 .loc 1 226 0 - 164 00a6 254A ldr r2, .L22 - 165 00a8 136B ldr r3, [r2, #48] - 166 00aa 1021 movs r1, #16 - 167 00ac 8B43 bics r3, r1 - 168 00ae 2169 ldr r1, [r4, #16] - 169 00b0 0B43 orrs r3, r1 - 170 00b2 1363 str r3, [r2, #48] - 171 .L13: - 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx) || - ARM GAS /tmp/ccysQskn.s page 8 - - - 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------ USB Configuration ------------------------*/ - 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USB) == RCC_PERIPHCLK_USB) - 172 .loc 1 231 0 - 173 00b4 2368 ldr r3, [r4] - 174 00b6 9B03 lsls r3, r3, #14 - 175 00b8 06D5 bpl .L14 - 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USBCLKSOURCE(PeriphClkInit->UsbClockSelection)); - 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USB clock source */ - 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USB_CONFIG(PeriphClkInit->UsbClockSelection); - 176 .loc 1 237 0 - 177 00ba 204A ldr r2, .L22 - 178 00bc 136B ldr r3, [r2, #48] - 179 00be 8021 movs r1, #128 - 180 00c0 8B43 bics r3, r1 - 181 00c2 A169 ldr r1, [r4, #24] - 182 00c4 0B43 orrs r3, r1 - 183 00c6 1363 str r3, [r2, #48] - 184 .L14: - 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F070xB || STM32F070x6 */ - 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx)\ - 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F051x8) || defined(STM32F058xx)\ - 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\ - 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx) - 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------ CEC clock Configuration -------------------*/ - 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC) - 185 .loc 1 246 0 - 186 00c8 2368 ldr r3, [r4] - 187 00ca 5B05 lsls r3, r3, #21 - 188 00cc 33D5 bpl .L18 - 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection)); - 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the CEC clock source */ - 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection); - 189 .loc 1 252 0 - 190 00ce 1B4A ldr r2, .L22 - 191 00d0 136B ldr r3, [r2, #48] - 192 00d2 4021 movs r1, #64 - 193 00d4 8B43 bics r3, r1 - 194 00d6 6169 ldr r1, [r4, #20] - 195 00d8 0B43 orrs r3, r1 - 196 00da 1363 str r3, [r2, #48] - 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || */ - 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F051x8 || STM32F058xx || */ - 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F071xB || STM32F072xB || STM32F078xx || */ - 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */ - 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return HAL_OK; - 197 .loc 1 259 0 - 198 00dc 0020 movs r0, #0 - ARM GAS /tmp/ccysQskn.s page 9 - - - 199 .L6: - 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 200 .loc 1 260 0 - 201 00de 02B0 add sp, sp, #8 - 202 @ sp needed - 203 .LVL12: - 204 00e0 70BD pop {r4, r5, r6, pc} - 205 .LVL13: - 206 .L15: - 207 .LBB4: - 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 208 .loc 1 118 0 - 209 00e2 0025 movs r5, #0 - 210 00e4 A1E7 b .L3 - 211 .LVL14: - 212 .L19: - 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 213 .loc 1 132 0 - 214 00e6 164A ldr r2, .L22+4 - 215 00e8 1168 ldr r1, [r2] - 216 00ea 8023 movs r3, #128 - 217 00ec 5B00 lsls r3, r3, #1 - 218 00ee 0B43 orrs r3, r1 - 219 00f0 1360 str r3, [r2] - 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 220 .loc 1 135 0 - 221 00f2 FFF7FEFF bl HAL_GetTick - 222 .LVL15: - 223 00f6 0600 movs r6, r0 - 224 .LVL16: - 225 .L5: - 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 226 .loc 1 137 0 - 227 00f8 114B ldr r3, .L22+4 - 228 00fa 1B68 ldr r3, [r3] - 229 00fc DB05 lsls r3, r3, #23 - 230 00fe 98D4 bmi .L4 - 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 231 .loc 1 139 0 - 232 0100 FFF7FEFF bl HAL_GetTick - 233 .LVL17: - 234 0104 801B subs r0, r0, r6 - 235 0106 6428 cmp r0, #100 - 236 0108 F6D9 bls .L5 - 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 237 .loc 1 141 0 - 238 010a 0320 movs r0, #3 - 239 010c E7E7 b .L6 - 240 .LVL18: - 241 .L20: - 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 242 .loc 1 162 0 - 243 010e FFF7FEFF bl HAL_GetTick - 244 .LVL19: - 245 0112 0600 movs r6, r0 - 246 .LVL20: - 247 .L9: - ARM GAS /tmp/ccysQskn.s page 10 - - - 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 248 .loc 1 165 0 - 249 0114 094B ldr r3, .L22 - 250 0116 1B6A ldr r3, [r3, #32] - 251 0118 9B07 lsls r3, r3, #30 - 252 011a A4D4 bmi .L8 - 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 253 .loc 1 167 0 - 254 011c FFF7FEFF bl HAL_GetTick - 255 .LVL21: - 256 0120 801B subs r0, r0, r6 - 257 0122 0B4B ldr r3, .L22+20 - 258 0124 9842 cmp r0, r3 - 259 0126 F5D9 bls .L9 - 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 260 .loc 1 169 0 - 261 0128 0320 movs r0, #3 - 262 012a D8E7 b .L6 - 263 .LVL22: - 264 .L21: - 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 265 .loc 1 179 0 - 266 012c D369 ldr r3, [r2, #28] - 267 012e 0949 ldr r1, .L22+24 - 268 0130 0B40 ands r3, r1 - 269 0132 D361 str r3, [r2, #28] - 270 0134 A0E7 b .L2 - 271 .LVL23: - 272 .L18: - 273 .LBE4: - 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 274 .loc 1 259 0 - 275 0136 0020 movs r0, #0 - 276 0138 D1E7 b .L6 - 277 .L23: - 278 013a C046 .align 2 - 279 .L22: - 280 013c 00100240 .word 1073876992 - 281 0140 00700040 .word 1073770496 - 282 0144 FFFCFFFF .word -769 - 283 0148 FFFFFEFF .word -65537 - 284 014c FFFFFCFF .word -196609 - 285 0150 88130000 .word 5000 - 286 0154 FFFFFFEF .word -268435457 - 287 .cfi_endproc - 288 .LFE40: - 290 .section .text.HAL_RCCEx_GetPeriphCLKConfig,"ax",%progbits - 291 .align 1 - 292 .global HAL_RCCEx_GetPeriphCLKConfig - 293 .syntax unified - 294 .code 16 - 295 .thumb_func - 296 .fpu softvfp - 298 HAL_RCCEx_GetPeriphCLKConfig: - 299 .LFB41: - 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - ARM GAS /tmp/ccysQskn.s page 11 - - - 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Get the RCC_ClkInitStruct according to the internal - 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * RCC configuration registers. - 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param PeriphClkInit pointer to an RCC_PeriphCLKInitTypeDef structure that - 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * returns the configuration information for the Extended Peripherals clocks - 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * (USART, RTC, I2C, CEC and USB). - 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None - 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) - 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 300 .loc 1 271 0 - 301 .cfi_startproc - 302 @ args = 0, pretend = 0, frame = 0 - 303 @ frame_needed = 0, uses_anonymous_args = 0 - 304 @ link register save eliminated. - 305 .LVL24: - 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set all possible values for the extended clock type parameter------------*/ - 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Common part first */ - 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection = RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK - 306 .loc 1 274 0 - 307 0000 114B ldr r3, .L25 - 308 0002 0360 str r3, [r0] - 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the RTC configuration --------------------------------------------*/ - 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->RTCClockSelection = __HAL_RCC_GET_RTC_SOURCE(); - 309 .loc 1 276 0 - 310 0004 114B ldr r3, .L25+4 - 311 0006 1A6A ldr r2, [r3, #32] - 312 0008 C021 movs r1, #192 - 313 000a 8900 lsls r1, r1, #2 - 314 000c 0A40 ands r2, r1 - 315 000e 4260 str r2, [r0, #4] - 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USART1 clock configuration --------------------------------------------*/ - 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->Usart1ClockSelection = __HAL_RCC_GET_USART1_SOURCE(); - 316 .loc 1 278 0 - 317 0010 196B ldr r1, [r3, #48] - 318 0012 0322 movs r2, #3 - 319 0014 0A40 ands r2, r1 - 320 0016 8260 str r2, [r0, #8] - 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the I2C1 clock source -----------------------------------------------*/ - 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->I2c1ClockSelection = __HAL_RCC_GET_I2C1_SOURCE(); - 321 .loc 1 280 0 - 322 0018 196B ldr r1, [r3, #48] - 323 001a 1022 movs r2, #16 - 324 001c 0A40 ands r2, r1 - 325 001e 0261 str r2, [r0, #16] - 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\ - 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx) - 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_USART2; - 326 .loc 1 284 0 - 327 0020 0B4A ldr r2, .L25+8 - 328 0022 0260 str r2, [r0] - 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USART2 clock source ---------------------------------------------*/ - 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->Usart2ClockSelection = __HAL_RCC_GET_USART2_SOURCE(); - 329 .loc 1 286 0 - 330 0024 1A6B ldr r2, [r3, #48] - 331 0026 C021 movs r1, #192 - 332 0028 8902 lsls r1, r1, #10 - ARM GAS /tmp/ccysQskn.s page 12 - - - 333 002a 0A40 ands r2, r1 - 334 002c C260 str r2, [r0, #12] - 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */ - 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */ - 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F091xC) || defined(STM32F098xx) - 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_USART3; - 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USART3 clock source ---------------------------------------------*/ - 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->Usart3ClockSelection = __HAL_RCC_GET_USART3_SOURCE(); - 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F091xC || STM32F098xx */ - 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx) || - 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_USB; - 335 .loc 1 297 0 - 336 002e 094A ldr r2, .L25+12 - 337 0030 0260 str r2, [r0] - 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USB clock source ---------------------------------------------*/ - 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->UsbClockSelection = __HAL_RCC_GET_USB_SOURCE(); - 338 .loc 1 299 0 - 339 0032 196B ldr r1, [r3, #48] - 340 0034 8022 movs r2, #128 - 341 0036 0A40 ands r2, r1 - 342 0038 8261 str r2, [r0, #24] - 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F070xB || STM32F070x6 */ - 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx)\ - 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F051x8) || defined(STM32F058xx)\ - 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\ - 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx) - 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_CEC; - 343 .loc 1 306 0 - 344 003a 074A ldr r2, .L25+16 - 345 003c 0260 str r2, [r0] - 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the CEC clock source ------------------------------------------------*/ - 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->CecClockSelection = __HAL_RCC_GET_CEC_SOURCE(); - 346 .loc 1 308 0 - 347 003e 1A6B ldr r2, [r3, #48] - 348 0040 4023 movs r3, #64 - 349 0042 1340 ands r3, r2 - 350 0044 4361 str r3, [r0, #20] - 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || */ - 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F051x8 || STM32F058xx || */ - 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F071xB || STM32F072xB || STM32F078xx || */ - 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */ - 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 351 .loc 1 314 0 - 352 @ sp needed - 353 0046 7047 bx lr - 354 .L26: - 355 .align 2 - 356 .L25: - 357 0048 21000100 .word 65569 - 358 004c 00100240 .word 1073876992 - 359 0050 23000100 .word 65571 - 360 0054 23000300 .word 196643 - 361 0058 23040300 .word 197667 - ARM GAS /tmp/ccysQskn.s page 13 - - - 362 .cfi_endproc - 363 .LFE41: - 365 .global __aeabi_uidiv - 366 .section .text.HAL_RCCEx_GetPeriphCLKFreq,"ax",%progbits - 367 .align 1 - 368 .global HAL_RCCEx_GetPeriphCLKFreq - 369 .syntax unified - 370 .code 16 - 371 .thumb_func - 372 .fpu softvfp - 374 HAL_RCCEx_GetPeriphCLKFreq: - 375 .LFB42: - 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Returns the peripheral clock frequency - 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note Returns 0 if peripheral clock is unknown - 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param PeriphClk Peripheral clock identifier - 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This parameter can be one of the following values: - 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_RTC RTC peripheral clock - 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART1 USART1 peripheral clock - 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_I2C1 I2C1 peripheral clock - 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F042x6 - 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock - 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F048xx - 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock - 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F051x8 - 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F058xx - 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F070x6 - 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock - 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F070xB - 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock - 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F071xB - 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock - 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F072xB - 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock - 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock - 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F078xx - 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock - 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock - 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F091xC - 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock - ARM GAS /tmp/ccysQskn.s page 14 - - - 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART3 USART2 peripheral clock - 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F098xx - 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock - 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART3 USART2 peripheral clock - 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock - 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif - 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval Frequency in Hz (0: means that no available frequency for the peripheral) - 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk) - 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 376 .loc 1 371 0 - 377 .cfi_startproc - 378 @ args = 0, pretend = 0, frame = 0 - 379 @ frame_needed = 0, uses_anonymous_args = 0 - 380 .LVL25: - 381 0000 10B5 push {r4, lr} - 382 .LCFI2: - 383 .cfi_def_cfa_offset 8 - 384 .cfi_offset 4, -8 - 385 .cfi_offset 14, -4 - 386 .LVL26: - 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* frequency == 0 : means that no available frequency for the peripheral */ - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t frequency = 0U; - 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t srcclk = 0U; - 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(USB) - 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t pllmull = 0U, pllsource = 0U, predivfactor = 0U; - 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* USB */ - 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_PERIPHCLOCK(PeriphClk)); - 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** switch (PeriphClk) - 387 .loc 1 383 0 - 388 0002 2028 cmp r0, #32 - 389 0004 00D1 bne .LCB374 - 390 0006 80E0 b .L29 @long jump - 391 .LCB374: - 392 0008 0FD9 bls .L67 - 393 000a 8023 movs r3, #128 - 394 000c 5B02 lsls r3, r3, #9 - 395 000e 9842 cmp r0, r3 - 396 0010 23D0 beq .L33 - 397 0012 8023 movs r3, #128 - 398 0014 9B02 lsls r3, r3, #10 - 399 0016 9842 cmp r0, r3 - 400 0018 00D1 bne .LCB384 - 401 001a 86E0 b .L34 @long jump - 402 .LCB384: - 403 001c 8023 movs r3, #128 - 404 001e DB00 lsls r3, r3, #3 - 405 0020 9842 cmp r0, r3 - 406 0022 00D1 bne .LCB388 - 407 0024 B7E0 b .L68 @long jump - 408 .LCB388: - ARM GAS /tmp/ccysQskn.s page 15 - - - 409 .L49: - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 410 .loc 1 373 0 - 411 0026 0020 movs r0, #0 - 412 .LVL27: - 413 .L27: - 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_RTC: - 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current RTC source */ - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_RTC_SOURCE(); - 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if RTC clock selection is LSE */ - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_RTCCLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY))) - 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE; - 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSI is ready and if RTC clock selection is LSI */ - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_RTCCLKSOURCE_LSI) && (HAL_IS_BIT_SET(RCC->CSR, RCC_CSR_LSIRDY))) - 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSI_VALUE; - 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSE is ready and if RTC clock selection is HSI_DIV32*/ - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_RTCCLKSOURCE_HSE_DIV32) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSERDY))) - 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSE_VALUE / 32U; - 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USART1: - 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USART1 source */ - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USART1_SOURCE(); - 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART1 clock selection is PCLK1 */ - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (srcclk == RCC_USART1CLKSOURCE_PCLK1) - 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetPCLK1Freq(); - 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if USART1 clock selection is HSI */ - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART1CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY))) - 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE; - 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART1 clock selection is SYSCLK */ - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_USART1CLKSOURCE_SYSCLK) - 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq(); - 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if USART1 clock selection is LSE */ - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART1CLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY))) - 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE; - 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CFGR3_USART2SW) - ARM GAS /tmp/ccysQskn.s page 16 - - - 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USART2: - 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USART2 source */ - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USART2_SOURCE(); - 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART2 clock selection is PCLK1 */ - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (srcclk == RCC_USART2CLKSOURCE_PCLK1) - 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetPCLK1Freq(); - 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if USART2 clock selection is HSI */ - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART2CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY))) - 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE; - 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART2 clock selection is SYSCLK */ - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_USART2CLKSOURCE_SYSCLK) - 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq(); - 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if USART2 clock selection is LSE */ - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART2CLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY))) - 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE; - 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CFGR3_USART2SW */ - 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CFGR3_USART3SW) - 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USART3: - 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USART3 source */ - 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USART3_SOURCE(); - 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART3 clock selection is PCLK1 */ - 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (srcclk == RCC_USART3CLKSOURCE_PCLK1) - 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetPCLK1Freq(); - 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if USART3 clock selection is HSI */ - 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART3CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY))) - 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE; - 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART3 clock selection is SYSCLK */ - 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_USART3CLKSOURCE_SYSCLK) - 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq(); - 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if USART3 clock selection is LSE */ - 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART3CLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY))) - 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE; - 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CFGR3_USART3SW */ - ARM GAS /tmp/ccysQskn.s page 17 - - - 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_I2C1: - 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current I2C1 source */ - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_I2C1_SOURCE(); - 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if I2C1 clock selection is HSI */ - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_I2C1CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY))) - 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE; - 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if I2C1 clock selection is SYSCLK */ - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_I2C1CLKSOURCE_SYSCLK) - 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq(); - 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(USB) - 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USB: - 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USB source */ - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USB_SOURCE(); - 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if PLL is ready and if USB clock selection is PLL */ - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_USBCLKSOURCE_PLL) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_PLLRDY))) - 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get PLL clock source and multiplication factor ----------------------*/ - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllmull = RCC->CFGR & RCC_CFGR_PLLMUL; - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllmull = (pllmull >> RCC_CFGR_PLLMUL_BITNUMBER) + 2U; - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1U; - 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (pllsource == RCC_CFGR_PLLSRC_HSE_PREDIV) - 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSE used as PLL clock source : frequency = HSE/PREDIV * PLLMUL */ - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSE_VALUE/predivfactor) * pllmull; - 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CR2_HSI48ON) - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (pllsource == RCC_CFGR_PLLSRC_HSI48_PREDIV) - 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSI48 used as PLL clock source : frequency = HSI48/PREDIV * PLLMUL */ - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSI48_VALUE / predivfactor) * pllmull; - 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CR2_HSI48ON */ - 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else - 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F078xx) || defined(STM32F072xB) || - 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSI used as PLL clock source : frequency = HSI/PREDIV * PLLMUL */ - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSI_VALUE / predivfactor) * pllmull; - 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #else - 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSI used as PLL clock source : frequency = HSI/2U * PLLMUL */ - 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSI_VALUE >> 1U) * pllmull; - 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F070xB */ - 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CR2_HSI48ON) - 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI48 is ready and if USB clock selection is HSI48 */ - ARM GAS /tmp/ccysQskn.s page 18 - - - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USBCLKSOURCE_HSI48) && (HAL_IS_BIT_SET(RCC->CR2, RCC_CR2_HSI48RDY))) - 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI48_VALUE; - 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CR2_HSI48ON */ - 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* USB */ - 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(CEC) - 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_CEC: - 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current CEC source */ - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_CEC_SOURCE(); - 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if CEC clock selection is HSI */ - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_CECCLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY))) - 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE; - 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if CEC clock selection is LSE */ - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_CECCLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY))) - 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE; - 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* CEC */ - 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** default: - 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break; - 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return(frequency); - 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 414 .loc 1 582 0 - 415 @ sp needed - 416 0028 10BD pop {r4, pc} - 417 .LVL28: - 418 .L67: - 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 419 .loc 1 383 0 - 420 002a 0128 cmp r0, #1 - 421 002c 3CD0 beq .L31 - 422 002e 0228 cmp r0, #2 - 423 0030 F9D1 bne .L49 - 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 424 .loc 1 438 0 - 425 0032 6B4B ldr r3, .L83 - 426 0034 1B6B ldr r3, [r3, #48] - 427 0036 C022 movs r2, #192 - 428 0038 9202 lsls r2, r2, #10 - 429 003a 1340 ands r3, r2 - 430 .LVL29: - 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 431 .loc 1 441 0 - 432 003c 53D0 beq .L69 - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - ARM GAS /tmp/ccysQskn.s page 19 - - - 433 .loc 1 446 0 - 434 003e C022 movs r2, #192 - 435 0040 9202 lsls r2, r2, #10 - 436 0042 9342 cmp r3, r2 - 437 0044 52D0 beq .L70 - 438 .L42: - 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 439 .loc 1 451 0 - 440 0046 8022 movs r2, #128 - 441 0048 5202 lsls r2, r2, #9 - 442 004a 9342 cmp r3, r2 - 443 004c 54D0 beq .L71 - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 444 .loc 1 456 0 - 445 004e 8022 movs r2, #128 - 446 0050 9202 lsls r2, r2, #10 - 447 0052 9342 cmp r3, r2 - 448 0054 53D0 beq .L72 - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 449 .loc 1 373 0 - 450 0056 0020 movs r0, #0 - 451 .LVL30: - 452 0058 E6E7 b .L27 - 453 .LVL31: - 454 .L33: - 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 455 .loc 1 388 0 - 456 005a 614B ldr r3, .L83 - 457 005c 1B6A ldr r3, [r3, #32] - 458 005e C022 movs r2, #192 - 459 0060 9200 lsls r2, r2, #2 - 460 0062 1340 ands r3, r2 - 461 .LVL32: - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 462 .loc 1 391 0 - 463 0064 8022 movs r2, #128 - 464 0066 5200 lsls r2, r2, #1 - 465 0068 9342 cmp r3, r2 - 466 006a 09D0 beq .L73 - 467 .L36: - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 468 .loc 1 396 0 - 469 006c 8022 movs r2, #128 - 470 006e 9200 lsls r2, r2, #2 - 471 0070 9342 cmp r3, r2 - 472 0072 0CD0 beq .L74 - 473 .L37: - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 474 .loc 1 401 0 - 475 0074 C022 movs r2, #192 - 476 0076 9200 lsls r2, r2, #2 - 477 0078 9342 cmp r3, r2 - 478 007a 0ED0 beq .L75 - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 479 .loc 1 373 0 - 480 007c 0020 movs r0, #0 - 481 .LVL33: - ARM GAS /tmp/ccysQskn.s page 20 - - - 482 007e D3E7 b .L27 - 483 .LVL34: - 484 .L73: - 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 485 .loc 1 391 0 discriminator 1 - 486 0080 574A ldr r2, .L83 - 487 0082 126A ldr r2, [r2, #32] - 488 0084 9207 lsls r2, r2, #30 - 489 0086 F1D5 bpl .L36 - 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 490 .loc 1 393 0 - 491 0088 8020 movs r0, #128 - 492 .LVL35: - 493 008a 0002 lsls r0, r0, #8 - 494 008c CCE7 b .L27 - 495 .LVL36: - 496 .L74: - 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 497 .loc 1 396 0 discriminator 1 - 498 008e 544A ldr r2, .L83 - 499 0090 526A ldr r2, [r2, #36] - 500 0092 9207 lsls r2, r2, #30 - 501 0094 EED5 bpl .L37 - 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 502 .loc 1 398 0 - 503 0096 5348 ldr r0, .L83+4 - 504 .LVL37: - 505 0098 C6E7 b .L27 - 506 .LVL38: - 507 .L75: - 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 508 .loc 1 401 0 discriminator 1 - 509 009a 514B ldr r3, .L83 - 510 .LVL39: - 511 009c 1B68 ldr r3, [r3] - 512 009e 9B03 lsls r3, r3, #14 - 513 00a0 00D5 bpl .LCB506 - 514 00a2 89E0 b .L53 @long jump - 515 .LCB506: - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 516 .loc 1 373 0 - 517 00a4 0020 movs r0, #0 - 518 .LVL40: - 519 00a6 BFE7 b .L27 - 520 .LVL41: - 521 .L31: - 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 522 .loc 1 410 0 - 523 00a8 4D4B ldr r3, .L83 - 524 00aa 1A6B ldr r2, [r3, #48] - 525 00ac 0323 movs r3, #3 - 526 00ae 1340 ands r3, r2 - 527 .LVL42: - 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 528 .loc 1 413 0 - 529 00b0 07D0 beq .L76 - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - ARM GAS /tmp/ccysQskn.s page 21 - - - 530 .loc 1 418 0 - 531 00b2 032B cmp r3, #3 - 532 00b4 08D0 beq .L77 - 533 .L39: - 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 534 .loc 1 423 0 - 535 00b6 012B cmp r3, #1 - 536 00b8 0CD0 beq .L78 - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 537 .loc 1 428 0 - 538 00ba 022B cmp r3, #2 - 539 00bc 0DD0 beq .L79 - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 540 .loc 1 373 0 - 541 00be 0020 movs r0, #0 - 542 .LVL43: - 543 00c0 B2E7 b .L27 - 544 .LVL44: - 545 .L76: - 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 546 .loc 1 415 0 - 547 00c2 FFF7FEFF bl HAL_RCC_GetPCLK1Freq - 548 .LVL45: - 549 00c6 AFE7 b .L27 - 550 .LVL46: - 551 .L77: - 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 552 .loc 1 418 0 discriminator 1 - 553 00c8 454A ldr r2, .L83 - 554 00ca 1268 ldr r2, [r2] - 555 00cc 9207 lsls r2, r2, #30 - 556 00ce F2D5 bpl .L39 - 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 557 .loc 1 420 0 - 558 00d0 4548 ldr r0, .L83+8 - 559 .LVL47: - 560 00d2 A9E7 b .L27 - 561 .LVL48: - 562 .L78: - 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 563 .loc 1 425 0 - 564 00d4 FFF7FEFF bl HAL_RCC_GetSysClockFreq - 565 .LVL49: - 566 00d8 A6E7 b .L27 - 567 .LVL50: - 568 .L79: - 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 569 .loc 1 428 0 discriminator 1 - 570 00da 414B ldr r3, .L83 - 571 .LVL51: - 572 00dc 1B6A ldr r3, [r3, #32] - 573 00de 9B07 lsls r3, r3, #30 - 574 00e0 6CD4 bmi .L56 - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 575 .loc 1 373 0 - 576 00e2 0020 movs r0, #0 - 577 .LVL52: - ARM GAS /tmp/ccysQskn.s page 22 - - - 578 00e4 A0E7 b .L27 - 579 .LVL53: - 580 .L69: - 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 581 .loc 1 443 0 - 582 00e6 FFF7FEFF bl HAL_RCC_GetPCLK1Freq - 583 .LVL54: - 584 00ea 9DE7 b .L27 - 585 .LVL55: - 586 .L70: - 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 587 .loc 1 446 0 discriminator 1 - 588 00ec 3C4A ldr r2, .L83 - 589 00ee 1268 ldr r2, [r2] - 590 00f0 9207 lsls r2, r2, #30 - 591 00f2 A8D5 bpl .L42 - 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 592 .loc 1 448 0 - 593 00f4 3C48 ldr r0, .L83+8 - 594 .LVL56: - 595 00f6 97E7 b .L27 - 596 .LVL57: - 597 .L71: - 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 598 .loc 1 453 0 - 599 00f8 FFF7FEFF bl HAL_RCC_GetSysClockFreq - 600 .LVL58: - 601 00fc 94E7 b .L27 - 602 .LVL59: - 603 .L72: - 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 604 .loc 1 456 0 discriminator 1 - 605 00fe 384B ldr r3, .L83 - 606 .LVL60: - 607 0100 1B6A ldr r3, [r3, #32] - 608 0102 9B07 lsls r3, r3, #30 - 609 0104 5DD4 bmi .L59 - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 610 .loc 1 373 0 - 611 0106 0020 movs r0, #0 - 612 .LVL61: - 613 0108 8EE7 b .L27 - 614 .LVL62: - 615 .L29: - 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 616 .loc 1 495 0 - 617 010a 354B ldr r3, .L83 - 618 010c 1A6B ldr r2, [r3, #48] - 619 010e 1023 movs r3, #16 - 620 0110 1340 ands r3, r2 - 621 .LVL63: - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 622 .loc 1 498 0 - 623 0112 03D1 bne .L44 - 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 624 .loc 1 498 0 is_stmt 0 discriminator 1 - 625 0114 324A ldr r2, .L83 - ARM GAS /tmp/ccysQskn.s page 23 - - - 626 0116 1268 ldr r2, [r2] - 627 0118 9207 lsls r2, r2, #30 - 628 011a 55D4 bmi .L60 - 629 .L44: - 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 630 .loc 1 503 0 is_stmt 1 - 631 011c 002B cmp r3, #0 - 632 011e 01D1 bne .L80 - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 633 .loc 1 373 0 - 634 0120 0020 movs r0, #0 - 635 .LVL64: - 636 0122 81E7 b .L27 - 637 .LVL65: - 638 .L80: - 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 639 .loc 1 505 0 - 640 0124 FFF7FEFF bl HAL_RCC_GetSysClockFreq - 641 .LVL66: - 642 0128 7EE7 b .L27 - 643 .LVL67: - 644 .L34: - 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 645 .loc 1 513 0 - 646 012a 2D4B ldr r3, .L83 - 647 012c 1B6B ldr r3, [r3, #48] - 648 012e 8020 movs r0, #128 - 649 .LVL68: - 650 0130 1840 ands r0, r3 - 651 .LVL69: - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 652 .loc 1 516 0 - 653 0132 27D0 beq .L45 - 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 654 .loc 1 516 0 is_stmt 0 discriminator 1 - 655 0134 2A4B ldr r3, .L83 - 656 0136 1B68 ldr r3, [r3] - 657 0138 9B01 lsls r3, r3, #6 - 658 013a 23D5 bpl .L45 - 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; - 659 .loc 1 519 0 is_stmt 1 - 660 013c 284A ldr r2, .L83 - 661 013e 5068 ldr r0, [r2, #4] - 662 .LVL70: - 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllmull = (pllmull >> RCC_CFGR_PLLMUL_BITNUMBER) + 2U; - 663 .loc 1 520 0 - 664 0140 5368 ldr r3, [r2, #4] - 665 0142 C021 movs r1, #192 - 666 0144 4902 lsls r1, r1, #9 - 667 0146 0B40 ands r3, r1 - 668 .LVL71: - 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1U; - 669 .loc 1 521 0 - 670 0148 800C lsrs r0, r0, #18 - 671 .LVL72: - 672 014a 0F21 movs r1, #15 - 673 014c 0840 ands r0, r1 - ARM GAS /tmp/ccysQskn.s page 24 - - - 674 014e 841C adds r4, r0, #2 - 675 .LVL73: - 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 676 .loc 1 522 0 - 677 0150 D26A ldr r2, [r2, #44] - 678 0152 1140 ands r1, r2 - 679 0154 0131 adds r1, r1, #1 - 680 .LVL74: - 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 681 .loc 1 524 0 - 682 0156 8022 movs r2, #128 - 683 0158 5202 lsls r2, r2, #9 - 684 015a 9342 cmp r3, r2 - 685 015c 08D0 beq .L81 - 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 686 .loc 1 530 0 - 687 015e C022 movs r2, #192 - 688 0160 5202 lsls r2, r2, #9 - 689 0162 9342 cmp r3, r2 - 690 0164 09D0 beq .L82 - 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #else - 691 .loc 1 540 0 - 692 0166 2048 ldr r0, .L83+8 - 693 0168 FFF7FEFF bl __aeabi_uidiv - 694 .LVL75: - 695 016c 6043 muls r0, r4 - 696 .LVL76: - 697 016e 5BE7 b .L27 - 698 .LVL77: - 699 .L81: - 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 700 .loc 1 527 0 - 701 0170 1D48 ldr r0, .L83+8 - 702 0172 FFF7FEFF bl __aeabi_uidiv - 703 .LVL78: - 704 0176 6043 muls r0, r4 - 705 .LVL79: - 706 0178 56E7 b .L27 - 707 .LVL80: - 708 .L82: - 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 709 .loc 1 533 0 - 710 017a 1C48 ldr r0, .L83+12 - 711 017c FFF7FEFF bl __aeabi_uidiv - 712 .LVL81: - 713 0180 6043 muls r0, r4 - 714 .LVL82: - 715 0182 51E7 b .L27 - 716 .LVL83: - 717 .L45: - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 718 .loc 1 549 0 - 719 0184 0028 cmp r0, #0 - 720 0186 21D1 bne .L62 - 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 721 .loc 1 549 0 is_stmt 0 discriminator 1 - 722 0188 154B ldr r3, .L83 - ARM GAS /tmp/ccysQskn.s page 25 - - - 723 018a 5B6B ldr r3, [r3, #52] - 724 018c 9B03 lsls r3, r3, #14 - 725 018e 00D4 bmi .LCB770 - 726 0190 4AE7 b .L27 @long jump - 727 .LCB770: - 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 728 .loc 1 551 0 is_stmt 1 - 729 0192 1648 ldr r0, .L83+12 - 730 .LVL84: - 731 0194 48E7 b .L27 - 732 .LVL85: - 733 .L68: - 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 734 .loc 1 561 0 - 735 0196 124B ldr r3, .L83 - 736 0198 1A6B ldr r2, [r3, #48] - 737 019a 4023 movs r3, #64 - 738 019c 1340 ands r3, r2 - 739 .LVL86: - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 740 .loc 1 564 0 - 741 019e 03D1 bne .L48 - 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 742 .loc 1 564 0 is_stmt 0 discriminator 1 - 743 01a0 0F4A ldr r2, .L83 - 744 01a2 1268 ldr r2, [r2] - 745 01a4 9207 lsls r2, r2, #30 - 746 01a6 13D4 bmi .L64 - 747 .L48: - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 748 .loc 1 569 0 is_stmt 1 - 749 01a8 002B cmp r3, #0 - 750 01aa 13D0 beq .L65 - 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 751 .loc 1 569 0 is_stmt 0 discriminator 1 - 752 01ac 0C4B ldr r3, .L83 - 753 .LVL87: - 754 01ae 1B6A ldr r3, [r3, #32] - 755 01b0 9B07 lsls r3, r3, #30 - 756 01b2 11D4 bmi .L66 - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 757 .loc 1 373 0 is_stmt 1 - 758 01b4 0020 movs r0, #0 - 759 .LVL88: - 760 01b6 37E7 b .L27 - 761 .LVL89: - 762 .L53: - 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 763 .loc 1 403 0 - 764 01b8 0D48 ldr r0, .L83+16 - 765 .LVL90: - 766 01ba 35E7 b .L27 - 767 .LVL91: - 768 .L56: - 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 769 .loc 1 430 0 - 770 01bc 8020 movs r0, #128 - ARM GAS /tmp/ccysQskn.s page 26 - - - 771 .LVL92: - 772 01be 0002 lsls r0, r0, #8 - 773 01c0 32E7 b .L27 - 774 .LVL93: - 775 .L59: - 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 776 .loc 1 458 0 - 777 01c2 8020 movs r0, #128 - 778 .LVL94: - 779 01c4 0002 lsls r0, r0, #8 - 780 01c6 2FE7 b .L27 - 781 .LVL95: - 782 .L60: - 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 783 .loc 1 500 0 - 784 01c8 0748 ldr r0, .L83+8 - 785 .LVL96: - 786 01ca 2DE7 b .L27 - 787 .LVL97: - 788 .L62: - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 789 .loc 1 373 0 - 790 01cc 0020 movs r0, #0 - 791 .LVL98: - 792 01ce 2BE7 b .L27 - 793 .LVL99: - 794 .L64: - 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 795 .loc 1 566 0 - 796 01d0 0548 ldr r0, .L83+8 - 797 .LVL100: - 798 01d2 29E7 b .L27 - 799 .LVL101: - 800 .L65: - 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 801 .loc 1 373 0 - 802 01d4 0020 movs r0, #0 - 803 .LVL102: - 804 01d6 27E7 b .L27 - 805 .LVL103: - 806 .L66: - 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 807 .loc 1 571 0 - 808 01d8 8020 movs r0, #128 - 809 .LVL104: - 810 01da 0002 lsls r0, r0, #8 - 811 .LVL105: - 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 812 .loc 1 581 0 - 813 01dc 24E7 b .L27 - 814 .L84: - 815 01de C046 .align 2 - 816 .L83: - 817 01e0 00100240 .word 1073876992 - 818 01e4 409C0000 .word 40000 - 819 01e8 00127A00 .word 8000000 - 820 01ec 006CDC02 .word 48000000 - ARM GAS /tmp/ccysQskn.s page 27 - - - 821 01f0 90D00300 .word 250000 - 822 .cfi_endproc - 823 .LFE42: - 825 .section .text.HAL_RCCEx_CRSConfig,"ax",%progbits - 826 .align 1 - 827 .global HAL_RCCEx_CRSConfig - 828 .syntax unified - 829 .code 16 - 830 .thumb_func - 831 .fpu softvfp - 833 HAL_RCCEx_CRSConfig: - 834 .LFB43: - 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @} - 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(CRS) - 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Exported_Functions_Group3 Extended Clock Recovery System Control functions - 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Extended Clock Recovery System Control functions - 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * - 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @verbatim - 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** =============================================================================== - 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ##### Extended Clock Recovery System Control functions ##### - 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** =============================================================================== - 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** [..] - 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** For devices with Clock Recovery System feature (CRS), RCC Extention HAL driver can be used as - 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) In System clock config, HSI48 needs to be enabled - 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) Enable CRS clock in IP MSP init which will use CRS functions - 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) Call CRS functions as follows: - 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (##) Prepare synchronization configuration necessary for HSI48 calibration - 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Default values can be set for frequency Error Measurement (reload and error lim - 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** and also HSI48 oscillator smooth trimming. - 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Macro @ref __HAL_RCC_CRS_RELOADVALUE_CALCULATE can be also used to calculate - 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** directly reload value with target and synchronization frequencies values - 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (##) Call function @ref HAL_RCCEx_CRSConfig which - 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Reset CRS registers to their default values. - 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Configure CRS registers with synchronization configuration - 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Enable automatic calibration and frequency error counter feature - 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** Note: When using USB LPM (Link Power Management) and the device is in Sleep mode, the - 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** periodic USB SOF will not be generated by the host. No SYNC signal will therefore be - 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** provided to the CRS to calibrate the HSI48 on the run. To guarantee the required clock - 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** precision after waking up from Sleep mode, the LSE or reference clock on the GPIOs - 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** should be used as SYNC signal. - 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (##) A polling function is provided to wait for complete synchronization - 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Call function @ref HAL_RCCEx_CRSWaitSynchronization() - 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) According to CRS status, user can decide to adjust again the calibration or con - 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** application if synchronization is OK - 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) User can retrieve information related to synchronization in calling function - 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @ref HAL_RCCEx_CRSGetSynchronizationInfo() - 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - ARM GAS /tmp/ccysQskn.s page 28 - - - 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) Regarding synchronization status and synchronization information, user can try a new cali - 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** in changing synchronization configuration and call again HAL_RCCEx_CRSConfig. - 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** Note: When the SYNC event is detected during the downcounting phase (before reaching the - 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** it means that the actual frequency is lower than the target (and so, that the TRIM value - 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** incremented), while when it is detected during the upcounting phase it means that the ac - 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** is higher (and that the TRIM value should be decremented). - 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) In interrupt mode, user can resort to the available macros (__HAL_RCC_CRS_XXX_IT). Interr - 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** through CRS Handler (RCC_IRQn/RCC_IRQHandler) - 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Call function @ref HAL_RCCEx_CRSConfig() - 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Enable RCC_IRQn (thanks to NVIC functions) - 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Enable CRS interrupt (@ref __HAL_RCC_CRS_ENABLE_IT) - 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Implement CRS status management in the following user callbacks called from - 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_IRQHandler(): - 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_SyncOkCallback() - 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_SyncWarnCallback() - 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_ExpectedSyncCallback() - 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_ErrorCallback() - 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) To force a SYNC EVENT, user can use the function @ref HAL_RCCEx_CRSSoftwareSynchronizatio - 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** This function can be called before calling @ref HAL_RCCEx_CRSConfig (for instance in Syst - 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endverbatim - 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{ - 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Start automatic synchronization for polling mode - 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param pInit Pointer on RCC_CRSInitTypeDef structure - 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None - 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit) - 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 835 .loc 1 660 0 - 836 .cfi_startproc - 837 @ args = 0, pretend = 0, frame = 0 - 838 @ frame_needed = 0, uses_anonymous_args = 0 - 839 @ link register save eliminated. - 840 .LVL106: - 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t value = 0U; - 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */ - 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_SYNC_DIV(pInit->Prescaler)); - 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_SYNC_SOURCE(pInit->Source)); - 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_SYNC_POLARITY(pInit->Polarity)); - 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_RELOADVALUE(pInit->ReloadValue)); - 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_ERRORLIMIT(pInit->ErrorLimitValue)); - 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_HSI48CALIBRATION(pInit->HSI48CalibrationValue)); - 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CONFIGURATION */ - 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Before configuration, reset CRS registers to their default values*/ - 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_FORCE_RESET(); - 841 .loc 1 674 0 - 842 0000 104B ldr r3, .L86 - 843 0002 1969 ldr r1, [r3, #16] - 844 0004 8022 movs r2, #128 - ARM GAS /tmp/ccysQskn.s page 29 - - - 845 0006 1205 lsls r2, r2, #20 - 846 0008 0A43 orrs r2, r1 - 847 000a 1A61 str r2, [r3, #16] - 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_RELEASE_RESET(); - 848 .loc 1 675 0 - 849 000c 1A69 ldr r2, [r3, #16] - 850 000e 0E49 ldr r1, .L86+4 - 851 0010 0A40 ands r2, r1 - 852 0012 1A61 str r2, [r3, #16] - 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the SYNCDIV[2:0] bits according to Prescaler value */ - 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the SYNCSRC[1:0] bits according to Source value */ - 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the SYNCSPOL bit according to Polarity value */ - 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** value = (pInit->Prescaler | pInit->Source | pInit->Polarity); - 853 .loc 1 680 0 - 854 0014 0268 ldr r2, [r0] - 855 0016 4368 ldr r3, [r0, #4] - 856 0018 1A43 orrs r2, r3 - 857 001a 8368 ldr r3, [r0, #8] - 858 001c 1A43 orrs r2, r3 - 859 .LVL107: - 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the RELOAD[15:0] bits according to ReloadValue value */ - 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** value |= pInit->ReloadValue; - 860 .loc 1 682 0 - 861 001e C368 ldr r3, [r0, #12] - 862 0020 1343 orrs r3, r2 - 863 .LVL108: - 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the FELIM[7:0] bits according to ErrorLimitValue value */ - 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** value |= (pInit->ErrorLimitValue << CRS_CFGR_FELIM_BITNUMBER); - 864 .loc 1 684 0 - 865 0022 0269 ldr r2, [r0, #16] - 866 0024 1204 lsls r2, r2, #16 - 867 0026 1A43 orrs r2, r3 - 868 .LVL109: - 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->CFGR, value); - 869 .loc 1 685 0 - 870 0028 084B ldr r3, .L86+8 - 871 002a 5A60 str r2, [r3, #4] - 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Adjust HSI48 oscillator smooth trimming */ - 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the TRIM[5:0] bits according to RCC_CRS_HSI48CalibrationValue value */ - 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** MODIFY_REG(CRS->CR, CRS_CR_TRIM, (pInit->HSI48CalibrationValue << CRS_CR_TRIM_BITNUMBER)); - 872 .loc 1 689 0 - 873 002c 1A68 ldr r2, [r3] - 874 .LVL110: - 875 002e 0849 ldr r1, .L86+12 - 876 0030 0A40 ands r2, r1 - 877 0032 4169 ldr r1, [r0, #20] - 878 0034 0902 lsls r1, r1, #8 - 879 0036 0A43 orrs r2, r1 - 880 0038 1A60 str r2, [r3] - 881 .LVL111: - 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* START AUTOMATIC SYNCHRONIZATION*/ - 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Enable Automatic trimming & Frequency error counter */ - 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** SET_BIT(CRS->CR, CRS_CR_AUTOTRIMEN | CRS_CR_CEN); - ARM GAS /tmp/ccysQskn.s page 30 - - - 882 .loc 1 694 0 - 883 003a 1A68 ldr r2, [r3] - 884 003c 6021 movs r1, #96 - 885 003e 0A43 orrs r2, r1 - 886 0040 1A60 str r2, [r3] - 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 887 .loc 1 695 0 - 888 @ sp needed - 889 0042 7047 bx lr - 890 .L87: - 891 .align 2 - 892 .L86: - 893 0044 00100240 .word 1073876992 - 894 0048 FFFFFFF7 .word -134217729 - 895 004c 006C0040 .word 1073769472 - 896 0050 FFC0FFFF .word -16129 - 897 .cfi_endproc - 898 .LFE43: - 900 .section .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate,"ax",%progbits - 901 .align 1 - 902 .global HAL_RCCEx_CRSSoftwareSynchronizationGenerate - 903 .syntax unified - 904 .code 16 - 905 .thumb_func - 906 .fpu softvfp - 908 HAL_RCCEx_CRSSoftwareSynchronizationGenerate: - 909 .LFB44: - 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Generate the software synchronization event - 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None - 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void) - 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 910 .loc 1 702 0 - 911 .cfi_startproc - 912 @ args = 0, pretend = 0, frame = 0 - 913 @ frame_needed = 0, uses_anonymous_args = 0 - 914 @ link register save eliminated. - 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** SET_BIT(CRS->CR, CRS_CR_SWSYNC); - 915 .loc 1 703 0 - 916 0000 024A ldr r2, .L89 - 917 0002 1368 ldr r3, [r2] - 918 0004 8021 movs r1, #128 - 919 0006 0B43 orrs r3, r1 - 920 0008 1360 str r3, [r2] - 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 921 .loc 1 704 0 - 922 @ sp needed - 923 000a 7047 bx lr - 924 .L90: - 925 .align 2 - 926 .L89: - 927 000c 006C0040 .word 1073769472 - 928 .cfi_endproc - 929 .LFE44: - 931 .section .text.HAL_RCCEx_CRSGetSynchronizationInfo,"ax",%progbits - ARM GAS /tmp/ccysQskn.s page 31 - - - 932 .align 1 - 933 .global HAL_RCCEx_CRSGetSynchronizationInfo - 934 .syntax unified - 935 .code 16 - 936 .thumb_func - 937 .fpu softvfp - 939 HAL_RCCEx_CRSGetSynchronizationInfo: - 940 .LFB45: - 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Return synchronization info - 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param pSynchroInfo Pointer on RCC_CRSSynchroInfoTypeDef structure - 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None - 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo) - 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 941 .loc 1 712 0 - 942 .cfi_startproc - 943 @ args = 0, pretend = 0, frame = 0 - 944 @ frame_needed = 0, uses_anonymous_args = 0 - 945 @ link register save eliminated. - 946 .LVL112: - 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameter */ - 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(pSynchroInfo != NULL); - 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the reload value */ - 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->ReloadValue = (uint32_t)(READ_BIT(CRS->CFGR, CRS_CFGR_RELOAD)); - 947 .loc 1 717 0 - 948 0000 094A ldr r2, .L92 - 949 0002 5368 ldr r3, [r2, #4] - 950 0004 1B04 lsls r3, r3, #16 - 951 0006 1B0C lsrs r3, r3, #16 - 952 0008 0360 str r3, [r0] - 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get HSI48 oscillator smooth trimming */ - 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->HSI48CalibrationValue = (uint32_t)(READ_BIT(CRS->CR, CRS_CR_TRIM) >> CRS_CR_TRIM_BI - 953 .loc 1 720 0 - 954 000a 1168 ldr r1, [r2] - 955 000c 090A lsrs r1, r1, #8 - 956 000e 3F23 movs r3, #63 - 957 0010 0B40 ands r3, r1 - 958 0012 4360 str r3, [r0, #4] - 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get Frequency error capture */ - 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->FreqErrorCapture = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FECAP) >> CRS_ISR_FECAP_BI - 959 .loc 1 723 0 - 960 0014 9368 ldr r3, [r2, #8] - 961 0016 1B0C lsrs r3, r3, #16 - 962 0018 8360 str r3, [r0, #8] - 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get Frequency error direction */ - 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->FreqErrorDirection = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FEDIR)); - 963 .loc 1 726 0 - 964 001a 9368 ldr r3, [r2, #8] - 965 001c 8022 movs r2, #128 - 966 001e 1202 lsls r2, r2, #8 - 967 0020 1340 ands r3, r2 - ARM GAS /tmp/ccysQskn.s page 32 - - - 968 0022 C360 str r3, [r0, #12] - 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 969 .loc 1 727 0 - 970 @ sp needed - 971 0024 7047 bx lr - 972 .L93: - 973 0026 C046 .align 2 - 974 .L92: - 975 0028 006C0040 .word 1073769472 - 976 .cfi_endproc - 977 .LFE45: - 979 .section .text.HAL_RCCEx_CRSWaitSynchronization,"ax",%progbits - 980 .align 1 - 981 .global HAL_RCCEx_CRSWaitSynchronization - 982 .syntax unified - 983 .code 16 - 984 .thumb_func - 985 .fpu softvfp - 987 HAL_RCCEx_CRSWaitSynchronization: - 988 .LFB46: - 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Wait for CRS Synchronization status. - 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param Timeout Duration of the timeout - 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note Timeout is based on the maximum time to receive a SYNC event based on synchronization - 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * frequency. - 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note If Timeout set to HAL_MAX_DELAY, HAL_TIMEOUT will be never returned. - 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval Combination of Synchronization status - 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This parameter can be a combination of the following values: - 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_TIMEOUT - 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCOK - 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCWARN - 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCERR - 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCMISS - 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_TRIMOVF - 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout) - 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 989 .loc 1 745 0 - 990 .cfi_startproc - 991 @ args = 0, pretend = 0, frame = 0 - 992 @ frame_needed = 0, uses_anonymous_args = 0 - 993 .LVL113: - 994 0000 70B5 push {r4, r5, r6, lr} - 995 .LCFI3: - 996 .cfi_def_cfa_offset 16 - 997 .cfi_offset 4, -16 - 998 .cfi_offset 5, -12 - 999 .cfi_offset 6, -8 - 1000 .cfi_offset 14, -4 - 1001 0002 0500 movs r5, r0 - 1002 .LVL114: - 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crsstatus = RCC_CRS_NONE; - 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t tickstart = 0U; - 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get timeout */ - 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** tickstart = HAL_GetTick(); - ARM GAS /tmp/ccysQskn.s page 33 - - - 1003 .loc 1 750 0 - 1004 0004 FFF7FEFF bl HAL_GetTick - 1005 .LVL115: - 1006 0008 0600 movs r6, r0 - 1007 .LVL116: - 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crsstatus = RCC_CRS_NONE; - 1008 .loc 1 746 0 - 1009 000a 0024 movs r4, #0 - 1010 000c 3AE0 b .L102 - 1011 .LVL117: - 1012 .L106: - 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait for CRS flag or timeout detection */ - 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** do - 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(Timeout != HAL_MAX_DELAY) - 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) - 1013 .loc 1 757 0 discriminator 1 - 1014 000e FFF7FEFF bl HAL_GetTick - 1015 .LVL118: - 1016 0012 801B subs r0, r0, r6 - 1017 0014 A842 cmp r0, r5 - 1018 0016 3BD8 bhi .L104 - 1019 .LVL119: - 1020 .L95: - 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus = RCC_CRS_TIMEOUT; - 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCOK flag */ - 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCOK)) - 1021 .loc 1 763 0 - 1022 0018 1F4B ldr r3, .L107 - 1023 001a 9B68 ldr r3, [r3, #8] - 1024 001c DB07 lsls r3, r3, #31 - 1025 001e 04D5 bpl .L96 - 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC event OK */ - 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCOK; - 1026 .loc 1 766 0 - 1027 0020 0223 movs r3, #2 - 1028 0022 1C43 orrs r4, r3 - 1029 .LVL120: - 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNC event OK bit */ - 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCOK); - 1030 .loc 1 769 0 - 1031 0024 1C4B ldr r3, .L107 - 1032 0026 0122 movs r2, #1 - 1033 0028 DA60 str r2, [r3, #12] - 1034 .L96: - 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCWARN flag */ - 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCWARN)) - 1035 .loc 1 773 0 - ARM GAS /tmp/ccysQskn.s page 34 - - - 1036 002a 1B4B ldr r3, .L107 - 1037 002c 9B68 ldr r3, [r3, #8] - 1038 002e 9B07 lsls r3, r3, #30 - 1039 0030 04D5 bpl .L97 - 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC warning */ - 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCWARN; - 1040 .loc 1 776 0 - 1041 0032 0423 movs r3, #4 - 1042 0034 1C43 orrs r4, r3 - 1043 .LVL121: - 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNCWARN bit */ - 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCWARN); - 1044 .loc 1 779 0 - 1045 0036 184B ldr r3, .L107 - 1046 0038 0222 movs r2, #2 - 1047 003a DA60 str r2, [r3, #12] - 1048 .L97: - 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS TRIM overflow flag */ - 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_TRIMOVF)) - 1049 .loc 1 783 0 - 1050 003c 164B ldr r3, .L107 - 1051 003e 9B68 ldr r3, [r3, #8] - 1052 0040 5B05 lsls r3, r3, #21 - 1053 0042 04D5 bpl .L98 - 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC Error */ - 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_TRIMOVF; - 1054 .loc 1 786 0 - 1055 0044 2023 movs r3, #32 - 1056 0046 1C43 orrs r4, r3 - 1057 .LVL122: - 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS Error bit */ - 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_TRIMOVF); - 1058 .loc 1 789 0 - 1059 0048 134B ldr r3, .L107 - 1060 004a 0422 movs r2, #4 - 1061 004c DA60 str r2, [r3, #12] - 1062 .L98: - 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Error flag */ - 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCERR)) - 1063 .loc 1 793 0 - 1064 004e 124B ldr r3, .L107 - 1065 0050 9B68 ldr r3, [r3, #8] - 1066 0052 DB05 lsls r3, r3, #23 - 1067 0054 04D5 bpl .L99 - 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC Error */ - 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCERR; - 1068 .loc 1 796 0 - 1069 0056 0823 movs r3, #8 - ARM GAS /tmp/ccysQskn.s page 35 - - - 1070 0058 1C43 orrs r4, r3 - 1071 .LVL123: - 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS Error bit */ - 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCERR); - 1072 .loc 1 799 0 - 1073 005a 0F4B ldr r3, .L107 - 1074 005c 0422 movs r2, #4 - 1075 005e DA60 str r2, [r3, #12] - 1076 .L99: - 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNC Missed flag */ - 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCMISS)) - 1077 .loc 1 803 0 - 1078 0060 0D4B ldr r3, .L107 - 1079 0062 9B68 ldr r3, [r3, #8] - 1080 0064 9B05 lsls r3, r3, #22 - 1081 0066 04D5 bpl .L100 - 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC Missed */ - 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCMISS; - 1082 .loc 1 806 0 - 1083 0068 1023 movs r3, #16 - 1084 006a 1C43 orrs r4, r3 - 1085 .LVL124: - 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNC Missed bit */ - 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCMISS); - 1086 .loc 1 809 0 - 1087 006c 0A4B ldr r3, .L107 - 1088 006e 0422 movs r2, #4 - 1089 0070 DA60 str r2, [r3, #12] - 1090 .L100: - 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Expected SYNC flag */ - 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_ESYNC)) - 1091 .loc 1 813 0 - 1092 0072 094B ldr r3, .L107 - 1093 0074 9B68 ldr r3, [r3, #8] - 1094 0076 1B07 lsls r3, r3, #28 - 1095 0078 02D5 bpl .L101 - 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* frequency error counter reached a zero value */ - 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_ESYNC); - 1096 .loc 1 816 0 discriminator 2 - 1097 007a 074B ldr r3, .L107 - 1098 007c 0822 movs r2, #8 - 1099 007e DA60 str r2, [r3, #12] - 1100 .L101: - 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } while(RCC_CRS_NONE == crsstatus); - 1101 .loc 1 818 0 - 1102 0080 002C cmp r4, #0 - 1103 0082 07D1 bne .L105 - 1104 .LVL125: - ARM GAS /tmp/ccysQskn.s page 36 - - - 1105 .L102: - 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1106 .loc 1 755 0 - 1107 0084 6B1C adds r3, r5, #1 - 1108 0086 C7D0 beq .L95 - 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1109 .loc 1 757 0 - 1110 0088 002D cmp r5, #0 - 1111 008a C0D1 bne .L106 - 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1112 .loc 1 759 0 - 1113 008c 0124 movs r4, #1 - 1114 .LVL126: - 1115 008e C3E7 b .L95 - 1116 .LVL127: - 1117 .L104: - 1118 0090 0124 movs r4, #1 - 1119 .LVL128: - 1120 0092 C1E7 b .L95 - 1121 .LVL129: - 1122 .L105: - 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return crsstatus; - 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1123 .loc 1 821 0 - 1124 0094 2000 movs r0, r4 - 1125 @ sp needed - 1126 .LVL130: - 1127 .LVL131: - 1128 .LVL132: - 1129 0096 70BD pop {r4, r5, r6, pc} - 1130 .L108: - 1131 .align 2 - 1132 .L107: - 1133 0098 006C0040 .word 1073769472 - 1134 .cfi_endproc - 1135 .LFE46: - 1137 .section .text.HAL_RCCEx_CRS_SyncOkCallback,"ax",%progbits - 1138 .align 1 - 1139 .weak HAL_RCCEx_CRS_SyncOkCallback - 1140 .syntax unified - 1141 .code 16 - 1142 .thumb_func - 1143 .fpu softvfp - 1145 HAL_RCCEx_CRS_SyncOkCallback: - 1146 .LFB48: - 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Handle the Clock Recovery System interrupt request. - 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None - 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRS_IRQHandler(void) - 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crserror = RCC_CRS_NONE; - 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get current IT flags and IT sources values */ - 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t itflags = READ_REG(CRS->ISR); - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t itsources = READ_REG(CRS->CR); - ARM GAS /tmp/ccysQskn.s page 37 - - - 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCOK flag */ - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((itflags & RCC_CRS_FLAG_SYNCOK) != RESET) && ((itsources & RCC_CRS_IT_SYNCOK) != RESET)) - 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNC event OK flag */ - 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_SYNCOKC); - 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user callback */ - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_SyncOkCallback(); - 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCWARN flag */ - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if(((itflags & RCC_CRS_FLAG_SYNCWARN) != RESET) && ((itsources & RCC_CRS_IT_SYNCWARN) != RES - 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNCWARN flag */ - 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_SYNCWARNC); - 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user callback */ - 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_SyncWarnCallback(); - 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Expected SYNC flag */ - 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if(((itflags & RCC_CRS_FLAG_ESYNC) != RESET) && ((itsources & RCC_CRS_IT_ESYNC) != RESET)) - 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* frequency error counter reached a zero value */ - 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_ESYNCC); - 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user callback */ - 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_ExpectedSyncCallback(); - 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Error flags */ - 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else - 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((itflags & RCC_CRS_FLAG_ERR) != RESET) && ((itsources & RCC_CRS_IT_ERR) != RESET)) - 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((itflags & RCC_CRS_FLAG_SYNCERR) != RESET) - 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crserror |= RCC_CRS_SYNCERR; - 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((itflags & RCC_CRS_FLAG_SYNCMISS) != RESET) - 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crserror |= RCC_CRS_SYNCMISS; - 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((itflags & RCC_CRS_FLAG_TRIMOVF) != RESET) - 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crserror |= RCC_CRS_TRIMOVF; - 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS Error flags */ - 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_ERRC); - 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user error callback */ - 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_ErrorCallback(crserror); - 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System SYNCOK interrupt callback. - ARM GAS /tmp/ccysQskn.s page 38 - - - 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none - 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_SyncOkCallback(void) - 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1147 .loc 1 893 0 - 1148 .cfi_startproc - 1149 @ args = 0, pretend = 0, frame = 0 - 1150 @ frame_needed = 0, uses_anonymous_args = 0 - 1151 @ link register save eliminated. - 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, - 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_SyncOkCallback should be implemented in the user file - 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1152 .loc 1 897 0 - 1153 @ sp needed - 1154 0000 7047 bx lr - 1155 .cfi_endproc - 1156 .LFE48: - 1158 .section .text.HAL_RCCEx_CRS_SyncWarnCallback,"ax",%progbits - 1159 .align 1 - 1160 .weak HAL_RCCEx_CRS_SyncWarnCallback - 1161 .syntax unified - 1162 .code 16 - 1163 .thumb_func - 1164 .fpu softvfp - 1166 HAL_RCCEx_CRS_SyncWarnCallback: - 1167 .LFB49: - 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System SYNCWARN interrupt callback. - 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none - 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_SyncWarnCallback(void) - 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1168 .loc 1 904 0 - 1169 .cfi_startproc - 1170 @ args = 0, pretend = 0, frame = 0 - 1171 @ frame_needed = 0, uses_anonymous_args = 0 - 1172 @ link register save eliminated. - 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, - 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_SyncWarnCallback should be implemented in the user file - 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1173 .loc 1 908 0 - 1174 @ sp needed - 1175 0000 7047 bx lr - 1176 .cfi_endproc - 1177 .LFE49: - 1179 .section .text.HAL_RCCEx_CRS_ExpectedSyncCallback,"ax",%progbits - 1180 .align 1 - 1181 .weak HAL_RCCEx_CRS_ExpectedSyncCallback - 1182 .syntax unified - 1183 .code 16 - 1184 .thumb_func - 1185 .fpu softvfp - 1187 HAL_RCCEx_CRS_ExpectedSyncCallback: - 1188 .LFB50: - ARM GAS /tmp/ccysQskn.s page 39 - - - 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System Expected SYNC interrupt callback. - 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none - 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_ExpectedSyncCallback(void) - 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1189 .loc 1 915 0 - 1190 .cfi_startproc - 1191 @ args = 0, pretend = 0, frame = 0 - 1192 @ frame_needed = 0, uses_anonymous_args = 0 - 1193 @ link register save eliminated. - 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, - 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_ExpectedSyncCallback should be implemented in the user file - 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1194 .loc 1 919 0 - 1195 @ sp needed - 1196 0000 7047 bx lr - 1197 .cfi_endproc - 1198 .LFE50: - 1200 .section .text.HAL_RCCEx_CRS_ErrorCallback,"ax",%progbits - 1201 .align 1 - 1202 .weak HAL_RCCEx_CRS_ErrorCallback - 1203 .syntax unified - 1204 .code 16 - 1205 .thumb_func - 1206 .fpu softvfp - 1208 HAL_RCCEx_CRS_ErrorCallback: - 1209 .LFB51: - 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** - 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System Error interrupt callback. - 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param Error Combination of Error status. - 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This parameter can be a combination of the following values: - 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCERR - 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCMISS - 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_TRIMOVF - 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none - 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error) - 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1210 .loc 1 931 0 - 1211 .cfi_startproc - 1212 @ args = 0, pretend = 0, frame = 0 - 1213 @ frame_needed = 0, uses_anonymous_args = 0 - 1214 @ link register save eliminated. - 1215 .LVL133: - 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Prevent unused argument(s) compilation warning */ - 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** UNUSED(Error); - 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, - 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_ErrorCallback should be implemented in the user file - 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */ - 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1216 .loc 1 938 0 - 1217 @ sp needed - ARM GAS /tmp/ccysQskn.s page 40 - - - 1218 0000 7047 bx lr - 1219 .cfi_endproc - 1220 .LFE51: - 1222 .section .text.HAL_RCCEx_CRS_IRQHandler,"ax",%progbits - 1223 .align 1 - 1224 .global HAL_RCCEx_CRS_IRQHandler - 1225 .syntax unified - 1226 .code 16 - 1227 .thumb_func - 1228 .fpu softvfp - 1230 HAL_RCCEx_CRS_IRQHandler: - 1231 .LFB47: - 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crserror = RCC_CRS_NONE; - 1232 .loc 1 828 0 - 1233 .cfi_startproc - 1234 @ args = 0, pretend = 0, frame = 0 - 1235 @ frame_needed = 0, uses_anonymous_args = 0 - 1236 0000 10B5 push {r4, lr} - 1237 .LCFI4: - 1238 .cfi_def_cfa_offset 8 - 1239 .cfi_offset 4, -8 - 1240 .cfi_offset 14, -4 - 1241 .LVL134: - 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t itsources = READ_REG(CRS->CR); - 1242 .loc 1 831 0 - 1243 0002 1C4A ldr r2, .L125 - 1244 0004 9368 ldr r3, [r2, #8] - 1245 .LVL135: - 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 1246 .loc 1 832 0 - 1247 0006 1268 ldr r2, [r2] - 1248 .LVL136: - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1249 .loc 1 835 0 - 1250 0008 D907 lsls r1, r3, #31 - 1251 000a 01D5 bpl .L114 - 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1252 .loc 1 835 0 is_stmt 0 discriminator 1 - 1253 000c D107 lsls r1, r2, #31 - 1254 000e 1CD4 bmi .L122 - 1255 .L114: - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1256 .loc 1 844 0 is_stmt 1 - 1257 0010 9907 lsls r1, r3, #30 - 1258 0012 01D5 bpl .L116 - 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1259 .loc 1 844 0 is_stmt 0 discriminator 1 - 1260 0014 9107 lsls r1, r2, #30 - 1261 0016 1ED4 bmi .L123 - 1262 .L116: - 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1263 .loc 1 853 0 is_stmt 1 - 1264 0018 1907 lsls r1, r3, #28 - 1265 001a 01D5 bpl .L117 - 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1266 .loc 1 853 0 is_stmt 0 discriminator 1 - 1267 001c 1107 lsls r1, r2, #28 - ARM GAS /tmp/ccysQskn.s page 41 - - - 1268 001e 20D4 bmi .L124 - 1269 .L117: - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1270 .loc 1 864 0 is_stmt 1 - 1271 0020 5907 lsls r1, r3, #29 - 1272 0022 11D5 bpl .L113 - 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1273 .loc 1 864 0 is_stmt 0 discriminator 1 - 1274 0024 5207 lsls r2, r2, #29 - 1275 0026 0FD5 bpl .L113 - 1276 .LVL137: - 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1277 .loc 1 866 0 is_stmt 1 - 1278 0028 DA05 lsls r2, r3, #23 - 1279 002a 20D4 bmi .L121 - 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get current IT flags and IT sources values */ - 1280 .loc 1 829 0 - 1281 002c 0020 movs r0, #0 - 1282 .L118: - 1283 .LVL138: - 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1284 .loc 1 870 0 - 1285 002e 9A05 lsls r2, r3, #22 - 1286 0030 01D5 bpl .L119 - 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1287 .loc 1 872 0 - 1288 0032 1022 movs r2, #16 - 1289 0034 1043 orrs r0, r2 - 1290 .LVL139: - 1291 .L119: - 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** { - 1292 .loc 1 874 0 - 1293 0036 5B05 lsls r3, r3, #21 - 1294 0038 01D5 bpl .L120 - 1295 .LVL140: - 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1296 .loc 1 876 0 - 1297 003a 2023 movs r3, #32 - 1298 003c 1843 orrs r0, r3 - 1299 .LVL141: - 1300 .L120: - 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 1301 .loc 1 880 0 - 1302 003e 0D4B ldr r3, .L125 - 1303 0040 0422 movs r2, #4 - 1304 0042 DA60 str r2, [r3, #12] - 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1305 .loc 1 883 0 - 1306 0044 FFF7FEFF bl HAL_RCCEx_CRS_ErrorCallback - 1307 .LVL142: - 1308 .L113: - 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 1309 .loc 1 886 0 - 1310 @ sp needed - 1311 0048 10BD pop {r4, pc} - 1312 .LVL143: - 1313 .L122: - ARM GAS /tmp/ccysQskn.s page 42 - - - 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 1314 .loc 1 838 0 - 1315 004a 0A4B ldr r3, .L125 - 1316 .LVL144: - 1317 004c 0122 movs r2, #1 - 1318 .LVL145: - 1319 004e DA60 str r2, [r3, #12] - 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1320 .loc 1 841 0 - 1321 0050 FFF7FEFF bl HAL_RCCEx_CRS_SyncOkCallback - 1322 .LVL146: - 1323 0054 F8E7 b .L113 - 1324 .LVL147: - 1325 .L123: - 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 1326 .loc 1 847 0 - 1327 0056 074B ldr r3, .L125 - 1328 .LVL148: - 1329 0058 0222 movs r2, #2 - 1330 .LVL149: - 1331 005a DA60 str r2, [r3, #12] - 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1332 .loc 1 850 0 - 1333 005c FFF7FEFF bl HAL_RCCEx_CRS_SyncWarnCallback - 1334 .LVL150: - 1335 0060 F2E7 b .L113 - 1336 .LVL151: - 1337 .L124: - 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** - 1338 .loc 1 856 0 - 1339 0062 044B ldr r3, .L125 - 1340 .LVL152: - 1341 0064 0822 movs r2, #8 - 1342 .LVL153: - 1343 0066 DA60 str r2, [r3, #12] - 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1344 .loc 1 859 0 - 1345 0068 FFF7FEFF bl HAL_RCCEx_CRS_ExpectedSyncCallback - 1346 .LVL154: - 1347 006c ECE7 b .L113 - 1348 .LVL155: - 1349 .L121: - 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } - 1350 .loc 1 868 0 - 1351 006e 0820 movs r0, #8 - 1352 0070 DDE7 b .L118 - 1353 .L126: - 1354 0072 C046 .align 2 - 1355 .L125: - 1356 0074 006C0040 .word 1073769472 - 1357 .cfi_endproc - 1358 .LFE47: - 1360 .text - 1361 .Letext0: - 1362 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 1363 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 1364 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - ARM GAS /tmp/ccysQskn.s page 43 - - - 1365 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 1366 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" - 1367 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" - 1368 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h" - 1369 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - 1370 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h" - ARM GAS /tmp/ccysQskn.s page 44 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_rcc_ex.c - /tmp/ccysQskn.s:16 .text.HAL_RCCEx_PeriphCLKConfig:0000000000000000 $t - /tmp/ccysQskn.s:23 .text.HAL_RCCEx_PeriphCLKConfig:0000000000000000 HAL_RCCEx_PeriphCLKConfig - /tmp/ccysQskn.s:280 .text.HAL_RCCEx_PeriphCLKConfig:000000000000013c $d - /tmp/ccysQskn.s:291 .text.HAL_RCCEx_GetPeriphCLKConfig:0000000000000000 $t - /tmp/ccysQskn.s:298 .text.HAL_RCCEx_GetPeriphCLKConfig:0000000000000000 HAL_RCCEx_GetPeriphCLKConfig - /tmp/ccysQskn.s:357 .text.HAL_RCCEx_GetPeriphCLKConfig:0000000000000048 $d - /tmp/ccysQskn.s:367 .text.HAL_RCCEx_GetPeriphCLKFreq:0000000000000000 $t - /tmp/ccysQskn.s:374 .text.HAL_RCCEx_GetPeriphCLKFreq:0000000000000000 HAL_RCCEx_GetPeriphCLKFreq - /tmp/ccysQskn.s:817 .text.HAL_RCCEx_GetPeriphCLKFreq:00000000000001e0 $d - /tmp/ccysQskn.s:826 .text.HAL_RCCEx_CRSConfig:0000000000000000 $t - /tmp/ccysQskn.s:833 .text.HAL_RCCEx_CRSConfig:0000000000000000 HAL_RCCEx_CRSConfig - /tmp/ccysQskn.s:893 .text.HAL_RCCEx_CRSConfig:0000000000000044 $d - /tmp/ccysQskn.s:901 .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate:0000000000000000 $t - /tmp/ccysQskn.s:908 .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate:0000000000000000 HAL_RCCEx_CRSSoftwareSynchronizationGenerate - /tmp/ccysQskn.s:927 .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate:000000000000000c $d - /tmp/ccysQskn.s:932 .text.HAL_RCCEx_CRSGetSynchronizationInfo:0000000000000000 $t - /tmp/ccysQskn.s:939 .text.HAL_RCCEx_CRSGetSynchronizationInfo:0000000000000000 HAL_RCCEx_CRSGetSynchronizationInfo - /tmp/ccysQskn.s:975 .text.HAL_RCCEx_CRSGetSynchronizationInfo:0000000000000028 $d - /tmp/ccysQskn.s:980 .text.HAL_RCCEx_CRSWaitSynchronization:0000000000000000 $t - /tmp/ccysQskn.s:987 .text.HAL_RCCEx_CRSWaitSynchronization:0000000000000000 HAL_RCCEx_CRSWaitSynchronization - /tmp/ccysQskn.s:1133 .text.HAL_RCCEx_CRSWaitSynchronization:0000000000000098 $d - /tmp/ccysQskn.s:1138 .text.HAL_RCCEx_CRS_SyncOkCallback:0000000000000000 $t - /tmp/ccysQskn.s:1145 .text.HAL_RCCEx_CRS_SyncOkCallback:0000000000000000 HAL_RCCEx_CRS_SyncOkCallback - /tmp/ccysQskn.s:1159 .text.HAL_RCCEx_CRS_SyncWarnCallback:0000000000000000 $t - /tmp/ccysQskn.s:1166 .text.HAL_RCCEx_CRS_SyncWarnCallback:0000000000000000 HAL_RCCEx_CRS_SyncWarnCallback - /tmp/ccysQskn.s:1180 .text.HAL_RCCEx_CRS_ExpectedSyncCallback:0000000000000000 $t - /tmp/ccysQskn.s:1187 .text.HAL_RCCEx_CRS_ExpectedSyncCallback:0000000000000000 HAL_RCCEx_CRS_ExpectedSyncCallback - /tmp/ccysQskn.s:1201 .text.HAL_RCCEx_CRS_ErrorCallback:0000000000000000 $t - /tmp/ccysQskn.s:1208 .text.HAL_RCCEx_CRS_ErrorCallback:0000000000000000 HAL_RCCEx_CRS_ErrorCallback - /tmp/ccysQskn.s:1223 .text.HAL_RCCEx_CRS_IRQHandler:0000000000000000 $t - /tmp/ccysQskn.s:1230 .text.HAL_RCCEx_CRS_IRQHandler:0000000000000000 HAL_RCCEx_CRS_IRQHandler - /tmp/ccysQskn.s:1356 .text.HAL_RCCEx_CRS_IRQHandler:0000000000000074 $d - -UNDEFINED SYMBOLS -HAL_GetTick -__aeabi_uidiv -HAL_RCC_GetPCLK1Freq -HAL_RCC_GetSysClockFreq diff --git a/Blink/build/stm32f0xx_hal_rcc_ex.o b/Blink/build/stm32f0xx_hal_rcc_ex.o deleted file mode 100644 index c313975..0000000 Binary files a/Blink/build/stm32f0xx_hal_rcc_ex.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_tim.d b/Blink/build/stm32f0xx_hal_tim.d deleted file mode 100644 index 0c36837..0000000 --- a/Blink/build/stm32f0xx_hal_tim.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_tim.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_tim.lst b/Blink/build/stm32f0xx_hal_tim.lst deleted file mode 100644 index 967bab9..0000000 --- a/Blink/build/stm32f0xx_hal_tim.lst +++ /dev/null @@ -1,29 +0,0 @@ -ARM GAS /tmp/ccPB5V0e.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_tim.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .Letext0: - 16 .file 1 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 17 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 18 .file 3 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 19 .file 4 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccPB5V0e.s page 2 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_tim.c - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_tim.o b/Blink/build/stm32f0xx_hal_tim.o deleted file mode 100644 index af90b1d..0000000 Binary files a/Blink/build/stm32f0xx_hal_tim.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_hal_tim_ex.d b/Blink/build/stm32f0xx_hal_tim_ex.d deleted file mode 100644 index 034070c..0000000 --- a/Blink/build/stm32f0xx_hal_tim_ex.d +++ /dev/null @@ -1,72 +0,0 @@ -build/stm32f0xx_hal_tim_ex.o: \ - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/stm32f0xx_hal_tim_ex.lst b/Blink/build/stm32f0xx_hal_tim_ex.lst deleted file mode 100644 index a9543fb..0000000 --- a/Blink/build/stm32f0xx_hal_tim_ex.lst +++ /dev/null @@ -1,29 +0,0 @@ -ARM GAS /tmp/ccd4VvoB.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_hal_tim_ex.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .Letext0: - 16 .file 1 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 17 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 18 .file 3 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 19 .file 4 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccd4VvoB.s page 2 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_hal_tim_ex.c - -NO UNDEFINED SYMBOLS diff --git a/Blink/build/stm32f0xx_hal_tim_ex.o b/Blink/build/stm32f0xx_hal_tim_ex.o deleted file mode 100644 index ac184c4..0000000 Binary files a/Blink/build/stm32f0xx_hal_tim_ex.o and /dev/null differ diff --git a/Blink/build/stm32f0xx_it.d b/Blink/build/stm32f0xx_it.d deleted file mode 100644 index 0f4d3ce..0000000 --- a/Blink/build/stm32f0xx_it.d +++ /dev/null @@ -1,76 +0,0 @@ -build/stm32f0xx_it.o: Src/stm32f0xx_it.c Inc/main.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \ - Inc/stm32f0xx_it.h - -Inc/main.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: - -Inc/stm32f0xx_it.h: diff --git a/Blink/build/stm32f0xx_it.lst b/Blink/build/stm32f0xx_it.lst deleted file mode 100644 index 22bb684..0000000 --- a/Blink/build/stm32f0xx_it.lst +++ /dev/null @@ -1,289 +0,0 @@ -ARM GAS /tmp/ccSazFTx.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "stm32f0xx_it.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.NMI_Handler,"ax",%progbits - 16 .align 1 - 17 .global NMI_Handler - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 NMI_Handler: - 24 .LFB40: - 25 .file 1 "Src/stm32f0xx_it.c" - 1:Src/stm32f0xx_it.c **** /* USER CODE BEGIN Header */ - 2:Src/stm32f0xx_it.c **** /** - 3:Src/stm32f0xx_it.c **** ****************************************************************************** - 4:Src/stm32f0xx_it.c **** * @file stm32f0xx_it.c - 5:Src/stm32f0xx_it.c **** * @brief Interrupt Service Routines. - 6:Src/stm32f0xx_it.c **** ****************************************************************************** - 7:Src/stm32f0xx_it.c **** * @attention - 8:Src/stm32f0xx_it.c **** * - 9:Src/stm32f0xx_it.c **** *

© Copyright (c) 2020 STMicroelectronics. - 10:Src/stm32f0xx_it.c **** * All rights reserved.

- 11:Src/stm32f0xx_it.c **** * - 12:Src/stm32f0xx_it.c **** * This software component is licensed by ST under BSD 3-Clause license, - 13:Src/stm32f0xx_it.c **** * the "License"; You may not use this file except in compliance with the - 14:Src/stm32f0xx_it.c **** * License. You may obtain a copy of the License at: - 15:Src/stm32f0xx_it.c **** * opensource.org/licenses/BSD-3-Clause - 16:Src/stm32f0xx_it.c **** * - 17:Src/stm32f0xx_it.c **** ****************************************************************************** - 18:Src/stm32f0xx_it.c **** */ - 19:Src/stm32f0xx_it.c **** /* USER CODE END Header */ - 20:Src/stm32f0xx_it.c **** - 21:Src/stm32f0xx_it.c **** /* Includes ------------------------------------------------------------------*/ - 22:Src/stm32f0xx_it.c **** #include "main.h" - 23:Src/stm32f0xx_it.c **** #include "stm32f0xx_it.h" - 24:Src/stm32f0xx_it.c **** /* Private includes ----------------------------------------------------------*/ - 25:Src/stm32f0xx_it.c **** /* USER CODE BEGIN Includes */ - 26:Src/stm32f0xx_it.c **** /* USER CODE END Includes */ - 27:Src/stm32f0xx_it.c **** - 28:Src/stm32f0xx_it.c **** /* Private typedef -----------------------------------------------------------*/ - 29:Src/stm32f0xx_it.c **** /* USER CODE BEGIN TD */ - 30:Src/stm32f0xx_it.c **** - 31:Src/stm32f0xx_it.c **** /* USER CODE END TD */ - 32:Src/stm32f0xx_it.c **** - 33:Src/stm32f0xx_it.c **** /* Private define ------------------------------------------------------------*/ - ARM GAS /tmp/ccSazFTx.s page 2 - - - 34:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PD */ - 35:Src/stm32f0xx_it.c **** - 36:Src/stm32f0xx_it.c **** /* USER CODE END PD */ - 37:Src/stm32f0xx_it.c **** - 38:Src/stm32f0xx_it.c **** /* Private macro -------------------------------------------------------------*/ - 39:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PM */ - 40:Src/stm32f0xx_it.c **** - 41:Src/stm32f0xx_it.c **** /* USER CODE END PM */ - 42:Src/stm32f0xx_it.c **** - 43:Src/stm32f0xx_it.c **** /* Private variables ---------------------------------------------------------*/ - 44:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PV */ - 45:Src/stm32f0xx_it.c **** - 46:Src/stm32f0xx_it.c **** /* USER CODE END PV */ - 47:Src/stm32f0xx_it.c **** - 48:Src/stm32f0xx_it.c **** /* Private function prototypes -----------------------------------------------*/ - 49:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PFP */ - 50:Src/stm32f0xx_it.c **** - 51:Src/stm32f0xx_it.c **** /* USER CODE END PFP */ - 52:Src/stm32f0xx_it.c **** - 53:Src/stm32f0xx_it.c **** /* Private user code ---------------------------------------------------------*/ - 54:Src/stm32f0xx_it.c **** /* USER CODE BEGIN 0 */ - 55:Src/stm32f0xx_it.c **** - 56:Src/stm32f0xx_it.c **** /* USER CODE END 0 */ - 57:Src/stm32f0xx_it.c **** - 58:Src/stm32f0xx_it.c **** /* External variables --------------------------------------------------------*/ - 59:Src/stm32f0xx_it.c **** - 60:Src/stm32f0xx_it.c **** /* USER CODE BEGIN EV */ - 61:Src/stm32f0xx_it.c **** - 62:Src/stm32f0xx_it.c **** /* USER CODE END EV */ - 63:Src/stm32f0xx_it.c **** - 64:Src/stm32f0xx_it.c **** /******************************************************************************/ - 65:Src/stm32f0xx_it.c **** /* Cortex-M0 Processor Interruption and Exception Handlers */ - 66:Src/stm32f0xx_it.c **** /******************************************************************************/ - 67:Src/stm32f0xx_it.c **** /** - 68:Src/stm32f0xx_it.c **** * @brief This function handles Non maskable interrupt. - 69:Src/stm32f0xx_it.c **** */ - 70:Src/stm32f0xx_it.c **** void NMI_Handler(void) - 71:Src/stm32f0xx_it.c **** { - 26 .loc 1 71 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 @ link register save eliminated. - 72:Src/stm32f0xx_it.c **** /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ - 73:Src/stm32f0xx_it.c **** - 74:Src/stm32f0xx_it.c **** /* USER CODE END NonMaskableInt_IRQn 0 */ - 75:Src/stm32f0xx_it.c **** /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ - 76:Src/stm32f0xx_it.c **** - 77:Src/stm32f0xx_it.c **** /* USER CODE END NonMaskableInt_IRQn 1 */ - 78:Src/stm32f0xx_it.c **** } - 31 .loc 1 78 0 - 32 @ sp needed - 33 0000 7047 bx lr - 34 .cfi_endproc - 35 .LFE40: - 37 .section .text.HardFault_Handler,"ax",%progbits - 38 .align 1 - ARM GAS /tmp/ccSazFTx.s page 3 - - - 39 .global HardFault_Handler - 40 .syntax unified - 41 .code 16 - 42 .thumb_func - 43 .fpu softvfp - 45 HardFault_Handler: - 46 .LFB41: - 79:Src/stm32f0xx_it.c **** - 80:Src/stm32f0xx_it.c **** /** - 81:Src/stm32f0xx_it.c **** * @brief This function handles Hard fault interrupt. - 82:Src/stm32f0xx_it.c **** */ - 83:Src/stm32f0xx_it.c **** void HardFault_Handler(void) - 84:Src/stm32f0xx_it.c **** { - 47 .loc 1 84 0 - 48 .cfi_startproc - 49 @ Volatile: function does not return. - 50 @ args = 0, pretend = 0, frame = 0 - 51 @ frame_needed = 0, uses_anonymous_args = 0 - 52 @ link register save eliminated. - 53 .L3: - 54 0000 FEE7 b .L3 - 55 .cfi_endproc - 56 .LFE41: - 58 .section .text.SVC_Handler,"ax",%progbits - 59 .align 1 - 60 .global SVC_Handler - 61 .syntax unified - 62 .code 16 - 63 .thumb_func - 64 .fpu softvfp - 66 SVC_Handler: - 67 .LFB42: - 85:Src/stm32f0xx_it.c **** /* USER CODE BEGIN HardFault_IRQn 0 */ - 86:Src/stm32f0xx_it.c **** - 87:Src/stm32f0xx_it.c **** /* USER CODE END HardFault_IRQn 0 */ - 88:Src/stm32f0xx_it.c **** while (1) - 89:Src/stm32f0xx_it.c **** { - 90:Src/stm32f0xx_it.c **** /* USER CODE BEGIN W1_HardFault_IRQn 0 */ - 91:Src/stm32f0xx_it.c **** /* USER CODE END W1_HardFault_IRQn 0 */ - 92:Src/stm32f0xx_it.c **** } - 93:Src/stm32f0xx_it.c **** } - 94:Src/stm32f0xx_it.c **** - 95:Src/stm32f0xx_it.c **** /** - 96:Src/stm32f0xx_it.c **** * @brief This function handles System service call via SWI instruction. - 97:Src/stm32f0xx_it.c **** */ - 98:Src/stm32f0xx_it.c **** void SVC_Handler(void) - 99:Src/stm32f0xx_it.c **** { - 68 .loc 1 99 0 - 69 .cfi_startproc - 70 @ args = 0, pretend = 0, frame = 0 - 71 @ frame_needed = 0, uses_anonymous_args = 0 - 72 @ link register save eliminated. - 100:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SVC_IRQn 0 */ - 101:Src/stm32f0xx_it.c **** - 102:Src/stm32f0xx_it.c **** /* USER CODE END SVC_IRQn 0 */ - 103:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SVC_IRQn 1 */ - 104:Src/stm32f0xx_it.c **** - ARM GAS /tmp/ccSazFTx.s page 4 - - - 105:Src/stm32f0xx_it.c **** /* USER CODE END SVC_IRQn 1 */ - 106:Src/stm32f0xx_it.c **** } - 73 .loc 1 106 0 - 74 @ sp needed - 75 0000 7047 bx lr - 76 .cfi_endproc - 77 .LFE42: - 79 .section .text.PendSV_Handler,"ax",%progbits - 80 .align 1 - 81 .global PendSV_Handler - 82 .syntax unified - 83 .code 16 - 84 .thumb_func - 85 .fpu softvfp - 87 PendSV_Handler: - 88 .LFB43: - 107:Src/stm32f0xx_it.c **** - 108:Src/stm32f0xx_it.c **** /** - 109:Src/stm32f0xx_it.c **** * @brief This function handles Pendable request for system service. - 110:Src/stm32f0xx_it.c **** */ - 111:Src/stm32f0xx_it.c **** void PendSV_Handler(void) - 112:Src/stm32f0xx_it.c **** { - 89 .loc 1 112 0 - 90 .cfi_startproc - 91 @ args = 0, pretend = 0, frame = 0 - 92 @ frame_needed = 0, uses_anonymous_args = 0 - 93 @ link register save eliminated. - 113:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PendSV_IRQn 0 */ - 114:Src/stm32f0xx_it.c **** - 115:Src/stm32f0xx_it.c **** /* USER CODE END PendSV_IRQn 0 */ - 116:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PendSV_IRQn 1 */ - 117:Src/stm32f0xx_it.c **** - 118:Src/stm32f0xx_it.c **** /* USER CODE END PendSV_IRQn 1 */ - 119:Src/stm32f0xx_it.c **** } - 94 .loc 1 119 0 - 95 @ sp needed - 96 0000 7047 bx lr - 97 .cfi_endproc - 98 .LFE43: - 100 .section .text.SysTick_Handler,"ax",%progbits - 101 .align 1 - 102 .global SysTick_Handler - 103 .syntax unified - 104 .code 16 - 105 .thumb_func - 106 .fpu softvfp - 108 SysTick_Handler: - 109 .LFB44: - 120:Src/stm32f0xx_it.c **** - 121:Src/stm32f0xx_it.c **** /** - 122:Src/stm32f0xx_it.c **** * @brief This function handles System tick timer. - 123:Src/stm32f0xx_it.c **** */ - 124:Src/stm32f0xx_it.c **** void SysTick_Handler(void) - 125:Src/stm32f0xx_it.c **** { - 110 .loc 1 125 0 - 111 .cfi_startproc - 112 @ args = 0, pretend = 0, frame = 0 - ARM GAS /tmp/ccSazFTx.s page 5 - - - 113 @ frame_needed = 0, uses_anonymous_args = 0 - 114 0000 10B5 push {r4, lr} - 115 .LCFI0: - 116 .cfi_def_cfa_offset 8 - 117 .cfi_offset 4, -8 - 118 .cfi_offset 14, -4 - 126:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SysTick_IRQn 0 */ - 127:Src/stm32f0xx_it.c **** - 128:Src/stm32f0xx_it.c **** /* USER CODE END SysTick_IRQn 0 */ - 129:Src/stm32f0xx_it.c **** HAL_IncTick(); - 119 .loc 1 129 0 - 120 0002 FFF7FEFF bl HAL_IncTick - 121 .LVL0: - 130:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SysTick_IRQn 1 */ - 131:Src/stm32f0xx_it.c **** - 132:Src/stm32f0xx_it.c **** /* USER CODE END SysTick_IRQn 1 */ - 133:Src/stm32f0xx_it.c **** } - 122 .loc 1 133 0 - 123 @ sp needed - 124 0006 10BD pop {r4, pc} - 125 .cfi_endproc - 126 .LFE44: - 128 .text - 129 .Letext0: - 130 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 131 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 132 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 133 .file 5 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccSazFTx.s page 6 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 stm32f0xx_it.c - /tmp/ccSazFTx.s:16 .text.NMI_Handler:0000000000000000 $t - /tmp/ccSazFTx.s:23 .text.NMI_Handler:0000000000000000 NMI_Handler - /tmp/ccSazFTx.s:38 .text.HardFault_Handler:0000000000000000 $t - /tmp/ccSazFTx.s:45 .text.HardFault_Handler:0000000000000000 HardFault_Handler - /tmp/ccSazFTx.s:59 .text.SVC_Handler:0000000000000000 $t - /tmp/ccSazFTx.s:66 .text.SVC_Handler:0000000000000000 SVC_Handler - /tmp/ccSazFTx.s:80 .text.PendSV_Handler:0000000000000000 $t - /tmp/ccSazFTx.s:87 .text.PendSV_Handler:0000000000000000 PendSV_Handler - /tmp/ccSazFTx.s:101 .text.SysTick_Handler:0000000000000000 $t - /tmp/ccSazFTx.s:108 .text.SysTick_Handler:0000000000000000 SysTick_Handler - -UNDEFINED SYMBOLS -HAL_IncTick diff --git a/Blink/build/stm32f0xx_it.o b/Blink/build/stm32f0xx_it.o deleted file mode 100644 index c2cd81a..0000000 Binary files a/Blink/build/stm32f0xx_it.o and /dev/null differ diff --git a/Blink/build/system_stm32f0xx.d b/Blink/build/system_stm32f0xx.d deleted file mode 100644 index 6703ce5..0000000 --- a/Blink/build/system_stm32f0xx.d +++ /dev/null @@ -1,71 +0,0 @@ -build/system_stm32f0xx.o: Src/system_stm32f0xx.c \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \ - Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \ - Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \ - Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \ - Inc/stm32f0xx_hal_conf.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \ - Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h: - -Drivers/CMSIS/Include/core_cm0.h: - -Drivers/CMSIS/Include/cmsis_version.h: - -Drivers/CMSIS/Include/cmsis_compiler.h: - -Drivers/CMSIS/Include/cmsis_gcc.h: - -Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h: - -Inc/stm32f0xx_hal_conf.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h: - -Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h: diff --git a/Blink/build/system_stm32f0xx.lst b/Blink/build/system_stm32f0xx.lst deleted file mode 100644 index 83ce4e2..0000000 --- a/Blink/build/system_stm32f0xx.lst +++ /dev/null @@ -1,539 +0,0 @@ -ARM GAS /tmp/ccPKutWs.s page 1 - - - 1 .cpu cortex-m0 - 2 .eabi_attribute 20, 1 - 3 .eabi_attribute 21, 1 - 4 .eabi_attribute 23, 3 - 5 .eabi_attribute 24, 1 - 6 .eabi_attribute 25, 1 - 7 .eabi_attribute 26, 1 - 8 .eabi_attribute 30, 1 - 9 .eabi_attribute 34, 0 - 10 .eabi_attribute 18, 4 - 11 .file "system_stm32f0xx.c" - 12 .text - 13 .Ltext0: - 14 .cfi_sections .debug_frame - 15 .section .text.SystemInit,"ax",%progbits - 16 .align 1 - 17 .global SystemInit - 18 .syntax unified - 19 .code 16 - 20 .thumb_func - 21 .fpu softvfp - 23 SystemInit: - 24 .LFB40: - 25 .file 1 "Src/system_stm32f0xx.c" - 1:Src/system_stm32f0xx.c **** /** - 2:Src/system_stm32f0xx.c **** ****************************************************************************** - 3:Src/system_stm32f0xx.c **** * @file system_stm32f0xx.c - 4:Src/system_stm32f0xx.c **** * @author MCD Application Team - 5:Src/system_stm32f0xx.c **** * @brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File. - 6:Src/system_stm32f0xx.c **** * - 7:Src/system_stm32f0xx.c **** * 1. This file provides two functions and one global variable to be called from - 8:Src/system_stm32f0xx.c **** * user application: - 9:Src/system_stm32f0xx.c **** * - SystemInit(): This function is called at startup just after reset and - 10:Src/system_stm32f0xx.c **** * before branch to main program. This call is made inside - 11:Src/system_stm32f0xx.c **** * the "startup_stm32f0xx.s" file. - 12:Src/system_stm32f0xx.c **** * - 13:Src/system_stm32f0xx.c **** * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - 14:Src/system_stm32f0xx.c **** * by the user application to setup the SysTick - 15:Src/system_stm32f0xx.c **** * timer or configure other parameters. - 16:Src/system_stm32f0xx.c **** * - 17:Src/system_stm32f0xx.c **** * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - 18:Src/system_stm32f0xx.c **** * be called whenever the core clock is changed - 19:Src/system_stm32f0xx.c **** * during program execution. - 20:Src/system_stm32f0xx.c **** * - 21:Src/system_stm32f0xx.c **** * 2. After each device reset the HSI (8 MHz) is used as system clock source. - 22:Src/system_stm32f0xx.c **** * Then SystemInit() function is called, in "startup_stm32f0xx.s" file, to - 23:Src/system_stm32f0xx.c **** * configure the system clock before to branch to main program. - 24:Src/system_stm32f0xx.c **** * - 25:Src/system_stm32f0xx.c **** * 3. This file configures the system clock as follows: - 26:Src/system_stm32f0xx.c **** *============================================================================= - 27:Src/system_stm32f0xx.c **** * Supported STM32F0xx device - 28:Src/system_stm32f0xx.c **** *----------------------------------------------------------------------------- - 29:Src/system_stm32f0xx.c **** * System Clock source | HSI - 30:Src/system_stm32f0xx.c **** *----------------------------------------------------------------------------- - 31:Src/system_stm32f0xx.c **** * SYSCLK(Hz) | 8000000 - 32:Src/system_stm32f0xx.c **** *----------------------------------------------------------------------------- - 33:Src/system_stm32f0xx.c **** * HCLK(Hz) | 8000000 - ARM GAS /tmp/ccPKutWs.s page 2 - - - 34:Src/system_stm32f0xx.c **** *----------------------------------------------------------------------------- - 35:Src/system_stm32f0xx.c **** * AHB Prescaler | 1 - 36:Src/system_stm32f0xx.c **** *----------------------------------------------------------------------------- - 37:Src/system_stm32f0xx.c **** * APB1 Prescaler | 1 - 38:Src/system_stm32f0xx.c **** *----------------------------------------------------------------------------- - 39:Src/system_stm32f0xx.c **** *============================================================================= - 40:Src/system_stm32f0xx.c **** ****************************************************************************** - 41:Src/system_stm32f0xx.c **** * @attention - 42:Src/system_stm32f0xx.c **** * - 43:Src/system_stm32f0xx.c **** *

© Copyright (c) 2016 STMicroelectronics. - 44:Src/system_stm32f0xx.c **** * All rights reserved.

- 45:Src/system_stm32f0xx.c **** * - 46:Src/system_stm32f0xx.c **** * This software component is licensed by ST under BSD 3-Clause license, - 47:Src/system_stm32f0xx.c **** * the "License"; You may not use this file except in compliance with the - 48:Src/system_stm32f0xx.c **** * License. You may obtain a copy of the License at: - 49:Src/system_stm32f0xx.c **** * opensource.org/licenses/BSD-3-Clause - 50:Src/system_stm32f0xx.c **** * - 51:Src/system_stm32f0xx.c **** ****************************************************************************** - 52:Src/system_stm32f0xx.c **** */ - 53:Src/system_stm32f0xx.c **** - 54:Src/system_stm32f0xx.c **** /** @addtogroup CMSIS - 55:Src/system_stm32f0xx.c **** * @{ - 56:Src/system_stm32f0xx.c **** */ - 57:Src/system_stm32f0xx.c **** - 58:Src/system_stm32f0xx.c **** /** @addtogroup stm32f0xx_system - 59:Src/system_stm32f0xx.c **** * @{ - 60:Src/system_stm32f0xx.c **** */ - 61:Src/system_stm32f0xx.c **** - 62:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Includes - 63:Src/system_stm32f0xx.c **** * @{ - 64:Src/system_stm32f0xx.c **** */ - 65:Src/system_stm32f0xx.c **** - 66:Src/system_stm32f0xx.c **** #include "stm32f0xx.h" - 67:Src/system_stm32f0xx.c **** - 68:Src/system_stm32f0xx.c **** /** - 69:Src/system_stm32f0xx.c **** * @} - 70:Src/system_stm32f0xx.c **** */ - 71:Src/system_stm32f0xx.c **** - 72:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_TypesDefinitions - 73:Src/system_stm32f0xx.c **** * @{ - 74:Src/system_stm32f0xx.c **** */ - 75:Src/system_stm32f0xx.c **** - 76:Src/system_stm32f0xx.c **** /** - 77:Src/system_stm32f0xx.c **** * @} - 78:Src/system_stm32f0xx.c **** */ - 79:Src/system_stm32f0xx.c **** - 80:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Defines - 81:Src/system_stm32f0xx.c **** * @{ - 82:Src/system_stm32f0xx.c **** */ - 83:Src/system_stm32f0xx.c **** #if !defined (HSE_VALUE) - 84:Src/system_stm32f0xx.c **** #define HSE_VALUE ((uint32_t)8000000) /*!< Default value of the External oscillator in Hz. - 85:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user - 86:Src/system_stm32f0xx.c **** #endif /* HSE_VALUE */ - 87:Src/system_stm32f0xx.c **** - 88:Src/system_stm32f0xx.c **** #if !defined (HSI_VALUE) - 89:Src/system_stm32f0xx.c **** #define HSI_VALUE ((uint32_t)8000000) /*!< Default value of the Internal oscillator in Hz. - 90:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user - ARM GAS /tmp/ccPKutWs.s page 3 - - - 91:Src/system_stm32f0xx.c **** #endif /* HSI_VALUE */ - 92:Src/system_stm32f0xx.c **** - 93:Src/system_stm32f0xx.c **** #if !defined (HSI48_VALUE) - 94:Src/system_stm32f0xx.c **** #define HSI48_VALUE ((uint32_t)48000000) /*!< Default value of the HSI48 Internal oscillator in - 95:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user - 96:Src/system_stm32f0xx.c **** #endif /* HSI48_VALUE */ - 97:Src/system_stm32f0xx.c **** /** - 98:Src/system_stm32f0xx.c **** * @} - 99:Src/system_stm32f0xx.c **** */ - 100:Src/system_stm32f0xx.c **** - 101:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Macros - 102:Src/system_stm32f0xx.c **** * @{ - 103:Src/system_stm32f0xx.c **** */ - 104:Src/system_stm32f0xx.c **** - 105:Src/system_stm32f0xx.c **** /** - 106:Src/system_stm32f0xx.c **** * @} - 107:Src/system_stm32f0xx.c **** */ - 108:Src/system_stm32f0xx.c **** - 109:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Variables - 110:Src/system_stm32f0xx.c **** * @{ - 111:Src/system_stm32f0xx.c **** */ - 112:Src/system_stm32f0xx.c **** /* This variable is updated in three ways: - 113:Src/system_stm32f0xx.c **** 1) by calling CMSIS function SystemCoreClockUpdate() - 114:Src/system_stm32f0xx.c **** 2) by calling HAL API function HAL_RCC_GetHCLKFreq() - 115:Src/system_stm32f0xx.c **** 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency - 116:Src/system_stm32f0xx.c **** Note: If you use this function to configure the system clock there is no need to - 117:Src/system_stm32f0xx.c **** call the 2 first functions listed above, since SystemCoreClock variable is - 118:Src/system_stm32f0xx.c **** updated automatically. - 119:Src/system_stm32f0xx.c **** */ - 120:Src/system_stm32f0xx.c **** uint32_t SystemCoreClock = 8000000; - 121:Src/system_stm32f0xx.c **** - 122:Src/system_stm32f0xx.c **** const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - 123:Src/system_stm32f0xx.c **** const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4}; - 124:Src/system_stm32f0xx.c **** - 125:Src/system_stm32f0xx.c **** /** - 126:Src/system_stm32f0xx.c **** * @} - 127:Src/system_stm32f0xx.c **** */ - 128:Src/system_stm32f0xx.c **** - 129:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_FunctionPrototypes - 130:Src/system_stm32f0xx.c **** * @{ - 131:Src/system_stm32f0xx.c **** */ - 132:Src/system_stm32f0xx.c **** - 133:Src/system_stm32f0xx.c **** /** - 134:Src/system_stm32f0xx.c **** * @} - 135:Src/system_stm32f0xx.c **** */ - 136:Src/system_stm32f0xx.c **** - 137:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Functions - 138:Src/system_stm32f0xx.c **** * @{ - 139:Src/system_stm32f0xx.c **** */ - 140:Src/system_stm32f0xx.c **** - 141:Src/system_stm32f0xx.c **** /** - 142:Src/system_stm32f0xx.c **** * @brief Setup the microcontroller system. - 143:Src/system_stm32f0xx.c **** * @param None - 144:Src/system_stm32f0xx.c **** * @retval None - 145:Src/system_stm32f0xx.c **** */ - 146:Src/system_stm32f0xx.c **** void SystemInit(void) - 147:Src/system_stm32f0xx.c **** { - ARM GAS /tmp/ccPKutWs.s page 4 - - - 26 .loc 1 147 0 - 27 .cfi_startproc - 28 @ args = 0, pretend = 0, frame = 0 - 29 @ frame_needed = 0, uses_anonymous_args = 0 - 30 @ link register save eliminated. - 148:Src/system_stm32f0xx.c **** /* NOTE :SystemInit(): This function is called at startup just after reset and - 149:Src/system_stm32f0xx.c **** before branch to main program. This call is made inside - 150:Src/system_stm32f0xx.c **** the "startup_stm32f0xx.s" file. - 151:Src/system_stm32f0xx.c **** User can setups the default system clock (System clock source, PLL Multipl - 152:Src/system_stm32f0xx.c **** and Divider factors, AHB/APBx prescalers and Flash settings). - 153:Src/system_stm32f0xx.c **** */ - 154:Src/system_stm32f0xx.c **** } - 31 .loc 1 154 0 - 32 @ sp needed - 33 0000 7047 bx lr - 34 .cfi_endproc - 35 .LFE40: - 37 .global __aeabi_uidiv - 38 .section .text.SystemCoreClockUpdate,"ax",%progbits - 39 .align 1 - 40 .global SystemCoreClockUpdate - 41 .syntax unified - 42 .code 16 - 43 .thumb_func - 44 .fpu softvfp - 46 SystemCoreClockUpdate: - 47 .LFB41: - 155:Src/system_stm32f0xx.c **** - 156:Src/system_stm32f0xx.c **** /** - 157:Src/system_stm32f0xx.c **** * @brief Update SystemCoreClock variable according to Clock Register Values. - 158:Src/system_stm32f0xx.c **** * The SystemCoreClock variable contains the core clock (HCLK), it can - 159:Src/system_stm32f0xx.c **** * be used by the user application to setup the SysTick timer or configure - 160:Src/system_stm32f0xx.c **** * other parameters. - 161:Src/system_stm32f0xx.c **** * - 162:Src/system_stm32f0xx.c **** * @note Each time the core clock (HCLK) changes, this function must be called - 163:Src/system_stm32f0xx.c **** * to update SystemCoreClock variable value. Otherwise, any configuration - 164:Src/system_stm32f0xx.c **** * based on this variable will be incorrect. - 165:Src/system_stm32f0xx.c **** * - 166:Src/system_stm32f0xx.c **** * @note - The system frequency computed by this function is not the real - 167:Src/system_stm32f0xx.c **** * frequency in the chip. It is calculated based on the predefined - 168:Src/system_stm32f0xx.c **** * constant and the selected clock source: - 169:Src/system_stm32f0xx.c **** * - 170:Src/system_stm32f0xx.c **** * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - 171:Src/system_stm32f0xx.c **** * - 172:Src/system_stm32f0xx.c **** * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - 173:Src/system_stm32f0xx.c **** * - 174:Src/system_stm32f0xx.c **** * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - 175:Src/system_stm32f0xx.c **** * or HSI_VALUE(*) multiplied/divided by the PLL factors. - 176:Src/system_stm32f0xx.c **** * - 177:Src/system_stm32f0xx.c **** * (*) HSI_VALUE is a constant defined in stm32f0xx_hal.h file (default value - 178:Src/system_stm32f0xx.c **** * 8 MHz) but the real value may vary depending on the variations - 179:Src/system_stm32f0xx.c **** * in voltage and temperature. - 180:Src/system_stm32f0xx.c **** * - 181:Src/system_stm32f0xx.c **** * (**) HSE_VALUE is a constant defined in stm32f0xx_hal.h file (default value - 182:Src/system_stm32f0xx.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real - 183:Src/system_stm32f0xx.c **** * frequency of the crystal used. Otherwise, this function may - 184:Src/system_stm32f0xx.c **** * have wrong result. - ARM GAS /tmp/ccPKutWs.s page 5 - - - 185:Src/system_stm32f0xx.c **** * - 186:Src/system_stm32f0xx.c **** * - The result of this function could be not correct when using fractional - 187:Src/system_stm32f0xx.c **** * value for HSE crystal. - 188:Src/system_stm32f0xx.c **** * - 189:Src/system_stm32f0xx.c **** * @param None - 190:Src/system_stm32f0xx.c **** * @retval None - 191:Src/system_stm32f0xx.c **** */ - 192:Src/system_stm32f0xx.c **** void SystemCoreClockUpdate (void) - 193:Src/system_stm32f0xx.c **** { - 48 .loc 1 193 0 - 49 .cfi_startproc - 50 @ args = 0, pretend = 0, frame = 0 - 51 @ frame_needed = 0, uses_anonymous_args = 0 - 52 0000 10B5 push {r4, lr} - 53 .LCFI0: - 54 .cfi_def_cfa_offset 8 - 55 .cfi_offset 4, -8 - 56 .cfi_offset 14, -4 - 57 .LVL0: - 194:Src/system_stm32f0xx.c **** uint32_t tmp = 0, pllmull = 0, pllsource = 0, predivfactor = 0; - 195:Src/system_stm32f0xx.c **** - 196:Src/system_stm32f0xx.c **** /* Get SYSCLK source -------------------------------------------------------*/ - 197:Src/system_stm32f0xx.c **** tmp = RCC->CFGR & RCC_CFGR_SWS; - 58 .loc 1 197 0 - 59 0002 254B ldr r3, .L14 - 60 0004 5A68 ldr r2, [r3, #4] - 61 0006 0C23 movs r3, #12 - 62 0008 1340 ands r3, r2 - 63 .LVL1: - 198:Src/system_stm32f0xx.c **** - 199:Src/system_stm32f0xx.c **** switch (tmp) - 64 .loc 1 199 0 - 65 000a 042B cmp r3, #4 - 66 000c 16D0 beq .L4 - 67 000e 082B cmp r3, #8 - 68 0010 18D0 beq .L5 - 69 0012 002B cmp r3, #0 - 70 0014 03D0 beq .L11 - 200:Src/system_stm32f0xx.c **** { - 201:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_HSI: /* HSI used as system clock */ - 202:Src/system_stm32f0xx.c **** SystemCoreClock = HSI_VALUE; - 203:Src/system_stm32f0xx.c **** break; - 204:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_HSE: /* HSE used as system clock */ - 205:Src/system_stm32f0xx.c **** SystemCoreClock = HSE_VALUE; - 206:Src/system_stm32f0xx.c **** break; - 207:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */ - 208:Src/system_stm32f0xx.c **** /* Get PLL clock source and multiplication factor ----------------------*/ - 209:Src/system_stm32f0xx.c **** pllmull = RCC->CFGR & RCC_CFGR_PLLMUL; - 210:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; - 211:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2; - 212:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1; - 213:Src/system_stm32f0xx.c **** - 214:Src/system_stm32f0xx.c **** if (pllsource == RCC_CFGR_PLLSRC_HSE_PREDIV) - 215:Src/system_stm32f0xx.c **** { - 216:Src/system_stm32f0xx.c **** /* HSE used as PLL clock source : SystemCoreClock = HSE/PREDIV * PLLMUL */ - 217:Src/system_stm32f0xx.c **** SystemCoreClock = (HSE_VALUE/predivfactor) * pllmull; - 218:Src/system_stm32f0xx.c **** } - ARM GAS /tmp/ccPKutWs.s page 6 - - - 219:Src/system_stm32f0xx.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx) || - 220:Src/system_stm32f0xx.c **** else if (pllsource == RCC_CFGR_PLLSRC_HSI48_PREDIV) - 221:Src/system_stm32f0xx.c **** { - 222:Src/system_stm32f0xx.c **** /* HSI48 used as PLL clock source : SystemCoreClock = HSI48/PREDIV * PLLMUL */ - 223:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI48_VALUE/predivfactor) * pllmull; - 224:Src/system_stm32f0xx.c **** } - 225:Src/system_stm32f0xx.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F091xC || STM32F098xx */ - 226:Src/system_stm32f0xx.c **** else - 227:Src/system_stm32f0xx.c **** { - 228:Src/system_stm32f0xx.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6) \ - 229:Src/system_stm32f0xx.c **** || defined(STM32F078xx) || defined(STM32F071xB) || defined(STM32F072xB) \ - 230:Src/system_stm32f0xx.c **** || defined(STM32F070xB) || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC) - 231:Src/system_stm32f0xx.c **** /* HSI used as PLL clock source : SystemCoreClock = HSI/PREDIV * PLLMUL */ - 232:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI_VALUE/predivfactor) * pllmull; - 233:Src/system_stm32f0xx.c **** #else - 234:Src/system_stm32f0xx.c **** /* HSI used as PLL clock source : SystemCoreClock = HSI/2 * PLLMUL */ - 235:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI_VALUE >> 1) * pllmull; - 236:Src/system_stm32f0xx.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F070x6 || - 237:Src/system_stm32f0xx.c **** STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB || - 238:Src/system_stm32f0xx.c **** STM32F091xC || STM32F098xx || STM32F030xC */ - 239:Src/system_stm32f0xx.c **** } - 240:Src/system_stm32f0xx.c **** break; - 241:Src/system_stm32f0xx.c **** default: /* HSI used as system clock */ - 242:Src/system_stm32f0xx.c **** SystemCoreClock = HSI_VALUE; - 71 .loc 1 242 0 - 72 0016 214B ldr r3, .L14+4 - 73 .LVL2: - 74 0018 214A ldr r2, .L14+8 - 75 .LVL3: - 76 001a 1A60 str r2, [r3] - 243:Src/system_stm32f0xx.c **** break; - 77 .loc 1 243 0 - 78 001c 02E0 b .L7 - 79 .LVL4: - 80 .L11: - 202:Src/system_stm32f0xx.c **** break; - 81 .loc 1 202 0 - 82 001e 1F4B ldr r3, .L14+4 - 83 .LVL5: - 84 0020 1F4A ldr r2, .L14+8 - 85 .LVL6: - 86 0022 1A60 str r2, [r3] - 87 .LVL7: - 88 .L7: - 244:Src/system_stm32f0xx.c **** } - 245:Src/system_stm32f0xx.c **** /* Compute HCLK clock frequency ----------------*/ - 246:Src/system_stm32f0xx.c **** /* Get HCLK prescaler */ - 247:Src/system_stm32f0xx.c **** tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - 89 .loc 1 247 0 - 90 0024 1C4B ldr r3, .L14 - 91 0026 5A68 ldr r2, [r3, #4] - 92 0028 1209 lsrs r2, r2, #4 - 93 002a 0F23 movs r3, #15 - 94 002c 1340 ands r3, r2 - 95 002e 1D4A ldr r2, .L14+12 - 96 0030 D35C ldrb r3, [r2, r3] - 97 .LVL8: - ARM GAS /tmp/ccPKutWs.s page 7 - - - 248:Src/system_stm32f0xx.c **** /* HCLK clock frequency */ - 249:Src/system_stm32f0xx.c **** SystemCoreClock >>= tmp; - 98 .loc 1 249 0 - 99 0032 1A4A ldr r2, .L14+4 - 100 0034 1168 ldr r1, [r2] - 101 0036 D940 lsrs r1, r1, r3 - 102 0038 1160 str r1, [r2] - 250:Src/system_stm32f0xx.c **** } - 103 .loc 1 250 0 - 104 @ sp needed - 105 003a 10BD pop {r4, pc} - 106 .LVL9: - 107 .L4: - 205:Src/system_stm32f0xx.c **** break; - 108 .loc 1 205 0 - 109 003c 174B ldr r3, .L14+4 - 110 .LVL10: - 111 003e 184A ldr r2, .L14+8 - 112 .LVL11: - 113 0040 1A60 str r2, [r3] - 206:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */ - 114 .loc 1 206 0 - 115 0042 EFE7 b .L7 - 116 .LVL12: - 117 .L5: - 209:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; - 118 .loc 1 209 0 - 119 0044 144A ldr r2, .L14 - 120 0046 5068 ldr r0, [r2, #4] - 121 .LVL13: - 210:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2; - 122 .loc 1 210 0 - 123 0048 5368 ldr r3, [r2, #4] - 124 .LVL14: - 125 004a C021 movs r1, #192 - 126 004c 4902 lsls r1, r1, #9 - 127 004e 0B40 ands r3, r1 - 128 .LVL15: - 211:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1; - 129 .loc 1 211 0 - 130 0050 800C lsrs r0, r0, #18 - 131 .LVL16: - 132 0052 0F21 movs r1, #15 - 133 0054 0840 ands r0, r1 - 134 0056 841C adds r4, r0, #2 - 135 .LVL17: - 212:Src/system_stm32f0xx.c **** - 136 .loc 1 212 0 - 137 0058 D26A ldr r2, [r2, #44] - 138 005a 1140 ands r1, r2 - 139 005c 0131 adds r1, r1, #1 - 140 .LVL18: - 214:Src/system_stm32f0xx.c **** { - 141 .loc 1 214 0 - 142 005e 8022 movs r2, #128 - 143 0060 5202 lsls r2, r2, #9 - 144 0062 9342 cmp r3, r2 - ARM GAS /tmp/ccPKutWs.s page 8 - - - 145 0064 0AD0 beq .L12 - 220:Src/system_stm32f0xx.c **** { - 146 .loc 1 220 0 - 147 0066 C022 movs r2, #192 - 148 0068 5202 lsls r2, r2, #9 - 149 006a 9342 cmp r3, r2 - 150 006c 0DD0 beq .L13 - 232:Src/system_stm32f0xx.c **** #else - 151 .loc 1 232 0 - 152 006e 0C48 ldr r0, .L14+8 - 153 0070 FFF7FEFF bl __aeabi_uidiv - 154 .LVL19: - 155 0074 6043 muls r0, r4 - 156 0076 094B ldr r3, .L14+4 - 157 0078 1860 str r0, [r3] - 158 007a D3E7 b .L7 - 159 .LVL20: - 160 .L12: - 217:Src/system_stm32f0xx.c **** } - 161 .loc 1 217 0 - 162 007c 0848 ldr r0, .L14+8 - 163 007e FFF7FEFF bl __aeabi_uidiv - 164 .LVL21: - 165 0082 6043 muls r0, r4 - 166 0084 054B ldr r3, .L14+4 - 167 0086 1860 str r0, [r3] - 168 0088 CCE7 b .L7 - 169 .LVL22: - 170 .L13: - 223:Src/system_stm32f0xx.c **** } - 171 .loc 1 223 0 - 172 008a 0748 ldr r0, .L14+16 - 173 008c FFF7FEFF bl __aeabi_uidiv - 174 .LVL23: - 175 0090 6043 muls r0, r4 - 176 0092 024B ldr r3, .L14+4 - 177 0094 1860 str r0, [r3] - 178 0096 C5E7 b .L7 - 179 .L15: - 180 .align 2 - 181 .L14: - 182 0098 00100240 .word 1073876992 - 183 009c 00000000 .word .LANCHOR0 - 184 00a0 00127A00 .word 8000000 - 185 00a4 00000000 .word .LANCHOR1 - 186 00a8 006CDC02 .word 48000000 - 187 .cfi_endproc - 188 .LFE41: - 190 .global APBPrescTable - 191 .global AHBPrescTable - 192 .global SystemCoreClock - 193 .section .data.SystemCoreClock,"aw",%progbits - 194 .align 2 - 195 .set .LANCHOR0,. + 0 - 198 SystemCoreClock: - 199 0000 00127A00 .word 8000000 - 200 .section .rodata.AHBPrescTable,"a",%progbits - ARM GAS /tmp/ccPKutWs.s page 9 - - - 201 .align 2 - 202 .set .LANCHOR1,. + 0 - 205 AHBPrescTable: - 206 0000 00 .byte 0 - 207 0001 00 .byte 0 - 208 0002 00 .byte 0 - 209 0003 00 .byte 0 - 210 0004 00 .byte 0 - 211 0005 00 .byte 0 - 212 0006 00 .byte 0 - 213 0007 00 .byte 0 - 214 0008 01 .byte 1 - 215 0009 02 .byte 2 - 216 000a 03 .byte 3 - 217 000b 04 .byte 4 - 218 000c 06 .byte 6 - 219 000d 07 .byte 7 - 220 000e 08 .byte 8 - 221 000f 09 .byte 9 - 222 .section .rodata.APBPrescTable,"a",%progbits - 223 .align 2 - 226 APBPrescTable: - 227 0000 00 .byte 0 - 228 0001 00 .byte 0 - 229 0002 00 .byte 0 - 230 0003 00 .byte 0 - 231 0004 01 .byte 1 - 232 0005 02 .byte 2 - 233 0006 03 .byte 3 - 234 0007 04 .byte 4 - 235 .text - 236 .Letext0: - 237 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin - 238 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s - 239 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" - 240 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" - 241 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" - ARM GAS /tmp/ccPKutWs.s page 10 - - -DEFINED SYMBOLS - *ABS*:0000000000000000 system_stm32f0xx.c - /tmp/ccPKutWs.s:16 .text.SystemInit:0000000000000000 $t - /tmp/ccPKutWs.s:23 .text.SystemInit:0000000000000000 SystemInit - /tmp/ccPKutWs.s:39 .text.SystemCoreClockUpdate:0000000000000000 $t - /tmp/ccPKutWs.s:46 .text.SystemCoreClockUpdate:0000000000000000 SystemCoreClockUpdate - /tmp/ccPKutWs.s:182 .text.SystemCoreClockUpdate:0000000000000098 $d - /tmp/ccPKutWs.s:226 .rodata.APBPrescTable:0000000000000000 APBPrescTable - /tmp/ccPKutWs.s:205 .rodata.AHBPrescTable:0000000000000000 AHBPrescTable - /tmp/ccPKutWs.s:198 .data.SystemCoreClock:0000000000000000 SystemCoreClock - /tmp/ccPKutWs.s:194 .data.SystemCoreClock:0000000000000000 $d - /tmp/ccPKutWs.s:201 .rodata.AHBPrescTable:0000000000000000 $d - /tmp/ccPKutWs.s:223 .rodata.APBPrescTable:0000000000000000 $d - -UNDEFINED SYMBOLS -__aeabi_uidiv diff --git a/Blink/build/system_stm32f0xx.o b/Blink/build/system_stm32f0xx.o deleted file mode 100644 index c8bf64c..0000000 Binary files a/Blink/build/system_stm32f0xx.o and /dev/null differ -- cgit