From a358bb43db2843a8d65e98b18814a2c05105e650 Mon Sep 17 00:00:00 2001 From: bray Date: Tue, 17 Nov 2020 10:17:39 +0100 Subject: [PATCH 1/2] expe working --- .../RealOne.1605601070222.pdom | Bin 6213632 -> 6221824 bytes .../org.eclipse.cdt.ui/RealOne.build.log | 6 +- .../org.eclipse.cdt.ui/global-build.log | 421 +++ .../1a/d055de90af28001b1d0af99b6389052e | 217 ++ .../3b/c0a8101fb128001b1d0af99b6389052e | 215 ++ .../af/40857dccb228001b1d0af99b6389052e | 218 ++ .../b/d024d9ddb128001b1d0af99b6389052e | 215 ++ .../c2/90b22559b028001b1d0af99b6389052e | 215 ++ .../cb/b0b0c2d1ae28001b1d0af99b6389052e | 217 ++ .../fd/00deef80b428001b1d0af99b6389052e | 218 ++ .../RealOne/.indexes/bf/be/properties.index | Bin 0 -> 134 bytes .../d5/13/76/61/53/78/properties.index | Bin 0 -> 174 bytes .../.projects/RealOne/.markers.snap | Bin 273 -> 7932 bytes .../.projects/RealOne/.syncinfo.snap | Bin 16 -> 128 bytes .../RemoteSystemsTempFiles/.markers.snap | Bin 160 -> 272 bytes .../RemoteSystemsTempFiles/.syncinfo.snap | Bin 160 -> 272 bytes .../.root/.markers.snap | Bin 160 -> 272 bytes .../.safetable/org.eclipse.core.resources | Bin 5143 -> 7768 bytes .../org.eclipse.core.resources/2.snap | Bin 18945 -> 24417 bytes .../.settings/org.eclipse.debug.core.prefs | 2 +- .../.settings/org.eclipse.debug.ui.prefs | 2 + .../org.eclipse.launchbar.core.prefs | 2 +- .../org.eclipse.e4.workbench/workbench.xmi | 2548 +++++++++-------- RealOne/Core/Src/main.c | 296 +- RealOne/Debug/Core/Src/main.o | Bin 1332204 -> 1333764 bytes RealOne/Debug/Core/Src/main.su | 6 +- RealOne/Debug/RealOne.bin | Bin 3656 -> 3768 bytes RealOne/Debug/RealOne.elf | Bin 1322556 -> 1323568 bytes RealOne/Debug/RealOne.list | 2138 +++++++------- RealOne/Debug/RealOne.map | 504 ++-- 30 files changed, 4741 insertions(+), 2699 deletions(-) create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1a/d055de90af28001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c0a8101fb128001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/af/40857dccb228001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b/d024d9ddb128001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c2/90b22559b028001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0b0c2d1ae28001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/fd/00deef80b428001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/be/properties.index create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/d5/13/76/61/53/78/properties.index diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/RealOne.1605601070222.pdom b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/RealOne.1605601070222.pdom index af9742f03747d96dd241e652a1a5750325349410..da8b684dc6074af9511b394ce1ff3606a29f7017 100644 GIT binary patch delta 15708 zcmai*3wRVow#O?y$#fQq&q>Qj}9n%|6yhTn{I^^sD_e_#R5CzL;2w>JHMJ&zYR82*U;v6n+y^(y+ z9Y*<<_4iLboM4pyYyFsD%1|Rzv;OuiJ6jr|#WQ>DuIjZr!RfWzm@&f$PIT4{_pJ4K z%+Mlx^39$O&O@U;tGxI*-|2O;=OzMko$3jmLs#J2oT|yoJvb9_CgJqrG;t>5^x;gw z>BpIhvxPHxdCTLqMySpiH!SV12_AoBh`nZLTKlSok~Ey@I9oXlB^h784^-yt$!Yx# z35~2;(xtVtq)X;`Tkz`^XX}y7-xKj|th4pA%)9dOt-|TmE^7f@n{6NNbWsQA-;tgLQRS>3j>x?N>;`^xGLmDL?9tIw;f z?o?Ubxw1N^vikhW>Mk!;=l=P$#|#d2j-AeZtOdReuev{_E6xjWcEi~nXAkH8lnd8< zYlMbW_5AfhoIP<~gfkE4#W;K6yaZ=&oR>O1f9*4ItP!bo7G8hZ&;>?lu=B~+m-Q(# zLbdjiKz>K3PjUY7?ndxor^|%=ovV$YVIRv3+-{Vgut#MDs*T{~_FH#cnQJFy2ZkBt zzuFW3xRIOgW<5x>?Ml>ot>)| z2d*Z~@lN%UKqa+8$Uaj;ay5awNq?GM{cNDEy|p%Q9eyS9FQ?bDfq?;gZ(hO0&eQdQ zWrh)4?hHH>n4D+?Uvbub960VVLdkZ@JAsRwcRmkXmSBWZZR3l;VI%mU{YV5?TYMQ9 zgsbWHv10~HAe7uCu4g5YTU2bS^7Z#sqNs+61&>&f4X)UHdj?Vn%ne+vEddU9L$s&=pTciO#rdGLKBveK!pF6@=y4bD(z@K$@w-b=gM zNB>bcBIzgm9_L&>x9~|c`f7Xs6NTL_FaMYFM^@r#CWl!*K`8^@6Yl=-9_KUp-17b% zPn}XTUirSqg57=hv7i|$u?yxE_PJc;D1ZGXWtLmY3`LZAZ+rf&lvgD@ro72#_rjbP zHhV(mUePUIi|@znrSl34EY{zwbri0TW;>*BKrtEIEWZoa4&d|eY@dENZ~wow{g+YE z`}sTmbcW)i>JR$o+3(JtJ$w4E)295DFW5KCFKji23K7{1xySjUSw0m7dXc{yS18lq zLOiAmhRZD{fN#LVKT#R^D%sPhl22(Hub~k4*ssqoEC`T3oZ}Dg=1+D~cst~xPTB=0 znc7LKlzC4WWw9^)IVa0Lw*BJP_H_#iJ0`5PS1m6*&tsOqWIwXJuv3@vm-$AjWgdjL zD1X&>Wt1t?bG8A$Z>DSZP?mcwCP!bOuZ$^fxgB;2|~X{1DPGlyOg|m zIqMqFD}UVXd(6%91yn)d+mvrm?7kmrJ{6xI3jau%x5fBD7e9vY?-G}5CJuP%p{k-x`tH=sYBcU4NPfI%93RIx++Nq;=wt3)HJAM}EqK?R?T@x<(S0W33^A_9*kpa9)i zC~>%I8@~Y+3WeyK58hMw!>Uc3X9zE+3be=fpH$*Dl{hF?fNbW8)|249ly7FHO5CYD zS|3jVRyv~+A1cB3KFas-29@}>O3IBH=;XRV7s#|!i3eRC3gQ|SaO#g>w@LwzsrK;# zc5~?$@coifqXo3k@lh*w5qsca{PwD(_HGaK5(DgkCEzJ4=~}l3`Y@Lo4h7FpN#(H` z;x}%J0!jsk<9D`7x>qH!hb$U-7&Tl2c3}~IcTq`}yN0;NZ73tyEdRGkn&%o}!GSJ) ze8&xwo>Pgp#XNYmi{pE+NF{9+`xX!VAWBUxz(AF>GwLELAWBU&KpWCQ?U?j| zyN1xwH5A@QB^}f?U0GHzfpb9Kl2%zaB2 z;US>Xa$_zo7yS#qi0k)Lt>gOl2=6v9&L^l0j}D zkG!BKE&Cf`J5ofmh}lPuufjA$Q9R=)qaQ2AD< zR&l;W^F!dN;1?_3=Wt=ngG=QG7^YHzo+_oKdzda4{T=ZpP8n&b&T#{)MBvqD*#P}X zxm&pkxJLMv?kGSy%cT6vt-nrlnto&o-{RQm%K9tZO}JC|j!rRs%YR6v#|!Y57C3?uc7%)TmH$U~0rv>s z)fzlU`Ib&msby}yPwU&@UBM@*)Vtjk*su8;;61=YmP%dku0g#BZ2blTc@U^jsrBx0 zd|3FlZ1CRTvs8;BH~&QQzTo-b(^QKpH%I5ACfN2D@P6RdY}I0;yOSK#0*^vq00ic$ z7N5EKapvYF)JcoMYgNk(l@<5k3DJMxKJdZHmk2&urN;SB%#*Gh2tGvlhCE!RT25Eq zxWKR6HfDMJN!D_`%8m_F3@tMVBN&Esn88O>%Ma1X?Be^2GC7)HaEU~NmZ(-~URO87 z*kX=>NQW7GLZuCGb#sg@;xrD0FH~vwxf&5&U%1RT%;1wM&5<^gXo9}a0vIP^V3kTc z>>4NN`@(5jP6b$lF6b^`N8uPJ!q=(vi(S18J&*Nw9MOEIN*}>oM-y~C7C<)@18=GH zHEshvv;kZ5Ju3ZOcMUN^CJ*d*L-T#ARSQ=yMbBf7UMlwYt5*5c%d7@Ggb^>%^;iJi zR0Qf(t3|GEh^{BRujYqUtB>7$faZVE{1cUt?&^i;d7}TQ=0{aV5qK<`pzDzUbyGUb z;4zgk$<SMh4uh>aV$8doYep01(>BhFc$)F z7YQ`tXh8PBd~kT{96m>T08^b1ymbzr%LSkgK+QliLaXr&=5ql=pn?S&^F>?$;V3Lk zDH|1VF&98M3VRN(QL3FxhmwCoA2C0-R8k`YwMw;FMf%EL2^X24~B!Y@|83(u$>Kvz$O@I%6BQVPXm$}CAdKj_-xg_Q2}-< zWBi}MM}l{4h9g@uz72R8cn@WrYv2RrU71Grmm_7K!rUR|Vt@T<@E2fUwDQ&FVZwD( zwIWU#5TuCw_1~}_y_rxpgbrgYUT>K{4w+{(9}T`M1wV8iXyb~)&ye?AS#@+%Amg*_opne4IPrBxaQ>plp%Ib{C>?%9?lw%N*LN{`9KVCU)d~`aK|duLHY6~p$GZ8)bXQB9&_+d z+3aTcDLu$XSFKwy)LFM;Si)4~=rWv*ZA;F!OE}?d>{If)fh*b0#z4tGM-8H(?zMprtAXX?>D-g#nn$<7K2 zos3|$v&37v6=}nT_BbD1c+z>$S9*Jr5!~q=>aMWIyNpzyUKeP1agkw%YR%yLwU}!tHof_an zr}Nc3M^#z;CU+$2bY^Im@||C&&gFUB>CDh>XH>h=D-v@3kpW`q4~6LdZcC%l{THHl z6+7$Nmlk=tgf_rDM(Q>9H4&6?Vum(38J$YULGS~ySoSpa$KI`@Wvk6s#$qhv)Sq^q zIKT9FWV!24IZx!49!jwM;qOFe%q)c&kV^+oft3%Sf1Xsn(dfhH@J--%f}aB4+YH|f zeiQgyFdq7GZsuXqPHnh+bk&+Zr8tM<9D#Er z&OhNCh4WgRWjL?Hc|Fb>aFYC=agK4;^to~1DJ*$o7UxY)LE*SF zv#>Pg6x5BoG_mvlmv4S}`?vzD{sW|4pW=s*8G>`^;D?a^;HP+q_z&1PpOL3n7?Tw| z#pEFt;&FsI9-&b7A9ywToRR4iN3y5^2Yeex zGMb3+bgU7775oiwn$FR44v*wUd>io*0Z5oWIh-b z-~xOEj+Y6ZP~!PY6Us(B4E`w>fC?%FpxIQk07t-)_`z(73d-|Io-O(7EvX@auektJ zQl5}%0pVYOf6E1+f=U70H~1R-2W~=YYn~DFgfm)zZ^3`&CZwk3CKPUI7ykf(-?$B_ zt+@>w8Tc9eEVm&w7axuIZ|JTb?SUiW0iH2O3vd?P)E@X$Jiy%20#NoJ^lJ}%As%oW zfU^G}<_Ty5@>G0IAJzARx7Hr`Ry@G(6j7cA-bQ=i2k`)L^ndXHl>G-gXb=1>9%y8s z4R~kmf#1Xfjd%y}T%3R7w<0rm0-5SEc`Kqm1YQ5Z?##XP@*h0TFaH+5Rcm7{A$etq&!RnD1#Jy3j$N*)tosgkI)8?feP;A3>3fHGbi0^g;NeKxQ?5Na|6st z_Xgoxkb^^B0W(r1$psc5HZgUlhT~XtkC@>y}|;de5VL_8z4}PxcZ)?XPApJbu!7bJ_7!ZBzTyUZjftD z2_kxhr-Ktj%>M>{FV0W7lcG~%Mvh*}873A80{)!^sFzZYj-{xWld{E}Iw|$⪼1| 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 F{{a{SF8}}l delta 10066 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:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3820 20 1572 5412 1524 RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin +Finished building: RealOne.list + + +09:30:04 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3820 20 1572 5412 1524 RealOne.elf +Finished building: default.size.stdout + +09:33:28 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +../Core/Src/main.c: In function 'main': +../Core/Src/main.c:215:1: error: expected declaration or statement at end of input + } + ^ +At top level: +../Core/Src/main.c:172:6: warning: 'SystemClock_Config_80M' defined but not used [-Wunused-function] + void SystemClock_Config_80M(void) + ^~~~~~~~~~~~~~~~~~~~~~ +../Core/Src/main.c:107:6: warning: 'SystemClock_Config_24M_LSE' defined but not used [-Wunused-function] + void SystemClock_Config_24M_LSE(void) + ^~~~~~~~~~~~~~~~~~~~~~~~~~ +make: *** [Core/Src/subdir.mk:38: Core/Src/main.o] Error 1 +"make -j8 all" terminated with exit code 2. Build might be incomplete. +09:35:25 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +../Core/Src/main.c: In function 'main': +../Core/Src/main.c:215:1: error: expected declaration or statement at end of input + } + ^ +At top level: +../Core/Src/main.c:172:6: warning: 'SystemClock_Config_80M' defined but not used [-Wunused-function] + void SystemClock_Config_80M(void) + ^~~~~~~~~~~~~~~~~~~~~~ +../Core/Src/main.c:107:6: warning: 'SystemClock_Config_24M_LSE' defined but not used [-Wunused-function] + void SystemClock_Config_24M_LSE(void) + ^~~~~~~~~~~~~~~~~~~~~~~~~~ +make: *** [Core/Src/subdir.mk:38: Core/Src/main.o] Error 1 +"make -j8 all" terminated with exit code 2. Build might be incomplete. +09:39:04 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3780 20 1572 5372 14fc RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin + +Finished building: RealOne.list + +09:39:09 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3780 20 1572 5372 14fc RealOne.elf +Finished building: default.size.stdout + +09:44:36 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3780 20 1572 5372 14fc RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin +Finished building: RealOne.list + + +09:44:41 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3780 20 1572 5372 14fc RealOne.elf +Finished building: default.size.stdout + +09:47:38 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3780 20 1572 5372 14fc RealOne.elf +Finished building: default.size.stdout + +09:49:56 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3796 20 1572 5388 150c RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin +Finished building: RealOne.list + + +09:51:43 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3796 20 1572 5388 150c RealOne.elf +Finished building: default.size.stdout + +09:52:52 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3796 20 1572 5388 150c RealOne.elf +Finished building: default.size.stdout + +09:56:36 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3756 20 1572 5348 14e4 RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin +Finished building: RealOne.list + + +09:57:22 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3756 20 1572 5348 14e4 RealOne.elf +Finished building: default.size.stdout + +10:08:48 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3748 20 1572 5340 14dc RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin +Finished building: RealOne.list + + +10:08:57 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3748 20 1572 5340 14dc RealOne.elf +Finished building: default.size.stdout + +10:09:39 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3748 20 1572 5340 14dc RealOne.elf +Finished building: default.size.stdout + diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1a/d055de90af28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1a/d055de90af28001b1d0af99b6389052e new file mode 100644 index 0000000..781726d --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1a/d055de90af28001b1d0af99b6389052e @@ -0,0 +1,217 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + if (expe == 0){ + expe = 1; + RTC->BKP0R = expe; + }else if (expe != 0 && BLUE_BUTTON()){ + expe ++; + RTC->BKP0R = expe; + } + }else{ + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + + +// config GPIO +GPIO_init(); + +// init systick timer (tick period at 1 ms) +LL_Init1msTick( SystemCoreClock ); +LL_SYSTICK_EnableIT(); + +//Setup Sleep mode +LL_LPM_EnableSleep(); +//LL_LPM_EnableSleepOnExit(); + +while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); + LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); +// LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { +// Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { +// Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c0a8101fb128001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c0a8101fb128001b1d0af99b6389052e new file mode 100644 index 0000000..04e57e1 --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c0a8101fb128001b1d0af99b6389052e @@ -0,0 +1,215 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + + if (BLUE_BUTTON()){ + expe ++; + RTC->BKP0R = expe; + } + }else{ + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + + + // config GPIO + GPIO_init(); + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + LL_SYSTICK_EnableIT(); + + //Setup Sleep mode + LL_LPM_EnableSleep(); + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); + LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/af/40857dccb228001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/af/40857dccb228001b1d0af99b6389052e new file mode 100644 index 0000000..dc9f671 --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/af/40857dccb228001b1d0af99b6389052e @@ -0,0 +1,218 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + + + // config GPIO + GPIO_init(); + + if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + + if (BLUE_BUTTON()){ + + expe ++; + + if (expe > 2) expe = 1; + RTC->BKP0R = expe; + } + }else{ + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + LL_SYSTICK_EnableIT(); + + //Setup Sleep mode + LL_LPM_EnableSleep(); + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); + LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b/d024d9ddb128001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b/d024d9ddb128001b1d0af99b6389052e new file mode 100644 index 0000000..b72ad9d --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b/d024d9ddb128001b1d0af99b6389052e @@ -0,0 +1,215 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + + + // config GPIO + GPIO_init(); + + if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + + if (BLUE_BUTTON()){ + expe ++; + RTC->BKP0R = expe; + } + }else{ + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + LL_SYSTICK_EnableIT(); + + //Setup Sleep mode + LL_LPM_EnableSleep(); + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); + LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c2/90b22559b028001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c2/90b22559b028001b1d0af99b6389052e new file mode 100644 index 0000000..b5fc670 --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c2/90b22559b028001b1d0af99b6389052e @@ -0,0 +1,215 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + + if (BLUE_BUTTON()){ + expe ++; + RTC->BKP0R = expe; + + }else{ + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + + +// config GPIO +GPIO_init(); + +// init systick timer (tick period at 1 ms) +LL_Init1msTick( SystemCoreClock ); +LL_SYSTICK_EnableIT(); + +//Setup Sleep mode +LL_LPM_EnableSleep(); +//LL_LPM_EnableSleepOnExit(); + +while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); + LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); +// LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { +// Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { +// Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0b0c2d1ae28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0b0c2d1ae28001b1d0af99b6389052e new file mode 100644 index 0000000..920491a --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0b0c2d1ae28001b1d0af99b6389052e @@ -0,0 +1,217 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 2; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ +// if (RCC->BDCR & RCC_BDCR_LSEON) { +// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); +// LL_PWR_EnableBkUpAccess(); +// +// //expe = register RTC +// expe = RTC->BKP0R; +// if (expe == 0){ +// expe = 1; +// RTC->BKP0R = expe; +// }else if (expe != 0 && BLUE_BUTTON()){ +// expe ++; +// RTC->BKP0R = expe; +// } +// }else{ +// SystemClock_Config_24M_LSE(); +// expe = 1; +// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); +// LL_PWR_EnableBkUpAccess(); +// RTC->BKP0R = expe; +// } +// LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + + +// config GPIO +GPIO_init(); + +// init systick timer (tick period at 1 ms) +LL_Init1msTick( SystemCoreClock ); +LL_SYSTICK_EnableIT(); + +//Setup Sleep mode +LL_LPM_EnableSleep(); +//LL_LPM_EnableSleepOnExit(); + +while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); + LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); +// LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { +// Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { +// Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/fd/00deef80b428001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/fd/00deef80b428001b1d0af99b6389052e new file mode 100644 index 0000000..9572880 --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/fd/00deef80b428001b1d0af99b6389052e @@ -0,0 +1,218 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + + + // config GPIO + GPIO_init(); + + if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + + if (BLUE_BUTTON()){ + + expe ++; + + if (expe > 2) expe = 1; + RTC->BKP0R = expe; + } + }else{ + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + LL_SYSTICK_EnableIT(); + + //Setup Sleep mode + LL_LPM_EnableSleep(); + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/be/properties.index b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/be/properties.index new file mode 100644 index 0000000000000000000000000000000000000000..8276adfb0d673604491df0eea6fd2d835d58769a GIT binary patch literal 134 zcmYj}u?@mN5Crcj0MP;s+=mok5s)EwV7*u7B=cwOp96Pqfe8p_H9JW}l3a4o-OvuIp@lW6;r32fTtk{!xQ8b-L4o>>t4EwEL#myvPg~Pu{kKrSu?*;1(eF4r%I}-o^ literal 0 HcmV?d00001 diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers.snap index 041af17fe90e186f12d01f197de08c08427d9187..f7dd4ae7eb6c71b3a5ffed719411c5ef7b75816a 100644 GIT binary patch literal 7932 zcmeHMO>Y}T7@q7#Bz#Gzq6h+1BeygV5xe;SRhCfe+D4A#q;2e&NU>$DcgN0P@2r`f z4T-o=IKmByKfsj>CnQ=SxbP2vBjv;e3EBu1mA3HC?#9_Tj%&xUl!_fC(t2k+`#$f- z^FFh__|+%ZPTxS!PQ3E@Z(n@&?J0zig5HWP6RmNXkywh;4Z`hMF26W8o1Nd>EN2qg zvUfMO!1S0c%(>ZyoLJWyWv=Vdb=YDA{$Z#;Dd+`@*P=vk(56kIx*?*v#Yt3Xb{&nO zaocjZP8JLmsmW9xJ+7~7JSQ|R6ojg)=qbl0JZ(^+RT=~~9h38EX2@9+jhV!@wHi^; ziPhCryi97;7KCHU46=#Fo19vliY-_S20hWBj4U~3g>bl`Ov63r$IOZEzgzuh+jYRz z?N2|r{{9aaJ2_;0$06=k5*ku(E9j+;*qYn|YfbbRz$4&2-vor7@n@nN8mAJG3i|{g z{|jRmqW7rSCaXK%S+{CBAH2-(@Tj<*>nVR z;=&|GJI3oi#s|L5e|dS>7Ki~YdpVLyF zweOv~zISd7!;}{zSC-Rnr}N3o!^8EBZ_vHIYfzRn4E27WNqH=4uu%HQGk;X|A|QD% zKorVhDrbC$5>zyT1I!pVwK|F8si`Tv=9YSn18F-IgYu|ZkI$WtuS;xG(yug_o&Sf>LpNGn3>gJIOjVHl)P`WV~}L;ZUgCiTN0h0=$v zB}lzH3{(1NkV5Gi7^I-*_ck?|>26BvFzdImQCQYj*X~%1%1pfHzCA-Wn?x7HfZnV( zH179pj%}d{ViG2>CNN=!?B$d-9noHQKl^p}i|_S23Od&=JPcBCYM!*xvmkUXaiZ0m z7G+{l<8{K(ljyZB->I~g=eL@~W7o4?*3%jT*^smxCWRV|r#X4gA)vkt`E+^jb#yAY zLBK%5r1mjJM$lw%h178BBWH&PpLh+HfT3! z*@=U3p)&{1LHrnKT@Y_l73`cD}?s1FE-9KC3z=W<&RX)_5er(RBi zP^7i;`E!dsmqcQ+^9GZie1%e}I07?EV37X?UYmZ$Ve)Fa>M&ipr_^2|U-~6-)5U;B zmEOTjbg*T1ezBa*rF#aH?gYr+&EzHY-@^T+vhIx5R_|ntbX!O-b;skKvh))3f^729-eEH^FcmmjW zhLL>v?#;3%n${;yFtQjF7+NTYEix N)79l&-2vx<{{Xq~IRXFx delta 7 OcmexkJCSLFAR_<`X#$S` diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.syncinfo.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.syncinfo.snap index 91d6c541512db06197e1b732473d567ce4b92d6a..5ed84375fbfb43c19b562b7b5b1abfa023d5bff1 100644 GIT binary patch literal 128 bcmZ?R*xjhShe1S2b=vdAllRFv(3uYagBvyR literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap index 7e9499e44818563ab80f6a70ad1cdabf02b8e651..947df51a4d7f2243227814119a8b831596973060 100644 GIT binary patch delta 9 QcmZ3$IDu)xf{6kJ01-d~bpQYW delta 6 NcmbQhw19EK0ssfI0%QOH diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap index 7e9499e44818563ab80f6a70ad1cdabf02b8e651..947df51a4d7f2243227814119a8b831596973060 100644 GIT binary patch delta 9 QcmZ3$IDu)xf{6kJ01-d~bpQYW delta 6 NcmbQhw19EK0ssfI0%QOH diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap index 7e9499e44818563ab80f6a70ad1cdabf02b8e651..947df51a4d7f2243227814119a8b831596973060 100644 GIT binary patch delta 9 QcmZ3$IDu)xf{6kJ01-d~bpQYW delta 6 NcmbQhw19EK0ssfI0%QOH diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources index cfef3f99bdaf18dfb369d245a4852eb781f1f3b7..9d3a70de1eca3ccfb496b098c548d1250db2abb3 100644 GIT binary patch delta 90 zcmbQPal>YVxX9!MLi#KgRwm|~^Z1GwS&dDt3``+R69X$F7}L_q*bE|SYGP#yV&*e) X7#dg^7(yiS8CiimL*vaCgxnbcU=|mU delta 7 Ocmca%GhJhYxCj6ZJOZx( diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/2.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/2.snap index 76129fc2b27add68330618dffe7d0048acf4a174..5b0c6ac8659ec0df648bb1ddbc331c54624043f9 100644 GIT binary patch delta 2934 zcmZ{mU2GIp6vt;jn7dfzOYA})bc4naAr*~@Y1CEm13zNOYIcLps#`XrYj$a&(%q=t zH0^^vsLgfepiy58J{Sz8h*4@kX=)%S!895YmEuP%NmXL?o^$`lE-{^lx%cjG z&Ye5wcjoT2?ecwh%y-E5m={$wD^!jpaEXbUCP5-fRZ_Zw&**l0Es$dh|juq?vXD%4j=I*RZIFcq(w#bC5CA#~d zyS4enfNcdIXl!x=ek<@)Q#uf^>}~ZgHPklxSx(~F2Hf!ce6)Rm-?-8h`WHEwPWexaDVbI1&vG)I@?{y%GZo-Ucf6|%<76UEc~t3Pr~PikQKieW zzx0;s>U7$WhRPRS?cu6++Mh-oRkg$ob5%QS?}AZP3maiuj<*c#gl^>-CfSzbRfCZ& zVPCN=r#u5jwuGHBwt5Vbb1=fTQg3fY2-!j^LmPM_N|jPzWD6$shC&-rszkTYhpMOo z)x&yHCC4z<6GH!I){~CEhw-#-_1i;-{TJ&=$3MWBY8_13tS24+*f7>3tcy3IRCx+< zq(|1N*SEk%lqx@rxoD5}q2JBQQsqC)m^UJsYlM}h$}uofCTx_IrQ^rINSQp>DOQ$_ z9|s$(V5eDGI(`t0@+om=jIv&XxWo2%&><0AgGS?_8b9eURKBP?87%R&}o(Cgk@?2+F zSte2sM#_YJ&B`*7hrmdgu(L+leuLy3yp5G*-^3FL)6!WTU}gCuI$d<|TULesZ>+3PybEJehCN>SSy`bN1tVp`mawuy z5gRxw6V}Jd@&jqakuq85=z_}fN9WA-s-lclA1libypFj@nanlL%JKt2Fj6M$Br7Wv zu?w&=tj|8j$_mA25J$>{eM`#L7K-xWL&}6rS;x0rp1JX;wX!BQ^VVzqg~5LT\r\n\r\n +prefWatchExpressions=\r\n\r\n\r\n\r\n\r\n\r\n\r\n diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs index 97640c0..ece0b02 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs @@ -2,5 +2,7 @@ eclipse.preferences.version=1 org.eclipse.debug.ui.MemoryView.orientation=0 org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\r\n\r\n org.eclipse.debug.ui.user_view_bindings=\r\n\r\n\r\n\r\n\r\n\r\n +pref_state_memento.org.eclipse.debug.ui.ExpressionView=\r\n\r\n\r\n\r\n\r\njava.lang.String\r\n\r\n\r\n\r\n +pref_state_memento.org.eclipse.debug.ui.VariableView=\r\n\r\n\r\n\r\n\r\n\r\n preferredDetailPanes=NumberFormatPane\:NumberFormatPane|DefaultDetailPane\:DefaultDetailPane| preferredTargets=org.eclipse.cdt.debug.ui.toggleCBreakpointTarget,org.eclipse.cdt.debug.ui.toggleCDynamicPrintfTarget\:org.eclipse.cdt.debug.ui.toggleCBreakpointTarget| diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs index 371f3d6..315be71 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs @@ -5,4 +5,4 @@ configDescList=org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:L476_ats_blink-m eclipse.preferences.version=1 org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:L476_ats_blink-master\ Debug/activeLaunchMode=run org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:L476_ats_blink-master\ Debug/activeLaunchTarget=null\:--- -org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:RealOne\ Debug/activeLaunchMode=run +org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:RealOne\ Debug/activeLaunchMode=debug diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index 3183e72..87a46a7 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,9 +1,9 @@ - - + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration ModelMigrationProcessor.001 - + @@ -12,9 +12,9 @@ topLevel shellMaximized - - - + + + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -70,68 +70,68 @@ persp.viewSC:com.st.stm32cube.ide.mcu.buildanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.stackanalyzer.stackanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.sfrview - - - + + + View categoryTag:General - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:General - - - - - + + + + + View categoryTag:General - + View categoryTag:General - + View categoryTag:Make - - - + + + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - - + + View categoryTag:C/C++ - + View categoryTag:C/C++ @@ -140,7 +140,7 @@ - + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -157,20 +157,20 @@ persp.actionSet:org.eclipse.debug.ui.launchActionSet persp.newWizSC:com.st.stm32cube.common.projectcreation.ui.stm32projectwizard persp.newWizSC:com.st.stm32cube.common.projectcreation.ui.stm32projectfromiocwizard - - - + + + View categoryTag:General active - - - - - - + + + + + + View categoryTag:Device Configuration Tool @@ -179,7 +179,7 @@ - + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -226,116 +226,116 @@ persp.viewSC:com.st.stm32cube.ide.mcu.livewatch.LiveExpressionsView persp.viewSC:com.st.stm32cube.ide.mcu.faultanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.sfrview - - - + + + org.eclipse.e4.primaryNavigationStack - + View categoryTag:Debug - + View categoryTag:General - - + + View categoryTag:Debug - - - - + + + + org.eclipse.e4.secondaryNavigationStack - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + Debug - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug @@ -344,1922 +344,1952 @@ - - + + View categoryTag:Help - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:Help - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Help - - + + org.eclipse.e4.primaryDataStack EditorStack active - - + + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor active - - + + Editor removeOnHide org.eclipse.cdt.ui.editor.asm.AsmEditor + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.CEditor + + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.CEditor + + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.CEditor + + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.CEditor + + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.CEditor + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Make - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:Device Configuration Tool - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - - + + toolbarSeparator - + - + Draggable - + - + toolbarSeparator - + - + Draggable - + toolbarSeparator - + - + Draggable - + Draggable - + Draggable - + Draggable - + toolbarSeparator - + - + Draggable - + - + Draggable - + Draggable - + toolbarSeparator - + - + toolbarSeparator - + - + Draggable - + stretch SHOW_RESTORE_MENU - + Draggable HIDEABLE SHOW_RESTORE_MENU - - + + stretch - + Draggable - + Draggable - - + + TrimStack Draggable - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + platform:win32 - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + - - + + platform:win32 - - - - - - + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor removeOnHide - + View categoryTag:Device Configuration Tool - + View categoryTag:C/C++ - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Make - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Help - + View categoryTag:Connections - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Team - + View categoryTag:Team - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - - + + glue move_after:PerspectiveSpacer SHOW_RESTORE_MENU - + move_after:Spacer Glue HIDEABLE SHOW_RESTORE_MENU - + glue move_after:SearchField SHOW_RESTORE_MENU - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RealOne/Core/Src/main.c b/RealOne/Core/Src/main.c index 920491a..90ce987 100644 --- a/RealOne/Core/Src/main.c +++ b/RealOne/Core/Src/main.c @@ -14,25 +14,25 @@ // systick interrupt handler volatile uint32_t msTicks = 0; -volatile uint8_t expe = 2; +volatile uint8_t expe = 0; volatile uint8_t blue_mode = 0; void SysTick_Handler() { - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } } @@ -40,178 +40,182 @@ void SysTick_Handler() int main(void) { + + + // config GPIO + GPIO_init(); + // if (RCC->BDCR & RCC_BDCR_LSEON) { -// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); -// LL_PWR_EnableBkUpAccess(); -// -// //expe = register RTC -// expe = RTC->BKP0R; -// if (expe == 0){ -// expe = 1; -// RTC->BKP0R = expe; -// }else if (expe != 0 && BLUE_BUTTON()){ -// expe ++; -// RTC->BKP0R = expe; -// } + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + if (expe == 0) { + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + + if (BLUE_BUTTON()){ + + expe ++; + + if (expe > 2) expe = 1; + RTC->BKP0R = expe; + } // }else{ -// SystemClock_Config_24M_LSE(); -// expe = 1; -// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); -// LL_PWR_EnableBkUpAccess(); -// RTC->BKP0R = expe; + // } -// LL_PWR_DisableBkUpAccess(); + LL_PWR_DisableBkUpAccess(); switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + LL_SYSTICK_EnableIT(); + + //Setup Sleep mode + LL_LPM_EnableSleep(); + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + switch(expe){ case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); + __WFI(); break; case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); + LL_RCC_MSI_EnablePLLMode(); break; } - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - } } } /** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ void SystemClock_Config_24M_LSE(void) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { - } + } - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + LL_PWR_EnableBkUpAccess(); +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); - LL_RCC_LSE_Enable(); + LL_RCC_LSE_Enable(); - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } } void SystemClock_Config_80M(void) { - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } } diff --git a/RealOne/Debug/Core/Src/main.o b/RealOne/Debug/Core/Src/main.o index 869987419585d9a0a5b3a564c2d5ca6bd1cdf1b3..f1c5541964bde7c2df68bc7508e92e7a6d8f700e 100644 GIT binary patch delta 347946 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 delta 345917 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%0A(&?0pDm_ma`oxXxIwYM)b+ElAXUqnX6cp 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 Mm%rYxwpk|mKk-dxEC2ui diff --git a/RealOne/Debug/Core/Src/main.su b/RealOne/Debug/Core/Src/main.su index 0812aa8..3cc140d 100644 --- a/RealOne/Debug/Core/Src/main.su +++ b/RealOne/Debug/Core/Src/main.su @@ -14,7 +14,6 @@ stm32l4xx_ll_rcc.h:2792:22:LL_RCC_SetAPB1Prescaler 16 static stm32l4xx_ll_rcc.h:2808:22:LL_RCC_SetAPB2Prescaler 16 static stm32l4xx_ll_rcc.h:3650:22:LL_RCC_SetRTCClockSource 16 static stm32l4xx_ll_rcc.h:3674:22:LL_RCC_EnableRTC 4 static -stm32l4xx_ll_rcc.h:3704:22:LL_RCC_ForceBackupDomainReset 4 static stm32l4xx_ll_rcc.h:3714:22:LL_RCC_ReleaseBackupDomainReset 4 static stm32l4xx_ll_rcc.h:3733:22:LL_RCC_PLL_Enable 4 static stm32l4xx_ll_rcc.h:3754:26:LL_RCC_PLL_IsReady 4 static @@ -27,7 +26,8 @@ stm32l4xx_ll_cortex.h:272:22:LL_SYSTICK_EnableIT 4 static stm32l4xx_ll_cortex.h:310:22:LL_LPM_EnableSleep 4 static stm32l4xx_ll_pwr.h:344:22:LL_PWR_SetRegulVoltageScaling 16 static stm32l4xx_ll_pwr.h:398:22:LL_PWR_EnableBkUpAccess 4 static +stm32l4xx_ll_pwr.h:408:22:LL_PWR_DisableBkUpAccess 4 static main.c:20:6:SysTick_Handler 8 static main.c:41:5:main 8 static,ignoring_inline_asm -main.c:109:6:SystemClock_Config_24M_LSE 8 static -main.c:174:6:SystemClock_Config_80M 8 static +main.c:113:6:SystemClock_Config_24M_LSE 8 static +main.c:178:6:SystemClock_Config_80M 8 static diff --git a/RealOne/Debug/RealOne.bin b/RealOne/Debug/RealOne.bin index 30688f420b29dacfd2f2417b5601bc258af080ab..5c93bf0b367856a33fa47b48a5b91adc7cc70cc8 100644 GIT binary patch delta 1154 zcmb_cO=uHA6n>N4#A%YYfl^JfM$)d-;MyN7sNh9WLhK6h;z6oV5TzGGpbD)AHzz?_ zQP_(I6$%~{l+eV03Lzkf1rgFyX}#1#sRs|MtxQ_n9p6mTB3|RdH?#ZZ``&!-&9L+P z-y|$3kmPI#=xPw?I${&S5q^xpKTil_v1a@b&ixeV51d41*y5e` zMJoRD`sDCi)$E#6GsSg08ePvvs$qbnIEk4KptPcx+MIGuk?XW7;t^b*DSsf-YWZfM zN`kMU=r^@-bwsx{s*!p7I32bgxos;!jD9ryOVotk_!voYcHa${+T@p#&maq&-FBf? zsP<#J6ygY?P=O+6BW~6yT;S{|=j} zPc&iCgBoYwJS9zxt%d9clajH9UMY#e=yIA<}8o$&w_2VKtYxMTP>?TYWm_)R6d zzsb&S6gn`C>TwqJvJOl{?O3qKdMHV=ND5<0A$=heyp!W6SIvO4v58ilB`mQ}Mf1mU zL>N|)drKOL5qpxs>&ELXkVArTFtqsYXr(Mufz0e~HZ9joz1FyoTskWw z7ymMLMapw>w91!)dr0i6=dFqV#Y?=1qM71i3Jlp(p@}vO$rh{SU!g@p!2aBRvi%uS ScktZq?$E=cAiS|a5PtyC_NGVx delta 1024 zcmb`GOK1~89LE2%yNR2JVL^pxe54HpVHF}N!3T&BD3J(Jk3yxFQXe3dULsOA7Y~|4 zl?8kBV!>OfOQ1c3AQBZpNIg`fmw<;}6aq%326o49CT$U~ap9ZY{m=Zq@4vIV%ZEN3 zbg078$75vPi<0R;kDw~_45ELIdDIrR>K@J~OfqM|4j^X`_&>1DK-~}A02Q#s+uLW= zLYFh;+=@}$vt$$&f8y0-GSgPwB1+3QkxY=k8+tAvAuOaCB2HH*=kPMVTrB3CF;Fge$jRS430(HX|eA%DCRnwREYq-Cli0e~ZNU2+a)mb3df>MWOlEXA40~b(v3(W>H z;7QOA&@uB-8LWekqZMiUO__Jq7z*5c^zf-S3i}Mq*y;B->~ab|x6|*q>h88eANZ6x z>i&uh9eJo$&HWXD=S0veHLiG{qPy7s7eTNg|J0NC1mxDqPeN+c{Sljq#Bn7z)AVk| ezc6OF=M!gkXR&l!qweEG#?nAi{w@PZ4Eh5l4@~m_ diff --git a/RealOne/Debug/RealOne.elf b/RealOne/Debug/RealOne.elf index f1f6932e6f36c82a850c6ca16d5313005b5b7dc8..9ab279587785fb240d603f5d94a940e1c214ded8 100644 GIT binary patch delta 23386 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: 80001ac: b508 push {r3, lr} @@ -73,8 +73,8 @@ Disassembly of section .text: 80001b6: f3af 8000 nop.w 80001ba: bd08 pop {r3, pc} 80001bc: 00000000 .word 0x00000000 - 80001c0: 20000014 .word 0x20000014 - 80001c4: 08000e18 .word 0x08000e18 + 80001c0: 20000010 .word 0x20000010 + 80001c4: 08000e8c .word 0x08000e8c 080001c8 : * @@ -863,20 +863,20 @@ __STATIC_INLINE void LL_RCC_EnableRTC(void) 800063e: bf00 nop 8000640: 40021000 .word 0x40021000 -08000644 : - * @brief Force the Backup domain reset - * @rmtoll BDCR BDRST LL_RCC_ForceBackupDomainReset +08000644 : + * @brief Release the Backup domain reset + * @rmtoll BDCR BDRST LL_RCC_ReleaseBackupDomainReset * @retval None */ -__STATIC_INLINE void LL_RCC_ForceBackupDomainReset(void) +__STATIC_INLINE void LL_RCC_ReleaseBackupDomainReset(void) { 8000644: b480 push {r7} 8000646: af00 add r7, sp, #0 - SET_BIT(RCC->BDCR, RCC_BDCR_BDRST); - 8000648: 4b06 ldr r3, [pc, #24] ; (8000664 ) + CLEAR_BIT(RCC->BDCR, RCC_BDCR_BDRST); + 8000648: 4b06 ldr r3, [pc, #24] ; (8000664 ) 800064a: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 800064e: 4a05 ldr r2, [pc, #20] ; (8000664 ) - 8000650: f443 3380 orr.w r3, r3, #65536 ; 0x10000 + 800064e: 4a05 ldr r2, [pc, #20] ; (8000664 ) + 8000650: f423 3380 bic.w r3, r3, #65536 ; 0x10000 8000654: f8c2 3090 str.w r3, [r2, #144] ; 0x90 } 8000658: bf00 nop @@ -886,1522 +886,1594 @@ __STATIC_INLINE void LL_RCC_ForceBackupDomainReset(void) 8000662: bf00 nop 8000664: 40021000 .word 0x40021000 -08000668 : - * @brief Release the Backup domain reset - * @rmtoll BDCR BDRST LL_RCC_ReleaseBackupDomainReset - * @retval None - */ -__STATIC_INLINE void LL_RCC_ReleaseBackupDomainReset(void) -{ - 8000668: b480 push {r7} - 800066a: af00 add r7, sp, #0 - CLEAR_BIT(RCC->BDCR, RCC_BDCR_BDRST); - 800066c: 4b06 ldr r3, [pc, #24] ; (8000688 ) - 800066e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8000672: 4a05 ldr r2, [pc, #20] ; (8000688 ) - 8000674: f423 3380 bic.w r3, r3, #65536 ; 0x10000 - 8000678: f8c2 3090 str.w r3, [r2, #144] ; 0x90 -} - 800067c: bf00 nop - 800067e: 46bd mov sp, r7 - 8000680: f85d 7b04 ldr.w r7, [sp], #4 - 8000684: 4770 bx lr - 8000686: bf00 nop - 8000688: 40021000 .word 0x40021000 - -0800068c : +08000668 : * @brief Enable PLL * @rmtoll CR PLLON LL_RCC_PLL_Enable * @retval None */ __STATIC_INLINE void LL_RCC_PLL_Enable(void) { - 800068c: b480 push {r7} - 800068e: af00 add r7, sp, #0 + 8000668: b480 push {r7} + 800066a: af00 add r7, sp, #0 SET_BIT(RCC->CR, RCC_CR_PLLON); - 8000690: 4b05 ldr r3, [pc, #20] ; (80006a8 ) - 8000692: 681b ldr r3, [r3, #0] - 8000694: 4a04 ldr r2, [pc, #16] ; (80006a8 ) - 8000696: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 - 800069a: 6013 str r3, [r2, #0] + 800066c: 4b05 ldr r3, [pc, #20] ; (8000684 ) + 800066e: 681b ldr r3, [r3, #0] + 8000670: 4a04 ldr r2, [pc, #16] ; (8000684 ) + 8000672: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 + 8000676: 6013 str r3, [r2, #0] } - 800069c: bf00 nop - 800069e: 46bd mov sp, r7 - 80006a0: f85d 7b04 ldr.w r7, [sp], #4 - 80006a4: 4770 bx lr - 80006a6: bf00 nop - 80006a8: 40021000 .word 0x40021000 + 8000678: bf00 nop + 800067a: 46bd mov sp, r7 + 800067c: f85d 7b04 ldr.w r7, [sp], #4 + 8000680: 4770 bx lr + 8000682: bf00 nop + 8000684: 40021000 .word 0x40021000 -080006ac : +08000688 : * @brief Check if PLL Ready * @rmtoll CR PLLRDY LL_RCC_PLL_IsReady * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_RCC_PLL_IsReady(void) { - 80006ac: b480 push {r7} - 80006ae: af00 add r7, sp, #0 + 8000688: b480 push {r7} + 800068a: af00 add r7, sp, #0 return ((READ_BIT(RCC->CR, RCC_CR_PLLRDY) == RCC_CR_PLLRDY) ? 1UL : 0UL); - 80006b0: 4b07 ldr r3, [pc, #28] ; (80006d0 ) - 80006b2: 681b ldr r3, [r3, #0] - 80006b4: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 80006b8: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 - 80006bc: d101 bne.n 80006c2 - 80006be: 2301 movs r3, #1 - 80006c0: e000 b.n 80006c4 - 80006c2: 2300 movs r3, #0 + 800068c: 4b07 ldr r3, [pc, #28] ; (80006ac ) + 800068e: 681b ldr r3, [r3, #0] + 8000690: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 8000694: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 + 8000698: d101 bne.n 800069e + 800069a: 2301 movs r3, #1 + 800069c: e000 b.n 80006a0 + 800069e: 2300 movs r3, #0 } - 80006c4: 4618 mov r0, r3 - 80006c6: 46bd mov sp, r7 - 80006c8: f85d 7b04 ldr.w r7, [sp], #4 - 80006cc: 4770 bx lr - 80006ce: bf00 nop - 80006d0: 40021000 .word 0x40021000 + 80006a0: 4618 mov r0, r3 + 80006a2: 46bd mov sp, r7 + 80006a4: f85d 7b04 ldr.w r7, [sp], #4 + 80006a8: 4770 bx lr + 80006aa: bf00 nop + 80006ac: 40021000 .word 0x40021000 -080006d4 : +080006b0 : * @arg @ref LL_RCC_PLLR_DIV_6 * @arg @ref LL_RCC_PLLR_DIV_8 * @retval None */ __STATIC_INLINE void LL_RCC_PLL_ConfigDomain_SYS(uint32_t Source, uint32_t PLLM, uint32_t PLLN, uint32_t PLLR) { - 80006d4: b480 push {r7} - 80006d6: b085 sub sp, #20 - 80006d8: af00 add r7, sp, #0 - 80006da: 60f8 str r0, [r7, #12] - 80006dc: 60b9 str r1, [r7, #8] - 80006de: 607a str r2, [r7, #4] - 80006e0: 603b str r3, [r7, #0] + 80006b0: b480 push {r7} + 80006b2: b085 sub sp, #20 + 80006b4: af00 add r7, sp, #0 + 80006b6: 60f8 str r0, [r7, #12] + 80006b8: 60b9 str r1, [r7, #8] + 80006ba: 607a str r2, [r7, #4] + 80006bc: 603b str r3, [r7, #0] MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC | RCC_PLLCFGR_PLLM | RCC_PLLCFGR_PLLN | RCC_PLLCFGR_PLLR, - 80006e2: 4b0a ldr r3, [pc, #40] ; (800070c ) - 80006e4: 68da ldr r2, [r3, #12] - 80006e6: 4b0a ldr r3, [pc, #40] ; (8000710 ) - 80006e8: 4013 ands r3, r2 - 80006ea: 68f9 ldr r1, [r7, #12] - 80006ec: 68ba ldr r2, [r7, #8] - 80006ee: 4311 orrs r1, r2 - 80006f0: 687a ldr r2, [r7, #4] - 80006f2: 0212 lsls r2, r2, #8 - 80006f4: 4311 orrs r1, r2 - 80006f6: 683a ldr r2, [r7, #0] - 80006f8: 430a orrs r2, r1 - 80006fa: 4904 ldr r1, [pc, #16] ; (800070c ) - 80006fc: 4313 orrs r3, r2 - 80006fe: 60cb str r3, [r1, #12] + 80006be: 4b0a ldr r3, [pc, #40] ; (80006e8 ) + 80006c0: 68da ldr r2, [r3, #12] + 80006c2: 4b0a ldr r3, [pc, #40] ; (80006ec ) + 80006c4: 4013 ands r3, r2 + 80006c6: 68f9 ldr r1, [r7, #12] + 80006c8: 68ba ldr r2, [r7, #8] + 80006ca: 4311 orrs r1, r2 + 80006cc: 687a ldr r2, [r7, #4] + 80006ce: 0212 lsls r2, r2, #8 + 80006d0: 4311 orrs r1, r2 + 80006d2: 683a ldr r2, [r7, #0] + 80006d4: 430a orrs r2, r1 + 80006d6: 4904 ldr r1, [pc, #16] ; (80006e8 ) + 80006d8: 4313 orrs r3, r2 + 80006da: 60cb str r3, [r1, #12] Source | PLLM | (PLLN << RCC_PLLCFGR_PLLN_Pos) | PLLR); } - 8000700: bf00 nop - 8000702: 3714 adds r7, #20 - 8000704: 46bd mov sp, r7 - 8000706: f85d 7b04 ldr.w r7, [sp], #4 - 800070a: 4770 bx lr - 800070c: 40021000 .word 0x40021000 - 8000710: f9ff808c .word 0xf9ff808c + 80006dc: bf00 nop + 80006de: 3714 adds r7, #20 + 80006e0: 46bd mov sp, r7 + 80006e2: f85d 7b04 ldr.w r7, [sp], #4 + 80006e6: 4770 bx lr + 80006e8: 40021000 .word 0x40021000 + 80006ec: f9ff808c .word 0xf9ff808c -08000714 : +080006f0 : * @brief Enable PLL output mapped on SYSCLK domain * @rmtoll PLLCFGR PLLREN LL_RCC_PLL_EnableDomain_SYS * @retval None */ __STATIC_INLINE void LL_RCC_PLL_EnableDomain_SYS(void) { - 8000714: b480 push {r7} - 8000716: af00 add r7, sp, #0 + 80006f0: b480 push {r7} + 80006f2: af00 add r7, sp, #0 SET_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLREN); - 8000718: 4b05 ldr r3, [pc, #20] ; (8000730 ) - 800071a: 68db ldr r3, [r3, #12] - 800071c: 4a04 ldr r2, [pc, #16] ; (8000730 ) - 800071e: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 - 8000722: 60d3 str r3, [r2, #12] + 80006f4: 4b05 ldr r3, [pc, #20] ; (800070c ) + 80006f6: 68db ldr r3, [r3, #12] + 80006f8: 4a04 ldr r2, [pc, #16] ; (800070c ) + 80006fa: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 + 80006fe: 60d3 str r3, [r2, #12] } - 8000724: bf00 nop - 8000726: 46bd mov sp, r7 - 8000728: f85d 7b04 ldr.w r7, [sp], #4 - 800072c: 4770 bx lr - 800072e: bf00 nop - 8000730: 40021000 .word 0x40021000 + 8000700: bf00 nop + 8000702: 46bd mov sp, r7 + 8000704: f85d 7b04 ldr.w r7, [sp], #4 + 8000708: 4770 bx lr + 800070a: bf00 nop + 800070c: 40021000 .word 0x40021000 -08000734 : +08000710 : * * (*) value not defined in all devices. * @retval None */ __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs) { - 8000734: b480 push {r7} - 8000736: b085 sub sp, #20 - 8000738: af00 add r7, sp, #0 - 800073a: 6078 str r0, [r7, #4] + 8000710: b480 push {r7} + 8000712: b085 sub sp, #20 + 8000714: af00 add r7, sp, #0 + 8000716: 6078 str r0, [r7, #4] __IO uint32_t tmpreg; SET_BIT(RCC->APB1ENR1, Periphs); - 800073c: 4b08 ldr r3, [pc, #32] ; (8000760 ) - 800073e: 6d9a ldr r2, [r3, #88] ; 0x58 - 8000740: 4907 ldr r1, [pc, #28] ; (8000760 ) - 8000742: 687b ldr r3, [r7, #4] - 8000744: 4313 orrs r3, r2 - 8000746: 658b str r3, [r1, #88] ; 0x58 + 8000718: 4b08 ldr r3, [pc, #32] ; (800073c ) + 800071a: 6d9a ldr r2, [r3, #88] ; 0x58 + 800071c: 4907 ldr r1, [pc, #28] ; (800073c ) + 800071e: 687b ldr r3, [r7, #4] + 8000720: 4313 orrs r3, r2 + 8000722: 658b str r3, [r1, #88] ; 0x58 /* Delay after an RCC peripheral clock enabling */ tmpreg = READ_BIT(RCC->APB1ENR1, Periphs); - 8000748: 4b05 ldr r3, [pc, #20] ; (8000760 ) - 800074a: 6d9a ldr r2, [r3, #88] ; 0x58 - 800074c: 687b ldr r3, [r7, #4] - 800074e: 4013 ands r3, r2 - 8000750: 60fb str r3, [r7, #12] + 8000724: 4b05 ldr r3, [pc, #20] ; (800073c ) + 8000726: 6d9a ldr r2, [r3, #88] ; 0x58 + 8000728: 687b ldr r3, [r7, #4] + 800072a: 4013 ands r3, r2 + 800072c: 60fb str r3, [r7, #12] (void)tmpreg; - 8000752: 68fb ldr r3, [r7, #12] + 800072e: 68fb ldr r3, [r7, #12] } - 8000754: bf00 nop - 8000756: 3714 adds r7, #20 - 8000758: 46bd mov sp, r7 - 800075a: f85d 7b04 ldr.w r7, [sp], #4 - 800075e: 4770 bx lr - 8000760: 40021000 .word 0x40021000 + 8000730: bf00 nop + 8000732: 3714 adds r7, #20 + 8000734: 46bd mov sp, r7 + 8000736: f85d 7b04 ldr.w r7, [sp], #4 + 800073a: 4770 bx lr + 800073c: 40021000 .word 0x40021000 -08000764 : +08000740 : * * (*) value not defined in all devices. * @retval None */ __STATIC_INLINE void LL_FLASH_SetLatency(uint32_t Latency) { - 8000764: b480 push {r7} - 8000766: b083 sub sp, #12 - 8000768: af00 add r7, sp, #0 - 800076a: 6078 str r0, [r7, #4] + 8000740: b480 push {r7} + 8000742: b083 sub sp, #12 + 8000744: af00 add r7, sp, #0 + 8000746: 6078 str r0, [r7, #4] MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, Latency); - 800076c: 4b06 ldr r3, [pc, #24] ; (8000788 ) - 800076e: 681b ldr r3, [r3, #0] - 8000770: f023 0207 bic.w r2, r3, #7 - 8000774: 4904 ldr r1, [pc, #16] ; (8000788 ) - 8000776: 687b ldr r3, [r7, #4] - 8000778: 4313 orrs r3, r2 - 800077a: 600b str r3, [r1, #0] + 8000748: 4b06 ldr r3, [pc, #24] ; (8000764 ) + 800074a: 681b ldr r3, [r3, #0] + 800074c: f023 0207 bic.w r2, r3, #7 + 8000750: 4904 ldr r1, [pc, #16] ; (8000764 ) + 8000752: 687b ldr r3, [r7, #4] + 8000754: 4313 orrs r3, r2 + 8000756: 600b str r3, [r1, #0] } - 800077c: bf00 nop - 800077e: 370c adds r7, #12 - 8000780: 46bd mov sp, r7 - 8000782: f85d 7b04 ldr.w r7, [sp], #4 - 8000786: 4770 bx lr - 8000788: 40022000 .word 0x40022000 + 8000758: bf00 nop + 800075a: 370c adds r7, #12 + 800075c: 46bd mov sp, r7 + 800075e: f85d 7b04 ldr.w r7, [sp], #4 + 8000762: 4770 bx lr + 8000764: 40022000 .word 0x40022000 -0800078c : +08000768 : * @arg @ref LL_FLASH_LATENCY_15 (*) * * (*) value not defined in all devices. */ __STATIC_INLINE uint32_t LL_FLASH_GetLatency(void) { - 800078c: b480 push {r7} - 800078e: af00 add r7, sp, #0 + 8000768: b480 push {r7} + 800076a: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(FLASH->ACR, FLASH_ACR_LATENCY)); - 8000790: 4b04 ldr r3, [pc, #16] ; (80007a4 ) - 8000792: 681b ldr r3, [r3, #0] - 8000794: f003 0307 and.w r3, r3, #7 + 800076c: 4b04 ldr r3, [pc, #16] ; (8000780 ) + 800076e: 681b ldr r3, [r3, #0] + 8000770: f003 0307 and.w r3, r3, #7 } - 8000798: 4618 mov r0, r3 - 800079a: 46bd mov sp, r7 - 800079c: f85d 7b04 ldr.w r7, [sp], #4 - 80007a0: 4770 bx lr - 80007a2: bf00 nop - 80007a4: 40022000 .word 0x40022000 + 8000774: 4618 mov r0, r3 + 8000776: 46bd mov sp, r7 + 8000778: f85d 7b04 ldr.w r7, [sp], #4 + 800077c: 4770 bx lr + 800077e: bf00 nop + 8000780: 40022000 .word 0x40022000 -080007a8 : +08000784 : * @brief Enable SysTick exception request * @rmtoll STK_CTRL TICKINT LL_SYSTICK_EnableIT * @retval None */ __STATIC_INLINE void LL_SYSTICK_EnableIT(void) { - 80007a8: b480 push {r7} - 80007aa: af00 add r7, sp, #0 + 8000784: b480 push {r7} + 8000786: af00 add r7, sp, #0 SET_BIT(SysTick->CTRL, SysTick_CTRL_TICKINT_Msk); - 80007ac: 4b05 ldr r3, [pc, #20] ; (80007c4 ) - 80007ae: 681b ldr r3, [r3, #0] - 80007b0: 4a04 ldr r2, [pc, #16] ; (80007c4 ) - 80007b2: f043 0302 orr.w r3, r3, #2 - 80007b6: 6013 str r3, [r2, #0] + 8000788: 4b05 ldr r3, [pc, #20] ; (80007a0 ) + 800078a: 681b ldr r3, [r3, #0] + 800078c: 4a04 ldr r2, [pc, #16] ; (80007a0 ) + 800078e: f043 0302 orr.w r3, r3, #2 + 8000792: 6013 str r3, [r2, #0] } - 80007b8: bf00 nop - 80007ba: 46bd mov sp, r7 - 80007bc: f85d 7b04 ldr.w r7, [sp], #4 - 80007c0: 4770 bx lr - 80007c2: bf00 nop - 80007c4: e000e010 .word 0xe000e010 + 8000794: bf00 nop + 8000796: 46bd mov sp, r7 + 8000798: f85d 7b04 ldr.w r7, [sp], #4 + 800079c: 4770 bx lr + 800079e: bf00 nop + 80007a0: e000e010 .word 0xe000e010 -080007c8 : +080007a4 : * @brief Processor uses sleep as its low power mode * @rmtoll SCB_SCR SLEEPDEEP LL_LPM_EnableSleep * @retval None */ __STATIC_INLINE void LL_LPM_EnableSleep(void) { - 80007c8: b480 push {r7} - 80007ca: af00 add r7, sp, #0 + 80007a4: b480 push {r7} + 80007a6: af00 add r7, sp, #0 /* Clear SLEEPDEEP bit of Cortex System Control Register */ CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPDEEP_Msk)); - 80007cc: 4b05 ldr r3, [pc, #20] ; (80007e4 ) - 80007ce: 691b ldr r3, [r3, #16] - 80007d0: 4a04 ldr r2, [pc, #16] ; (80007e4 ) - 80007d2: f023 0304 bic.w r3, r3, #4 - 80007d6: 6113 str r3, [r2, #16] + 80007a8: 4b05 ldr r3, [pc, #20] ; (80007c0 ) + 80007aa: 691b ldr r3, [r3, #16] + 80007ac: 4a04 ldr r2, [pc, #16] ; (80007c0 ) + 80007ae: f023 0304 bic.w r3, r3, #4 + 80007b2: 6113 str r3, [r2, #16] } - 80007d8: bf00 nop - 80007da: 46bd mov sp, r7 - 80007dc: f85d 7b04 ldr.w r7, [sp], #4 - 80007e0: 4770 bx lr - 80007e2: bf00 nop - 80007e4: e000ed00 .word 0xe000ed00 + 80007b4: bf00 nop + 80007b6: 46bd mov sp, r7 + 80007b8: f85d 7b04 ldr.w r7, [sp], #4 + 80007bc: 4770 bx lr + 80007be: bf00 nop + 80007c0: e000ed00 .word 0xe000ed00 -080007e8 : +080007c4 : * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE1 * @arg @ref LL_PWR_REGU_VOLTAGE_SCALE2 * @retval None */ __STATIC_INLINE void LL_PWR_SetRegulVoltageScaling(uint32_t VoltageScaling) { - 80007e8: b480 push {r7} - 80007ea: b083 sub sp, #12 - 80007ec: af00 add r7, sp, #0 - 80007ee: 6078 str r0, [r7, #4] + 80007c4: b480 push {r7} + 80007c6: b083 sub sp, #12 + 80007c8: af00 add r7, sp, #0 + 80007ca: 6078 str r0, [r7, #4] MODIFY_REG(PWR->CR1, PWR_CR1_VOS, VoltageScaling); - 80007f0: 4b06 ldr r3, [pc, #24] ; (800080c ) - 80007f2: 681b ldr r3, [r3, #0] - 80007f4: f423 62c0 bic.w r2, r3, #1536 ; 0x600 - 80007f8: 4904 ldr r1, [pc, #16] ; (800080c ) - 80007fa: 687b ldr r3, [r7, #4] - 80007fc: 4313 orrs r3, r2 - 80007fe: 600b str r3, [r1, #0] + 80007cc: 4b06 ldr r3, [pc, #24] ; (80007e8 ) + 80007ce: 681b ldr r3, [r3, #0] + 80007d0: f423 62c0 bic.w r2, r3, #1536 ; 0x600 + 80007d4: 4904 ldr r1, [pc, #16] ; (80007e8 ) + 80007d6: 687b ldr r3, [r7, #4] + 80007d8: 4313 orrs r3, r2 + 80007da: 600b str r3, [r1, #0] } - 8000800: bf00 nop - 8000802: 370c adds r7, #12 - 8000804: 46bd mov sp, r7 - 8000806: f85d 7b04 ldr.w r7, [sp], #4 - 800080a: 4770 bx lr - 800080c: 40007000 .word 0x40007000 + 80007dc: bf00 nop + 80007de: 370c adds r7, #12 + 80007e0: 46bd mov sp, r7 + 80007e2: f85d 7b04 ldr.w r7, [sp], #4 + 80007e6: 4770 bx lr + 80007e8: 40007000 .word 0x40007000 -08000810 : +080007ec : * @brief Enable access to the backup domain * @rmtoll CR1 DBP LL_PWR_EnableBkUpAccess * @retval None */ __STATIC_INLINE void LL_PWR_EnableBkUpAccess(void) { - 8000810: b480 push {r7} - 8000812: af00 add r7, sp, #0 + 80007ec: b480 push {r7} + 80007ee: af00 add r7, sp, #0 SET_BIT(PWR->CR1, PWR_CR1_DBP); - 8000814: 4b05 ldr r3, [pc, #20] ; (800082c ) - 8000816: 681b ldr r3, [r3, #0] - 8000818: 4a04 ldr r2, [pc, #16] ; (800082c ) - 800081a: f443 7380 orr.w r3, r3, #256 ; 0x100 - 800081e: 6013 str r3, [r2, #0] + 80007f0: 4b05 ldr r3, [pc, #20] ; (8000808 ) + 80007f2: 681b ldr r3, [r3, #0] + 80007f4: 4a04 ldr r2, [pc, #16] ; (8000808 ) + 80007f6: f443 7380 orr.w r3, r3, #256 ; 0x100 + 80007fa: 6013 str r3, [r2, #0] } - 8000820: bf00 nop - 8000822: 46bd mov sp, r7 - 8000824: f85d 7b04 ldr.w r7, [sp], #4 - 8000828: 4770 bx lr - 800082a: bf00 nop - 800082c: 40007000 .word 0x40007000 + 80007fc: bf00 nop + 80007fe: 46bd mov sp, r7 + 8000800: f85d 7b04 ldr.w r7, [sp], #4 + 8000804: 4770 bx lr + 8000806: bf00 nop + 8000808: 40007000 .word 0x40007000 -08000830 : +0800080c : + * @brief Disable access to the backup domain + * @rmtoll CR1 DBP LL_PWR_DisableBkUpAccess + * @retval None + */ +__STATIC_INLINE void LL_PWR_DisableBkUpAccess(void) +{ + 800080c: b480 push {r7} + 800080e: af00 add r7, sp, #0 + CLEAR_BIT(PWR->CR1, PWR_CR1_DBP); + 8000810: 4b05 ldr r3, [pc, #20] ; (8000828 ) + 8000812: 681b ldr r3, [r3, #0] + 8000814: 4a04 ldr r2, [pc, #16] ; (8000828 ) + 8000816: f423 7380 bic.w r3, r3, #256 ; 0x100 + 800081a: 6013 str r3, [r2, #0] +} + 800081c: bf00 nop + 800081e: 46bd mov sp, r7 + 8000820: f85d 7b04 ldr.w r7, [sp], #4 + 8000824: 4770 bx lr + 8000826: bf00 nop + 8000828: 40007000 .word 0x40007000 + +0800082c : volatile uint32_t msTicks = 0; -volatile uint8_t expe = 2; +volatile uint8_t expe = 0; volatile uint8_t blue_mode = 0; void SysTick_Handler() { - 8000830: b580 push {r7, lr} - 8000832: af00 add r7, sp, #0 - if ( BLUE_BUTTON() ){ - 8000834: f7ff fdc6 bl 80003c4 - 8000838: 4603 mov r3, r0 - 800083a: 2b00 cmp r3, #0 - 800083c: d002 beq.n 8000844 - blue_mode = 1 ; - 800083e: 4b15 ldr r3, [pc, #84] ; (8000894 ) - 8000840: 2201 movs r2, #1 - 8000842: 701a strb r2, [r3, #0] - } + 800082c: b580 push {r7, lr} + 800082e: af00 add r7, sp, #0 + if ( BLUE_BUTTON() ){ + 8000830: f7ff fdc8 bl 80003c4 + 8000834: 4603 mov r3, r0 + 8000836: 2b00 cmp r3, #0 + 8000838: d002 beq.n 8000840 + blue_mode = 1 ; + 800083a: 4b15 ldr r3, [pc, #84] ; (8000890 ) + 800083c: 2201 movs r2, #1 + 800083e: 701a strb r2, [r3, #0] + } - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - 8000844: 4b14 ldr r3, [pc, #80] ; (8000898 ) - 8000846: 681b ldr r3, [r3, #0] - 8000848: 3301 adds r3, #1 - 800084a: 4a13 ldr r2, [pc, #76] ; (8000898 ) - 800084c: 6013 str r3, [r2, #0] - if (msTicks == 5 * expe){ - 800084e: 4b13 ldr r3, [pc, #76] ; (800089c ) - 8000850: 781b ldrb r3, [r3, #0] - 8000852: b2db uxtb r3, r3 - 8000854: 461a mov r2, r3 - 8000856: 4613 mov r3, r2 - 8000858: 009b lsls r3, r3, #2 - 800085a: 4413 add r3, r2 - 800085c: 461a mov r2, r3 - 800085e: 4b0e ldr r3, [pc, #56] ; (8000898 ) - 8000860: 681b ldr r3, [r3, #0] - 8000862: 429a cmp r2, r3 - 8000864: d103 bne.n 800086e - LED_GREEN(0); - 8000866: 2000 movs r0, #0 - 8000868: f7ff fd96 bl 8000398 - 800086c: e009 b.n 8000882 - }else if(msTicks >= 200){ - 800086e: 4b0a ldr r3, [pc, #40] ; (8000898 ) - 8000870: 681b ldr r3, [r3, #0] - 8000872: 2bc7 cmp r3, #199 ; 0xc7 - 8000874: d905 bls.n 8000882 - msTicks = 0; - 8000876: 4b08 ldr r3, [pc, #32] ; (8000898 ) - 8000878: 2200 movs r2, #0 - 800087a: 601a str r2, [r3, #0] - LED_GREEN(1); - 800087c: 2001 movs r0, #1 - 800087e: f7ff fd8b bl 8000398 - } - if(expe == 2){ - 8000882: 4b06 ldr r3, [pc, #24] ; (800089c ) - 8000884: 781b ldrb r3, [r3, #0] - 8000886: b2db uxtb r3, r3 - 8000888: 2b02 cmp r3, #2 - 800088a: d101 bne.n 8000890 - CLK_TOGGLE(); - 800088c: f7ff fd78 bl 8000380 - } + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + 8000840: 4b14 ldr r3, [pc, #80] ; (8000894 ) + 8000842: 681b ldr r3, [r3, #0] + 8000844: 3301 adds r3, #1 + 8000846: 4a13 ldr r2, [pc, #76] ; (8000894 ) + 8000848: 6013 str r3, [r2, #0] + if (msTicks == 5 * expe){ + 800084a: 4b13 ldr r3, [pc, #76] ; (8000898 ) + 800084c: 781b ldrb r3, [r3, #0] + 800084e: b2db uxtb r3, r3 + 8000850: 461a mov r2, r3 + 8000852: 4613 mov r3, r2 + 8000854: 009b lsls r3, r3, #2 + 8000856: 4413 add r3, r2 + 8000858: 461a mov r2, r3 + 800085a: 4b0e ldr r3, [pc, #56] ; (8000894 ) + 800085c: 681b ldr r3, [r3, #0] + 800085e: 429a cmp r2, r3 + 8000860: d103 bne.n 800086a + LED_GREEN(0); + 8000862: 2000 movs r0, #0 + 8000864: f7ff fd98 bl 8000398 + 8000868: e009 b.n 800087e + }else if(msTicks >= 200){ + 800086a: 4b0a ldr r3, [pc, #40] ; (8000894 ) + 800086c: 681b ldr r3, [r3, #0] + 800086e: 2bc7 cmp r3, #199 ; 0xc7 + 8000870: d905 bls.n 800087e + msTicks = 0; + 8000872: 4b08 ldr r3, [pc, #32] ; (8000894 ) + 8000874: 2200 movs r2, #0 + 8000876: 601a str r2, [r3, #0] + LED_GREEN(1); + 8000878: 2001 movs r0, #1 + 800087a: f7ff fd8d bl 8000398 + } + if(expe == 2){ + 800087e: 4b06 ldr r3, [pc, #24] ; (8000898 ) + 8000880: 781b ldrb r3, [r3, #0] + 8000882: b2db uxtb r3, r3 + 8000884: 2b02 cmp r3, #2 + 8000886: d101 bne.n 800088c + CLK_TOGGLE(); + 8000888: f7ff fd7a bl 8000380 + } } - 8000890: bf00 nop - 8000892: bd80 pop {r7, pc} - 8000894: 20000030 .word 0x20000030 + 800088c: bf00 nop + 800088e: bd80 pop {r7, pc} + 8000890: 2000002d .word 0x2000002d + 8000894: 20000028 .word 0x20000028 8000898: 2000002c .word 0x2000002c - 800089c: 20000000 .word 0x20000000 -080008a0

: +0800089c
: int main(void) { - 80008a0: b580 push {r7, lr} - 80008a2: af00 add r7, sp, #0 -// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); -// LL_PWR_EnableBkUpAccess(); -// RTC->BKP0R = expe; + 800089c: b580 push {r7, lr} + 800089e: af00 add r7, sp, #0 + + + // config GPIO + GPIO_init(); + 80008a0: f7ff fd4a bl 8000338 + +// if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + 80008a4: f04f 5080 mov.w r0, #268435456 ; 0x10000000 + 80008a8: f7ff ff32 bl 8000710 + LL_PWR_EnableBkUpAccess(); + 80008ac: f7ff ff9e bl 80007ec + + //expe = register RTC + expe = RTC->BKP0R; + 80008b0: 4b2f ldr r3, [pc, #188] ; (8000970 ) + 80008b2: 6d1b ldr r3, [r3, #80] ; 0x50 + 80008b4: b2da uxtb r2, r3 + 80008b6: 4b2f ldr r3, [pc, #188] ; (8000974 ) + 80008b8: 701a strb r2, [r3, #0] + if (expe == 0) { + 80008ba: 4b2e ldr r3, [pc, #184] ; (8000974 ) + 80008bc: 781b ldrb r3, [r3, #0] + 80008be: b2db uxtb r3, r3 + 80008c0: 2b00 cmp r3, #0 + 80008c2: d10f bne.n 80008e4 + SystemClock_Config_24M_LSE(); + 80008c4: f000 f85c bl 8000980 + expe = 1; + 80008c8: 4b2a ldr r3, [pc, #168] ; (8000974 ) + 80008ca: 2201 movs r2, #1 + 80008cc: 701a strb r2, [r3, #0] + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + 80008ce: f04f 5080 mov.w r0, #268435456 ; 0x10000000 + 80008d2: f7ff ff1d bl 8000710 + LL_PWR_EnableBkUpAccess(); + 80008d6: f7ff ff89 bl 80007ec + RTC->BKP0R = expe; + 80008da: 4b26 ldr r3, [pc, #152] ; (8000974 ) + 80008dc: 781b ldrb r3, [r3, #0] + 80008de: b2da uxtb r2, r3 + 80008e0: 4b23 ldr r3, [pc, #140] ; (8000970 ) + 80008e2: 651a str r2, [r3, #80] ; 0x50 + } + + if (BLUE_BUTTON()){ + 80008e4: f7ff fd6e bl 80003c4 + 80008e8: 4603 mov r3, r0 + 80008ea: 2b00 cmp r3, #0 + 80008ec: d013 beq.n 8000916 + + expe ++; + 80008ee: 4b21 ldr r3, [pc, #132] ; (8000974 ) + 80008f0: 781b ldrb r3, [r3, #0] + 80008f2: b2db uxtb r3, r3 + 80008f4: 3301 adds r3, #1 + 80008f6: b2da uxtb r2, r3 + 80008f8: 4b1e ldr r3, [pc, #120] ; (8000974 ) + 80008fa: 701a strb r2, [r3, #0] + + if (expe > 2) expe = 1; + 80008fc: 4b1d ldr r3, [pc, #116] ; (8000974 ) + 80008fe: 781b ldrb r3, [r3, #0] + 8000900: b2db uxtb r3, r3 + 8000902: 2b02 cmp r3, #2 + 8000904: d902 bls.n 800090c + 8000906: 4b1b ldr r3, [pc, #108] ; (8000974 ) + 8000908: 2201 movs r2, #1 + 800090a: 701a strb r2, [r3, #0] + RTC->BKP0R = expe; + 800090c: 4b19 ldr r3, [pc, #100] ; (8000974 ) + 800090e: 781b ldrb r3, [r3, #0] + 8000910: b2da uxtb r2, r3 + 8000912: 4b17 ldr r3, [pc, #92] ; (8000970 ) + 8000914: 651a str r2, [r3, #80] ; 0x50 + } +// }else{ + // } -// LL_PWR_DisableBkUpAccess(); + LL_PWR_DisableBkUpAccess(); + 8000916: f7ff ff79 bl 800080c switch(expe){ - 80008a4: 4b15 ldr r3, [pc, #84] ; (80008fc ) - 80008a6: 781b ldrb r3, [r3, #0] - 80008a8: b2db uxtb r3, r3 - 80008aa: 2b01 cmp r3, #1 - 80008ac: d002 beq.n 80008b4 - 80008ae: 2b02 cmp r3, #2 - 80008b0: d003 beq.n 80008ba - 80008b2: e005 b.n 80008c0 + 800091a: 4b16 ldr r3, [pc, #88] ; (8000974 ) + 800091c: 781b ldrb r3, [r3, #0] + 800091e: b2db uxtb r3, r3 + 8000920: 2b01 cmp r3, #1 + 8000922: d002 beq.n 800092a + 8000924: 2b02 cmp r3, #2 + 8000926: d003 beq.n 8000930 + 8000928: e005 b.n 8000936 + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + 800092a: f000 f88f bl 8000a4c + break; + 800092e: e002 b.n 8000936 + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + 8000930: f000 f826 bl 8000980 + break; + 8000934: bf00 nop + } + + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + 8000936: 4b10 ldr r3, [pc, #64] ; (8000978 ) + 8000938: 681b ldr r3, [r3, #0] + 800093a: 4618 mov r0, r3 + 800093c: f000 fa66 bl 8000e0c + LL_SYSTICK_EnableIT(); + 8000940: f7ff ff20 bl 8000784 + + //Setup Sleep mode + LL_LPM_EnableSleep(); + 8000944: f7ff ff2e bl 80007a4 + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + 8000948: 4b0c ldr r3, [pc, #48] ; (800097c ) + 800094a: 781b ldrb r3, [r3, #0] + 800094c: b2db uxtb r3, r3 + 800094e: 2b00 cmp r3, #0 + 8000950: d0fa beq.n 8000948 + switch(expe){ + 8000952: 4b08 ldr r3, [pc, #32] ; (8000974 ) + 8000954: 781b ldrb r3, [r3, #0] + 8000956: b2db uxtb r3, r3 + 8000958: 2b01 cmp r3, #1 + 800095a: d002 beq.n 8000962 + 800095c: 2b02 cmp r3, #2 + 800095e: d002 beq.n 8000966 + 8000960: e004 b.n 800096c case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - 80008b4: f000 f890 bl 80009d8 + __WFI(); + 8000962: bf30 wfi break; - 80008b8: e002 b.n 80008c0 + 8000964: e002 b.n 800096c case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - 80008ba: f000 f825 bl 8000908 + LL_RCC_MSI_EnablePLLMode(); + 8000966: f7ff fd9d bl 80004a4 break; - 80008be: bf00 nop + 800096a: bf00 nop + if (blue_mode){ + 800096c: e7ec b.n 8000948 + 800096e: bf00 nop + 8000970: 40002800 .word 0x40002800 + 8000974: 2000002c .word 0x2000002c + 8000978: 20000000 .word 0x20000000 + 800097c: 2000002d .word 0x2000002d - - - -// config GPIO -GPIO_init(); - 80008c0: f7ff fd3a bl 8000338 - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); - 80008c4: 4b0e ldr r3, [pc, #56] ; (8000900 ) - 80008c6: 681b ldr r3, [r3, #0] - 80008c8: 4618 mov r0, r3 - 80008ca: f000 fa65 bl 8000d98 -LL_SYSTICK_EnableIT(); - 80008ce: f7ff ff6b bl 80007a8 - -//Setup Sleep mode -LL_LPM_EnableSleep(); - 80008d2: f7ff ff79 bl 80007c8 -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - 80008d6: 4b0b ldr r3, [pc, #44] ; (8000904 ) - 80008d8: 781b ldrb r3, [r3, #0] - 80008da: b2db uxtb r3, r3 - 80008dc: 2b00 cmp r3, #0 - 80008de: d0fa beq.n 80008d6 - switch(expe){ - 80008e0: 4b06 ldr r3, [pc, #24] ; (80008fc ) - 80008e2: 781b ldrb r3, [r3, #0] - 80008e4: b2db uxtb r3, r3 - 80008e6: 2b01 cmp r3, #1 - 80008e8: d002 beq.n 80008f0 - 80008ea: 2b02 cmp r3, #2 - 80008ec: d002 beq.n 80008f4 - 80008ee: e004 b.n 80008fa - case 1: - __WFI(); - 80008f0: bf30 wfi - break; - 80008f2: e002 b.n 80008fa - case 2: - LL_RCC_MSI_EnablePLLMode(); - 80008f4: f7ff fdd6 bl 80004a4 - break; - 80008f8: bf00 nop - if (blue_mode){ - 80008fa: e7ec b.n 80008d6 - 80008fc: 20000000 .word 0x20000000 - 8000900: 20000004 .word 0x20000004 - 8000904: 20000030 .word 0x20000030 - -08000908 : - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ +08000980 : + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ void SystemClock_Config_24M_LSE(void) { - 8000908: b580 push {r7, lr} - 800090a: af00 add r7, sp, #0 - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - 800090c: f04f 5080 mov.w r0, #268435456 ; 0x10000000 - 8000910: f7ff ff10 bl 8000734 - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - 8000914: 2001 movs r0, #1 - 8000916: f7ff ff25 bl 8000764 - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - 800091a: bf00 nop - 800091c: f7ff ff36 bl 800078c - 8000920: 4603 mov r3, r0 - 8000922: 2b01 cmp r3, #1 - 8000924: d1fa bne.n 800091c - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - 8000926: f44f 7000 mov.w r0, #512 ; 0x200 - 800092a: f7ff ff5d bl 80007e8 - LL_RCC_MSI_Enable(); - 800092e: f7ff fd97 bl 8000460 - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - 8000932: bf00 nop - 8000934: f7ff fda4 bl 8000480 - 8000938: 4603 mov r3, r0 - 800093a: 2b01 cmp r3, #1 - 800093c: d1fa bne.n 8000934 - { - - } - - LL_PWR_EnableBkUpAccess(); - 800093e: f7ff ff67 bl 8000810 - LL_RCC_ForceBackupDomainReset(); - 8000942: f7ff fe7f bl 8000644 - LL_RCC_ReleaseBackupDomainReset(); - 8000946: f7ff fe8f bl 8000668 - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - 800094a: 2000 movs r0, #0 - 800094c: f7ff fd5e bl 800040c - - LL_RCC_MSI_EnableRangeSelection(); - 8000950: f7ff fdb8 bl 80004c4 - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - 8000954: 2060 movs r0, #96 ; 0x60 - 8000956: f7ff fdc5 bl 80004e4 - LL_RCC_MSI_SetCalibTrimming(0); - 800095a: 2000 movs r0, #0 - 800095c: f7ff fdd6 bl 800050c -// LL_RCC_MSI_EnablePLLMode(); - - LL_RCC_LSE_Enable(); - 8000960: f7ff fd42 bl 80003e8 - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - 8000964: bf00 nop - 8000966: f7ff fd67 bl 8000438 - 800096a: 4603 mov r3, r0 - 800096c: 2b01 cmp r3, #1 - 800096e: d1fa bne.n 8000966 - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - 8000970: f44f 7080 mov.w r0, #256 ; 0x100 - 8000974: f7ff fe3e bl 80005f4 - LL_RCC_EnableRTC(); - 8000978: f7ff fe52 bl 8000620 - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - 800097c: f04f 7300 mov.w r3, #33554432 ; 0x2000000 - 8000980: 2218 movs r2, #24 - 8000982: 2100 movs r1, #0 - 8000984: 2001 movs r0, #1 - 8000986: f7ff fea5 bl 80006d4 - LL_RCC_PLL_EnableDomain_SYS(); - 800098a: f7ff fec3 bl 8000714 - LL_RCC_PLL_Enable(); - 800098e: f7ff fe7d bl 800068c - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) + 8000980: b580 push {r7, lr} + 8000982: af00 add r7, sp, #0 + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + 8000984: f04f 5080 mov.w r0, #268435456 ; 0x10000000 + 8000988: f7ff fec2 bl 8000710 + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + 800098c: 2001 movs r0, #1 + 800098e: f7ff fed7 bl 8000740 + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) 8000992: bf00 nop - 8000994: f7ff fe8a bl 80006ac + 8000994: f7ff fee8 bl 8000768 8000998: 4603 mov r3, r0 800099a: 2b01 cmp r3, #1 - 800099c: d1fa bne.n 8000994 - { + 800099c: d1fa bne.n 8000994 + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + 800099e: f44f 7000 mov.w r0, #512 ; 0x200 + 80009a2: f7ff ff0f bl 80007c4 + LL_RCC_MSI_Enable(); + 80009a6: f7ff fd5b bl 8000460 - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - 800099e: 2003 movs r0, #3 - 80009a0: f7ff fdca bl 8000538 + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + 80009aa: bf00 nop + 80009ac: f7ff fd68 bl 8000480 + 80009b0: 4603 mov r3, r0 + 80009b2: 2b01 cmp r3, #1 + 80009b4: d1fa bne.n 80009ac + { - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - 80009a4: bf00 nop - 80009a6: f7ff fddb bl 8000560 - 80009aa: 4603 mov r3, r0 - 80009ac: 2b0c cmp r3, #12 - 80009ae: d1fa bne.n 80009a6 - { + } - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - 80009b0: 2000 movs r0, #0 - 80009b2: f7ff fde3 bl 800057c - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - 80009b6: 2000 movs r0, #0 - 80009b8: f7ff fdf4 bl 80005a4 - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - 80009bc: 2000 movs r0, #0 - 80009be: f7ff fe05 bl 80005cc - LL_SetSystemCoreClock(24000000); - 80009c2: 4804 ldr r0, [pc, #16] ; (80009d4 ) - 80009c4: f000 f9f4 bl 8000db0 + LL_PWR_EnableBkUpAccess(); + 80009b6: f7ff ff19 bl 80007ec +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + 80009ba: f7ff fe43 bl 8000644 + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + 80009be: 2000 movs r0, #0 + 80009c0: f7ff fd24 bl 800040c - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - 80009c8: 2000 movs r0, #0 - 80009ca: f000 f8d9 bl 8000b80 - { -// Error_Handler(); - } + LL_RCC_MSI_EnableRangeSelection(); + 80009c4: f7ff fd7e bl 80004c4 + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + 80009c8: 2060 movs r0, #96 ; 0x60 + 80009ca: f7ff fd8b bl 80004e4 + LL_RCC_MSI_SetCalibTrimming(0); + 80009ce: 2000 movs r0, #0 + 80009d0: f7ff fd9c bl 800050c + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + 80009d4: f7ff fd08 bl 80003e8 + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + 80009d8: bf00 nop + 80009da: f7ff fd2d bl 8000438 + 80009de: 4603 mov r3, r0 + 80009e0: 2b01 cmp r3, #1 + 80009e2: d1fa bne.n 80009da + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + 80009e4: f44f 7080 mov.w r0, #256 ; 0x100 + 80009e8: f7ff fe04 bl 80005f4 + LL_RCC_EnableRTC(); + 80009ec: f7ff fe18 bl 8000620 + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + 80009f0: f04f 7300 mov.w r3, #33554432 ; 0x2000000 + 80009f4: 2218 movs r2, #24 + 80009f6: 2100 movs r1, #0 + 80009f8: 2001 movs r0, #1 + 80009fa: f7ff fe59 bl 80006b0 + LL_RCC_PLL_EnableDomain_SYS(); + 80009fe: f7ff fe77 bl 80006f0 + LL_RCC_PLL_Enable(); + 8000a02: f7ff fe31 bl 8000668 + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + 8000a06: bf00 nop + 8000a08: f7ff fe3e bl 8000688 + 8000a0c: 4603 mov r3, r0 + 8000a0e: 2b01 cmp r3, #1 + 8000a10: d1fa bne.n 8000a08 + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + 8000a12: 2003 movs r0, #3 + 8000a14: f7ff fd90 bl 8000538 + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + 8000a18: bf00 nop + 8000a1a: f7ff fda1 bl 8000560 + 8000a1e: 4603 mov r3, r0 + 8000a20: 2b0c cmp r3, #12 + 8000a22: d1fa bne.n 8000a1a + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + 8000a24: 2000 movs r0, #0 + 8000a26: f7ff fda9 bl 800057c + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + 8000a2a: 2000 movs r0, #0 + 8000a2c: f7ff fdba bl 80005a4 + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + 8000a30: 2000 movs r0, #0 + 8000a32: f7ff fdcb bl 80005cc + LL_SetSystemCoreClock(24000000); + 8000a36: 4804 ldr r0, [pc, #16] ; (8000a48 ) + 8000a38: f000 f9f4 bl 8000e24 + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + 8000a3c: 2000 movs r0, #0 + 8000a3e: f000 f8d9 bl 8000bf4 + { + // Error_Handler(); + } } - 80009ce: bf00 nop - 80009d0: bd80 pop {r7, pc} - 80009d2: bf00 nop - 80009d4: 016e3600 .word 0x016e3600 + 8000a42: bf00 nop + 8000a44: bd80 pop {r7, pc} + 8000a46: bf00 nop + 8000a48: 016e3600 .word 0x016e3600 -080009d8 : +08000a4c : void SystemClock_Config_80M(void) { - 80009d8: b580 push {r7, lr} - 80009da: af00 add r7, sp, #0 - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - 80009dc: 2004 movs r0, #4 - 80009de: f7ff fec1 bl 8000764 - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - 80009e2: bf00 nop - 80009e4: f7ff fed2 bl 800078c - 80009e8: 4603 mov r3, r0 - 80009ea: 2b04 cmp r3, #4 - 80009ec: d1fa bne.n 80009e4 - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - 80009ee: f44f 7000 mov.w r0, #512 ; 0x200 - 80009f2: f7ff fef9 bl 80007e8 - LL_RCC_MSI_Enable(); - 80009f6: f7ff fd33 bl 8000460 + 8000a4c: b580 push {r7, lr} + 8000a4e: af00 add r7, sp, #0 + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + 8000a50: 2004 movs r0, #4 + 8000a52: f7ff fe75 bl 8000740 + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + 8000a56: bf00 nop + 8000a58: f7ff fe86 bl 8000768 + 8000a5c: 4603 mov r3, r0 + 8000a5e: 2b04 cmp r3, #4 + 8000a60: d1fa bne.n 8000a58 + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + 8000a62: f44f 7000 mov.w r0, #512 ; 0x200 + 8000a66: f7ff fead bl 80007c4 + LL_RCC_MSI_Enable(); + 8000a6a: f7ff fcf9 bl 8000460 - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - 80009fa: bf00 nop - 80009fc: f7ff fd40 bl 8000480 - 8000a00: 4603 mov r3, r0 - 8000a02: 2b01 cmp r3, #1 - 8000a04: d1fa bne.n 80009fc - { + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + 8000a6e: bf00 nop + 8000a70: f7ff fd06 bl 8000480 + 8000a74: 4603 mov r3, r0 + 8000a76: 2b01 cmp r3, #1 + 8000a78: d1fa bne.n 8000a70 + { - } - LL_RCC_MSI_EnableRangeSelection(); - 8000a06: f7ff fd5d bl 80004c4 - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - 8000a0a: 2060 movs r0, #96 ; 0x60 - 8000a0c: f7ff fd6a bl 80004e4 - LL_RCC_MSI_SetCalibTrimming(0); - 8000a10: 2000 movs r0, #0 - 8000a12: f7ff fd7b bl 800050c - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - 8000a16: 2300 movs r3, #0 - 8000a18: 2228 movs r2, #40 ; 0x28 - 8000a1a: 2100 movs r1, #0 - 8000a1c: 2001 movs r0, #1 - 8000a1e: f7ff fe59 bl 80006d4 - LL_RCC_PLL_EnableDomain_SYS(); - 8000a22: f7ff fe77 bl 8000714 - LL_RCC_PLL_Enable(); - 8000a26: f7ff fe31 bl 800068c + } + LL_RCC_MSI_EnableRangeSelection(); + 8000a7a: f7ff fd23 bl 80004c4 + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + 8000a7e: 2060 movs r0, #96 ; 0x60 + 8000a80: f7ff fd30 bl 80004e4 + LL_RCC_MSI_SetCalibTrimming(0); + 8000a84: 2000 movs r0, #0 + 8000a86: f7ff fd41 bl 800050c + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + 8000a8a: 2300 movs r3, #0 + 8000a8c: 2228 movs r2, #40 ; 0x28 + 8000a8e: 2100 movs r1, #0 + 8000a90: 2001 movs r0, #1 + 8000a92: f7ff fe0d bl 80006b0 + LL_RCC_PLL_EnableDomain_SYS(); + 8000a96: f7ff fe2b bl 80006f0 + LL_RCC_PLL_Enable(); + 8000a9a: f7ff fde5 bl 8000668 - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - 8000a2a: bf00 nop - 8000a2c: f7ff fe3e bl 80006ac - 8000a30: 4603 mov r3, r0 - 8000a32: 2b01 cmp r3, #1 - 8000a34: d1fa bne.n 8000a2c - { + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + 8000a9e: bf00 nop + 8000aa0: f7ff fdf2 bl 8000688 + 8000aa4: 4603 mov r3, r0 + 8000aa6: 2b01 cmp r3, #1 + 8000aa8: d1fa bne.n 8000aa0 + { - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - 8000a36: 2003 movs r0, #3 - 8000a38: f7ff fd7e bl 8000538 + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + 8000aaa: 2003 movs r0, #3 + 8000aac: f7ff fd44 bl 8000538 - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - 8000a3c: bf00 nop - 8000a3e: f7ff fd8f bl 8000560 - 8000a42: 4603 mov r3, r0 - 8000a44: 2b0c cmp r3, #12 - 8000a46: d1fa bne.n 8000a3e - { + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + 8000ab0: bf00 nop + 8000ab2: f7ff fd55 bl 8000560 + 8000ab6: 4603 mov r3, r0 + 8000ab8: 2b0c cmp r3, #12 + 8000aba: d1fa bne.n 8000ab2 + { - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - 8000a48: 2000 movs r0, #0 - 8000a4a: f7ff fd97 bl 800057c - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - 8000a4e: 2000 movs r0, #0 - 8000a50: f7ff fda8 bl 80005a4 - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - 8000a54: 2000 movs r0, #0 - 8000a56: f7ff fdb9 bl 80005cc - LL_SetSystemCoreClock(80000000); - 8000a5a: 4804 ldr r0, [pc, #16] ; (8000a6c ) - 8000a5c: f000 f9a8 bl 8000db0 + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + 8000abc: 2000 movs r0, #0 + 8000abe: f7ff fd5d bl 800057c + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + 8000ac2: 2000 movs r0, #0 + 8000ac4: f7ff fd6e bl 80005a4 + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + 8000ac8: 2000 movs r0, #0 + 8000aca: f7ff fd7f bl 80005cc + LL_SetSystemCoreClock(80000000); + 8000ace: 4804 ldr r0, [pc, #16] ; (8000ae0 ) + 8000ad0: f000 f9a8 bl 8000e24 - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - 8000a60: 2000 movs r0, #0 - 8000a62: f000 f88d bl 8000b80 - { -// Error_Handler(); - } + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + 8000ad4: 2000 movs r0, #0 + 8000ad6: f000 f88d bl 8000bf4 + { + // Error_Handler(); + } } - 8000a66: bf00 nop - 8000a68: bd80 pop {r7, pc} - 8000a6a: bf00 nop - 8000a6c: 04c4b400 .word 0x04c4b400 + 8000ada: bf00 nop + 8000adc: bd80 pop {r7, pc} + 8000ade: bf00 nop + 8000ae0: 04c4b400 .word 0x04c4b400 -08000a70 : +08000ae4 : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { - 8000a70: b480 push {r7} - 8000a72: af00 add r7, sp, #0 + 8000ae4: b480 push {r7} + 8000ae6: af00 add r7, sp, #0 /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ /* USER CODE END NonMaskableInt_IRQn 1 */ } - 8000a74: bf00 nop - 8000a76: 46bd mov sp, r7 - 8000a78: f85d 7b04 ldr.w r7, [sp], #4 - 8000a7c: 4770 bx lr + 8000ae8: bf00 nop + 8000aea: 46bd mov sp, r7 + 8000aec: f85d 7b04 ldr.w r7, [sp], #4 + 8000af0: 4770 bx lr -08000a7e : +08000af2 : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { - 8000a7e: b480 push {r7} - 8000a80: af00 add r7, sp, #0 + 8000af2: b480 push {r7} + 8000af4: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) - 8000a82: e7fe b.n 8000a82 + 8000af6: e7fe b.n 8000af6 -08000a84 : +08000af8 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { - 8000a84: b480 push {r7} - 8000a86: af00 add r7, sp, #0 + 8000af8: b480 push {r7} + 8000afa: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) - 8000a88: e7fe b.n 8000a88 + 8000afc: e7fe b.n 8000afc -08000a8a : +08000afe : /** * @brief This function handles Prefetch fault, memory access fault. */ void BusFault_Handler(void) { - 8000a8a: b480 push {r7} - 8000a8c: af00 add r7, sp, #0 + 8000afe: b480 push {r7} + 8000b00: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) - 8000a8e: e7fe b.n 8000a8e + 8000b02: e7fe b.n 8000b02 -08000a90 : +08000b04 : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { - 8000a90: b480 push {r7} - 8000a92: af00 add r7, sp, #0 + 8000b04: b480 push {r7} + 8000b06: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) - 8000a94: e7fe b.n 8000a94 + 8000b08: e7fe b.n 8000b08 -08000a96 : +08000b0a : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { - 8000a96: b480 push {r7} - 8000a98: af00 add r7, sp, #0 + 8000b0a: b480 push {r7} + 8000b0c: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } - 8000a9a: bf00 nop - 8000a9c: 46bd mov sp, r7 - 8000a9e: f85d 7b04 ldr.w r7, [sp], #4 - 8000aa2: 4770 bx lr + 8000b0e: bf00 nop + 8000b10: 46bd mov sp, r7 + 8000b12: f85d 7b04 ldr.w r7, [sp], #4 + 8000b16: 4770 bx lr -08000aa4 : +08000b18 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { - 8000aa4: b480 push {r7} - 8000aa6: af00 add r7, sp, #0 + 8000b18: b480 push {r7} + 8000b1a: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } - 8000aa8: bf00 nop - 8000aaa: 46bd mov sp, r7 - 8000aac: f85d 7b04 ldr.w r7, [sp], #4 - 8000ab0: 4770 bx lr + 8000b1c: bf00 nop + 8000b1e: 46bd mov sp, r7 + 8000b20: f85d 7b04 ldr.w r7, [sp], #4 + 8000b24: 4770 bx lr -08000ab2 : +08000b26 : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { - 8000ab2: b480 push {r7} - 8000ab4: af00 add r7, sp, #0 + 8000b26: b480 push {r7} + 8000b28: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } - 8000ab6: bf00 nop - 8000ab8: 46bd mov sp, r7 - 8000aba: f85d 7b04 ldr.w r7, [sp], #4 - 8000abe: 4770 bx lr + 8000b2a: bf00 nop + 8000b2c: 46bd mov sp, r7 + 8000b2e: f85d 7b04 ldr.w r7, [sp], #4 + 8000b32: 4770 bx lr -08000ac0 : +08000b34 : * @param None * @retval None */ void SystemInit(void) { - 8000ac0: b480 push {r7} - 8000ac2: af00 add r7, sp, #0 + 8000b34: b480 push {r7} + 8000b36: af00 add r7, sp, #0 /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ - 8000ac4: 4b17 ldr r3, [pc, #92] ; (8000b24 ) - 8000ac6: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 8000aca: 4a16 ldr r2, [pc, #88] ; (8000b24 ) - 8000acc: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 - 8000ad0: f8c2 3088 str.w r3, [r2, #136] ; 0x88 + 8000b38: 4b17 ldr r3, [pc, #92] ; (8000b98 ) + 8000b3a: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 8000b3e: 4a16 ldr r2, [pc, #88] ; (8000b98 ) + 8000b40: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 + 8000b44: f8c2 3088 str.w r3, [r2, #136] ; 0x88 #endif /* Reset the RCC clock configuration to the default reset state ------------*/ /* Set MSION bit */ RCC->CR |= RCC_CR_MSION; - 8000ad4: 4b14 ldr r3, [pc, #80] ; (8000b28 ) - 8000ad6: 681b ldr r3, [r3, #0] - 8000ad8: 4a13 ldr r2, [pc, #76] ; (8000b28 ) - 8000ada: f043 0301 orr.w r3, r3, #1 - 8000ade: 6013 str r3, [r2, #0] + 8000b48: 4b14 ldr r3, [pc, #80] ; (8000b9c ) + 8000b4a: 681b ldr r3, [r3, #0] + 8000b4c: 4a13 ldr r2, [pc, #76] ; (8000b9c ) + 8000b4e: f043 0301 orr.w r3, r3, #1 + 8000b52: 6013 str r3, [r2, #0] /* Reset CFGR register */ RCC->CFGR = 0x00000000U; - 8000ae0: 4b11 ldr r3, [pc, #68] ; (8000b28 ) - 8000ae2: 2200 movs r2, #0 - 8000ae4: 609a str r2, [r3, #8] + 8000b54: 4b11 ldr r3, [pc, #68] ; (8000b9c ) + 8000b56: 2200 movs r2, #0 + 8000b58: 609a str r2, [r3, #8] /* Reset HSEON, CSSON , HSION, and PLLON bits */ RCC->CR &= 0xEAF6FFFFU; - 8000ae6: 4b10 ldr r3, [pc, #64] ; (8000b28 ) - 8000ae8: 681b ldr r3, [r3, #0] - 8000aea: 4a0f ldr r2, [pc, #60] ; (8000b28 ) - 8000aec: f023 53a8 bic.w r3, r3, #352321536 ; 0x15000000 - 8000af0: f423 2310 bic.w r3, r3, #589824 ; 0x90000 - 8000af4: 6013 str r3, [r2, #0] + 8000b5a: 4b10 ldr r3, [pc, #64] ; (8000b9c ) + 8000b5c: 681b ldr r3, [r3, #0] + 8000b5e: 4a0f ldr r2, [pc, #60] ; (8000b9c ) + 8000b60: f023 53a8 bic.w r3, r3, #352321536 ; 0x15000000 + 8000b64: f423 2310 bic.w r3, r3, #589824 ; 0x90000 + 8000b68: 6013 str r3, [r2, #0] /* Reset PLLCFGR register */ RCC->PLLCFGR = 0x00001000U; - 8000af6: 4b0c ldr r3, [pc, #48] ; (8000b28 ) - 8000af8: f44f 5280 mov.w r2, #4096 ; 0x1000 - 8000afc: 60da str r2, [r3, #12] + 8000b6a: 4b0c ldr r3, [pc, #48] ; (8000b9c ) + 8000b6c: f44f 5280 mov.w r2, #4096 ; 0x1000 + 8000b70: 60da str r2, [r3, #12] /* Reset HSEBYP bit */ RCC->CR &= 0xFFFBFFFFU; - 8000afe: 4b0a ldr r3, [pc, #40] ; (8000b28 ) - 8000b00: 681b ldr r3, [r3, #0] - 8000b02: 4a09 ldr r2, [pc, #36] ; (8000b28 ) - 8000b04: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 8000b08: 6013 str r3, [r2, #0] + 8000b72: 4b0a ldr r3, [pc, #40] ; (8000b9c ) + 8000b74: 681b ldr r3, [r3, #0] + 8000b76: 4a09 ldr r2, [pc, #36] ; (8000b9c ) + 8000b78: f423 2380 bic.w r3, r3, #262144 ; 0x40000 + 8000b7c: 6013 str r3, [r2, #0] /* Disable all interrupts */ RCC->CIER = 0x00000000U; - 8000b0a: 4b07 ldr r3, [pc, #28] ; (8000b28 ) - 8000b0c: 2200 movs r2, #0 - 8000b0e: 619a str r2, [r3, #24] + 8000b7e: 4b07 ldr r3, [pc, #28] ; (8000b9c ) + 8000b80: 2200 movs r2, #0 + 8000b82: 619a str r2, [r3, #24] /* Configure the Vector Table location add offset address ------------------*/ #ifdef VECT_TAB_SRAM SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ #else SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ - 8000b10: 4b04 ldr r3, [pc, #16] ; (8000b24 ) - 8000b12: f04f 6200 mov.w r2, #134217728 ; 0x8000000 - 8000b16: 609a str r2, [r3, #8] + 8000b84: 4b04 ldr r3, [pc, #16] ; (8000b98 ) + 8000b86: f04f 6200 mov.w r2, #134217728 ; 0x8000000 + 8000b8a: 609a str r2, [r3, #8] #endif } - 8000b18: bf00 nop - 8000b1a: 46bd mov sp, r7 - 8000b1c: f85d 7b04 ldr.w r7, [sp], #4 - 8000b20: 4770 bx lr - 8000b22: bf00 nop - 8000b24: e000ed00 .word 0xe000ed00 - 8000b28: 40021000 .word 0x40021000 + 8000b8c: bf00 nop + 8000b8e: 46bd mov sp, r7 + 8000b90: f85d 7b04 ldr.w r7, [sp], #4 + 8000b94: 4770 bx lr + 8000b96: bf00 nop + 8000b98: e000ed00 .word 0xe000ed00 + 8000b9c: 40021000 .word 0x40021000 -08000b2c : +08000ba0 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* Set stack pointer */ - 8000b2c: f8df d034 ldr.w sp, [pc, #52] ; 8000b64 + 8000ba0: f8df d034 ldr.w sp, [pc, #52] ; 8000bd8 /* Call the clock system initialization function.*/ bl SystemInit - 8000b30: f7ff ffc6 bl 8000ac0 + 8000ba4: f7ff ffc6 bl 8000b34 /* Copy the data segment initializers from flash to SRAM */ movs r1, #0 - 8000b34: 2100 movs r1, #0 + 8000ba8: 2100 movs r1, #0 b LoopCopyDataInit - 8000b36: e003 b.n 8000b40 + 8000baa: e003 b.n 8000bb4 -08000b38 : +08000bac : CopyDataInit: ldr r3, =_sidata - 8000b38: 4b0b ldr r3, [pc, #44] ; (8000b68 ) + 8000bac: 4b0b ldr r3, [pc, #44] ; (8000bdc ) ldr r3, [r3, r1] - 8000b3a: 585b ldr r3, [r3, r1] + 8000bae: 585b ldr r3, [r3, r1] str r3, [r0, r1] - 8000b3c: 5043 str r3, [r0, r1] + 8000bb0: 5043 str r3, [r0, r1] adds r1, r1, #4 - 8000b3e: 3104 adds r1, #4 + 8000bb2: 3104 adds r1, #4 -08000b40 : +08000bb4 : LoopCopyDataInit: ldr r0, =_sdata - 8000b40: 480a ldr r0, [pc, #40] ; (8000b6c ) + 8000bb4: 480a ldr r0, [pc, #40] ; (8000be0 ) ldr r3, =_edata - 8000b42: 4b0b ldr r3, [pc, #44] ; (8000b70 ) + 8000bb6: 4b0b ldr r3, [pc, #44] ; (8000be4 ) adds r2, r0, r1 - 8000b44: 1842 adds r2, r0, r1 + 8000bb8: 1842 adds r2, r0, r1 cmp r2, r3 - 8000b46: 429a cmp r2, r3 + 8000bba: 429a cmp r2, r3 bcc CopyDataInit - 8000b48: d3f6 bcc.n 8000b38 + 8000bbc: d3f6 bcc.n 8000bac ldr r2, =_sbss - 8000b4a: 4a0a ldr r2, [pc, #40] ; (8000b74 ) + 8000bbe: 4a0a ldr r2, [pc, #40] ; (8000be8 ) b LoopFillZerobss - 8000b4c: e002 b.n 8000b54 + 8000bc0: e002 b.n 8000bc8 -08000b4e : +08000bc2 : /* Zero fill the bss segment. */ FillZerobss: movs r3, #0 - 8000b4e: 2300 movs r3, #0 + 8000bc2: 2300 movs r3, #0 str r3, [r2], #4 - 8000b50: f842 3b04 str.w r3, [r2], #4 + 8000bc4: f842 3b04 str.w r3, [r2], #4 -08000b54 : +08000bc8 : LoopFillZerobss: ldr r3, = _ebss - 8000b54: 4b08 ldr r3, [pc, #32] ; (8000b78 ) + 8000bc8: 4b08 ldr r3, [pc, #32] ; (8000bec ) cmp r2, r3 - 8000b56: 429a cmp r2, r3 + 8000bca: 429a cmp r2, r3 bcc FillZerobss - 8000b58: d3f9 bcc.n 8000b4e + 8000bcc: d3f9 bcc.n 8000bc2 /* Call static constructors */ bl __libc_init_array - 8000b5a: f000 f939 bl 8000dd0 <__libc_init_array> + 8000bce: f000 f939 bl 8000e44 <__libc_init_array> /* Call the application's entry point.*/ bl main - 8000b5e: f7ff fe9f bl 80008a0
+ 8000bd2: f7ff fe63 bl 800089c
-08000b62 : +08000bd6 : LoopForever: b LoopForever - 8000b62: e7fe b.n 8000b62 + 8000bd6: e7fe b.n 8000bd6 ldr sp, =_estack /* Set stack pointer */ - 8000b64: 20018000 .word 0x20018000 + 8000bd8: 20018000 .word 0x20018000 ldr r3, =_sidata - 8000b68: 08000e38 .word 0x08000e38 + 8000bdc: 08000eac .word 0x08000eac ldr r0, =_sdata - 8000b6c: 20000000 .word 0x20000000 + 8000be0: 20000000 .word 0x20000000 ldr r3, =_edata - 8000b70: 20000010 .word 0x20000010 + 8000be4: 2000000c .word 0x2000000c ldr r2, =_sbss - 8000b74: 20000010 .word 0x20000010 + 8000be8: 2000000c .word 0x2000000c ldr r3, = _ebss - 8000b78: 20000034 .word 0x20000034 + 8000bec: 20000030 .word 0x20000030 -08000b7c : +08000bf0 : * @retval : None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop - 8000b7c: e7fe b.n 8000b7c + 8000bf0: e7fe b.n 8000bf0 ... -08000b80 : +08000bf4 : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { - 8000b80: b580 push {r7, lr} - 8000b82: b084 sub sp, #16 - 8000b84: af00 add r7, sp, #0 - 8000b86: 6078 str r0, [r7, #4] + 8000bf4: b580 push {r7, lr} + 8000bf6: b084 sub sp, #16 + 8000bf8: af00 add r7, sp, #0 + 8000bfa: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 8000b88: 2300 movs r3, #0 - 8000b8a: 73fb strb r3, [r7, #15] + 8000bfc: 2300 movs r3, #0 + 8000bfe: 73fb strb r3, [r7, #15] /* Check uwTickFreq for MisraC 2012 (even if uwTickFreq is a enum type that doesn't take the value zero)*/ if ((uint32_t)uwTickFreq != 0U) - 8000b8c: 4b17 ldr r3, [pc, #92] ; (8000bec ) - 8000b8e: 781b ldrb r3, [r3, #0] - 8000b90: 2b00 cmp r3, #0 - 8000b92: d023 beq.n 8000bdc + 8000c00: 4b17 ldr r3, [pc, #92] ; (8000c60 ) + 8000c02: 781b ldrb r3, [r3, #0] + 8000c04: 2b00 cmp r3, #0 + 8000c06: d023 beq.n 8000c50 { /*Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / (uint32_t)uwTickFreq)) == 0U) - 8000b94: 4b16 ldr r3, [pc, #88] ; (8000bf0 ) - 8000b96: 681a ldr r2, [r3, #0] - 8000b98: 4b14 ldr r3, [pc, #80] ; (8000bec ) - 8000b9a: 781b ldrb r3, [r3, #0] - 8000b9c: 4619 mov r1, r3 - 8000b9e: f44f 737a mov.w r3, #1000 ; 0x3e8 - 8000ba2: fbb3 f3f1 udiv r3, r3, r1 - 8000ba6: fbb2 f3f3 udiv r3, r2, r3 - 8000baa: 4618 mov r0, r3 - 8000bac: f000 f8ce bl 8000d4c - 8000bb0: 4603 mov r3, r0 - 8000bb2: 2b00 cmp r3, #0 - 8000bb4: d10f bne.n 8000bd6 + 8000c08: 4b16 ldr r3, [pc, #88] ; (8000c64 ) + 8000c0a: 681a ldr r2, [r3, #0] + 8000c0c: 4b14 ldr r3, [pc, #80] ; (8000c60 ) + 8000c0e: 781b ldrb r3, [r3, #0] + 8000c10: 4619 mov r1, r3 + 8000c12: f44f 737a mov.w r3, #1000 ; 0x3e8 + 8000c16: fbb3 f3f1 udiv r3, r3, r1 + 8000c1a: fbb2 f3f3 udiv r3, r2, r3 + 8000c1e: 4618 mov r0, r3 + 8000c20: f000 f8ce bl 8000dc0 + 8000c24: 4603 mov r3, r0 + 8000c26: 2b00 cmp r3, #0 + 8000c28: d10f bne.n 8000c4a { /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) - 8000bb6: 687b ldr r3, [r7, #4] - 8000bb8: 2b0f cmp r3, #15 - 8000bba: d809 bhi.n 8000bd0 + 8000c2a: 687b ldr r3, [r7, #4] + 8000c2c: 2b0f cmp r3, #15 + 8000c2e: d809 bhi.n 8000c44 { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); - 8000bbc: 2200 movs r2, #0 - 8000bbe: 6879 ldr r1, [r7, #4] - 8000bc0: f04f 30ff mov.w r0, #4294967295 - 8000bc4: f000 f8a6 bl 8000d14 + 8000c30: 2200 movs r2, #0 + 8000c32: 6879 ldr r1, [r7, #4] + 8000c34: f04f 30ff mov.w r0, #4294967295 + 8000c38: f000 f8a6 bl 8000d88 uwTickPrio = TickPriority; - 8000bc8: 4a0a ldr r2, [pc, #40] ; (8000bf4 ) - 8000bca: 687b ldr r3, [r7, #4] - 8000bcc: 6013 str r3, [r2, #0] - 8000bce: e007 b.n 8000be0 + 8000c3c: 4a0a ldr r2, [pc, #40] ; (8000c68 ) + 8000c3e: 687b ldr r3, [r7, #4] + 8000c40: 6013 str r3, [r2, #0] + 8000c42: e007 b.n 8000c54 } else { status = HAL_ERROR; - 8000bd0: 2301 movs r3, #1 - 8000bd2: 73fb strb r3, [r7, #15] - 8000bd4: e004 b.n 8000be0 + 8000c44: 2301 movs r3, #1 + 8000c46: 73fb strb r3, [r7, #15] + 8000c48: e004 b.n 8000c54 } } else { status = HAL_ERROR; - 8000bd6: 2301 movs r3, #1 - 8000bd8: 73fb strb r3, [r7, #15] - 8000bda: e001 b.n 8000be0 + 8000c4a: 2301 movs r3, #1 + 8000c4c: 73fb strb r3, [r7, #15] + 8000c4e: e001 b.n 8000c54 } } else { status = HAL_ERROR; - 8000bdc: 2301 movs r3, #1 - 8000bde: 73fb strb r3, [r7, #15] + 8000c50: 2301 movs r3, #1 + 8000c52: 73fb strb r3, [r7, #15] } /* Return function status */ return status; - 8000be0: 7bfb ldrb r3, [r7, #15] + 8000c54: 7bfb ldrb r3, [r7, #15] } - 8000be2: 4618 mov r0, r3 - 8000be4: 3710 adds r7, #16 - 8000be6: 46bd mov sp, r7 - 8000be8: bd80 pop {r7, pc} - 8000bea: bf00 nop - 8000bec: 2000000c .word 0x2000000c - 8000bf0: 20000004 .word 0x20000004 - 8000bf4: 20000008 .word 0x20000008 + 8000c56: 4618 mov r0, r3 + 8000c58: 3710 adds r7, #16 + 8000c5a: 46bd mov sp, r7 + 8000c5c: bd80 pop {r7, pc} + 8000c5e: bf00 nop + 8000c60: 20000008 .word 0x20000008 + 8000c64: 20000000 .word 0x20000000 + 8000c68: 20000004 .word 0x20000004 -08000bf8 <__NVIC_GetPriorityGrouping>: +08000c6c <__NVIC_GetPriorityGrouping>: \brief Get Priority Grouping \details Reads the priority grouping field from the NVIC Interrupt Controller. \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). */ __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) { - 8000bf8: b480 push {r7} - 8000bfa: af00 add r7, sp, #0 + 8000c6c: b480 push {r7} + 8000c6e: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); - 8000bfc: 4b04 ldr r3, [pc, #16] ; (8000c10 <__NVIC_GetPriorityGrouping+0x18>) - 8000bfe: 68db ldr r3, [r3, #12] - 8000c00: 0a1b lsrs r3, r3, #8 - 8000c02: f003 0307 and.w r3, r3, #7 + 8000c70: 4b04 ldr r3, [pc, #16] ; (8000c84 <__NVIC_GetPriorityGrouping+0x18>) + 8000c72: 68db ldr r3, [r3, #12] + 8000c74: 0a1b lsrs r3, r3, #8 + 8000c76: f003 0307 and.w r3, r3, #7 } - 8000c06: 4618 mov r0, r3 - 8000c08: 46bd mov sp, r7 - 8000c0a: f85d 7b04 ldr.w r7, [sp], #4 - 8000c0e: 4770 bx lr - 8000c10: e000ed00 .word 0xe000ed00 + 8000c7a: 4618 mov r0, r3 + 8000c7c: 46bd mov sp, r7 + 8000c7e: f85d 7b04 ldr.w r7, [sp], #4 + 8000c82: 4770 bx lr + 8000c84: e000ed00 .word 0xe000ed00 -08000c14 <__NVIC_SetPriority>: +08000c88 <__NVIC_SetPriority>: \param [in] IRQn Interrupt number. \param [in] priority Priority to set. \note The priority cannot be set for every processor exception. */ __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) { - 8000c14: b480 push {r7} - 8000c16: b083 sub sp, #12 - 8000c18: af00 add r7, sp, #0 - 8000c1a: 4603 mov r3, r0 - 8000c1c: 6039 str r1, [r7, #0] - 8000c1e: 71fb strb r3, [r7, #7] + 8000c88: b480 push {r7} + 8000c8a: b083 sub sp, #12 + 8000c8c: af00 add r7, sp, #0 + 8000c8e: 4603 mov r3, r0 + 8000c90: 6039 str r1, [r7, #0] + 8000c92: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 8000c20: f997 3007 ldrsb.w r3, [r7, #7] - 8000c24: 2b00 cmp r3, #0 - 8000c26: db0a blt.n 8000c3e <__NVIC_SetPriority+0x2a> + 8000c94: f997 3007 ldrsb.w r3, [r7, #7] + 8000c98: 2b00 cmp r3, #0 + 8000c9a: db0a blt.n 8000cb2 <__NVIC_SetPriority+0x2a> { NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8000c28: 683b ldr r3, [r7, #0] - 8000c2a: b2da uxtb r2, r3 - 8000c2c: 490c ldr r1, [pc, #48] ; (8000c60 <__NVIC_SetPriority+0x4c>) - 8000c2e: f997 3007 ldrsb.w r3, [r7, #7] - 8000c32: 0112 lsls r2, r2, #4 - 8000c34: b2d2 uxtb r2, r2 - 8000c36: 440b add r3, r1 - 8000c38: f883 2300 strb.w r2, [r3, #768] ; 0x300 + 8000c9c: 683b ldr r3, [r7, #0] + 8000c9e: b2da uxtb r2, r3 + 8000ca0: 490c ldr r1, [pc, #48] ; (8000cd4 <__NVIC_SetPriority+0x4c>) + 8000ca2: f997 3007 ldrsb.w r3, [r7, #7] + 8000ca6: 0112 lsls r2, r2, #4 + 8000ca8: b2d2 uxtb r2, r2 + 8000caa: 440b add r3, r1 + 8000cac: f883 2300 strb.w r2, [r3, #768] ; 0x300 } else { SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); } } - 8000c3c: e00a b.n 8000c54 <__NVIC_SetPriority+0x40> + 8000cb0: e00a b.n 8000cc8 <__NVIC_SetPriority+0x40> SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8000c3e: 683b ldr r3, [r7, #0] - 8000c40: b2da uxtb r2, r3 - 8000c42: 4908 ldr r1, [pc, #32] ; (8000c64 <__NVIC_SetPriority+0x50>) - 8000c44: 79fb ldrb r3, [r7, #7] - 8000c46: f003 030f and.w r3, r3, #15 - 8000c4a: 3b04 subs r3, #4 - 8000c4c: 0112 lsls r2, r2, #4 - 8000c4e: b2d2 uxtb r2, r2 - 8000c50: 440b add r3, r1 - 8000c52: 761a strb r2, [r3, #24] + 8000cb2: 683b ldr r3, [r7, #0] + 8000cb4: b2da uxtb r2, r3 + 8000cb6: 4908 ldr r1, [pc, #32] ; (8000cd8 <__NVIC_SetPriority+0x50>) + 8000cb8: 79fb ldrb r3, [r7, #7] + 8000cba: f003 030f and.w r3, r3, #15 + 8000cbe: 3b04 subs r3, #4 + 8000cc0: 0112 lsls r2, r2, #4 + 8000cc2: b2d2 uxtb r2, r2 + 8000cc4: 440b add r3, r1 + 8000cc6: 761a strb r2, [r3, #24] } - 8000c54: bf00 nop - 8000c56: 370c adds r7, #12 - 8000c58: 46bd mov sp, r7 - 8000c5a: f85d 7b04 ldr.w r7, [sp], #4 - 8000c5e: 4770 bx lr - 8000c60: e000e100 .word 0xe000e100 - 8000c64: e000ed00 .word 0xe000ed00 + 8000cc8: bf00 nop + 8000cca: 370c adds r7, #12 + 8000ccc: 46bd mov sp, r7 + 8000cce: f85d 7b04 ldr.w r7, [sp], #4 + 8000cd2: 4770 bx lr + 8000cd4: e000e100 .word 0xe000e100 + 8000cd8: e000ed00 .word 0xe000ed00 -08000c68 : +08000cdc : \param [in] PreemptPriority Preemptive priority value (starting from 0). \param [in] SubPriority Subpriority value (starting from 0). \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). */ __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) { - 8000c68: b480 push {r7} - 8000c6a: b089 sub sp, #36 ; 0x24 - 8000c6c: af00 add r7, sp, #0 - 8000c6e: 60f8 str r0, [r7, #12] - 8000c70: 60b9 str r1, [r7, #8] - 8000c72: 607a str r2, [r7, #4] + 8000cdc: b480 push {r7} + 8000cde: b089 sub sp, #36 ; 0x24 + 8000ce0: af00 add r7, sp, #0 + 8000ce2: 60f8 str r0, [r7, #12] + 8000ce4: 60b9 str r1, [r7, #8] + 8000ce6: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 8000c74: 68fb ldr r3, [r7, #12] - 8000c76: f003 0307 and.w r3, r3, #7 - 8000c7a: 61fb str r3, [r7, #28] + 8000ce8: 68fb ldr r3, [r7, #12] + 8000cea: f003 0307 and.w r3, r3, #7 + 8000cee: 61fb str r3, [r7, #28] uint32_t PreemptPriorityBits; uint32_t SubPriorityBits; PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); - 8000c7c: 69fb ldr r3, [r7, #28] - 8000c7e: f1c3 0307 rsb r3, r3, #7 - 8000c82: 2b04 cmp r3, #4 - 8000c84: bf28 it cs - 8000c86: 2304 movcs r3, #4 - 8000c88: 61bb str r3, [r7, #24] + 8000cf0: 69fb ldr r3, [r7, #28] + 8000cf2: f1c3 0307 rsb r3, r3, #7 + 8000cf6: 2b04 cmp r3, #4 + 8000cf8: bf28 it cs + 8000cfa: 2304 movcs r3, #4 + 8000cfc: 61bb str r3, [r7, #24] SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); - 8000c8a: 69fb ldr r3, [r7, #28] - 8000c8c: 3304 adds r3, #4 - 8000c8e: 2b06 cmp r3, #6 - 8000c90: d902 bls.n 8000c98 - 8000c92: 69fb ldr r3, [r7, #28] - 8000c94: 3b03 subs r3, #3 - 8000c96: e000 b.n 8000c9a - 8000c98: 2300 movs r3, #0 - 8000c9a: 617b str r3, [r7, #20] + 8000cfe: 69fb ldr r3, [r7, #28] + 8000d00: 3304 adds r3, #4 + 8000d02: 2b06 cmp r3, #6 + 8000d04: d902 bls.n 8000d0c + 8000d06: 69fb ldr r3, [r7, #28] + 8000d08: 3b03 subs r3, #3 + 8000d0a: e000 b.n 8000d0e + 8000d0c: 2300 movs r3, #0 + 8000d0e: 617b str r3, [r7, #20] return ( ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 8000c9c: f04f 32ff mov.w r2, #4294967295 - 8000ca0: 69bb ldr r3, [r7, #24] - 8000ca2: fa02 f303 lsl.w r3, r2, r3 - 8000ca6: 43da mvns r2, r3 - 8000ca8: 68bb ldr r3, [r7, #8] - 8000caa: 401a ands r2, r3 - 8000cac: 697b ldr r3, [r7, #20] - 8000cae: 409a lsls r2, r3 + 8000d10: f04f 32ff mov.w r2, #4294967295 + 8000d14: 69bb ldr r3, [r7, #24] + 8000d16: fa02 f303 lsl.w r3, r2, r3 + 8000d1a: 43da mvns r2, r3 + 8000d1c: 68bb ldr r3, [r7, #8] + 8000d1e: 401a ands r2, r3 + 8000d20: 697b ldr r3, [r7, #20] + 8000d22: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) - 8000cb0: f04f 31ff mov.w r1, #4294967295 - 8000cb4: 697b ldr r3, [r7, #20] - 8000cb6: fa01 f303 lsl.w r3, r1, r3 - 8000cba: 43d9 mvns r1, r3 - 8000cbc: 687b ldr r3, [r7, #4] - 8000cbe: 400b ands r3, r1 + 8000d24: f04f 31ff mov.w r1, #4294967295 + 8000d28: 697b ldr r3, [r7, #20] + 8000d2a: fa01 f303 lsl.w r3, r1, r3 + 8000d2e: 43d9 mvns r1, r3 + 8000d30: 687b ldr r3, [r7, #4] + 8000d32: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 8000cc0: 4313 orrs r3, r2 + 8000d34: 4313 orrs r3, r2 ); } - 8000cc2: 4618 mov r0, r3 - 8000cc4: 3724 adds r7, #36 ; 0x24 - 8000cc6: 46bd mov sp, r7 - 8000cc8: f85d 7b04 ldr.w r7, [sp], #4 - 8000ccc: 4770 bx lr + 8000d36: 4618 mov r0, r3 + 8000d38: 3724 adds r7, #36 ; 0x24 + 8000d3a: 46bd mov sp, r7 + 8000d3c: f85d 7b04 ldr.w r7, [sp], #4 + 8000d40: 4770 bx lr ... -08000cd0 : +08000d44 : \note When the variable __Vendor_SysTickConfig is set to 1, then the function SysTick_Config is not included. In this case, the file device.h must contain a vendor-specific implementation of this function. */ __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { - 8000cd0: b580 push {r7, lr} - 8000cd2: b082 sub sp, #8 - 8000cd4: af00 add r7, sp, #0 - 8000cd6: 6078 str r0, [r7, #4] + 8000d44: b580 push {r7, lr} + 8000d46: b082 sub sp, #8 + 8000d48: af00 add r7, sp, #0 + 8000d4a: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) - 8000cd8: 687b ldr r3, [r7, #4] - 8000cda: 3b01 subs r3, #1 - 8000cdc: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 - 8000ce0: d301 bcc.n 8000ce6 + 8000d4c: 687b ldr r3, [r7, #4] + 8000d4e: 3b01 subs r3, #1 + 8000d50: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 + 8000d54: d301 bcc.n 8000d5a { return (1UL); /* Reload value impossible */ - 8000ce2: 2301 movs r3, #1 - 8000ce4: e00f b.n 8000d06 + 8000d56: 2301 movs r3, #1 + 8000d58: e00f b.n 8000d7a } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ - 8000ce6: 4a0a ldr r2, [pc, #40] ; (8000d10 ) - 8000ce8: 687b ldr r3, [r7, #4] - 8000cea: 3b01 subs r3, #1 - 8000cec: 6053 str r3, [r2, #4] + 8000d5a: 4a0a ldr r2, [pc, #40] ; (8000d84 ) + 8000d5c: 687b ldr r3, [r7, #4] + 8000d5e: 3b01 subs r3, #1 + 8000d60: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ - 8000cee: 210f movs r1, #15 - 8000cf0: f04f 30ff mov.w r0, #4294967295 - 8000cf4: f7ff ff8e bl 8000c14 <__NVIC_SetPriority> + 8000d62: 210f movs r1, #15 + 8000d64: f04f 30ff mov.w r0, #4294967295 + 8000d68: f7ff ff8e bl 8000c88 <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ - 8000cf8: 4b05 ldr r3, [pc, #20] ; (8000d10 ) - 8000cfa: 2200 movs r2, #0 - 8000cfc: 609a str r2, [r3, #8] + 8000d6c: 4b05 ldr r3, [pc, #20] ; (8000d84 ) + 8000d6e: 2200 movs r2, #0 + 8000d70: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - 8000cfe: 4b04 ldr r3, [pc, #16] ; (8000d10 ) - 8000d00: 2207 movs r2, #7 - 8000d02: 601a str r2, [r3, #0] + 8000d72: 4b04 ldr r3, [pc, #16] ; (8000d84 ) + 8000d74: 2207 movs r2, #7 + 8000d76: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ - 8000d04: 2300 movs r3, #0 + 8000d78: 2300 movs r3, #0 } - 8000d06: 4618 mov r0, r3 - 8000d08: 3708 adds r7, #8 - 8000d0a: 46bd mov sp, r7 - 8000d0c: bd80 pop {r7, pc} - 8000d0e: bf00 nop - 8000d10: e000e010 .word 0xe000e010 + 8000d7a: 4618 mov r0, r3 + 8000d7c: 3708 adds r7, #8 + 8000d7e: 46bd mov sp, r7 + 8000d80: bd80 pop {r7, pc} + 8000d82: bf00 nop + 8000d84: e000e010 .word 0xe000e010 -08000d14 : +08000d88 : * This parameter can be a value between 0 and 15 * A lower priority value indicates a higher priority. * @retval None */ void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) { - 8000d14: b580 push {r7, lr} - 8000d16: b086 sub sp, #24 - 8000d18: af00 add r7, sp, #0 - 8000d1a: 4603 mov r3, r0 - 8000d1c: 60b9 str r1, [r7, #8] - 8000d1e: 607a str r2, [r7, #4] - 8000d20: 73fb strb r3, [r7, #15] + 8000d88: b580 push {r7, lr} + 8000d8a: b086 sub sp, #24 + 8000d8c: af00 add r7, sp, #0 + 8000d8e: 4603 mov r3, r0 + 8000d90: 60b9 str r1, [r7, #8] + 8000d92: 607a str r2, [r7, #4] + 8000d94: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00; - 8000d22: 2300 movs r3, #0 - 8000d24: 617b str r3, [r7, #20] + 8000d96: 2300 movs r3, #0 + 8000d98: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_NVIC_SUB_PRIORITY(SubPriority)); assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority)); prioritygroup = NVIC_GetPriorityGrouping(); - 8000d26: f7ff ff67 bl 8000bf8 <__NVIC_GetPriorityGrouping> - 8000d2a: 6178 str r0, [r7, #20] + 8000d9a: f7ff ff67 bl 8000c6c <__NVIC_GetPriorityGrouping> + 8000d9e: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); - 8000d2c: 687a ldr r2, [r7, #4] - 8000d2e: 68b9 ldr r1, [r7, #8] - 8000d30: 6978 ldr r0, [r7, #20] - 8000d32: f7ff ff99 bl 8000c68 - 8000d36: 4602 mov r2, r0 - 8000d38: f997 300f ldrsb.w r3, [r7, #15] - 8000d3c: 4611 mov r1, r2 - 8000d3e: 4618 mov r0, r3 - 8000d40: f7ff ff68 bl 8000c14 <__NVIC_SetPriority> + 8000da0: 687a ldr r2, [r7, #4] + 8000da2: 68b9 ldr r1, [r7, #8] + 8000da4: 6978 ldr r0, [r7, #20] + 8000da6: f7ff ff99 bl 8000cdc + 8000daa: 4602 mov r2, r0 + 8000dac: f997 300f ldrsb.w r3, [r7, #15] + 8000db0: 4611 mov r1, r2 + 8000db2: 4618 mov r0, r3 + 8000db4: f7ff ff68 bl 8000c88 <__NVIC_SetPriority> } - 8000d44: bf00 nop - 8000d46: 3718 adds r7, #24 - 8000d48: 46bd mov sp, r7 - 8000d4a: bd80 pop {r7, pc} + 8000db8: bf00 nop + 8000dba: 3718 adds r7, #24 + 8000dbc: 46bd mov sp, r7 + 8000dbe: bd80 pop {r7, pc} -08000d4c : +08000dc0 : * @param TicksNumb: Specifies the ticks Number of ticks between two interrupts. * @retval status: - 0 Function succeeded. * - 1 Function failed. */ uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb) { - 8000d4c: b580 push {r7, lr} - 8000d4e: b082 sub sp, #8 - 8000d50: af00 add r7, sp, #0 - 8000d52: 6078 str r0, [r7, #4] + 8000dc0: b580 push {r7, lr} + 8000dc2: b082 sub sp, #8 + 8000dc4: af00 add r7, sp, #0 + 8000dc6: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); - 8000d54: 6878 ldr r0, [r7, #4] - 8000d56: f7ff ffbb bl 8000cd0 - 8000d5a: 4603 mov r3, r0 + 8000dc8: 6878 ldr r0, [r7, #4] + 8000dca: f7ff ffbb bl 8000d44 + 8000dce: 4603 mov r3, r0 } - 8000d5c: 4618 mov r0, r3 - 8000d5e: 3708 adds r7, #8 - 8000d60: 46bd mov sp, r7 - 8000d62: bd80 pop {r7, pc} + 8000dd0: 4618 mov r0, r3 + 8000dd2: 3708 adds r7, #8 + 8000dd4: 46bd mov sp, r7 + 8000dd6: bd80 pop {r7, pc} -08000d64 : +08000dd8 : * configuration by calling this function, for a delay use rather osDelay RTOS service. * @param Ticks Number of ticks * @retval None */ __STATIC_INLINE void LL_InitTick(uint32_t HCLKFrequency, uint32_t Ticks) { - 8000d64: b480 push {r7} - 8000d66: b083 sub sp, #12 - 8000d68: af00 add r7, sp, #0 - 8000d6a: 6078 str r0, [r7, #4] - 8000d6c: 6039 str r1, [r7, #0] + 8000dd8: b480 push {r7} + 8000dda: b083 sub sp, #12 + 8000ddc: af00 add r7, sp, #0 + 8000dde: 6078 str r0, [r7, #4] + 8000de0: 6039 str r1, [r7, #0] /* Configure the SysTick to have interrupt in 1ms time base */ SysTick->LOAD = (uint32_t)((HCLKFrequency / Ticks) - 1UL); /* set reload register */ - 8000d6e: 687a ldr r2, [r7, #4] - 8000d70: 683b ldr r3, [r7, #0] - 8000d72: fbb2 f3f3 udiv r3, r2, r3 - 8000d76: 4a07 ldr r2, [pc, #28] ; (8000d94 ) - 8000d78: 3b01 subs r3, #1 - 8000d7a: 6053 str r3, [r2, #4] + 8000de2: 687a ldr r2, [r7, #4] + 8000de4: 683b ldr r3, [r7, #0] + 8000de6: fbb2 f3f3 udiv r3, r2, r3 + 8000dea: 4a07 ldr r2, [pc, #28] ; (8000e08 ) + 8000dec: 3b01 subs r3, #1 + 8000dee: 6053 str r3, [r2, #4] SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ - 8000d7c: 4b05 ldr r3, [pc, #20] ; (8000d94 ) - 8000d7e: 2200 movs r2, #0 - 8000d80: 609a str r2, [r3, #8] + 8000df0: 4b05 ldr r3, [pc, #20] ; (8000e08 ) + 8000df2: 2200 movs r2, #0 + 8000df4: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - 8000d82: 4b04 ldr r3, [pc, #16] ; (8000d94 ) - 8000d84: 2205 movs r2, #5 - 8000d86: 601a str r2, [r3, #0] + 8000df6: 4b04 ldr r3, [pc, #16] ; (8000e08 ) + 8000df8: 2205 movs r2, #5 + 8000dfa: 601a str r2, [r3, #0] SysTick_CTRL_ENABLE_Msk; /* Enable the Systick Timer */ } - 8000d88: bf00 nop - 8000d8a: 370c adds r7, #12 - 8000d8c: 46bd mov sp, r7 - 8000d8e: f85d 7b04 ldr.w r7, [sp], #4 - 8000d92: 4770 bx lr - 8000d94: e000e010 .word 0xe000e010 + 8000dfc: bf00 nop + 8000dfe: 370c adds r7, #12 + 8000e00: 46bd mov sp, r7 + 8000e02: f85d 7b04 ldr.w r7, [sp], #4 + 8000e06: 4770 bx lr + 8000e08: e000e010 .word 0xe000e010 -08000d98 : +08000e0c : * @param HCLKFrequency HCLK frequency in Hz * @note HCLK frequency can be calculated thanks to RCC helper macro or function @ref LL_RCC_GetSystemClocksFreq * @retval None */ void LL_Init1msTick(uint32_t HCLKFrequency) { - 8000d98: b580 push {r7, lr} - 8000d9a: b082 sub sp, #8 - 8000d9c: af00 add r7, sp, #0 - 8000d9e: 6078 str r0, [r7, #4] + 8000e0c: b580 push {r7, lr} + 8000e0e: b082 sub sp, #8 + 8000e10: af00 add r7, sp, #0 + 8000e12: 6078 str r0, [r7, #4] /* Use frequency provided in argument */ LL_InitTick(HCLKFrequency, 100U); - 8000da0: 2164 movs r1, #100 ; 0x64 - 8000da2: 6878 ldr r0, [r7, #4] - 8000da4: f7ff ffde bl 8000d64 + 8000e14: 2164 movs r1, #100 ; 0x64 + 8000e16: 6878 ldr r0, [r7, #4] + 8000e18: f7ff ffde bl 8000dd8 } - 8000da8: bf00 nop - 8000daa: 3708 adds r7, #8 - 8000dac: 46bd mov sp, r7 - 8000dae: bd80 pop {r7, pc} + 8000e1c: bf00 nop + 8000e1e: 3708 adds r7, #8 + 8000e20: 46bd mov sp, r7 + 8000e22: bd80 pop {r7, pc} -08000db0 : +08000e24 : * @note Variable can be calculated also through SystemCoreClockUpdate function. * @param HCLKFrequency HCLK frequency in Hz (can be calculated thanks to RCC helper macro) * @retval None */ void LL_SetSystemCoreClock(uint32_t HCLKFrequency) { - 8000db0: b480 push {r7} - 8000db2: b083 sub sp, #12 - 8000db4: af00 add r7, sp, #0 - 8000db6: 6078 str r0, [r7, #4] + 8000e24: b480 push {r7} + 8000e26: b083 sub sp, #12 + 8000e28: af00 add r7, sp, #0 + 8000e2a: 6078 str r0, [r7, #4] /* HCLK clock frequency */ SystemCoreClock = HCLKFrequency; - 8000db8: 4a04 ldr r2, [pc, #16] ; (8000dcc ) - 8000dba: 687b ldr r3, [r7, #4] - 8000dbc: 6013 str r3, [r2, #0] + 8000e2c: 4a04 ldr r2, [pc, #16] ; (8000e40 ) + 8000e2e: 687b ldr r3, [r7, #4] + 8000e30: 6013 str r3, [r2, #0] } - 8000dbe: bf00 nop - 8000dc0: 370c adds r7, #12 - 8000dc2: 46bd mov sp, r7 - 8000dc4: f85d 7b04 ldr.w r7, [sp], #4 - 8000dc8: 4770 bx lr - 8000dca: bf00 nop - 8000dcc: 20000004 .word 0x20000004 + 8000e32: bf00 nop + 8000e34: 370c adds r7, #12 + 8000e36: 46bd mov sp, r7 + 8000e38: f85d 7b04 ldr.w r7, [sp], #4 + 8000e3c: 4770 bx lr + 8000e3e: bf00 nop + 8000e40: 20000000 .word 0x20000000 -08000dd0 <__libc_init_array>: - 8000dd0: b570 push {r4, r5, r6, lr} - 8000dd2: 4e0d ldr r6, [pc, #52] ; (8000e08 <__libc_init_array+0x38>) - 8000dd4: 4c0d ldr r4, [pc, #52] ; (8000e0c <__libc_init_array+0x3c>) - 8000dd6: 1ba4 subs r4, r4, r6 - 8000dd8: 10a4 asrs r4, r4, #2 - 8000dda: 2500 movs r5, #0 - 8000ddc: 42a5 cmp r5, r4 - 8000dde: d109 bne.n 8000df4 <__libc_init_array+0x24> - 8000de0: 4e0b ldr r6, [pc, #44] ; (8000e10 <__libc_init_array+0x40>) - 8000de2: 4c0c ldr r4, [pc, #48] ; (8000e14 <__libc_init_array+0x44>) - 8000de4: f000 f818 bl 8000e18 <_init> - 8000de8: 1ba4 subs r4, r4, r6 - 8000dea: 10a4 asrs r4, r4, #2 - 8000dec: 2500 movs r5, #0 - 8000dee: 42a5 cmp r5, r4 - 8000df0: d105 bne.n 8000dfe <__libc_init_array+0x2e> - 8000df2: bd70 pop {r4, r5, r6, pc} - 8000df4: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 8000df8: 4798 blx r3 - 8000dfa: 3501 adds r5, #1 - 8000dfc: e7ee b.n 8000ddc <__libc_init_array+0xc> - 8000dfe: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 8000e02: 4798 blx r3 - 8000e04: 3501 adds r5, #1 - 8000e06: e7f2 b.n 8000dee <__libc_init_array+0x1e> - 8000e08: 08000e30 .word 0x08000e30 - 8000e0c: 08000e30 .word 0x08000e30 - 8000e10: 08000e30 .word 0x08000e30 - 8000e14: 08000e34 .word 0x08000e34 +08000e44 <__libc_init_array>: + 8000e44: b570 push {r4, r5, r6, lr} + 8000e46: 4e0d ldr r6, [pc, #52] ; (8000e7c <__libc_init_array+0x38>) + 8000e48: 4c0d ldr r4, [pc, #52] ; (8000e80 <__libc_init_array+0x3c>) + 8000e4a: 1ba4 subs r4, r4, r6 + 8000e4c: 10a4 asrs r4, r4, #2 + 8000e4e: 2500 movs r5, #0 + 8000e50: 42a5 cmp r5, r4 + 8000e52: d109 bne.n 8000e68 <__libc_init_array+0x24> + 8000e54: 4e0b ldr r6, [pc, #44] ; (8000e84 <__libc_init_array+0x40>) + 8000e56: 4c0c ldr r4, [pc, #48] ; (8000e88 <__libc_init_array+0x44>) + 8000e58: f000 f818 bl 8000e8c <_init> + 8000e5c: 1ba4 subs r4, r4, r6 + 8000e5e: 10a4 asrs r4, r4, #2 + 8000e60: 2500 movs r5, #0 + 8000e62: 42a5 cmp r5, r4 + 8000e64: d105 bne.n 8000e72 <__libc_init_array+0x2e> + 8000e66: bd70 pop {r4, r5, r6, pc} + 8000e68: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 8000e6c: 4798 blx r3 + 8000e6e: 3501 adds r5, #1 + 8000e70: e7ee b.n 8000e50 <__libc_init_array+0xc> + 8000e72: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 8000e76: 4798 blx r3 + 8000e78: 3501 adds r5, #1 + 8000e7a: e7f2 b.n 8000e62 <__libc_init_array+0x1e> + 8000e7c: 08000ea4 .word 0x08000ea4 + 8000e80: 08000ea4 .word 0x08000ea4 + 8000e84: 08000ea4 .word 0x08000ea4 + 8000e88: 08000ea8 .word 0x08000ea8 -08000e18 <_init>: - 8000e18: b5f8 push {r3, r4, r5, r6, r7, lr} - 8000e1a: bf00 nop - 8000e1c: bcf8 pop {r3, r4, r5, r6, r7} - 8000e1e: bc08 pop {r3} - 8000e20: 469e mov lr, r3 - 8000e22: 4770 bx lr +08000e8c <_init>: + 8000e8c: b5f8 push {r3, r4, r5, r6, r7, lr} + 8000e8e: bf00 nop + 8000e90: bcf8 pop {r3, r4, r5, r6, r7} + 8000e92: bc08 pop {r3} + 8000e94: 469e mov lr, r3 + 8000e96: 4770 bx lr -08000e24 <_fini>: - 8000e24: b5f8 push {r3, r4, r5, r6, r7, lr} - 8000e26: bf00 nop - 8000e28: bcf8 pop {r3, r4, r5, r6, r7} - 8000e2a: bc08 pop {r3} - 8000e2c: 469e mov lr, r3 - 8000e2e: 4770 bx lr +08000e98 <_fini>: + 8000e98: b5f8 push {r3, r4, r5, r6, r7, lr} + 8000e9a: bf00 nop + 8000e9c: bcf8 pop {r3, r4, r5, r6, r7} + 8000e9e: bc08 pop {r3} + 8000ea0: 469e mov lr, r3 + 8000ea2: 4770 bx lr diff --git a/RealOne/Debug/RealOne.map b/RealOne/Debug/RealOne.map index eef8c46..8b2ce65 100644 --- a/RealOne/Debug/RealOne.map +++ b/RealOne/Debug/RealOne.map @@ -3456,7 +3456,7 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte 0x0000000008000000 g_pfnVectors 0x0000000008000188 . = ALIGN (0x4) -.text 0x0000000008000188 0xca8 +.text 0x0000000008000188 0xd1c 0x0000000008000188 . = ALIGN (0x4) *(.text) .text 0x0000000008000188 0x40 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o @@ -3520,313 +3520,311 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte 0x00000000080005f4 0x2c Core/Src/main.o .text.LL_RCC_EnableRTC 0x0000000008000620 0x24 Core/Src/main.o - .text.LL_RCC_ForceBackupDomainReset - 0x0000000008000644 0x24 Core/Src/main.o .text.LL_RCC_ReleaseBackupDomainReset - 0x0000000008000668 0x24 Core/Src/main.o + 0x0000000008000644 0x24 Core/Src/main.o .text.LL_RCC_PLL_Enable - 0x000000000800068c 0x20 Core/Src/main.o + 0x0000000008000668 0x20 Core/Src/main.o .text.LL_RCC_PLL_IsReady - 0x00000000080006ac 0x28 Core/Src/main.o + 0x0000000008000688 0x28 Core/Src/main.o .text.LL_RCC_PLL_ConfigDomain_SYS - 0x00000000080006d4 0x40 Core/Src/main.o + 0x00000000080006b0 0x40 Core/Src/main.o .text.LL_RCC_PLL_EnableDomain_SYS - 0x0000000008000714 0x20 Core/Src/main.o + 0x00000000080006f0 0x20 Core/Src/main.o .text.LL_APB1_GRP1_EnableClock - 0x0000000008000734 0x30 Core/Src/main.o + 0x0000000008000710 0x30 Core/Src/main.o .text.LL_FLASH_SetLatency - 0x0000000008000764 0x28 Core/Src/main.o + 0x0000000008000740 0x28 Core/Src/main.o .text.LL_FLASH_GetLatency - 0x000000000800078c 0x1c Core/Src/main.o + 0x0000000008000768 0x1c Core/Src/main.o .text.LL_SYSTICK_EnableIT - 0x00000000080007a8 0x20 Core/Src/main.o + 0x0000000008000784 0x20 Core/Src/main.o .text.LL_LPM_EnableSleep - 0x00000000080007c8 0x20 Core/Src/main.o + 0x00000000080007a4 0x20 Core/Src/main.o .text.LL_PWR_SetRegulVoltageScaling - 0x00000000080007e8 0x28 Core/Src/main.o + 0x00000000080007c4 0x28 Core/Src/main.o .text.LL_PWR_EnableBkUpAccess - 0x0000000008000810 0x20 Core/Src/main.o + 0x00000000080007ec 0x20 Core/Src/main.o + .text.LL_PWR_DisableBkUpAccess + 0x000000000800080c 0x20 Core/Src/main.o .text.SysTick_Handler - 0x0000000008000830 0x70 Core/Src/main.o - 0x0000000008000830 SysTick_Handler - .text.main 0x00000000080008a0 0x68 Core/Src/main.o - 0x00000000080008a0 main + 0x000000000800082c 0x70 Core/Src/main.o + 0x000000000800082c SysTick_Handler + .text.main 0x000000000800089c 0xe4 Core/Src/main.o + 0x000000000800089c main .text.SystemClock_Config_24M_LSE - 0x0000000008000908 0xd0 Core/Src/main.o - 0x0000000008000908 SystemClock_Config_24M_LSE + 0x0000000008000980 0xcc Core/Src/main.o + 0x0000000008000980 SystemClock_Config_24M_LSE .text.SystemClock_Config_80M - 0x00000000080009d8 0x98 Core/Src/main.o - 0x00000000080009d8 SystemClock_Config_80M + 0x0000000008000a4c 0x98 Core/Src/main.o + 0x0000000008000a4c SystemClock_Config_80M .text.NMI_Handler - 0x0000000008000a70 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000a70 NMI_Handler + 0x0000000008000ae4 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000ae4 NMI_Handler .text.HardFault_Handler - 0x0000000008000a7e 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000a7e HardFault_Handler + 0x0000000008000af2 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000af2 HardFault_Handler .text.MemManage_Handler - 0x0000000008000a84 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000a84 MemManage_Handler + 0x0000000008000af8 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000af8 MemManage_Handler .text.BusFault_Handler - 0x0000000008000a8a 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000a8a BusFault_Handler + 0x0000000008000afe 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000afe BusFault_Handler .text.UsageFault_Handler - 0x0000000008000a90 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000a90 UsageFault_Handler + 0x0000000008000b04 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000b04 UsageFault_Handler .text.SVC_Handler - 0x0000000008000a96 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000a96 SVC_Handler + 0x0000000008000b0a 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000b0a SVC_Handler .text.DebugMon_Handler - 0x0000000008000aa4 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000aa4 DebugMon_Handler + 0x0000000008000b18 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000b18 DebugMon_Handler .text.PendSV_Handler - 0x0000000008000ab2 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000ab2 PendSV_Handler + 0x0000000008000b26 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000b26 PendSV_Handler .text.SystemInit - 0x0000000008000ac0 0x6c Core/Src/system_stm32l4xx.o - 0x0000000008000ac0 SystemInit + 0x0000000008000b34 0x6c Core/Src/system_stm32l4xx.o + 0x0000000008000b34 SystemInit .text.Reset_Handler - 0x0000000008000b2c 0x50 Core/Startup/startup_stm32l476rgtx.o - 0x0000000008000b2c Reset_Handler + 0x0000000008000ba0 0x50 Core/Startup/startup_stm32l476rgtx.o + 0x0000000008000ba0 Reset_Handler .text.Default_Handler - 0x0000000008000b7c 0x2 Core/Startup/startup_stm32l476rgtx.o - 0x0000000008000b7c RTC_Alarm_IRQHandler - 0x0000000008000b7c EXTI2_IRQHandler - 0x0000000008000b7c TIM8_TRG_COM_IRQHandler - 0x0000000008000b7c TIM8_CC_IRQHandler - 0x0000000008000b7c TIM1_CC_IRQHandler - 0x0000000008000b7c TSC_IRQHandler - 0x0000000008000b7c TAMP_STAMP_IRQHandler - 0x0000000008000b7c EXTI3_IRQHandler - 0x0000000008000b7c LPTIM2_IRQHandler - 0x0000000008000b7c DFSDM1_FLT1_IRQHandler - 0x0000000008000b7c I2C3_ER_IRQHandler - 0x0000000008000b7c DFSDM1_FLT2_IRQHandler - 0x0000000008000b7c EXTI0_IRQHandler - 0x0000000008000b7c I2C2_EV_IRQHandler - 0x0000000008000b7c CAN1_RX0_IRQHandler - 0x0000000008000b7c FPU_IRQHandler - 0x0000000008000b7c TIM1_UP_TIM16_IRQHandler - 0x0000000008000b7c ADC1_2_IRQHandler - 0x0000000008000b7c SPI1_IRQHandler - 0x0000000008000b7c TIM6_DAC_IRQHandler - 0x0000000008000b7c TIM8_UP_IRQHandler - 0x0000000008000b7c DMA2_Channel2_IRQHandler - 0x0000000008000b7c DMA1_Channel4_IRQHandler - 0x0000000008000b7c SAI2_IRQHandler - 0x0000000008000b7c DFSDM1_FLT3_IRQHandler - 0x0000000008000b7c USART3_IRQHandler - 0x0000000008000b7c DMA1_Channel7_IRQHandler - 0x0000000008000b7c CAN1_RX1_IRQHandler - 0x0000000008000b7c LCD_IRQHandler - 0x0000000008000b7c UART5_IRQHandler - 0x0000000008000b7c ADC3_IRQHandler - 0x0000000008000b7c TIM4_IRQHandler - 0x0000000008000b7c DMA2_Channel1_IRQHandler - 0x0000000008000b7c QUADSPI_IRQHandler - 0x0000000008000b7c I2C1_EV_IRQHandler - 0x0000000008000b7c DMA1_Channel6_IRQHandler - 0x0000000008000b7c UART4_IRQHandler - 0x0000000008000b7c DMA2_Channel4_IRQHandler - 0x0000000008000b7c TIM3_IRQHandler - 0x0000000008000b7c RCC_IRQHandler - 0x0000000008000b7c DMA1_Channel1_IRQHandler - 0x0000000008000b7c Default_Handler - 0x0000000008000b7c DMA2_Channel7_IRQHandler - 0x0000000008000b7c EXTI15_10_IRQHandler - 0x0000000008000b7c TIM7_IRQHandler - 0x0000000008000b7c SDMMC1_IRQHandler - 0x0000000008000b7c TIM5_IRQHandler - 0x0000000008000b7c I2C3_EV_IRQHandler - 0x0000000008000b7c EXTI9_5_IRQHandler - 0x0000000008000b7c RTC_WKUP_IRQHandler - 0x0000000008000b7c PVD_PVM_IRQHandler - 0x0000000008000b7c SPI2_IRQHandler - 0x0000000008000b7c CAN1_TX_IRQHandler - 0x0000000008000b7c DMA2_Channel5_IRQHandler - 0x0000000008000b7c DMA1_Channel5_IRQHandler - 0x0000000008000b7c EXTI4_IRQHandler - 0x0000000008000b7c RNG_IRQHandler - 0x0000000008000b7c TIM1_TRG_COM_TIM17_IRQHandler - 0x0000000008000b7c DMA1_Channel3_IRQHandler - 0x0000000008000b7c COMP_IRQHandler - 0x0000000008000b7c WWDG_IRQHandler - 0x0000000008000b7c LPUART1_IRQHandler - 0x0000000008000b7c DMA2_Channel6_IRQHandler - 0x0000000008000b7c TIM2_IRQHandler - 0x0000000008000b7c EXTI1_IRQHandler - 0x0000000008000b7c USART2_IRQHandler - 0x0000000008000b7c DFSDM1_FLT0_IRQHandler - 0x0000000008000b7c I2C2_ER_IRQHandler - 0x0000000008000b7c DMA1_Channel2_IRQHandler - 0x0000000008000b7c TIM8_BRK_IRQHandler - 0x0000000008000b7c CAN1_SCE_IRQHandler - 0x0000000008000b7c FLASH_IRQHandler - 0x0000000008000b7c USART1_IRQHandler - 0x0000000008000b7c OTG_FS_IRQHandler - 0x0000000008000b7c SPI3_IRQHandler - 0x0000000008000b7c I2C1_ER_IRQHandler - 0x0000000008000b7c FMC_IRQHandler - 0x0000000008000b7c SWPMI1_IRQHandler - 0x0000000008000b7c LPTIM1_IRQHandler - 0x0000000008000b7c SAI1_IRQHandler - 0x0000000008000b7c DMA2_Channel3_IRQHandler - 0x0000000008000b7c TIM1_BRK_TIM15_IRQHandler - *fill* 0x0000000008000b7e 0x2 + 0x0000000008000bf0 0x2 Core/Startup/startup_stm32l476rgtx.o + 0x0000000008000bf0 RTC_Alarm_IRQHandler + 0x0000000008000bf0 EXTI2_IRQHandler + 0x0000000008000bf0 TIM8_TRG_COM_IRQHandler + 0x0000000008000bf0 TIM8_CC_IRQHandler + 0x0000000008000bf0 TIM1_CC_IRQHandler + 0x0000000008000bf0 TSC_IRQHandler + 0x0000000008000bf0 TAMP_STAMP_IRQHandler + 0x0000000008000bf0 EXTI3_IRQHandler + 0x0000000008000bf0 LPTIM2_IRQHandler + 0x0000000008000bf0 DFSDM1_FLT1_IRQHandler + 0x0000000008000bf0 I2C3_ER_IRQHandler + 0x0000000008000bf0 DFSDM1_FLT2_IRQHandler + 0x0000000008000bf0 EXTI0_IRQHandler + 0x0000000008000bf0 I2C2_EV_IRQHandler + 0x0000000008000bf0 CAN1_RX0_IRQHandler + 0x0000000008000bf0 FPU_IRQHandler + 0x0000000008000bf0 TIM1_UP_TIM16_IRQHandler + 0x0000000008000bf0 ADC1_2_IRQHandler + 0x0000000008000bf0 SPI1_IRQHandler + 0x0000000008000bf0 TIM6_DAC_IRQHandler + 0x0000000008000bf0 TIM8_UP_IRQHandler + 0x0000000008000bf0 DMA2_Channel2_IRQHandler + 0x0000000008000bf0 DMA1_Channel4_IRQHandler + 0x0000000008000bf0 SAI2_IRQHandler + 0x0000000008000bf0 DFSDM1_FLT3_IRQHandler + 0x0000000008000bf0 USART3_IRQHandler + 0x0000000008000bf0 DMA1_Channel7_IRQHandler + 0x0000000008000bf0 CAN1_RX1_IRQHandler + 0x0000000008000bf0 LCD_IRQHandler + 0x0000000008000bf0 UART5_IRQHandler + 0x0000000008000bf0 ADC3_IRQHandler + 0x0000000008000bf0 TIM4_IRQHandler + 0x0000000008000bf0 DMA2_Channel1_IRQHandler + 0x0000000008000bf0 QUADSPI_IRQHandler + 0x0000000008000bf0 I2C1_EV_IRQHandler + 0x0000000008000bf0 DMA1_Channel6_IRQHandler + 0x0000000008000bf0 UART4_IRQHandler + 0x0000000008000bf0 DMA2_Channel4_IRQHandler + 0x0000000008000bf0 TIM3_IRQHandler + 0x0000000008000bf0 RCC_IRQHandler + 0x0000000008000bf0 DMA1_Channel1_IRQHandler + 0x0000000008000bf0 Default_Handler + 0x0000000008000bf0 DMA2_Channel7_IRQHandler + 0x0000000008000bf0 EXTI15_10_IRQHandler + 0x0000000008000bf0 TIM7_IRQHandler + 0x0000000008000bf0 SDMMC1_IRQHandler + 0x0000000008000bf0 TIM5_IRQHandler + 0x0000000008000bf0 I2C3_EV_IRQHandler + 0x0000000008000bf0 EXTI9_5_IRQHandler + 0x0000000008000bf0 RTC_WKUP_IRQHandler + 0x0000000008000bf0 PVD_PVM_IRQHandler + 0x0000000008000bf0 SPI2_IRQHandler + 0x0000000008000bf0 CAN1_TX_IRQHandler + 0x0000000008000bf0 DMA2_Channel5_IRQHandler + 0x0000000008000bf0 DMA1_Channel5_IRQHandler + 0x0000000008000bf0 EXTI4_IRQHandler + 0x0000000008000bf0 RNG_IRQHandler + 0x0000000008000bf0 TIM1_TRG_COM_TIM17_IRQHandler + 0x0000000008000bf0 DMA1_Channel3_IRQHandler + 0x0000000008000bf0 COMP_IRQHandler + 0x0000000008000bf0 WWDG_IRQHandler + 0x0000000008000bf0 LPUART1_IRQHandler + 0x0000000008000bf0 DMA2_Channel6_IRQHandler + 0x0000000008000bf0 TIM2_IRQHandler + 0x0000000008000bf0 EXTI1_IRQHandler + 0x0000000008000bf0 USART2_IRQHandler + 0x0000000008000bf0 DFSDM1_FLT0_IRQHandler + 0x0000000008000bf0 I2C2_ER_IRQHandler + 0x0000000008000bf0 DMA1_Channel2_IRQHandler + 0x0000000008000bf0 TIM8_BRK_IRQHandler + 0x0000000008000bf0 CAN1_SCE_IRQHandler + 0x0000000008000bf0 FLASH_IRQHandler + 0x0000000008000bf0 USART1_IRQHandler + 0x0000000008000bf0 OTG_FS_IRQHandler + 0x0000000008000bf0 SPI3_IRQHandler + 0x0000000008000bf0 I2C1_ER_IRQHandler + 0x0000000008000bf0 FMC_IRQHandler + 0x0000000008000bf0 SWPMI1_IRQHandler + 0x0000000008000bf0 LPTIM1_IRQHandler + 0x0000000008000bf0 SAI1_IRQHandler + 0x0000000008000bf0 DMA2_Channel3_IRQHandler + 0x0000000008000bf0 TIM1_BRK_TIM15_IRQHandler + *fill* 0x0000000008000bf2 0x2 .text.HAL_InitTick - 0x0000000008000b80 0x78 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - 0x0000000008000b80 HAL_InitTick + 0x0000000008000bf4 0x78 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + 0x0000000008000bf4 HAL_InitTick .text.__NVIC_GetPriorityGrouping - 0x0000000008000bf8 0x1c Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000c6c 0x1c Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .text.__NVIC_SetPriority - 0x0000000008000c14 0x54 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000c88 0x54 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .text.NVIC_EncodePriority - 0x0000000008000c68 0x66 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - *fill* 0x0000000008000cce 0x2 + 0x0000000008000cdc 0x66 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + *fill* 0x0000000008000d42 0x2 .text.SysTick_Config - 0x0000000008000cd0 0x44 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000d44 0x44 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .text.HAL_NVIC_SetPriority - 0x0000000008000d14 0x38 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - 0x0000000008000d14 HAL_NVIC_SetPriority + 0x0000000008000d88 0x38 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000d88 HAL_NVIC_SetPriority .text.HAL_SYSTICK_Config - 0x0000000008000d4c 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - 0x0000000008000d4c HAL_SYSTICK_Config + 0x0000000008000dc0 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000dc0 HAL_SYSTICK_Config .text.LL_InitTick - 0x0000000008000d64 0x34 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + 0x0000000008000dd8 0x34 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o .text.LL_Init1msTick - 0x0000000008000d98 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o - 0x0000000008000d98 LL_Init1msTick + 0x0000000008000e0c 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + 0x0000000008000e0c LL_Init1msTick .text.LL_SetSystemCoreClock - 0x0000000008000db0 0x20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o - 0x0000000008000db0 LL_SetSystemCoreClock + 0x0000000008000e24 0x20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + 0x0000000008000e24 LL_SetSystemCoreClock .text.__libc_init_array - 0x0000000008000dd0 0x48 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc_nano.a(lib_a-init.o) - 0x0000000008000dd0 __libc_init_array + 0x0000000008000e44 0x48 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc_nano.a(lib_a-init.o) + 0x0000000008000e44 __libc_init_array *(.glue_7) - .glue_7 0x0000000008000e18 0x0 linker stubs + .glue_7 0x0000000008000e8c 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0000000008000e18 0x0 linker stubs + .glue_7t 0x0000000008000e8c 0x0 linker stubs *(.eh_frame) - .eh_frame 0x0000000008000e18 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + .eh_frame 0x0000000008000e8c 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o *(.init) - .init 0x0000000008000e18 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o - 0x0000000008000e18 _init - .init 0x0000000008000e1c 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o + .init 0x0000000008000e8c 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o + 0x0000000008000e8c _init + .init 0x0000000008000e90 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o *(.fini) - .fini 0x0000000008000e24 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o - 0x0000000008000e24 _fini - .fini 0x0000000008000e28 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o - 0x0000000008000e30 . = ALIGN (0x4) - 0x0000000008000e30 _etext = . + .fini 0x0000000008000e98 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o + 0x0000000008000e98 _fini + .fini 0x0000000008000e9c 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o + 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000ea4 _etext = . -.vfp11_veneer 0x0000000008000e30 0x0 - .vfp11_veneer 0x0000000008000e30 0x0 linker stubs +.vfp11_veneer 0x0000000008000ea4 0x0 + .vfp11_veneer 0x0000000008000ea4 0x0 linker stubs -.v4_bx 0x0000000008000e30 0x0 - .v4_bx 0x0000000008000e30 0x0 linker stubs +.v4_bx 0x0000000008000ea4 0x0 + .v4_bx 0x0000000008000ea4 0x0 linker stubs -.iplt 0x0000000008000e30 0x0 - .iplt 0x0000000008000e30 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o +.iplt 0x0000000008000ea4 0x0 + .iplt 0x0000000008000ea4 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o -.rel.dyn 0x0000000008000e30 0x0 - .rel.iplt 0x0000000008000e30 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o +.rel.dyn 0x0000000008000ea4 0x0 + .rel.iplt 0x0000000008000ea4 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o -.rodata 0x0000000008000e30 0x0 - 0x0000000008000e30 . = ALIGN (0x4) +.rodata 0x0000000008000ea4 0x0 + 0x0000000008000ea4 . = ALIGN (0x4) *(.rodata) *(.rodata*) - 0x0000000008000e30 . = ALIGN (0x4) + 0x0000000008000ea4 . = ALIGN (0x4) -.ARM.extab 0x0000000008000e30 0x0 - 0x0000000008000e30 . = ALIGN (0x4) +.ARM.extab 0x0000000008000ea4 0x0 + 0x0000000008000ea4 . = ALIGN (0x4) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x0000000008000e30 . = ALIGN (0x4) + 0x0000000008000ea4 . = ALIGN (0x4) -.ARM 0x0000000008000e30 0x0 - 0x0000000008000e30 . = ALIGN (0x4) - 0x0000000008000e30 __exidx_start = . +.ARM 0x0000000008000ea4 0x0 + 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000ea4 __exidx_start = . *(.ARM.exidx*) - 0x0000000008000e30 __exidx_end = . - 0x0000000008000e30 . = ALIGN (0x4) + 0x0000000008000ea4 __exidx_end = . + 0x0000000008000ea4 . = ALIGN (0x4) -.preinit_array 0x0000000008000e30 0x0 - 0x0000000008000e30 . = ALIGN (0x4) - 0x0000000008000e30 PROVIDE (__preinit_array_start = .) +.preinit_array 0x0000000008000ea4 0x0 + 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000ea4 PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0000000008000e30 PROVIDE (__preinit_array_end = .) - 0x0000000008000e30 . = ALIGN (0x4) + 0x0000000008000ea4 PROVIDE (__preinit_array_end = .) + 0x0000000008000ea4 . = ALIGN (0x4) -.init_array 0x0000000008000e30 0x4 - 0x0000000008000e30 . = ALIGN (0x4) - 0x0000000008000e30 PROVIDE (__init_array_start = .) +.init_array 0x0000000008000ea4 0x4 + 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000ea4 PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x0000000008000e30 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o - 0x0000000008000e34 PROVIDE (__init_array_end = .) - 0x0000000008000e34 . = ALIGN (0x4) + .init_array 0x0000000008000ea4 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + 0x0000000008000ea8 PROVIDE (__init_array_end = .) + 0x0000000008000ea8 . = ALIGN (0x4) -.fini_array 0x0000000008000e34 0x4 - 0x0000000008000e34 . = ALIGN (0x4) +.fini_array 0x0000000008000ea8 0x4 + 0x0000000008000ea8 . = ALIGN (0x4) [!provide] PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0000000008000e34 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + .fini_array 0x0000000008000ea8 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o [!provide] PROVIDE (__fini_array_end = .) - 0x0000000008000e38 . = ALIGN (0x4) - 0x0000000008000e38 _sidata = LOADADDR (.data) + 0x0000000008000eac . = ALIGN (0x4) + 0x0000000008000eac _sidata = LOADADDR (.data) -.data 0x0000000020000000 0x10 load address 0x0000000008000e38 +.data 0x0000000020000000 0xc load address 0x0000000008000eac 0x0000000020000000 . = ALIGN (0x4) 0x0000000020000000 _sdata = . *(.data) *(.data*) - .data.expe 0x0000000020000000 0x1 Core/Src/main.o - 0x0000000020000000 expe - *fill* 0x0000000020000001 0x3 .data.SystemCoreClock - 0x0000000020000004 0x4 Core/Src/system_stm32l4xx.o - 0x0000000020000004 SystemCoreClock + 0x0000000020000000 0x4 Core/Src/system_stm32l4xx.o + 0x0000000020000000 SystemCoreClock .data.uwTickPrio - 0x0000000020000008 0x4 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - 0x0000000020000008 uwTickPrio + 0x0000000020000004 0x4 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + 0x0000000020000004 uwTickPrio .data.uwTickFreq - 0x000000002000000c 0x1 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - 0x000000002000000c uwTickFreq - 0x0000000020000010 . = ALIGN (0x4) - *fill* 0x000000002000000d 0x3 - 0x0000000020000010 _edata = . + 0x0000000020000008 0x1 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + 0x0000000020000008 uwTickFreq + 0x000000002000000c . = ALIGN (0x4) + *fill* 0x0000000020000009 0x3 + 0x000000002000000c _edata = . -.igot.plt 0x0000000020000010 0x0 load address 0x0000000008000e48 - .igot.plt 0x0000000020000010 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o - 0x0000000020000010 . = ALIGN (0x4) +.igot.plt 0x000000002000000c 0x0 load address 0x0000000008000eb8 + .igot.plt 0x000000002000000c 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + 0x000000002000000c . = ALIGN (0x4) -.bss 0x0000000020000010 0x24 load address 0x0000000008000e48 - 0x0000000020000010 _sbss = . - 0x0000000020000010 __bss_start__ = _sbss +.bss 0x000000002000000c 0x24 load address 0x0000000008000eb8 + 0x000000002000000c _sbss = . + 0x000000002000000c __bss_start__ = _sbss *(.bss) - .bss 0x0000000020000010 0x1c c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + .bss 0x000000002000000c 0x1c c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o *(.bss*) - .bss.msTicks 0x000000002000002c 0x4 Core/Src/main.o - 0x000000002000002c msTicks + .bss.msTicks 0x0000000020000028 0x4 Core/Src/main.o + 0x0000000020000028 msTicks + .bss.expe 0x000000002000002c 0x1 Core/Src/main.o + 0x000000002000002c expe .bss.blue_mode - 0x0000000020000030 0x1 Core/Src/main.o - 0x0000000020000030 blue_mode + 0x000000002000002d 0x1 Core/Src/main.o + 0x000000002000002d blue_mode *(COMMON) - 0x0000000020000034 . = ALIGN (0x4) - *fill* 0x0000000020000031 0x3 - 0x0000000020000034 _ebss = . - 0x0000000020000034 __bss_end__ = _ebss + 0x0000000020000030 . = ALIGN (0x4) + *fill* 0x000000002000002e 0x2 + 0x0000000020000030 _ebss = . + 0x0000000020000030 __bss_end__ = _ebss ._user_heap_stack - 0x0000000020000034 0x604 load address 0x0000000008000e48 - 0x0000000020000038 . = ALIGN (0x8) - *fill* 0x0000000020000034 0x4 + 0x0000000020000030 0x600 load address 0x0000000008000eb8 + 0x0000000020000030 . = ALIGN (0x8) [!provide] PROVIDE (end = .) - 0x0000000020000038 PROVIDE (_end = .) - 0x0000000020000238 . = (. + _Min_Heap_Size) - *fill* 0x0000000020000038 0x200 - 0x0000000020000638 . = (. + _Min_Stack_Size) - *fill* 0x0000000020000238 0x400 - 0x0000000020000638 . = ALIGN (0x8) + 0x0000000020000030 PROVIDE (_end = .) + 0x0000000020000230 . = (. + _Min_Heap_Size) + *fill* 0x0000000020000030 0x200 + 0x0000000020000630 . = (. + _Min_Stack_Size) + *fill* 0x0000000020000230 0x400 + 0x0000000020000630 . = ALIGN (0x8) /DISCARD/ libc.a(*) @@ -3862,15 +3860,15 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte 0x000000000000023a 0x22 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o OUTPUT(RealOne.elf elf32-littlearm) -.debug_info 0x0000000000000000 0x4920 +.debug_info 0x0000000000000000 0x4bd6 .debug_info 0x0000000000000000 0x84a Core/Src/gpio.o - .debug_info 0x000000000000084a 0xd0e Core/Src/main.o - .debug_info 0x0000000000001558 0x35e Core/Src/stm32l4xx_it.o - .debug_info 0x00000000000018b6 0x727 Core/Src/system_stm32l4xx.o - .debug_info 0x0000000000001fdd 0x22 Core/Startup/startup_stm32l476rgtx.o - .debug_info 0x0000000000001fff 0xc20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - .debug_info 0x0000000000002c1f 0xf6d Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - .debug_info 0x0000000000003b8c 0xd94 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_info 0x000000000000084a 0xfc4 Core/Src/main.o + .debug_info 0x000000000000180e 0x35e Core/Src/stm32l4xx_it.o + .debug_info 0x0000000000001b6c 0x727 Core/Src/system_stm32l4xx.o + .debug_info 0x0000000000002293 0x22 Core/Startup/startup_stm32l476rgtx.o + .debug_info 0x00000000000022b5 0xc20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_info 0x0000000000002ed5 0xf6d Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_info 0x0000000000003e42 0xd94 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o .debug_abbrev 0x0000000000000000 0xd51 .debug_abbrev 0x0000000000000000 0x233 Core/Src/gpio.o @@ -3968,32 +3966,32 @@ OUTPUT(RealOne.elf elf32-littlearm) .debug_macro 0x0000000000025ffb 0x29b Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o .debug_macro 0x0000000000026296 0xa1 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o -.debug_line 0x0000000000000000 0x40e6 +.debug_line 0x0000000000000000 0x40fa .debug_line 0x0000000000000000 0x7e6 Core/Src/gpio.o - .debug_line 0x00000000000007e6 0xacc Core/Src/main.o - .debug_line 0x00000000000012b2 0x855 Core/Src/stm32l4xx_it.o - .debug_line 0x0000000000001b07 0x6eb Core/Src/system_stm32l4xx.o - .debug_line 0x00000000000021f2 0x87 Core/Startup/startup_stm32l476rgtx.o - .debug_line 0x0000000000002279 0x961 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - .debug_line 0x0000000000002bda 0x9e9 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - .debug_line 0x00000000000035c3 0xb23 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_line 0x00000000000007e6 0xae0 Core/Src/main.o + .debug_line 0x00000000000012c6 0x855 Core/Src/stm32l4xx_it.o + .debug_line 0x0000000000001b1b 0x6eb Core/Src/system_stm32l4xx.o + .debug_line 0x0000000000002206 0x87 Core/Startup/startup_stm32l476rgtx.o + .debug_line 0x000000000000228d 0x961 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_line 0x0000000000002bee 0x9e9 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_line 0x00000000000035d7 0xb23 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o -.debug_str 0x0000000000000000 0xee792 +.debug_str 0x0000000000000000 0xee8c5 .debug_str 0x0000000000000000 0xe3d91 Core/Src/gpio.o 0xe4dab (size before relaxing) - .debug_str 0x00000000000e3d91 0x8d43 Core/Src/main.o - 0xed98d (size before relaxing) - .debug_str 0x00000000000ecad4 0xad Core/Src/stm32l4xx_it.o + .debug_str 0x00000000000e3d91 0x8e76 Core/Src/main.o + 0xedac0 (size before relaxing) + .debug_str 0x00000000000ecc07 0xad Core/Src/stm32l4xx_it.o 0xed404 (size before relaxing) - .debug_str 0x00000000000ecb81 0x79 Core/Src/system_stm32l4xx.o + .debug_str 0x00000000000eccb4 0x79 Core/Src/system_stm32l4xx.o 0xe3959 (size before relaxing) - .debug_str 0x00000000000ecbfa 0x36 Core/Startup/startup_stm32l476rgtx.o + .debug_str 0x00000000000ecd2d 0x36 Core/Startup/startup_stm32l476rgtx.o 0x62 (size before relaxing) - .debug_str 0x00000000000ecc30 0x9fa Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_str 0x00000000000ecd63 0x9fa Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o 0xe443d (size before relaxing) - .debug_str 0x00000000000ed62a 0x3a6 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_str 0x00000000000ed75d 0x3a6 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o 0xe41ad (size before relaxing) - .debug_str 0x00000000000ed9d0 0xdc2 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_str 0x00000000000edb03 0xdc2 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o 0xea58d (size before relaxing) .comment 0x0000000000000000 0x7b From f2830f7c22adf4d11553f56d026b58a82885b586 Mon Sep 17 00:00:00 2001 From: bray Date: Tue, 17 Nov 2020 10:50:11 +0100 Subject: [PATCH 2/2] expe 3 and 4 --- PlaygroundYoupi/.metadata/.log | 222 ++ .../params.dat | 1 + .../.plugins/org.eclipse.cdt.core/.log | 1 + .../RealOne.1605601070222.pdom | Bin 6221824 -> 6225920 bytes .../dialog_settings.xml | 9 + .../org.eclipse.cdt.ui/RealOne.build.log | 6 +- .../org.eclipse.cdt.ui/dialog_settings.xml | 2 + .../org.eclipse.cdt.ui/global-build.log | 190 ++ .../1/3046896fea27001b16eaee4b2dec2d39 | 143 - .../2/108d5b5baa28001b1d0af99b6389052e | 219 -- .../2/70561a18ab28001b1d0af99b6389052e | 214 -- .../22/d0fdc915ab28001b1d0af99b6389052e | 214 -- .../23/e0a2021eab28001b1d0af99b6389052e | 214 -- .../2a/0054ead6e427001b16eaee4b2dec2d39 | 117 - .../2d/f00ed0eae527001b16eaee4b2dec2d39 | 132 - .../3/f0a41473ec27001b16eaee4b2dec2d39 | 142 - .../36/d0c2f257ea27001b16eaee4b2dec2d39 | 132 - .../38/90d6b9feac28001b1d0af99b6389052e | 215 -- .../49/d01119a2ac28001b1d0af99b6389052e | 215 -- .../57/7067ce86a928001b1d0af99b6389052e | 203 -- .../59/70f0c7a5e527001b16eaee4b2dec2d39 | 137 - .../6a/701013b2a928001b1d0af99b6389052e | 219 -- .../6d/70f34093ea27001b16eaee4b2dec2d39 | 81 - .../7b/e06807a1ea27001b16eaee4b2dec2d39 | 81 - .../8/a07bb5aeab28001b1d0af99b6389052e | 221 -- .../84/101c0ea0ab28001b1d0af99b6389052e | 214 -- .../8a/90398905ab28001b1d0af99b6389052e | 223 -- .../8e/90249d01a628001b1d0af99b6389052e | 203 -- .../a1/e0477108b728001b1d0af99b6389052e | 221 ++ .../a4/501cb0d7a528001b1d0af99b6389052e | 204 -- .../b0/10ac80b5fd27001b16eaee4b2dec2d39 | 204 -- .../b2/40e9aef5ef27001b16eaee4b2dec2d39 | 81 - .../b7/f039bb8fac28001b1d0af99b6389052e | 215 -- .../c0/a0303f18b828001b1d0af99b6389052e | 292 ++ .../d7/207b7812a628001b1d0af99b6389052e | 203 -- .../e/601375d0f027001b16eaee4b2dec2d39 | 143 - .../e0/60ce4bc9e327001b16eaee4b2dec2d39 | 252 -- .../102e7408b728001b1d0af99b6389052e} | 1 + .../ec/10da326cac28001b1d0af99b6389052e | 221 -- .../f9/e0ef14e4ea27001b16eaee4b2dec2d39 | 143 - .../RealOne/.indexes/bf/be/history.index | Bin 0 -> 49 bytes .../RealOne/.indexes/bf/c4/history.index | Bin 0 -> 313 bytes .../RealOne/.indexes/d5/0/be/properties.index | Bin 0 -> 170 bytes .../.projects/RealOne/.markers | Bin 0 -> 1421 bytes .../.projects/RealOne/.markers.snap | Bin 7932 -> 0 bytes .../.projects/RealOne/.syncinfo.snap | Bin 128 -> 0 bytes .../RemoteSystemsTempFiles/.markers.snap | Bin 272 -> 0 bytes .../RemoteSystemsTempFiles/.syncinfo.snap | Bin 272 -> 0 bytes .../.root/.markers.snap | Bin 272 -> 0 bytes .../org.eclipse.core.resources/.root/2.tree | Bin 25945 -> 0 bytes .../org.eclipse.core.resources/.root/3.tree | Bin 0 -> 12645 bytes .../.safetable/org.eclipse.core.resources | Bin 7768 -> 760 bytes .../org.eclipse.core.resources/2.snap | Bin 24417 -> 0 bytes .../.settings/org.eclipse.cdt.debug.ui.prefs | 7 + .../.settings/org.eclipse.debug.core.prefs | 2 +- .../org.eclipse.launchbar.core.prefs | 2 +- .../org.eclipse.e4.workbench/workbench.xmi | 2537 +++++++++-------- .../org.eclipse.search/dialog_settings.xml | 28 + .../dialog_settings.xml | 23 + RealOne/Core/Inc/main.h | 1 + RealOne/Core/Src/main.c | 75 +- RealOne/Debug/Core/Src/main.o | Bin 1333764 -> 1334760 bytes RealOne/Debug/Core/Src/main.su | 5 +- RealOne/Debug/RealOne.bin | Bin 3768 -> 4008 bytes RealOne/Debug/RealOne.elf | Bin 1323568 -> 1323864 bytes RealOne/Debug/RealOne.list | 1549 +++++----- RealOne/Debug/RealOne.map | 461 +-- 67 files changed, 3433 insertions(+), 7407 deletions(-) create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.dsf.ui/dialog_settings.xml delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1/3046896fea27001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/108d5b5baa28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/70561a18ab28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0fdc915ab28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/23/e0a2021eab28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2a/0054ead6e427001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2d/f00ed0eae527001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0a41473ec27001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/36/d0c2f257ea27001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/38/90d6b9feac28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/49/d01119a2ac28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/57/7067ce86a928001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/59/70f0c7a5e527001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6a/701013b2a928001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6d/70f34093ea27001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/7b/e06807a1ea27001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8/a07bb5aeab28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/84/101c0ea0ab28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8a/90398905ab28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8e/90249d01a628001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a1/e0477108b728001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a4/501cb0d7a528001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b0/10ac80b5fd27001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b2/40e9aef5ef27001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b7/f039bb8fac28001b1d0af99b6389052e create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c0/a0303f18b828001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/d7/207b7812a628001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e/601375d0f027001b16eaee4b2dec2d39 delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e0/60ce4bc9e327001b16eaee4b2dec2d39 rename PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/{e8/80ffd086a928001b1d0af99b6389052e => e5/102e7408b728001b1d0af99b6389052e} (99%) delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/ec/10da326cac28001b1d0af99b6389052e delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0ef14e4ea27001b16eaee4b2dec2d39 create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/be/history.index create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/c4/history.index create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/d5/0/be/properties.index create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers.snap delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.syncinfo.snap delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/3.tree delete mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/2.snap create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.debug.ui.prefs create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.search/dialog_settings.xml create mode 100644 PlaygroundYoupi/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml diff --git a/PlaygroundYoupi/.metadata/.log b/PlaygroundYoupi/.metadata/.log index 7cd6b59..c0e3679 100644 --- a/PlaygroundYoupi/.metadata/.log +++ b/PlaygroundYoupi/.metadata/.log @@ -391,3 +391,225 @@ java.lang.Exception: The project description file (.project) for 'L476_ats_blink !ENTRY org.eclipse.cdt.core 1 0 2020-11-17 09:17:55.325 !MESSAGE Indexed 'RealOne' (28 sources, 118 headers) in 5.04 sec: 10,966 declarations; 53,931 references; 3 unresolved inclusions; 29 syntax errors; 171 unresolved names (0.26%) + +!ENTRY com.st.stm32cube.ide.mcu.debug.stlink 4 4 2020-11-17 10:27:45.878 +!MESSAGE ST-LINK GDB server failed to start (exit code = 4) + +!ENTRY org.eclipse.cdt.dsf.gdb 4 5012 2020-11-17 10:27:45.903 +!MESSAGE Error in final launch sequence: + +Failed to start GDB server +!STACK 1 +org.eclipse.core.runtime.CoreException: Failed to start GDB server + at org.eclipse.cdt.dsf.concurrent.Query.get(Query.java:112) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugSession(GdbLaunchDelegate.java:242) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugger(GdbLaunchDelegate.java:106) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launch(GdbLaunchDelegate.java:94) + at com.st.stm32cube.ide.mcu.debug.launch.DSFDelegate.launch(DSFDelegate.java:297) + at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:860) + at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:719) + at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1017) + at org.eclipse.debug.internal.ui.DebugUIPlugin$2.run(DebugUIPlugin.java:1220) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) +Caused by: org.eclipse.core.runtime.CoreException: Error in initializing ST-LINK device. +Reason: (4) No device found on target. + at com.st.stm32cube.ide.mcu.debug.stlink.StLinkDebugHardware.verifyServer(StLinkDebugHardware.java:1685) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:159) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:79) + at com.st.stm32cube.ide.mcu.debug.launch.LaunchSequenceUtil.stepStartGDBServer(LaunchSequenceUtil.java:226) + at com.st.stm32cube.ide.mcu.debug.launch.GDBExtendedJtagDSFFinalLaunchSequence_7_12.stepStartGDBServer(GDBExtendedJtagDSFFinalLaunchSequence_7_12.java:100) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.eclipse.cdt.dsf.concurrent.ReflectionSequence$ReflectionStep.execute(ReflectionSequence.java:160) + at org.eclipse.cdt.dsf.concurrent.Sequence.executeStep(Sequence.java:475) + at org.eclipse.cdt.dsf.concurrent.Sequence.access$2(Sequence.java:390) + at org.eclipse.cdt.dsf.concurrent.Sequence$2.handleSuccess(Sequence.java:437) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted(RequestMonitor.java:391) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:317) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.run(FutureTask.java:266) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +!SUBENTRY 1 com.st.stm32cube.ide.mcu.debug.launch 4 0 2020-11-17 10:27:45.903 +!MESSAGE Failed to start GDB server +!STACK 1 +org.eclipse.core.runtime.CoreException: Error in initializing ST-LINK device. +Reason: (4) No device found on target. + at com.st.stm32cube.ide.mcu.debug.stlink.StLinkDebugHardware.verifyServer(StLinkDebugHardware.java:1685) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:159) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:79) + at com.st.stm32cube.ide.mcu.debug.launch.LaunchSequenceUtil.stepStartGDBServer(LaunchSequenceUtil.java:226) + at com.st.stm32cube.ide.mcu.debug.launch.GDBExtendedJtagDSFFinalLaunchSequence_7_12.stepStartGDBServer(GDBExtendedJtagDSFFinalLaunchSequence_7_12.java:100) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.eclipse.cdt.dsf.concurrent.ReflectionSequence$ReflectionStep.execute(ReflectionSequence.java:160) + at org.eclipse.cdt.dsf.concurrent.Sequence.executeStep(Sequence.java:475) + at org.eclipse.cdt.dsf.concurrent.Sequence.access$2(Sequence.java:390) + at org.eclipse.cdt.dsf.concurrent.Sequence$2.handleSuccess(Sequence.java:437) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted(RequestMonitor.java:391) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:317) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.run(FutureTask.java:266) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +!SUBENTRY 2 com.st.stm32cube.ide.mcu.debug.stlink 4 0 2020-11-17 10:27:45.904 +!MESSAGE Error in initializing ST-LINK device. +Reason: (4) No device found on target. + +!ENTRY com.st.stm32cube.ide.mcu.debug.stlink 4 4 2020-11-17 10:28:10.382 +!MESSAGE ST-LINK GDB server failed to start (exit code = 4) + +!ENTRY org.eclipse.cdt.dsf.gdb 4 5012 2020-11-17 10:28:10.412 +!MESSAGE Error in final launch sequence: + +Failed to start GDB server +!STACK 1 +org.eclipse.core.runtime.CoreException: Failed to start GDB server + at org.eclipse.cdt.dsf.concurrent.Query.get(Query.java:112) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugSession(GdbLaunchDelegate.java:242) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugger(GdbLaunchDelegate.java:106) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launch(GdbLaunchDelegate.java:94) + at com.st.stm32cube.ide.mcu.debug.launch.DSFDelegate.launch(DSFDelegate.java:297) + at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:860) + at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:719) + at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1017) + at org.eclipse.debug.internal.ui.DebugUIPlugin$2.run(DebugUIPlugin.java:1220) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) +Caused by: org.eclipse.core.runtime.CoreException: Error in initializing ST-LINK device. +Reason: (4) No device found on target. + at com.st.stm32cube.ide.mcu.debug.stlink.StLinkDebugHardware.verifyServer(StLinkDebugHardware.java:1685) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:159) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:79) + at com.st.stm32cube.ide.mcu.debug.launch.LaunchSequenceUtil.stepStartGDBServer(LaunchSequenceUtil.java:226) + at com.st.stm32cube.ide.mcu.debug.launch.GDBExtendedJtagDSFFinalLaunchSequence_7_12.stepStartGDBServer(GDBExtendedJtagDSFFinalLaunchSequence_7_12.java:100) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.eclipse.cdt.dsf.concurrent.ReflectionSequence$ReflectionStep.execute(ReflectionSequence.java:160) + at org.eclipse.cdt.dsf.concurrent.Sequence.executeStep(Sequence.java:475) + at org.eclipse.cdt.dsf.concurrent.Sequence.access$2(Sequence.java:390) + at org.eclipse.cdt.dsf.concurrent.Sequence$2.handleSuccess(Sequence.java:437) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted(RequestMonitor.java:391) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:317) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.run(FutureTask.java:266) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +!SUBENTRY 1 com.st.stm32cube.ide.mcu.debug.launch 4 0 2020-11-17 10:28:10.412 +!MESSAGE Failed to start GDB server +!STACK 1 +org.eclipse.core.runtime.CoreException: Error in initializing ST-LINK device. +Reason: (4) No device found on target. + at com.st.stm32cube.ide.mcu.debug.stlink.StLinkDebugHardware.verifyServer(StLinkDebugHardware.java:1685) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:159) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:79) + at com.st.stm32cube.ide.mcu.debug.launch.LaunchSequenceUtil.stepStartGDBServer(LaunchSequenceUtil.java:226) + at com.st.stm32cube.ide.mcu.debug.launch.GDBExtendedJtagDSFFinalLaunchSequence_7_12.stepStartGDBServer(GDBExtendedJtagDSFFinalLaunchSequence_7_12.java:100) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.eclipse.cdt.dsf.concurrent.ReflectionSequence$ReflectionStep.execute(ReflectionSequence.java:160) + at org.eclipse.cdt.dsf.concurrent.Sequence.executeStep(Sequence.java:475) + at org.eclipse.cdt.dsf.concurrent.Sequence.access$2(Sequence.java:390) + at org.eclipse.cdt.dsf.concurrent.Sequence$2.handleSuccess(Sequence.java:437) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted(RequestMonitor.java:391) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:317) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.run(FutureTask.java:266) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +!SUBENTRY 2 com.st.stm32cube.ide.mcu.debug.stlink 4 0 2020-11-17 10:28:10.413 +!MESSAGE Error in initializing ST-LINK device. +Reason: (4) No device found on target. + +!ENTRY com.st.stm32cube.ide.mcu.debug.stlink 4 4 2020-11-17 10:28:24.113 +!MESSAGE ST-LINK GDB server failed to start (exit code = 4) + +!ENTRY org.eclipse.cdt.dsf.gdb 4 5012 2020-11-17 10:28:24.145 +!MESSAGE Error in final launch sequence: + +Failed to start GDB server +!STACK 1 +org.eclipse.core.runtime.CoreException: Failed to start GDB server + at org.eclipse.cdt.dsf.concurrent.Query.get(Query.java:112) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugSession(GdbLaunchDelegate.java:242) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launchDebugger(GdbLaunchDelegate.java:106) + at org.eclipse.cdt.dsf.gdb.launching.GdbLaunchDelegate.launch(GdbLaunchDelegate.java:94) + at com.st.stm32cube.ide.mcu.debug.launch.DSFDelegate.launch(DSFDelegate.java:297) + at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:860) + at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:719) + at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1017) + at org.eclipse.debug.internal.ui.DebugUIPlugin$2.run(DebugUIPlugin.java:1220) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) +Caused by: org.eclipse.core.runtime.CoreException: Error in initializing ST-LINK device. +Reason: (4) No device found on target. + at com.st.stm32cube.ide.mcu.debug.stlink.StLinkDebugHardware.verifyServer(StLinkDebugHardware.java:1685) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:159) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:79) + at com.st.stm32cube.ide.mcu.debug.launch.LaunchSequenceUtil.stepStartGDBServer(LaunchSequenceUtil.java:226) + at com.st.stm32cube.ide.mcu.debug.launch.GDBExtendedJtagDSFFinalLaunchSequence_7_12.stepStartGDBServer(GDBExtendedJtagDSFFinalLaunchSequence_7_12.java:100) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.eclipse.cdt.dsf.concurrent.ReflectionSequence$ReflectionStep.execute(ReflectionSequence.java:160) + at org.eclipse.cdt.dsf.concurrent.Sequence.executeStep(Sequence.java:475) + at org.eclipse.cdt.dsf.concurrent.Sequence.access$2(Sequence.java:390) + at org.eclipse.cdt.dsf.concurrent.Sequence$2.handleSuccess(Sequence.java:437) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted(RequestMonitor.java:391) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:317) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.run(FutureTask.java:266) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +!SUBENTRY 1 com.st.stm32cube.ide.mcu.debug.launch 4 0 2020-11-17 10:28:24.145 +!MESSAGE Failed to start GDB server +!STACK 1 +org.eclipse.core.runtime.CoreException: Error in initializing ST-LINK device. +Reason: (4) No device found on target. + at com.st.stm32cube.ide.mcu.debug.stlink.StLinkDebugHardware.verifyServer(StLinkDebugHardware.java:1685) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:159) + at com.st.stm32cube.ide.mcu.debug.launch.export.HardwareDebugUtil.startServer(HardwareDebugUtil.java:79) + at com.st.stm32cube.ide.mcu.debug.launch.LaunchSequenceUtil.stepStartGDBServer(LaunchSequenceUtil.java:226) + at com.st.stm32cube.ide.mcu.debug.launch.GDBExtendedJtagDSFFinalLaunchSequence_7_12.stepStartGDBServer(GDBExtendedJtagDSFFinalLaunchSequence_7_12.java:100) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.eclipse.cdt.dsf.concurrent.ReflectionSequence$ReflectionStep.execute(ReflectionSequence.java:160) + at org.eclipse.cdt.dsf.concurrent.Sequence.executeStep(Sequence.java:475) + at org.eclipse.cdt.dsf.concurrent.Sequence.access$2(Sequence.java:390) + at org.eclipse.cdt.dsf.concurrent.Sequence$2.handleSuccess(Sequence.java:437) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted(RequestMonitor.java:391) + at org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:317) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.run(FutureTask.java:266) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +!SUBENTRY 2 com.st.stm32cube.ide.mcu.debug.stlink 4 0 2020-11-17 10:28:24.145 +!MESSAGE Error in initializing ST-LINK device. +Reason: (4) No device found on target. diff --git a/PlaygroundYoupi/.metadata/.plugins/com.st.stm32cube.ide.mcu.livewatch/params.dat b/PlaygroundYoupi/.metadata/.plugins/com.st.stm32cube.ide.mcu.livewatch/params.dat index e69de29..92f80e6 100644 --- a/PlaygroundYoupi/.metadata/.plugins/com.st.stm32cube.ide.mcu.livewatch/params.dat +++ b/PlaygroundYoupi/.metadata/.plugins/com.st.stm32cube.ide.mcu.livewatch/params.dat @@ -0,0 +1 @@ +NUMBER_FORMAT=0 diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/.log b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/.log index d74b85a..ce74b49 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/.log +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/.log @@ -1,2 +1,3 @@ *** SESSION Nov 05, 2020 10:46:36.34 ------------------------------------------- *** SESSION Nov 16, 2020 08:11:47.28 ------------------------------------------- +*** SESSION Nov 17, 2020 08:14:51.13 ------------------------------------------- diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/RealOne.1605601070222.pdom b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.core/RealOne.1605601070222.pdom index da8b684dc6074af9511b394ce1ff3606a29f7017..a5b84a01564d20adb7c59a8a9d01b6cb849f2def 100644 GIT binary patch delta 20501 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 delta 17062 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 X>4&a?*K|BNIAeX$Hwo*DUUU5)LK;dI diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.dsf.ui/dialog_settings.xml b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.dsf.ui/dialog_settings.xml new file mode 100644 index 0000000..1feea7b --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.dsf.ui/dialog_settings.xml @@ -0,0 +1,9 @@ + +
+
+ + + + +
+
diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/RealOne.build.log b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/RealOne.build.log index 2a67d84..46cf1b1 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/RealOne.build.log +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/RealOne.build.log @@ -1,10 +1,10 @@ -10:09:39 **** Incremental Build of configuration Debug for project RealOne **** +10:38:01 **** Incremental Build of configuration Debug for project RealOne **** make -j8 all arm-none-eabi-size RealOne.elf text data bss dec hex filename - 3748 20 1572 5340 14dc RealOne.elf + 3988 20 1572 5580 15cc RealOne.elf Finished building: default.size.stdout -10:09:39 Build Finished. 0 errors, 0 warnings. (took 338ms) +10:38:01 Build Finished. 0 errors, 0 warnings. (took 315ms) diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml index 8c1e61e..ae4e422 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml @@ -8,4 +8,6 @@ +
+
diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log index fed126f..1aea643 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log @@ -575,3 +575,193 @@ arm-none-eabi-size RealOne.elf 3748 20 1572 5340 14dc RealOne.elf Finished building: default.size.stdout +10:26:55 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +arm-none-eabi-gcc "../Core/Src/stm32l4xx_hal_msp.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32l4xx_hal_msp.d" -MT"Core/Src/stm32l4xx_hal_msp.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/stm32l4xx_hal_msp.o" +arm-none-eabi-gcc "../Core/Src/stm32l4xx_it.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32l4xx_it.d" -MT"Core/Src/stm32l4xx_it.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/stm32l4xx_it.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_hal_msp.c:23: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_it.c:22: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +:0:0: note: this is the location of the previous definition +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_hal_msp.c:23: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_it.c:22: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_hal_msp.c:23: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_it.c:22: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_it.c:22: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/stm32l4xx_hal_msp.c:23: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3976 20 1572 5568 15c0 RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin + +Finished building: RealOne.list + +10:27:43 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3976 20 1572 5568 15c0 RealOne.elf +Finished building: default.size.stdout + +10:28:07 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3976 20 1572 5568 15c0 RealOne.elf +Finished building: default.size.stdout + +10:28:17 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3976 20 1572 5568 15c0 RealOne.elf +Finished building: default.size.stdout + +10:28:21 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3976 20 1572 5568 15c0 RealOne.elf +Finished building: default.size.stdout + +10:28:38 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3976 20 1572 5568 15c0 RealOne.elf +Finished building: default.size.stdout + +10:34:31 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 '-DHSE_VALUE=8000000' '-DMSI_VALUE=4000000' '-DLSI_VALUE=32000' '-DHSE_STARTUP_TIMEOUT=100' '-DHSI_VALUE=16000000' -DDEBUG '-DLSE_STARTUP_TIMEOUT=5000' '-DLSE_VALUE=32768' '-DDATA_CACHE_ENABLE=1' -DUSE_HAL_DRIVER '-DVDD_VALUE=3300' '-DINSTRUCTION_CACHE_ENABLE=1' '-DEXTERNALSAI2_CLOCK_VALUE=2097000' -DSTM32L476xx -DUSE_FULL_LL_DRIVER '-DEXTERNALSAI1_CLOCK_VALUE=2097000' '-DPREFETCH_ENABLE=0' -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:183:0: warning: "VDD_VALUE" redefined + #define VDD_VALUE 3300U /*!< Value of VDD in mv */ + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:186:0: warning: "PREFETCH_ENABLE" redefined + #define PREFETCH_ENABLE 0U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:187:0: warning: "INSTRUCTION_CACHE_ENABLE" redefined + #define INSTRUCTION_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +In file included from ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:30:0, + from ../Core/Inc/main.h:31, + from ../Core/Src/main.c:8: +../Core/Inc/stm32l4xx_hal_conf.h:188:0: warning: "DATA_CACHE_ENABLE" redefined + #define DATA_CACHE_ENABLE 1U + +:0:0: note: this is the location of the previous definition +arm-none-eabi-gcc -o "RealOne.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\camer\Desktop\LoPoSo\RealOne\STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RealOne.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group +Finished building target: RealOne.elf + +arm-none-eabi-objdump -h -S RealOne.elf > "RealOne.list" +arm-none-eabi-objcopy -O binary RealOne.elf "RealOne.bin" +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3988 20 1572 5580 15cc RealOne.elf +Finished building: default.size.stdout + +Finished building: RealOne.bin +Finished building: RealOne.list + + +10:38:01 **** Incremental Build of configuration Debug for project RealOne **** +make -j8 all +arm-none-eabi-size RealOne.elf + text data bss dec hex filename + 3988 20 1572 5580 15cc RealOne.elf +Finished building: default.size.stdout + diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1/3046896fea27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1/3046896fea27001b16eaee4b2dec2d39 deleted file mode 100644 index 34f1106..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/1/3046896fea27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,143 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 2; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - -// -//void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - break; - } - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/108d5b5baa28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/108d5b5baa28001b1d0af99b6389052e deleted file mode 100644 index e48dd9f..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/108d5b5baa28001b1d0af99b6389052e +++ /dev/null @@ -1,219 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - - } - - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -void Init_LSE(void){ - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - - - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/70561a18ab28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/70561a18ab28001b1d0af99b6389052e deleted file mode 100644 index ff0ee5d..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2/70561a18ab28001b1d0af99b6389052e +++ /dev/null @@ -1,214 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - SystemClock_Config_24M_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0fdc915ab28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0fdc915ab28001b1d0af99b6389052e deleted file mode 100644 index ca4366d..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0fdc915ab28001b1d0af99b6389052e +++ /dev/null @@ -1,214 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - SystemClock_Config_24M_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/23/e0a2021eab28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/23/e0a2021eab28001b1d0af99b6389052e deleted file mode 100644 index da33fd1..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/23/e0a2021eab28001b1d0af99b6389052e +++ /dev/null @@ -1,214 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - SystemClock_Config_24M_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2a/0054ead6e427001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2a/0054ead6e427001b16eaee4b2dec2d39 deleted file mode 100644 index 5a08506..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2a/0054ead6e427001b16eaee4b2dec2d39 +++ /dev/null @@ -1,117 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l4xx_ll_bus.h" -#include "stm32l4xx_ll_rcc.h" -#include "stm32l4xx_ll_system.h" -#include "stm32l4xx_ll_utils.h" -#include "stm32l4xx_ll_gpio.h" -#include "stm32l4xx_ll_cortex.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - CLK_TOGGLE(); -} - -// -//void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - __WFI(); - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** - * @brief System Clock Configuration - * The system Clock is configured as follows : - * System Clock source = PLL (MSI) - * SYSCLK(Hz) = 80000000 - * HCLK(Hz) = 80000000 - * AHB Prescaler = 1 - * APB1 Prescaler = 1 - * APB2 Prescaler = 1 - * MSI Frequency(Hz) = 4000000 - * PLL_M = 1 - * PLL_N = 40 - * PLL_R = 2 - * Flash Latency(WS) = 4 - * @param None - * @retval None - */ -void SystemClock_Config(void) { -/* MSI configuration and activation */ -LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); -LL_RCC_MSI_Enable(); -while (LL_RCC_MSI_IsReady() != 1) - { }; - -/* Main PLL configuration and activation */ -LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); -LL_RCC_PLL_Enable(); -LL_RCC_PLL_EnableDomain_SYS(); -while(LL_RCC_PLL_IsReady() != 1) - { }; - -/* Sysclk activation on the main PLL */ -LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); -LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); -while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { }; - -/* Set APB1 & APB2 prescaler*/ -LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); -LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - -/* Update the global variable called SystemCoreClock */ -SystemCoreClockUpdate(); -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2d/f00ed0eae527001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2d/f00ed0eae527001b16eaee4b2dec2d39 deleted file mode 100644 index 86d24d7..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/2d/f00ed0eae527001b16eaee4b2dec2d39 +++ /dev/null @@ -1,132 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - CLK_TOGGLE(); -} - -// -//void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - __WFI(); - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0a41473ec27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0a41473ec27001b16eaee4b2dec2d39 deleted file mode 100644 index dc267cb..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0a41473ec27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,142 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 2; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - -void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - break; - } - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/36/d0c2f257ea27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/36/d0c2f257ea27001b16eaee4b2dec2d39 deleted file mode 100644 index e541f0f..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/36/d0c2f257ea27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,132 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - CLK_TOGGLE(); -} - -// -//void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - __WFI(); - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/38/90d6b9feac28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/38/90d6b9feac28001b1d0af99b6389052e deleted file mode 100644 index fca2107..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/38/90d6b9feac28001b1d0af99b6389052e +++ /dev/null @@ -1,215 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 1; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ -// if (RCC->BDCR & RCC_BDCR_LSEON) { -// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); -// LL_PWR_EnableBkUpAccess(); -// -// //expe = register RTC -// expe = RTC->BKP0R; -// if (expe == 0){ -// expe = 1; -// RTC->BKP0R = expe; -// }else if (expe != 0 && BLUE_BUTTON()){ -// expe ++; -// RTC->BKP0R = expe; -// } -// }else{ -// SystemClock_Config_24M_LSE(); -// expe = 1; -// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); -// LL_PWR_EnableBkUpAccess(); -// RTC->BKP0R = expe; -// } -// LL_PWR_DisableBkUpAccess(); - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/49/d01119a2ac28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/49/d01119a2ac28001b1d0af99b6389052e deleted file mode 100644 index 016c459..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/49/d01119a2ac28001b1d0af99b6389052e +++ /dev/null @@ -1,215 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 1; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ -// if (RCC->BDCR & RCC_BDCR_LSEON) { -// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); -// LL_PWR_EnableBkUpAccess(); -// -// //expe = register RTC -// expe = RTC->BKP0R; -// if (expe == 0){ -// expe = 1; -// RTC->BKP0R = expe; -// }else if (expe != 0 && BLUE_BUTTON()){ -// expe ++; -// RTC->BKP0R = expe; -// } -// }else{ -// SystemClock_Config_24M_LSE(); -// expe = 1; -// LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); -// LL_PWR_EnableBkUpAccess(); -// RTC->BKP0R = expe; -// } -// LL_PWR_DisableBkUpAccess(); - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/57/7067ce86a928001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/57/7067ce86a928001b1d0af99b6389052e deleted file mode 100644 index ffe6fd9..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/57/7067ce86a928001b1d0af99b6389052e +++ /dev/null @@ -1,203 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - //expe = register RTC - if (expe == 0){ - expe = 1; - //save RTC - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - //save RTC - } - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/59/70f0c7a5e527001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/59/70f0c7a5e527001b16eaee4b2dec2d39 deleted file mode 100644 index 780d0d3..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/59/70f0c7a5e527001b16eaee4b2dec2d39 +++ /dev/null @@ -1,137 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l4xx_ll_bus.h" -#include "stm32l4xx_ll_rcc.h" -#include "stm32l4xx_ll_system.h" -#include "stm32l4xx_ll_utils.h" -#include "stm32l4xx_ll_gpio.h" -#include "stm32l4xx_ll_cortex.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - CLK_TOGGLE(); -} - -// -//void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - __WFI(); - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6a/701013b2a928001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6a/701013b2a928001b1d0af99b6389052e deleted file mode 100644 index 2902365..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6a/701013b2a928001b1d0af99b6389052e +++ /dev/null @@ -1,219 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC_BKP0R; - if (expe == 0){ - expe = 1; - RTC_BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC_BKP0R = expe; - } - }else{ - - } - - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -void Init_LSE(void){ - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - - - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6d/70f34093ea27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6d/70f34093ea27001b16eaee4b2dec2d39 deleted file mode 100644 index 460e791..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/6d/70f34093ea27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,81 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.h - * @brief : Header for main.c file. - * This file contains the common defines of the application. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2020 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l4xx_hal.h" -#include "stm32l4xx_ll_crs.h" -#include "stm32l4xx_ll_rcc.h" -#include "stm32l4xx_ll_bus.h" -#include "stm32l4xx_ll_system.h" -#include "stm32l4xx_ll_exti.h" -#include "stm32l4xx_ll_cortex.h" -#include "stm32l4xx_ll_utils.h" -#include "stm32l4xx_ll_pwr.h" -#include "stm32l4xx_ll_dma.h" -#include "stm32l4xx_ll_gpio.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void Error_Handler(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -/* Private defines -----------------------------------------------------------*/ -/* USER CODE BEGIN Private defines */ - -/* USER CODE END Private defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/7b/e06807a1ea27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/7b/e06807a1ea27001b16eaee4b2dec2d39 deleted file mode 100644 index ffe9917..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/7b/e06807a1ea27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,81 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.h - * @brief : Header for main.c file. - * This file contains the common defines of the application. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2020 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l4xx_hal.h" -#include "stm32l4xx_ll_crs.h" -#include "stm32l4xx_ll_rcc.h" -#include "stm32l4xx_ll_bus.h" -#include "stm32l4xx_ll_system.h" -#include "stm32l4xx_ll_exti.h" -#include "stm32l4xx_ll_cortex.h" -#include "stm32l4xx_ll_utils.h" -#include "stm32l4xx_ll_pwr.h" -#include "stm32l4xx_ll_dma.h" -#include "stm32l4xx_ll_gpio.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "gpio.h" -/* USER CODE END Includes */ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void Error_Handler(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -/* Private defines -----------------------------------------------------------*/ -/* USER CODE BEGIN Private defines */ - -/* USER CODE END Private defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8/a07bb5aeab28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8/a07bb5aeab28001b1d0af99b6389052e deleted file mode 100644 index ca56a69..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8/a07bb5aeab28001b1d0af99b6389052e +++ /dev/null @@ -1,221 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - Init_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - - - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - - LL_PWR_EnableBkUpAccess(); -LL_RCC_ForceBackupDomainReset(); -LL_RCC_ReleaseBackupDomainReset(); -LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/84/101c0ea0ab28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/84/101c0ea0ab28001b1d0af99b6389052e deleted file mode 100644 index 04669ae..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/84/101c0ea0ab28001b1d0af99b6389052e +++ /dev/null @@ -1,214 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - SystemClock_Config_24M_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8a/90398905ab28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8a/90398905ab28001b1d0af99b6389052e deleted file mode 100644 index bddfd23..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8a/90398905ab28001b1d0af99b6389052e +++ /dev/null @@ -1,223 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - Init_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -void Init_LSE(void){ - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - - - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8e/90249d01a628001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8e/90249d01a628001b1d0af99b6389052e deleted file mode 100644 index 6dc16a9..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/8e/90249d01a628001b1d0af99b6389052e +++ /dev/null @@ -1,203 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - //expe = register RTC - if (expe == 0){ - expe = 1; - //save RTC - }else if (expe /= 0 && BLUE_BUTTON()){ - expe ++; - //save RTC - } - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a1/e0477108b728001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a1/e0477108b728001b1d0af99b6389052e new file mode 100644 index 0000000..90ce987 --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a1/e0477108b728001b1d0af99b6389052e @@ -0,0 +1,221 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + + + // config GPIO + GPIO_init(); + +// if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + if (expe == 0) { + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + + if (BLUE_BUTTON()){ + + expe ++; + + if (expe > 2) expe = 1; + RTC->BKP0R = expe; + } +// }else{ + +// } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + } + + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + LL_SYSTICK_EnableIT(); + + //Setup Sleep mode + LL_LPM_EnableSleep(); + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + switch(expe){ + case 1: + __WFI(); + break; + case 2: + LL_RCC_MSI_EnablePLLMode(); + break; + } + + } + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a4/501cb0d7a528001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a4/501cb0d7a528001b1d0af99b6389052e deleted file mode 100644 index cc36d3b..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/a4/501cb0d7a528001b1d0af99b6389052e +++ /dev/null @@ -1,204 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - - //expe = register RTC - if (expe == 0){ - expe = 1; - //save RTC - }else if (expe /= 0 && BLUE_BUTTON()){ - expe ++; - //save RTC - } - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b0/10ac80b5fd27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b0/10ac80b5fd27001b16eaee4b2dec2d39 deleted file mode 100644 index 834b3d8..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b0/10ac80b5fd27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,204 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - //expe = registre RTC - //if expe == 0 => expe = 1 storer dans RTC - //if expe /= 0 and BLUE_BUTTON() expe ++ and save RTC - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b2/40e9aef5ef27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b2/40e9aef5ef27001b16eaee4b2dec2d39 deleted file mode 100644 index 7b3040b..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b2/40e9aef5ef27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,81 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.h - * @brief : Header for main.c file. - * This file contains the common defines of the application. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2020 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l4xx_hal.h" -#include "stm32l4xx_ll_crs.h" -#include "stm32l4xx_ll_rcc.h" -#include "stm32l4xx_ll_bus.h" -#include "stm32l4xx_ll_system.h" -#include "stm32l4xx_ll_exti.h" -#include "stm32l4xx_ll_cortex.h" -#include "stm32l4xx_ll_utils.h" -#include "stm32l4xx_ll_pwr.h" -#include "stm32l4xx_ll_dma.h" -#include "stm32l4xx_ll_gpio.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "../Src/gpio.h" -/* USER CODE END Includes */ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void Error_Handler(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -/* Private defines -----------------------------------------------------------*/ -/* USER CODE BEGIN Private defines */ - -/* USER CODE END Private defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b7/f039bb8fac28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b7/f039bb8fac28001b1d0af99b6389052e deleted file mode 100644 index 86d444f..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/b7/f039bb8fac28001b1d0af99b6389052e +++ /dev/null @@ -1,215 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - SystemClock_Config_24M_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c0/a0303f18b828001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c0/a0303f18b828001b1d0af99b6389052e new file mode 100644 index 0000000..17e32e2 --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/c0/a0303f18b828001b1d0af99b6389052e @@ -0,0 +1,292 @@ +/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: + * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. + * The time base is provided by Systick (1000 ticks per second). + * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). + */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +// #if defined(USE_FULL_ASSERT) +// #include "stm32_assert.h" +// #endif /* USE_FULL_ASSERT */ + +#include "gpio.h" + +// systick interrupt handler +volatile uint32_t msTicks = 0; +volatile uint8_t expe = 0; +volatile uint8_t blue_mode = 0; + +void SysTick_Handler() +{ + if ( BLUE_BUTTON() ){ + blue_mode = 1 ; + } + + msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ + if (msTicks == 5 * expe){ + LED_GREEN(0); + }else if(msTicks >= 200){ + msTicks = 0; + LED_GREEN(1); + } + if(expe == 2){ + CLK_TOGGLE(); + } +} + + + + +int main(void) +{ + + + // config GPIO + GPIO_init(); + +// if (RCC->BDCR & RCC_BDCR_LSEON) { + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + + //expe = register RTC + expe = RTC->BKP0R; + if (expe == 0) { + SystemClock_Config_24M_LSE(); + expe = 1; + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_PWR_EnableBkUpAccess(); + RTC->BKP0R = expe; + } + + if (BLUE_BUTTON()){ + + expe ++; + + if (expe > 4) expe = 1; + RTC->BKP0R = expe; + } +// }else{ + +// } + LL_PWR_DisableBkUpAccess(); + switch(expe){ + case 1: + /* Configure the system clock */ + SystemClock_Config_80M(); + break; + case 2: + /* Configure the system clock */ + SystemClock_Config_24M_LSE(); + break; + default: //case 3 to 8 + SystemClock_Config_24M_LSE_FL3_VS2(); + break; + } + + + // init systick timer (tick period at 1 ms) + LL_Init1msTick( SystemCoreClock ); + LL_SYSTICK_EnableIT(); + + //Setup Sleep mode + LL_LPM_EnableSleep(); + //LL_LPM_EnableSleepOnExit(); + + while (1) { + if (blue_mode){ + switch(expe){ + case 1: + case 3: + __WFI(); + break; + + case 2: + case 4: + LL_RCC_MSI_EnablePLLMode(); + break; + + + } + + } + } +} + +void SystemClock_Config_24M_LSE_FL3_VS2(void){ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_3); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_3) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE2); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + */ +void SystemClock_Config_24M_LSE(void) +{ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + + +void SystemClock_Config_80M(void) +{ + LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(80000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/d7/207b7812a628001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/d7/207b7812a628001b1d0af99b6389052e deleted file mode 100644 index 17a3902..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/d7/207b7812a628001b1d0af99b6389052e +++ /dev/null @@ -1,203 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - //expe = register RTC - if (expe == 0){ - expe = 1; - //save RTC - }else if (expe /= 0 && BLUE_BUTTON()){ - expe ++; - //save RTC - } - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e/601375d0f027001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e/601375d0f027001b16eaee4b2dec2d39 deleted file mode 100644 index 6488620..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e/601375d0f027001b16eaee4b2dec2d39 +++ /dev/null @@ -1,143 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 2; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - -void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e0/60ce4bc9e327001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e0/60ce4bc9e327001b16eaee4b2dec2d39 deleted file mode 100644 index 26fbcf6..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e0/60ce4bc9e327001b16eaee4b2dec2d39 +++ /dev/null @@ -1,252 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2020 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -RTC_HandleTypeDef hrtc; - -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_RTC_Init(void); -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_RTC_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnablePLLMode(); - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief RTC Initialization Function - * @param None - * @retval None - */ -static void MX_RTC_Init(void) -{ - - /* USER CODE BEGIN RTC_Init 0 */ - - /* USER CODE END RTC_Init 0 */ - - /* USER CODE BEGIN RTC_Init 1 */ - - /* USER CODE END RTC_Init 1 */ - /** Initialize RTC Only - */ - hrtc.Instance = RTC; - hrtc.Init.HourFormat = RTC_HOURFORMAT_24; - hrtc.Init.AsynchPrediv = 127; - hrtc.Init.SynchPrediv = 255; - hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; - hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE; - hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; - hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; - if (HAL_RTC_Init(&hrtc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN RTC_Init 2 */ - - /* USER CODE END RTC_Init 2 */ - -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - - /* USER CODE END Error_Handler_Debug */ -} - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e8/80ffd086a928001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e5/102e7408b728001b1d0af99b6389052e similarity index 99% rename from PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e8/80ffd086a928001b1d0af99b6389052e rename to PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e5/102e7408b728001b1d0af99b6389052e index ec873ae..dd8d8eb 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e8/80ffd086a928001b1d0af99b6389052e +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/e5/102e7408b728001b1d0af99b6389052e @@ -64,6 +64,7 @@ extern "C" { void Error_Handler(void); void SystemClock_Config_24M_LSE(void); void SystemClock_Config_80M(void); +void Init_LSE(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/ec/10da326cac28001b1d0af99b6389052e b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/ec/10da326cac28001b1d0af99b6389052e deleted file mode 100644 index c69704a..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/ec/10da326cac28001b1d0af99b6389052e +++ /dev/null @@ -1,221 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 0; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - - - -int main(void) -{ - if (RCC->BDCR & RCC_BDCR_LSEON) { - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - - //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0){ - expe = 1; - RTC->BKP0R = expe; - }else if (expe != 0 && BLUE_BUTTON()){ - expe ++; - RTC->BKP0R = expe; - } - }else{ - SystemClock_Config_24M_LSE(); - expe = 1; - LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - LL_PWR_EnableBkUpAccess(); - RTC->BKP0R = expe; - } - LL_PWR_DisableBkUpAccess(); - - - switch(expe){ - case 1: - /* Configure the system clock */ - SystemClock_Config_80M(); - break; - case 2: - /* Configure the system clock */ - SystemClock_Config_24M_LSE(); - break; - } - - - - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - LL_RCC_MSI_EnablePLLMode(); - break; - } - - } - } -} - - - -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config_24M_LSE(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); -// LL_RCC_MSI_EnablePLLMode(); - - LL_PWR_EnableBkUpAccess(); -LL_RCC_ForceBackupDomainReset(); -LL_RCC_ReleaseBackupDomainReset(); -LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} - - -void SystemClock_Config_80M(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0ef14e4ea27001b16eaee4b2dec2d39 b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0ef14e4ea27001b16eaee4b2dec2d39 deleted file mode 100644 index 84de6df..0000000 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0ef14e4ea27001b16eaee4b2dec2d39 +++ /dev/null @@ -1,143 +0,0 @@ -/* Project L476_ats_blink for STM32L476 mounted on Nucleo board: - * the user LED (mounted on pin PA-5) is flashed every second for 50 ms. - * The time base is provided by Systick (1000 ticks per second). - * The clock configuration is the default one (Sysclk = 80 MHz, derived from MSI and PLL). - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -// #if defined(USE_FULL_ASSERT) -// #include "stm32_assert.h" -// #endif /* USE_FULL_ASSERT */ - -#include "gpio.h" - -// systick interrupt handler -volatile uint32_t msTicks = 0; -volatile uint8_t expe = 2; -volatile uint8_t blue_mode = 0; - -void SysTick_Handler() -{ - if ( BLUE_BUTTON() ){ - blue_mode = 1 ; - } - - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5){ - LED_GREEN(0); - }else if(msTicks >= 200){ - msTicks = 0; - LED_GREEN(1); - } - if(expe == 2){ - CLK_TOGGLE(); - } -} - - -void SystemClock_Config(void); - -int main(void) -{ -/* Configure the system clock */ -SystemClock_Config(); - -// config GPIO -GPIO_init(); - -// init systick timer (tick period at 1 ms) -LL_Init1msTick( SystemCoreClock ); -LL_SYSTICK_EnableIT(); - -//Setup Sleep mode -LL_LPM_EnableSleep(); -//LL_LPM_EnableSleepOnExit(); - -while (1) { - if (blue_mode){ - switch(expe){ - case 1: - __WFI(); - break; - case 2: - break; - } - } - -// else { -// LED_GREEN(0); -// LL_mDelay(950); -// LED_GREEN(1); -// LL_mDelay(50); -// } - } -} - -/** -/** - * @brief System Clock Configuration - * @retval None - * 24Mhz + RTC + LSE - */ -void SystemClock_Config(void) -{ - LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - { - } - LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - LL_RCC_MSI_Enable(); - - /* Wait till MSI is ready */ - while(LL_RCC_MSI_IsReady() != 1) - { - - } - - LL_RCC_LSE_Enable(); - - /* Wait till LSE is ready */ - while(LL_RCC_LSE_IsReady() != 1) - { - - } - LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - LL_RCC_EnableRTC(); - - LL_RCC_MSI_EnableRangeSelection(); - LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - LL_RCC_MSI_SetCalibTrimming(0); - LL_RCC_MSI_EnablePLLMode(); - LL_PWR_EnableBkUpAccess(); - LL_RCC_ForceBackupDomainReset(); - LL_RCC_ReleaseBackupDomainReset(); - LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - - LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - LL_RCC_PLL_EnableDomain_SYS(); - LL_RCC_PLL_Enable(); - - /* Wait till PLL is ready */ - while(LL_RCC_PLL_IsReady() != 1) - { - - } - LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - - /* Wait till System clock is ready */ - while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - { - - } - LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { -// Error_Handler(); - } -} diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/be/history.index b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/be/history.index new file mode 100644 index 0000000000000000000000000000000000000000..8a48e016d1d6fbbc1c6db2384d89c2d4747d523e GIT binary patch literal 49 zcmZQ#U|?Wm5YTtdFG|(-%uCkKP0Y;G%V1y>&@18CuE8KJ%k^`1awn@^+i|_CrHl*= E02OWw)Bpeg literal 0 HcmV?d00001 diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/c4/history.index b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.indexes/bf/c4/history.index new file mode 100644 index 0000000000000000000000000000000000000000..53495617b8166bff7e760a7a6c1d186f3270c3fc GIT binary patch literal 313 zcmZQ#U|?Wm5YTtdFG|%9E=tzVP0Y;GOJ?9%U|=t?LxVwDmh0#27P@=7ipxupUX=t~?MdzG1_mi|dfY#cue4#SNB4W+RIy g*876RAG9AZLl#e&3A6>*qJlyNsqTxULmfzyFiEw&z0|mH`QQKlDF9GV>4Wf# zBt{x0&j*GdiZBEbLNP+lIH`6VwW}UV0>BIYh#dkzFEj4~s%Q$0Rd0 i6#XcMjvXg2%@4ym=d1WYl4jWai%gdm8GSFf&(jZpYC7Wp literal 0 HcmV?d00001 diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers new file mode 100644 index 0000000000000000000000000000000000000000..c1eca4477bbfd5b894a630c6811617f3d21df573 GIT binary patch literal 1421 zcmeHHTZ_{`6h3K$uD6#3L4A;*;srEux7CM&h_(w|=&Ecg6pWPV%rPB1nTazK>Ha)_ z#QN+{@Xc3eHcL$vix29Pfgy12m+yQ45W?l;5Q%spG3hIfNvdg55H4d104?|2cjitD z9w?p1NChtq#+2EZ;jGGI>U?54;u4=}B#TmUX%C2Apoa5scZ1JtWj;PCu}*YrgFVls zOVwAEw6*a?jqfWo7MaiPWl!K*GeDz2lw>B51p(Y{TKv!km&Oty8ad7h7y5Zs%uv?} z+65Xzatz_R&l-L2q8HUui(Y%5Ui7H*1}?2iOjV^R4vA#K`9AFTvR4MR$tWpMX9F|~ ztIBMoUaC}Or~AnKJ~FqD>~tSjnzc8&<1B=$P2GB5aP!wXw?E0a309)v6wf0rXxr=eB=g#$vF+{2WD*@>&K)o5h)ae`*eW$w Wn%g5!Apxv&O6$IpRma2akKX`B+0HEh literal 0 HcmV?d00001 diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.markers.snap deleted file mode 100644 index f7dd4ae7eb6c71b3a5ffed719411c5ef7b75816a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7932 zcmeHMO>Y}T7@q7#Bz#Gzq6h+1BeygV5xe;SRhCfe+D4A#q;2e&NU>$DcgN0P@2r`f z4T-o=IKmByKfsj>CnQ=SxbP2vBjv;e3EBu1mA3HC?#9_Tj%&xUl!_fC(t2k+`#$f- z^FFh__|+%ZPTxS!PQ3E@Z(n@&?J0zig5HWP6RmNXkywh;4Z`hMF26W8o1Nd>EN2qg zvUfMO!1S0c%(>ZyoLJWyWv=Vdb=YDA{$Z#;Dd+`@*P=vk(56kIx*?*v#Yt3Xb{&nO zaocjZP8JLmsmW9xJ+7~7JSQ|R6ojg)=qbl0JZ(^+RT=~~9h38EX2@9+jhV!@wHi^; ziPhCryi97;7KCHU46=#Fo19vliY-_S20hWBj4U~3g>bl`Ov63r$IOZEzgzuh+jYRz z?N2|r{{9aaJ2_;0$06=k5*ku(E9j+;*qYn|YfbbRz$4&2-vor7@n@nN8mAJG3i|{g z{|jRmqW7rSCaXK%S+{CBAH2-(@Tj<*>nVR z;=&|GJI3oi#s|L5e|dS>7Ki~YdpVLyF zweOv~zISd7!;}{zSC-Rnr}N3o!^8EBZ_vHIYfzRn4E27WNqH=4uu%HQGk;X|A|QD% zKorVhDrbC$5>zyT1I!pVwK|F8si`Tv=9YSn18F-IgYu|ZkI$WtuS;xG(yug_o&Sf>LpNGn3>gJIOjVHl)P`WV~}L;ZUgCiTN0h0=$v zB}lzH3{(1NkV5Gi7^I-*_ck?|>26BvFzdImQCQYj*X~%1%1pfHzCA-Wn?x7HfZnV( zH179pj%}d{ViG2>CNN=!?B$d-9noHQKl^p}i|_S23Od&=JPcBCYM!*xvmkUXaiZ0m z7G+{l<8{K(ljyZB->I~g=eL@~W7o4?*3%jT*^smxCWRV|r#X4gA)vkt`E+^jb#yAY zLBK%5r1mjJM$lw%h178BBWH&PpLh+HfT3! z*@=U3p)&{1LHrnKT@Y_l73`cD}?s1FE-9KC3z=W<&RX)_5er(RBi zP^7i;`E!dsmqcQ+^9GZie1%e}I07?EV37X?UYmZ$Ve)Fa>M&ipr_^2|U-~6-)5U;B zmEOTjbg*T1ezBa*rF#aH?gYr+&EzHY-@^T+vhIx5R_|ntbX!O-b;skKvh))3f^729-eEH^FcmmjW zhLL>v?#;3%n${;yFtQjF7+NTYEix N)79l&-2vx<{{Xq~IRXFx diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.syncinfo.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RealOne/.syncinfo.snap deleted file mode 100644 index 5ed84375fbfb43c19b562b7b5b1abfa023d5bff1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 bcmZ?R*xjhShe1S2b=vdAllRFv(3uYagBvyR diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap deleted file mode 100644 index 947df51a4d7f2243227814119a8b831596973060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 bcmZ?R*xjhShe1S2b=vdAllRFvjBq{x^zU+? diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap deleted file mode 100644 index 947df51a4d7f2243227814119a8b831596973060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 bcmZ?R*xjhShe1S2b=vdAllRFvjBq{x^zU+? diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap deleted file mode 100644 index 947df51a4d7f2243227814119a8b831596973060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 bcmZ?R*xjhShe1S2b=vdAllRFvjBq{x^zU+? diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree deleted file mode 100644 index cee79ab1ec2c1c872f3f9d12a26db0142ec9eddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25945 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 I-h%)9KTuwII{*Lx diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/3.tree b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/.root/3.tree new file mode 100644 index 0000000000000000000000000000000000000000..54e77b2999d4ba73698eadf42d70dc528abffafa GIT binary patch literal 12645 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 E7XVhw4gdfE diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/2.snap b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.resources/2.snap deleted file mode 100644 index 5b0c6ac8659ec0df648bb1ddbc331c54624043f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24417 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 a47W~-5yFdcis@M{yB(w$fxi?|%>My}RnX%A diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.debug.ui.prefs b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.debug.ui.prefs new file mode 100644 index 0000000..c03690a --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.debug.ui.prefs @@ -0,0 +1,7 @@ +columnOrderKeyEXE=0,1,2,3,4,5 +columnOrderKeySF=0,1,2,3,4,5 +columnSortDirectionKeyEXE=128 +columnSortDirectionKeySF=128 +eclipse.preferences.version=1 +visibleColumnsKeyEXE=1,1,1,0,0,0 +visibleColumnsKeySF=1,1,0,0,0,0 diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs index 80fb806..77207d9 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs @@ -4,4 +4,4 @@ //org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.postmortemLaunchType=org.eclipse.cdt.dsf.gdb.launch.coreCLaunch,debug,; //org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.remoteApplicationLaunchType=org.eclipse.rse.remotecdt.dsf.debug,debug,; eclipse.preferences.version=1 -prefWatchExpressions=\r\n\r\n\r\n\r\n\r\n\r\n\r\n +prefWatchExpressions=\r\n\r\n\r\n\r\n\r\n\r\n diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs index 315be71..371f3d6 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs @@ -5,4 +5,4 @@ configDescList=org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:L476_ats_blink-m eclipse.preferences.version=1 org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:L476_ats_blink-master\ Debug/activeLaunchMode=run org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:L476_ats_blink-master\ Debug/activeLaunchTarget=null\:--- -org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:RealOne\ Debug/activeLaunchMode=debug +org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:RealOne\ Debug/activeLaunchMode=run diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index 87a46a7..c611f30 100644 --- a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,9 +1,9 @@ - - + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration ModelMigrationProcessor.001 - + @@ -12,9 +12,9 @@ topLevel shellMaximized - - - + + + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -70,68 +70,68 @@ persp.viewSC:com.st.stm32cube.ide.mcu.buildanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.stackanalyzer.stackanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.sfrview - - - + + + View categoryTag:General - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:General - - - - - + + + + + View categoryTag:General - + View categoryTag:General - + View categoryTag:Make - - - + + + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - - + + View categoryTag:C/C++ - + View categoryTag:C/C++ @@ -140,7 +140,7 @@ - + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -157,20 +157,20 @@ persp.actionSet:org.eclipse.debug.ui.launchActionSet persp.newWizSC:com.st.stm32cube.common.projectcreation.ui.stm32projectwizard persp.newWizSC:com.st.stm32cube.common.projectcreation.ui.stm32projectfromiocwizard - - - + + + View categoryTag:General active - - - - - - + + + + + + View categoryTag:Device Configuration Tool @@ -179,7 +179,7 @@ - + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -226,116 +226,116 @@ persp.viewSC:com.st.stm32cube.ide.mcu.livewatch.LiveExpressionsView persp.viewSC:com.st.stm32cube.ide.mcu.faultanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.sfrview - - - + + + org.eclipse.e4.primaryNavigationStack - + View categoryTag:Debug - + View categoryTag:General - - + + View categoryTag:Debug - - - - + + + + org.eclipse.e4.secondaryNavigationStack - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + Debug - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug @@ -344,1952 +344,1953 @@ - - + + View categoryTag:Help - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:Help - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Help - - + + org.eclipse.e4.primaryDataStack EditorStack active - - + + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor active + activeOnClose - + Editor removeOnHide org.eclipse.cdt.ui.editor.asm.AsmEditor - + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor - - + + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor - + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor - + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor - + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.CEditor + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Make - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:Device Configuration Tool - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - - + + toolbarSeparator - + - + Draggable - + - + toolbarSeparator - + - + Draggable - + toolbarSeparator - + - + Draggable - + Draggable - + Draggable - + Draggable - + toolbarSeparator - + - + Draggable - + - - Draggable - - - Draggable - - + toolbarSeparator - + - + toolbarSeparator - + - + Draggable - + stretch SHOW_RESTORE_MENU - + Draggable HIDEABLE SHOW_RESTORE_MENU - - + + stretch - + Draggable - + Draggable - - + + TrimStack Draggable - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + platform:win32 - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + - - + + platform:win32 - - - - - - + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor removeOnHide - + View categoryTag:Device Configuration Tool - + View categoryTag:C/C++ - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Make - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Help - + View categoryTag:Connections - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:Remote Systems - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Team - + View categoryTag:Team - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - - + + glue move_after:PerspectiveSpacer SHOW_RESTORE_MENU - + move_after:Spacer Glue HIDEABLE SHOW_RESTORE_MENU - + glue move_after:SearchField SHOW_RESTORE_MENU - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.search/dialog_settings.xml b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.search/dialog_settings.xml new file mode 100644 index 0000000..f44eb4b --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.search/dialog_settings.xml @@ -0,0 +1,28 @@ + +
+
+ +
+
+ + + + + + + + + + +
+
+ +
+
+ + + + + +
+
diff --git a/PlaygroundYoupi/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml new file mode 100644 index 0000000..0b4c833 --- /dev/null +++ b/PlaygroundYoupi/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml @@ -0,0 +1,23 @@ + +
+
+ + + + + + + + + + + +
+
+ + + + + +
+
diff --git a/RealOne/Core/Inc/main.h b/RealOne/Core/Inc/main.h index dd8d8eb..0543848 100644 --- a/RealOne/Core/Inc/main.h +++ b/RealOne/Core/Inc/main.h @@ -63,6 +63,7 @@ extern "C" { /* Exported functions prototypes ---------------------------------------------*/ void Error_Handler(void); void SystemClock_Config_24M_LSE(void); +void SystemClock_Config_24M_LSE_FL3_VS2(void); void SystemClock_Config_80M(void); void Init_LSE(void); /* USER CODE BEGIN EFP */ diff --git a/RealOne/Core/Src/main.c b/RealOne/Core/Src/main.c index 90ce987..7f70e86 100644 --- a/RealOne/Core/Src/main.c +++ b/RealOne/Core/Src/main.c @@ -30,7 +30,7 @@ void SysTick_Handler() msTicks = 0; LED_GREEN(1); } - if(expe == 2){ + if(expe == 2 || expe == 4){ CLK_TOGGLE(); } } @@ -63,7 +63,7 @@ int main(void) expe ++; - if (expe > 2) expe = 1; + if (expe > 4) expe = 1; RTC->BKP0R = expe; } // }else{ @@ -79,6 +79,9 @@ int main(void) /* Configure the system clock */ SystemClock_Config_24M_LSE(); break; + default: //case 3 to 8 + SystemClock_Config_24M_LSE_FL3_VS2(); + break; } @@ -94,17 +97,85 @@ int main(void) if (blue_mode){ switch(expe){ case 1: + case 3: __WFI(); break; + case 2: + case 4: LL_RCC_MSI_EnablePLLMode(); break; + + } } } } +void SystemClock_Config_24M_LSE_FL3_VS2(void){ + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + LL_FLASH_SetLatency(LL_FLASH_LATENCY_3); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_3) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE2); + LL_RCC_MSI_Enable(); + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + { + + } + + LL_PWR_EnableBkUpAccess(); +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + + LL_RCC_MSI_EnableRangeSelection(); + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + LL_RCC_MSI_SetCalibTrimming(0); + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + LL_RCC_EnableRTC(); + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + LL_RCC_PLL_EnableDomain_SYS(); + LL_RCC_PLL_Enable(); + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_SetSystemCoreClock(24000000); + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + { + // Error_Handler(); + } +} + /** * @brief System Clock Configuration * @retval None diff --git a/RealOne/Debug/Core/Src/main.o b/RealOne/Debug/Core/Src/main.o index f1c5541964bde7c2df68bc7508e92e7a6d8f700e..e721792cc9ec538c3d0534171d2c950089e120d2 100644 GIT binary patch delta 299747 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�|9QqwMJAE<|Pw28!AN>NaIDI!0dR=w;X&RJm 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 z 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⋘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
@&UzRG#<<7g2labN&P% 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�kdV|Okj@uL@z6IvDtNa4_PMQB5k*` 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 z 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 delta 298722 zcmY(r1zc2X*FHQ0Gcet~CoztQfnCQuc6;n@J$A=A9vu}#1Qm3vsFdBJqNGhKsDP*- z3Kk*~wqT*(wRoTR{Xd_-pZn%s_gdGw*4lN~p3;j$d@l?Mw%dNR({S*Q-;$1;2AtcR zTO2O_nvVZ7IGl4WJYCNJ zl%ZvBH`g4F{a5wRU&5y%)YHBA4+Z@=9;Qj$TB%#Djf)pIhjchs*Is7py4#&i`!Vwh zqMP!ZCOx=ugSbgH@b2H*kD%=LoNJufe#k zVCifjN0?MwX&^Y$Qos==*H#({db9E3rLxvvr5xdH?f@4KXQ|);+g`F(H|nE^Bh2Dv z!QNdVtadqyHo*cmThgC zt(Sl!epV|p2)eM}r1cwc!ekur%m0uGMV#W2|B!k92P&^>E8c>>Y;Re8bI&foEUy*y z7p&-wN=0pDFh`QY2FU((W_AMFIv0x5F7Tfy;fUAQR_Y3JsKuwY(m=44T6}9OjRbkr zvZ1!(E!aUVezldBf#DNb;SK}PBdeAxMl`rIz; zPDKlDU-l-B!`K=e+p^7+Mwd66+5SocPUUoE{RTt6Ap6<1P-_L7aYcx8YC(Jjq786z zx3?T!xnIRh{m9<*G<4U=#GIFEXJXLe%_&qdy zs%;o0c-e!`5r3|&j1&CL)>Y4R`8tB#qBfWd0uUs}mCmHUplSnB!mX`r7JS;lURQs1 zc|VMe*H|0reu_98Mfgn_o?foLw{YjRo(qZGolEzYbjD?B)Dn8R3sk>`vRkz}eOnr*m{Wu7Wt41iSH{8>TJg$T)6`NN}rGpgX&S%W?BuPZInq z#(!>@zU>_sj$7^Hd?EWx*P(r~gu^iqqub9UA8Ud7=F7X;_zD2Bc5Z&e{Pt; zHdw;pDgH~sbZ1BC>;GN{PcBo=a|y?FCI5fTjq{S+IWAp!WbR#SK8mzd$wHF;kJeoC zhc0Zq-rl{5JI+Ra?X#~-t?p&gJ$D~o^JV`*G&!P#|F62x)V!bM|5fLjf?2bn4fg>% z%ur`Sw-spWRtwjt7OpA&{vWt*{|m=4&eIJoQ3~~8~gt(wB5xV?xb3a|MBjMN4@Fq-L=yH!>yMHTUj>qn?_Tz@JFReC-&mtLz=X#VY;@k6Bg>8+5?IVC-gIj&R&cN=qP310O zf7<3ar;L?x_?)|Lsr5?d`ZYR?QaS*sq-%j-p=fI8K#H zN%E8a9)R1E&j~z8Xtxf~aZd+2x?UwT)=9??DRlHaO-KGzLQ8jE;h{JiK&qFF1XuSh zQJK+&+;noG)=%-SIQmQ>`Q{>$cjb}(uw0U#Y%IocWh>I0QbeF_h7pyTIdq)Vk~F=J zk;}}TgiyMH==#aXs!iuQ6xq~F0=+eWRAV=hq@tw+#|3yg@Hx}j0LK95$vFh=-I7`d z&Y-LeSWL%Bo+NpPM>wBTa-NQM(f+0BsGJR=~znvC~8 zAZHEOOCC)-zN)3(p)pBH9}?XywWn1#iNf0-NBIaCLAi-MOfK_}5proRdHI8FP^Xo1 znUy33wIT8L(%(1!q2s-S6j<8``a7rvAzvCt$9^o?)}2N8j@rKq?vbWCmbkr}MwglN zEct48lXO-#Ar96W(rF^2))!K0eS4XrtK;Mo=zUz#$W!e#w=#j~u4qrjyxMCwCV^B# z)|0Wa9VKFxfOINbl8y*ZDn4h4iH=*g)7k$0UrI-aov3FVC#&sv&+s{`@DAZ~)?Fn+ z3u-Ttdg*w;7mqN2Y*a_tGyAJ&s3GrN(OFUu*UlS&G8 z)oIc+;eM}qFVhAR8;yx?h8*8E(y_IHPRD*vIu_s&$>;ou-Yag$)kMqZ1W7uv_v(2L8q=9{ zqE`~3yxnwM-Gd~nya@l2jePMBP_hiZ#39^DI+w%fZ{{=woR~t#*q?-%&-SlxaTk1| zRyTHGeSMp`wdv;B$@?URkiW+ghjvDaD>9PsNAt-Se<#Ub-6Y#6_DcOa&a0y+uJ#;~ ze2${ON7#u;Nf_C#Y)n^2e=p*rI!p*3j*?{LE;@NiFY-9Wow(`I`^WwKI~_lCC7imS zN&XIR0Y1l9N0>SJBpDJI+%P@NVRDV*VhV*Z{I>_*X64>2zlQy+KiYJwbne zsV24@<4~d%-JT2trwOMIQs3~|+;f#e*a|+wMK?j%O3U)z* z_J1rpLt!qfeIDOpDUk2O3B1_^ax_y;tsj06)wdm}Rj8%EFLWSpR&;#%oCLO_frT5w ziab4y5nW0CYB7-y7)q^kt4Mz!+uyTJ$MxwH!tn8ge`hLjKdYtVzj7isH-fA_u@th` zb+XEAO94C{N`GHuPkCD0qf#h<^K7F?a}wYJsdD<0h%Tri`F=c(HyA9aEf z+a!RFi+7OZ+HO~l8)vdeh@-eZ569-A=)!S4*=`Lz>usrh{gv7X=i*4>#!Vv5ox_5=F#~qE1I{!XbHxcF!xbAc& z^0>XOp)H>qM_0u|?(XYADc}yTi{cUYQi~`oa8GP6z&;>o@_`d2arIp8voGq6_TnfxnQy&7I?{Rj;#s z2J+_Z*BOeb%2;*vk<%OPt)J=T|Ox(ZBKwN^gz2Hdb-vj-1 z(r_r~9&XTg0*B+~!_AL^H(&0s-*K7wbDiF3+QhABBjUIPaM!A!9ypIXd5#;$ErJ{6 z1X?6_{B-D4bG!CKI%>Fw{sxr|F5{L%HNYie7E-m-pDIHqMBNM?EG-}MAYYT*l(N8GGZF^DT(_g3zk{1w1H?#f@i!DFxZT;{CYmm_4CA=9 z6yv$I922;;Bon#B&+RIg$kt{?R6tJyZHu8e8b6G~k?F%0H>uNWQ5Epp?fQW1bj;)8 z*m?f%;M@HPJ%#$rS&i0#BQT`k4^7{WfeB?<@7fJfShiu(j$fz!HT>4TeUkeeQTo&b{2yvPD6X$KW%N}~E9dWUU zVRqETg&ph7Og+CCR%tFzz9QIkmj{6;vRuY&MUm$c^agE(F4^^=U*yugDYF0EC1W5U zOI(tgBMap&i&x=sQ{@t!jM`e)MG_cnaFq|i3E%8mWq{@uS3djD+e4?!#EFV_O>-h0 z*IhRpKvR-yCaY}5DE~HMNI@y<<~17x|8QkHHe-x&^^w}TRTJRUGxIV48-)%4kES=- zMa?X><2FdTeu_j~-P1GicmHM>`|*c;KaQM@3uaF@)3;sm1TL3}A|W}#H9m#M6WkPE z;6-t#n-O3%SDFOcvE1r1)PA}htwiz5Z9e;>nTNCW7B~wMbZG___k_1+ApMUE8a+IjLQTi3}apX znGcv8m-O!d#l#MV$ozXQ6RCf9-=&@u;pDk=$7~)y-zD!7I2X9w?1-zi(aHmhk)Db(AM!{op!= z##NtO8_?DG*_EXZceU&I!$`mv*IagTOK<1UW5D#|ox24Pe_o$LBy1C}Tm-B@-i(I; z*~}})CCA^&dvh9QLA>RBIM~LE3WDZ#UcnMDav> zpnrxZWe2rlxU1PYtr+>^Cs4n_Tk8RZtGu)9&Q_kyH?IcA4Bq}CXlL?V`-0VNUhFnd zy~7)XX=i>muX!Ngb9ih6gpteZ#lCCh?d)?FO;30>8H%U80P14B;I-<6q!;tLz63}K zudF}XUhytFVfLDLdntrvytM$nr7leNNhbCMd8~Mg;*lpq)H^3l(zi&B$-psEX3e7Ei^IGr?;*Wa<7r}g04D7b^ z=gfnU<+BUGX&3+apLCk|$}tS=_wcipK)RP7gUKy^7~ju|?1uBNuI9zRr!Pggr}>`a&~}D@CLgu4e7P$y&-4GLs4wtyL_m(^mm~l(j{gC(Mf?PQ z9?eW7@+Ue`sFjzYBu-RlZvc%&+m6)5|Q6&pnS?J|B~QZ9IqXcLhi>|LAyx z@RDCfDjc& z?Hs*#0^Its6We+SvaZ8ymm8nm)Rt+tW-KbV-P*e1sd~rl)oD=9aXaD#->oHE*w)kes>a<8&M7UeFdNvAXJVGJ0Zb00&K zEz$0w^di3CzJxl0G4461A&hgca}~mP_vF?HGSU6r4e-0@-na|$eA)f$TlQ_c?)CmT zM9Fb4SOj8O?vZ66mhC>KE}-waKiLIFx$a-Tu%p^H=<=iv+Mc_gp-c0HdyC%zR^nb= zA9k0h`HRoV+Jtaxcku6`_{dvE@i;olfBm7Q@7Uzkl)?C%qVKy|LFyO zKix;MzuJ2^wVnXpC^*sp#d$&QeL!6hBjA4(MBgy&j;K zCHRxw*FiHdXBiwk5Im#1KTmLYA@m;#W(@&Wf#CU66psaZEHd#61u6}^J`vp4!0S`N z?e=JUE@(~3d?C0v4s9<5TUeLhz1yvshzxxctZoRiPXetO`c;DSH1k+3xbJ|2uY&1x z!+aCO4gvKag46o|QX@!V=lt%$jbXR`-p0BAInuRL82LA7g$S3^h;z5_{!5(dy}|)+ zQ41C3oPp19p#sZt{0O0GAc}oLWiX)j3k$Nq?vPMR@7%+}?Q?Oijta*x$igw98y~*Y zg$laLGlbJ<3MNxH`2$jOTX@(AgFC_!Sw7fi3-dbzEk`(!{j*~aZX~@PY*Z@ELF#HU13)R3<6qoSzWFgqs7rB40{(Y>3Xd{PvXi{MU+c&~tDEcd`V@0nkAZjMD_b4 zz#P%T>Cm_#wpty>9E{DX`SXAO45f7LIy`$n1>ir!TPw#`1e?r`lx>%>g-eZx_ z)8au-LEwyd_Z$G96{k&sFj|}{faZDew!RR?ink7cFixzTj#`3PvIKce6i-rTo+WOJ)dGIDIC?6jR-D`po^r)^wxGB#PNvcC1Myu2;>;KKNJVlU zin~`jVfaX#cn#bhi@()Cr%3!qD(s(#r{uuzGjZGVD4vUt5X>j>tR4vahxqOrz-*F? zqvuC}WM>Tc219zY^$WnMYIJ;Za0U+V2LdR2HPb?H2uU%n%r__ z1G@fhDWf^n{gQrket{gZ^(*7NEI7#Yr@KKBS4$hU@l0 z$!jv7}8~Uwl_JeR6tM+J>vJKy*P{4OSXhjfkifljyY%OUw==?JuT_o4~xeyv;}A9YCp z$;|e1a9owV8weY?SEyeb%#ECg!WqsTb_@OvaBG$T;3)T38mvxnpO=ErIqtMvEGW@9 z;<)R?V5q+mRMS*`si0#Kgs%l@)M+RaC`uqK7nJ9qRw0O+j#{Oli66YZ5%hTm&9{O; z>dm|t%xVhZ2SJZ5Q28hrQSF4qCqa-80glDjQf$uBaMPt(q!XcCyKj9L36Zs2g)5P{B;dvUv2MFCJp)F9jpGH-i zg)NsNV_Sqjd!rUC+|`~3&~3s!?6mHkxL)kR?%o4?bcfjiJTQTEP`DM#=Xhqnc!g{n z7WRq-))C<&4mcbY{+5RrjtQ%bfIKd2dkk$Suv7x!NulW!ic`W&*3m;F2rLH6^Qd&} z;i>C39eGF;P9F`~MPc1xz`ult`M*6F=PbHTuM0o!27@HwhYf&87Mg;P_7vfG6WUUR zhepG7nsA{ED(S)@{%E@)TquU?n?imng2@mzm;lX8;nV)0d`o!YB2aD%lk_mSBeYwP z*(_nxo>0jao{*u)5e}^n4)=toobwULec|RDFnb`Z+74-+uw5g7<_kM7h3Z4$q#|6< zkA**HfkmM(q6bupgsRO@c_O^o0>Y=lbefoaCX6VDr{_Z34={WoY`GQYCBiyp7`zfH zJ42;Z_+c)ny%v_!d}En#_;n{N%7rb&Xsi%!5T;Gxk30*xU3mM z`y`|-F8t3zGYilvVI_6us)g;Qqxd3h#)I8A;h_E}L&oJC762Czd!J;O#6uC__mHoY!hgTNe zT_K`3esHu~R4j(s9#K3k{_GWv7y;{0kps)m{0LDGc2lo5UdvMuLX>FpK@?|1Pntmg ztf)(0)Xs@4hkz9=Y8MEz^CE^V@5Km?(6V8?=p-xa&FFXEMCG!`cOC$*h&~8#qOOWw z-)Fn@b~Han>t?AU^Ant!G|_CTrHjt41LK<_Z<-;`5KW=^{Y=pi>=NSN62-D?Z;#pa zeE@k^l+zhm&lN3H0r{S2?|VdZU$n>#4jzcoy#bOZib?~me9Wfba^ytPZ5Ew4>No>4N+c-TzwH~iKrbW75J}2 zmnH(aRMfT{$#^ZQ_XI4ccokIuK)(=r4EZ;{ia+qhCa>v`p|-)RmTMzKNcP0{Oe>R#Sld5b0}B`zaa`29;l; zw`vI2il@*__d2n72vF9GQ>Vg#kGSh0sQ8NCVwVJegSd>+;U^x^5h@$SOfW+B7w>L+ z7b)8$Uica;0>piLAfhee?le!nReVW-B1mi+3Wves6=9&ZO}zXrK(~t*==aZ7x;0=3)XpWmT#M_lELT9$ZRTi9od+suMNj##aR-@D=#mtl}AUUnNU z?uomnqPQ>4r)9PWVhuK+@bkoiD~L8mJCT;xBOwsq`AlKlER-T zSV{0__}n3RMz{V>Nf8afc1bvm(6&d?Xg-8{C6%;>6e@|JS;R2O9vZ=gOHOj&Awn|E z0xFS`#b!^y?2|m88O8mQfPcaLfaLfOSR9nxV!I4r^kJ(i$qAYezbv^&Plzj$#q8Sw3^$Dx4`iIx)evP!j?t(yQ{sFB{9BUdUtoM& z^1TgC!5zu>EnuD{Nmz?`vL*Ma&vjSw{xc}#N^( zu0}Edi)H+ul0hXfSS$5n*9`LDwq*AY(ll~VM>#;+j3&MVr7w>{Z>u!tF(?E{V`;Py zEafhO$~NiOOYE~j4(F9YaI;%l5(=_=q+|Yq@4eEg)hNQGWlhl*F0J?nWFw?88k~bj z>9W6IzE3JFhQWTR)dEKcq{E)V;E;56eFSn?>URTnN2KjfLwHoWK?UJ4Y1wCxJuZFH z6LzPhS42qLX=!yGe*_dIJv0U|XQbCh!|<&1pHc|VNq1d?!}C%f_R!$|T_#f>{JQkx z3=~PyBQ*D&ES-`E=oINpy6jS=e@mgCCVi0s>l@O2H1T;;+BFR%GNdNfdkDjov;BuK zQybHq?LBF!2a@wZdXKtmdD5H=*#Ltg>9qvZ zo=D63fa_Cf*ZoMxGimd8AoN`Nor_EtOFOX{Lm21io@jb4)zTJ_a%uHYKvqcIFQKTE zo}riF8|f69YkDiqSO=2tq#h#?&PVBY+B5V?noC`}&(aA!!J$ezDF`an(ph~_`yxHp z1a04>Hzvc~cj*D_T;>0ecCQ0sHB#+&K>w5;9Dt33{9n@G<*2Tc@g~D?y{xJLG5E-~ zeS?Ls?6f-^Zjharhs62GF878Df7zcW5XvUmxLHsMknPBZL7*&&J@=<(w&oomgJnN! zAloLZrm4j3GLr|~va*s~IM^ZUd=X~5WILN7t0A(4&8Y2`S!pZQ9@!E%(A_Hw{0FsA z*}1VG7A~tk0uB+f@0Z~`Qg-GFJnWNoVVe$R4cCn*}dN?onKo%v# z!T>H9Su<=-GcsR>?;^mt~D;W6KrUIqGs=mGvC~=xZ_|b>XhdSm!cWB+EKYhBQT% zodWl%vc(b*Oq0EjLy<01(?ITq>~I(?Zpuy$189cKI}BzAbWU@W_$BwajoDtUzXkpIuB(f zl!O9V7Q17Z$MEXaaP&+zd>0b`T(*ebQZHoHv{|NDHi6dCUdl4d09GO!^aRkaWG?hv zE|o2$3FOzZs*ivylXb2HiAq^9ZLoMF+ro;6dpZ**LF2Q`mp0f`$sSYxs9M&K_D_A4 zneO3=_$G6sspjvpen}Aikd2`}c#UkaH?V%nRQrMaOV(^T?AFSg2tZ|>TsQ_)*2~vE z2NfUr;v)#ePyP~{aIxqlPJxQQ{3=a?Z;~%!&ktvs-_3%Z?p^&Yu(dC*+OBg4{`Y1SR&Aym}sLr{(P)B0*8|9yF(R zM!u;zinDUXGPpZ0=hTC{3-X=KfgB?bB4Mn&v;yXFasxdl;^i+-fMkN)g58t+MEPgh zPIO6ruo}Y4@^o79xB?EJM|g}2n+da2`9_-TOOsa*hkm-eP8&epkWah-#hdcoS74SQ z??*RYru-+ZrQDK_p&dte{`{(WLY@~iYp`z$}+8k$w|l-ZzGEg#kzFkj^T)6n)+-kO~}igE6E z4=%stnFqmot)i61=Iaz|0)e$&@ht?I^HJ=|hMx_JhJG;fQ`lMoYonrU4hnz8%3C<4 zn-u+*fNp@ok46!JiY7ER*sRdJ14@u0FdQhsiqe6gxlJ*eX8g7*8Vv<8R^dCACMI_% zqC3NWr{aAe8h0sD($TnE;m#nGJ&K(TVZT=~EF8j6#jHfQ2vbNOKp3uYq1BTJ#Yvi= zj8wed5Ay?xJst@2pke_#Vzh_X`LA$$T+t#DSSJ+nU|642NdG`6rxaf+P@Go$`4(nT zic##r(QTXyrO-%Fyl{nnqT*lbe_d4M#6aV+f-@4{t|+p4!R)GHP-7rpQ`8>^mFtQ% z^n6ZIVEO@1JjIWnC{h(O`av^Ip=k@U>53611bIWTfI)U{DxB3QG8HMbQRbGyd>H<2 zD|QX@#(B7-NPGv2EX73%C|gmHhwyR~UbMD!SJ6TO!+Qz`jf?Lq{M*3A0|lSvFY^@Y z-7wErOr{Mo4;8MiU{RpB!=4_)IPcDd?5Uz2t?xWj#L)D?b44)CUA<7evH_%6;nN#_ zN)&i>d=Pm0HEud!0y$-kgjtynn#9KI;JegdPfiu3I3u^!Iv#XwxE zlx72Cozij&!0VM}9WZ>9`wl?gSGmm(fp1VAqIoMnWw(1!*{HN}!E%%G-;dA?Q1wxZ7Wc4hGyw6V%eno8TDOcY3P9q&{=pUtYr zIV=lDqA^q{Q^7Dy*)$pfMJPMcqdZc{XNQdQbe2(X`lxd8T!0-@Cee9bLw%oOCI2x3eW|q2>T#(ug>LEB%J31;FH<_=af-{8E%yPkLK&Tn zKr5Bgt{^3El>9bmd#h|syF1@0BN{>Fy^=?l!3X6Ew$B7_LC={8_nR_=T{l59{zHFM z)~fpH0lZH2+jLwE>s3~|EPYgNv#tJsV6aIw z+6^iJDj^RlfvPqY0Nbo8ZOwj|&{W>J1{8Lw3TPk_qEfNm6E&9c{y+{@IcRTOm}+|y z=!dJ`Z-GXHYAZW=qNeM)$-qCL>WfVr{DUe*D8fIaillA9M^)YZaiWf?Zqoevag~nN zdQYg5_MtebN+?03r&Oia+1QB==RlgTh*mXg2ny#_gJuHrf@)MX&RdLX`YQ-yRd3aF z)>RkIpcb#n@dAegRWI5oeMz)(psNGbF*~ODQ$Bms1&1}_= z4ai@P>fjHc+*9?Sm&bioKkBVKPzBKG%~LsP#UNi*MBSl>s-AWbEKu$BLbQ)m#mAuX zSoL!ZxD={*OMp_O8qHQu@^FT40dlcwI^9t(RY~-eEKzlQf!Zro)MfZ7RgJs=tkR`K4eme3gVgQ`Xk&5x>#deHo&vVDZ3 z&#LFNPoYZH;T|xnRW;nZ?4HRD;4Qd-sWSMRum zNH(cw4TeU5I`Apl0@a^swr;c9hc?D-QNLdUkRbIH>fHyc9kUU`HuXSSaN4eJegRxq zb<##??oi*iAOkzqMcqMSm%6 z2+g4GQ&~|)hYdY zjlT}zd3CR2aB)H1@&+_x)U%(X7ORe?1->|SHm&Bwt5>!}WC`l(mnag|({@4gqB@1T zNSD;}*dbFryZkc)vJ~~?HOO_Uy3s|LrKyWAgHgJA2o1<@sGHJ=_omuthl31tWf811 z)s1N<*DbY}O`Ph@J;|0&_2?2$n~WZ+7w&~#fm)hE*NnRQ3xFT1Pt&Saq59IlfGSeY zYk;Z2aOf3D7;vC<253wFRX5AIfW;WVb#R2r?lQIG16l)P21Duv!Vb#5+Peo)sj z;KY1XPYgm1KdFPdBQsU%6TczCYV|XB*nLsY8UVYm>NV`$Y2MBccRcIn)^EexkaO-b4V5t>`HOd6>f!6r=ia49>+7EX6K&(Y?mlbR5k**>MY znTgO(YrH1|BudkD8r+`Ic)dpLti~%I*5@=0Xq+6a`7#8x^O{jK%($R&#rLfI7)^u5 zXp7Yx_625~rdv1E;x(-sLNh@#J`>~fq=}>ETNv$T}`Mr^m8?T4ui@)&3iHXW`?6(T@n^(_AEj1NON=tT@RYJ zG;v+1Nv}pxqsN*tkP6zP^;G5q8-6sG==xT@~fsf`+TOyaE}tuTBrSUG6G(& z9YX^dAMFh4DEVqzxQ&VCXw9_J zwpTmw9FRk`TWRM&nD$;WA_&)Zq%Bkt+V%7qQ>1pf3k>#YPpyUde(f`w={TTGr*-~= z+KAVP3bhQaCK{A8wbJpRd`la%8Tz-i zL8sy8j@J4QiY#pced?60T{HqQ=4el{_SuYcIc;vu*RF6!(?e~SKj_h-)h_|{N7{?4 zf&5szcR%zCwJn@zE7CrsxBCn`vs{ zmDZJJ1xvNfHo?PdEq^?sE7NLdUvas1vi1>FE3~0Mp;M_1r-k1)S}!(hHZyQLE$MyK zdW8V`lQw=2G(KzdE+e;9+F?luy;@ts1Nkr7Jlci(RXc?)zi-;$*&y* zvvkX8V_CMYfIh{^(G}1b>#nXb8RY8r(VF-@-Flh{y03FjL)!ygDf`zv52rT`Rf}|E z62ak#Zeu0fJ=NXB)^h$co#hmY=ei}6VfIpYBMG$<9VZrPf2BJ>8!tpBi#}5MLN8R$N7m%b+x`n-v z&Cj~lw_s7Fn@3%)YF)evc>^UJV;-f2e;exNo?ADPiG3P-R#k?X$g(JdhsVX57$qmR7dE$e1`o=e5ouO|{osmpElLwVs`qq(fb6YP6 zLRfe7-fZ)QZ3YH)Kx!W9cg%sTKtH|$){pcy10sH`Ki(2<3iS!}dMeU;pGDgf{jBd0 zKGnacOXr0?H4%`-dNIvZztnGG;}&{a9@7Y>LcdK13YB^deI5Bm?;QsR@AZGOH48ns z7S_H<)9zP4=zY^iPXovA`UwR{%n$v5E~x#|XS@cjwFVw-K3QjI)d|A&1`oQod<<>a zd5gTc2iS;3o`SA4T4fD=*{nqjcMw~?sEzYM3z!}-G+K{yanR6|F1#ZK=M)e;YFKj= zoQ@e@QJ>_vp&9LIJz?m42DOuhjnzOuWiTeAcG^%wb2?FmU9_k1jA7P3M0?gy`j{RD zhTWd4xQz@OH!SHW*30X>ehcOEg}39iXxd3FqND+pw5c zNOBCZ)D^sIu-8M8YnVkZ+IxmQ?BFFD%S75*m2X%|93LCH)4r2JgSHRwiwp*K-4e~X zTPt8yY`9EsjhBXDT~L%5t_?!*%5c;PZ>5Ggzrgji!DTtD%MAHX09kIhaR_!5hIwm{ z(Mm%Jy$;_PVwNBYZw(^a*Y(aYlzqR1aUR?P{m+KY^jxSiTv-E+YC}#VMEb>WnD%ph zHS9YIci#-<^tH-&!?iqk{b5*^c2b{bbsg@;|n(%;xOOC8(=tYVpmC9f5l_8aHY z6XSqUwi+QEG=6#r>qABtcF;0!ZUMV?nZ~JBLv+R%MpxNc<9c7@>zpxe7@S2LYc9j} zdE=vLs9i7)p+%$^qw9QV#v1$3)N-6rLOUwrjVt*GBf(hAfl8wBH9glZ8qI%$!X@J* z!n|snz8Nalj1P}P<+{;-49t^^8(8&nhI@)_x}2H1pJq!ljg_=3zIn(w)5^rL+}xkfon72Gp!pt;@q#-Fr*`<6JHJ)Aq=g*8!>%hTtV;ygRyfE@; zuTQZtj201I8lT{6Eq;k{87p7GG}q68S-G)pF!0|P8yj%?-x~X+LGhh2lx8H~8(R&- z<@~`o_7~iJG+txJt?=NkVx24K5fHk9>2=o=6xW$1j{(wpQ^rPU`=|>oC zFpZ^I2|v^4GblEil4bzc-}KKTWN?$I*8rFYn1-`8D?FM6{XZ+f4VjA&Tv$ z6ZKHArhR9TrX8m5~3G&QCb{zInmU%}+CNkJ3aM@)OCqIT5eB|+OUQ=MOk=eVi<6rh|i zJ;bkT@K2ilQb6UDY2|N7;c3(P>4+f8G>$D_sd09pC8TJRg4XTNn>zJGCNG#K?ts@A z(^p#4jWxwgf%7<%f;JDtn-0>xs07nqdJH9+p58;`7fpdz(RRtydllSWHmQ1`xMCVT z7@Aj2-t_s$HB;{u(7bNCVguMjDyZ>*d`9At6__oOy0G@YDdl)ojnf&PlWt(=h@Q`CFs{_otri4*Y$u;$2-~8>_ zZgVr36_~R1Kzw8xUWMYZ>2f4A3Qfo9GsYs*H9~%3D)NH$Q&Yk!Kt40IW(WVHaSj-T z%1aYNvJ%sBS^#`y+Dh-^Qd3Vqr0TV45bY5!GtE1UTDj?bHn1v8hiME}X&P1tUT;hd zKY;98Q{oV`y)!+0h%@uvr1^kz@xio$=DI(cWHhY(WXhn$m(Qj}^v zsn7Yvluqx;ucmO?Y4gprihiczyQ%pS!2B@%Yk|ct(}lJu)-u^M;AtIGoQ(L^Gn1dd z&WBlk9H+>aF*HCB8<^`+K=ET%=7QlyrlkOO{>(p0*ll7uZv}J!GiB`pl!1)8AEcX^ ztG*z!g&DgQWVSNu`Y;S)3J5!xIU9(!ZOj_l4!)fczJ&_QL=?l}4(1_!<-L58*ql{N-32M7C@ne~vZ{mf)qjX%K5 zYKOLiOfswZ*VEZ43{WSS5%dT@$?UxX#Z%0UeF*O~6SD%|qL}G#V0MP_+J*?uG8we- z`W!Q)0XRo9t7tp)d8QAo3|?RYX=N;iSuTZUER!(cG(;mf}OhqOPGMMSCW3{H;Ale3ehcR|QPP3Tg47kf?eg#7#hjBjw{ku$F z4#LZ2G_#;`k8z{LgZoThcK&M5aTCgc|Co7p7$Akrfp5?#Vit6S?`KR~8cIHA5@;~@ zf@wPfyo#BA_o4ZcSxIw#B}}j0Nc$_Mk~R&NGOb&nc+GUpgV!?rUeCwX9$w37DD#dn z&OmP7GYt~}@`1TPtHvLh&JINNiCInEkPj7_E5%U=~#ObMT zO?y;Mo3|f_ew2CQdw`rV|JcFiIUVixHG$U{b9eySV$I^eVHRiB(u8%qc_FO|CYbLu zgL$I4d?{)d%}O%@zhqv;<~j9&m2RH57y38MqB}_9 zP4j2!%VwBIC&4e0nedQY-ZUG>pYz=3Lz^uXVIc~ zh1p(+5Gu`gx&rczxw8$mx8_Rv-HLZ+YioeKH}Cp@xIUQMw+He^v;RogeKN<<0PwRp zWGwPgWnM+y;A-wv&VsT#8OX#R2{YC)|lP;(zrQ5E?Fk@f#zk) z+8eODVtKX*POn;yQ@8e-Wupjf*Da3SNK}%gIeXQ|!}5_X>>HL@w5D;>@^l%nGAvtZ zUt6Z75&P4Jan7Mtc)F7BS^lQw_xl#>BgFl{VvdJ( zo~4rsn)#MSxv+a^G5!vN0!z2Ci2ISHGk)HU|JYJihPFaWKe{K2EHm)?2mB`%mwmu| zYS~AdR-aiM=IN+Dx6GpLu`etw=AkIIXvZP+mzEXm1z&IH5SqrXwD1do`NmRCGYxMo zc@-e>&hnrTnC~siK0^4xQpbqmqorX-aQS2j%|h|na)DluRTkzqKvr8OwM6ZUCG;ZN zzFG#i0l{yU=zQ3Hx2*08;SbB8b?{eXNj(gIKP@afbpzw{7gNC-v|`tojgm+HKAH4LWF z*V^O*+Cr_jXb(b|bweGXgkW;I)|T5hGR{`C z!S9+ig|-P^x8~eJ97$FQeN2{YowXATQmlTPz$eujM0@eltfM}lNVoE6!tI8&a6Rsp zo7S3d;FDq9+W;t;)*{*$cgs4Y1a59yrSu5CV?7y-wk&HreZ-w@okhP0kYnvs_c?U# zTHmMRtmj(a_JXH-*7X(?_pOPv>hQo?`I5b|(cyd%i}Uu_T1KD47h3D)K&8lfF&=!M zSU=IvUp=)-#79+due^L6FDle?xybPYwN^&D9WtK zzYu4+btJuGE3DrZLZ#BW$_`3ztf|F_<*oG>JHg*gaH9t}yti&;=lXkaZ?QrCOs_$M z0P)>AAQP^CSfj?nS&j8E^-X_TTl|CKmvwFk60p|x<^a5`vsGUO#(LY^sbKD7JM#u4 zeQguj_x>8^eiqjLwgs&q+hjXKzi<#>>lX)*KwGc7xC%Gh`ene~7TYA6THI3P3;2XlBF{u0ysQk^Q2!*J8DZlgxWFN7PfMeN8OGzsED#ft$>3w zwg6hvKWlRgfbg8H=~5s^+p^de0Uq2l>yl#`zFV`j6uF@)GvTZtj zIgn!W#E%E@Q*8@6fOwj%fVRz~+p1`V<%X?2^+hsmcj*Ci%hrZEPPc8TV$|-~b}fd_ zEZcTkGR(Gl($aB`ZFFr{!FD>PTRDw$pV&NJ!rxO{3Qd~w|J*nZ|i@25>nkLO>u7xdlFTDvd`R_pBJ=n=Kveu+9| zKKAQZQTW=sh+(k7er-Eq^|Mc))vk^9F|;Y)-~Mzw7;UoW9K=ZuuwSADo=Gv;kF?((kJ>)_$yLzbZ|_deg#-3f8qFNEztceF zkp0vvKpwV#i-eye_KCE@chtUwHh&(oht|OBaeFhmg-+NP#^bb|wnx^5N|c>Tozye- zPP7(w);>v=3eaU{H#;CsEfp!5&Qg|3o|YGt4jA?|cULOZLFO zfqB`UHyA0qVwYG@yJ`=jCEjcHWy_JP>vjd*fl2m<3qd~F9!jIv6uTQ;fvNVL*MXU4 zUqIU})9oQNEWBY?m%;5#dq?eRSY+6Du#jfjWn&T2EqhCLz*Y}#Gj`!truhY$Uw>e~ zMoWEp_6r9WL=v|sjxw^3W`(9m#oonznzpsaVeFGkJB!DH_PwbA=E zMP;+&`4J>D$kD$p^n)GWMzQ8#lT*T=w$rhD2Z-%*+)seF5Qm^K`0aME-Z0qXSdt4W zdmY|t5DRs1X|xmOXn7j7a7P206^U>h-i(VZ(vgw^=ldLW=%)krJCu!pa=`I~HWeLo zT%$MPAxCx^R1Q1-qRj|L9J8GCVm#`Ip9q~}j*;!4bKDVCj+~uv6wyNZNyiNOO{G(g zC7lrMX~&^NIE-?%kAun?$5Z-5>8xYvQxxYMsnlDGcBIkA3+ElJse5?A(K{X}F^=rD zsKq)w=%$TxtlN$_;~fh((NtH0qsi~ENOXAg0nA0mld0fz$x)B`5SJalRm0+nqYibF zt~ze+f!}M6kZ^!rcYLFdbdwx<_U~{tt|498#^!Dc!Z z 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

WISP7o&`Bhnp)Br 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�Ki?AdsusZ9pDZgL`cI7wxo}nKcBRPT7 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 X4K8dOD4e@g#ekz7joU%9ro;aM_|;)! diff --git a/RealOne/Debug/Core/Src/main.su b/RealOne/Debug/Core/Src/main.su index 3cc140d..7c719f4 100644 --- a/RealOne/Debug/Core/Src/main.su +++ b/RealOne/Debug/Core/Src/main.su @@ -29,5 +29,6 @@ stm32l4xx_ll_pwr.h:398:22:LL_PWR_EnableBkUpAccess 4 static stm32l4xx_ll_pwr.h:408:22:LL_PWR_DisableBkUpAccess 4 static main.c:20:6:SysTick_Handler 8 static main.c:41:5:main 8 static,ignoring_inline_asm -main.c:113:6:SystemClock_Config_24M_LSE 8 static -main.c:178:6:SystemClock_Config_80M 8 static +main.c:116:6:SystemClock_Config_24M_LSE_FL3_VS2 8 static +main.c:184:6:SystemClock_Config_24M_LSE 8 static +main.c:249:6:SystemClock_Config_80M 8 static diff --git a/RealOne/Debug/RealOne.bin b/RealOne/Debug/RealOne.bin index 5c93bf0b367856a33fa47b48a5b91adc7cc70cc8..4b588c91e529528467210e1089a76fc44d9bc3d6 100644 GIT binary patch delta 1326 zcmb_cUr19?82`?_Q#Un7Ep*)_&S|9FS&G?<4}r)k@57>?hX~q>;6uj1f{N%af*{HM zu)+$(@yN%4QE)hkk8u>f%3 zD2wBZULZc{j5GRxD7Yo&$nk33tr4FRZqhs>q_=U%6>8KxC*Q}FfGcndT!TtrJ-)d) zAg960Xv}nE*5UcNTD4H8flmn$j82#iQ6s6gRJC}rsU*$l2@{f$r;zLd@OB{lh{!ZN zW^~XD8j*dB`We${jP+@r(ZzV5ri6Eha!{RVFka`ng|uR76Jzu|^W*!)c&DZeGdg0* z0Z?73t)hnXF2>uDp{*o9T4)v3Eux}XRE)9B#avZNNvfQx%7Ag0tnw|ElW^UhgXBi^ z=MI1|pJ$Xe-NJAJI1y0usrq7hzpQ58k^B2|Z3ZMSI>0`GDDT}#DZ}VEdjGT%4LcP5 zi6!HZo>`D&^sOZaWHp}-W+Nd+O^eaJn8@fs^g=MsXbraPvG}kzn2a7ZL-=&cJ7k#`u;!h7n}k4-r_mvL6KyMhGu7~!;&f_zG> zv!-ni7>DxU1!LE0@%CWnF~V=Hcnw1qZ*WAI372?-SwI<+*l=0MGYVxh_b{fv6x5Fj zs8YCbiE}%uzADnEOX)>7moR=8Kaam|mN3E)vqJh@$vZdW7Lm?1W_kqofLIR*Gudc= z?Izt6nGGn|CZ^8?_o29RLc!%ff*%(6yk`o0FfR(w)=`@14eXylj0&F9Yc#wP3?Go8 uJkZag8gB|YYJ`TV#G6_|YQLG*3jZs-?M!^EyCXGRcY?i)m@_)wulANURl1r%v4_hrv8r&VfnQWzaje$3ldGp@9@B0p0-}5GE zL6xMI!XU4NK>mf;KrloAIr!%nMlSC0`*6?8Ag|#*0<2NY|G{gGRQ<>Wz!;8rIKJ8f zNlSN>+H<1e*8E7W1g)JWNo$oIW}-}{)mgQqnu+V*8k(URk3gN#3H@1lhYzPri1diV0`X z&uAGN;XJcw9LeJ@AMaj=(VI>Q|J`=@`7xelAAqbKRdN-c-*=wYzt`f|E={UKDY6k*Baccm1ab7 zQ^I=GflSVe--cQpu_D5LdU_r|BbZZL;?D{9oLDW#e*)}!^Fx@B(0SKgyO7lx( QQBs~NAaA0s)aIjwKdt1eR{#J2 diff --git a/RealOne/Debug/RealOne.elf b/RealOne/Debug/RealOne.elf index 9ab279587785fb240d603f5d94a940e1c214ded8..5a6ac8401b4475e11519f681b85437caa66af09d 100644 GIT binary patch delta 17876 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 U-Ab diff --git a/RealOne/Debug/RealOne.list b/RealOne/Debug/RealOne.list index 518f2f1..ac97c0c 100644 --- a/RealOne/Debug/RealOne.list +++ b/RealOne/Debug/RealOne.list @@ -5,45 +5,45 @@ Sections: Idx Name Size VMA LMA File off Algn 0 .isr_vector 00000188 08000000 08000000 00010000 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA - 1 .text 00000d1c 08000188 08000188 00010188 2**2 + 1 .text 00000e0c 08000188 08000188 00010188 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .rodata 00000000 08000ea4 08000ea4 0002000c 2**0 + 2 .rodata 00000000 08000f94 08000f94 0002000c 2**0 CONTENTS, ALLOC, LOAD, DATA - 3 .ARM.extab 00000000 08000ea4 08000ea4 0002000c 2**0 + 3 .ARM.extab 00000000 08000f94 08000f94 0002000c 2**0 CONTENTS - 4 .ARM 00000000 08000ea4 08000ea4 0002000c 2**0 + 4 .ARM 00000000 08000f94 08000f94 0002000c 2**0 CONTENTS - 5 .preinit_array 00000000 08000ea4 08000ea4 0002000c 2**0 + 5 .preinit_array 00000000 08000f94 08000f94 0002000c 2**0 CONTENTS, ALLOC, LOAD, DATA - 6 .init_array 00000004 08000ea4 08000ea4 00010ea4 2**2 + 6 .init_array 00000004 08000f94 08000f94 00010f94 2**2 CONTENTS, ALLOC, LOAD, DATA - 7 .fini_array 00000004 08000ea8 08000ea8 00010ea8 2**2 + 7 .fini_array 00000004 08000f98 08000f98 00010f98 2**2 CONTENTS, ALLOC, LOAD, DATA - 8 .data 0000000c 20000000 08000eac 00020000 2**2 + 8 .data 0000000c 20000000 08000f9c 00020000 2**2 CONTENTS, ALLOC, LOAD, DATA - 9 .bss 00000024 2000000c 08000eb8 0002000c 2**2 + 9 .bss 00000024 2000000c 08000fa8 0002000c 2**2 ALLOC - 10 ._user_heap_stack 00000600 20000030 08000eb8 00020030 2**0 + 10 ._user_heap_stack 00000600 20000030 08000fa8 00020030 2**0 ALLOC 11 .ARM.attributes 00000030 00000000 00000000 0002000c 2**0 CONTENTS, READONLY - 12 .debug_info 00004bd6 00000000 00000000 0002003c 2**0 + 12 .debug_info 00004be7 00000000 00000000 0002003c 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_abbrev 00000d51 00000000 00000000 00024c12 2**0 + 13 .debug_abbrev 00000d51 00000000 00000000 00024c23 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_aranges 000005b8 00000000 00000000 00025968 2**3 + 14 .debug_aranges 000005c0 00000000 00000000 00025978 2**3 CONTENTS, READONLY, DEBUGGING - 15 .debug_ranges 00000540 00000000 00000000 00025f20 2**3 + 15 .debug_ranges 00000548 00000000 00000000 00025f38 2**3 CONTENTS, READONLY, DEBUGGING - 16 .debug_macro 00026337 00000000 00000000 00026460 2**0 + 16 .debug_macro 00026337 00000000 00000000 00026480 2**0 CONTENTS, READONLY, DEBUGGING - 17 .debug_line 000040fa 00000000 00000000 0004c797 2**0 + 17 .debug_line 00004155 00000000 00000000 0004c7b7 2**0 CONTENTS, READONLY, DEBUGGING - 18 .debug_str 000ee8c5 00000000 00000000 00050891 2**0 + 18 .debug_str 000ee8e8 00000000 00000000 0005090c 2**0 CONTENTS, READONLY, DEBUGGING - 19 .comment 0000007b 00000000 00000000 0013f156 2**0 + 19 .comment 0000007b 00000000 00000000 0013f1f4 2**0 CONTENTS, READONLY - 20 .debug_frame 000015c0 00000000 00000000 0013f1d4 2**2 + 20 .debug_frame 000015dc 00000000 00000000 0013f270 2**2 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -62,7 +62,7 @@ Disassembly of section .text: 800019e: bd10 pop {r4, pc} 80001a0: 2000000c .word 0x2000000c 80001a4: 00000000 .word 0x00000000 - 80001a8: 08000e8c .word 0x08000e8c + 80001a8: 08000f7c .word 0x08000f7c 080001ac : 80001ac: b508 push {r3, lr} @@ -74,7 +74,7 @@ Disassembly of section .text: 80001ba: bd08 pop {r3, pc} 80001bc: 00000000 .word 0x00000000 80001c0: 20000010 .word 0x20000010 - 80001c4: 08000e8c .word 0x08000e8c + 80001c4: 08000f7c .word 0x08000f7c 080001c8 : * @@ -1217,19 +1217,19 @@ void SysTick_Handler() 8000836: 2b00 cmp r3, #0 8000838: d002 beq.n 8000840 blue_mode = 1 ; - 800083a: 4b15 ldr r3, [pc, #84] ; (8000890 ) + 800083a: 4b18 ldr r3, [pc, #96] ; (800089c ) 800083c: 2201 movs r2, #1 800083e: 701a strb r2, [r3, #0] } msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - 8000840: 4b14 ldr r3, [pc, #80] ; (8000894 ) + 8000840: 4b17 ldr r3, [pc, #92] ; (80008a0 ) 8000842: 681b ldr r3, [r3, #0] 8000844: 3301 adds r3, #1 - 8000846: 4a13 ldr r2, [pc, #76] ; (8000894 ) + 8000846: 4a16 ldr r2, [pc, #88] ; (80008a0 ) 8000848: 6013 str r3, [r2, #0] if (msTicks == 5 * expe){ - 800084a: 4b13 ldr r3, [pc, #76] ; (8000898 ) + 800084a: 4b16 ldr r3, [pc, #88] ; (80008a4 ) 800084c: 781b ldrb r3, [r3, #0] 800084e: b2db uxtb r3, r3 8000850: 461a mov r2, r3 @@ -1237,7 +1237,7 @@ void SysTick_Handler() 8000854: 009b lsls r3, r3, #2 8000856: 4413 add r3, r2 8000858: 461a mov r2, r3 - 800085a: 4b0e ldr r3, [pc, #56] ; (8000894 ) + 800085a: 4b11 ldr r3, [pc, #68] ; (80008a0 ) 800085c: 681b ldr r3, [r3, #0] 800085e: 429a cmp r2, r3 8000860: d103 bne.n 800086a @@ -1246,1234 +1246,1391 @@ void SysTick_Handler() 8000864: f7ff fd98 bl 8000398 8000868: e009 b.n 800087e }else if(msTicks >= 200){ - 800086a: 4b0a ldr r3, [pc, #40] ; (8000894 ) + 800086a: 4b0d ldr r3, [pc, #52] ; (80008a0 ) 800086c: 681b ldr r3, [r3, #0] 800086e: 2bc7 cmp r3, #199 ; 0xc7 8000870: d905 bls.n 800087e msTicks = 0; - 8000872: 4b08 ldr r3, [pc, #32] ; (8000894 ) + 8000872: 4b0b ldr r3, [pc, #44] ; (80008a0 ) 8000874: 2200 movs r2, #0 8000876: 601a str r2, [r3, #0] LED_GREEN(1); 8000878: 2001 movs r0, #1 800087a: f7ff fd8d bl 8000398 } - if(expe == 2){ - 800087e: 4b06 ldr r3, [pc, #24] ; (8000898 ) + if(expe == 2 || expe == 4){ + 800087e: 4b09 ldr r3, [pc, #36] ; (80008a4 ) 8000880: 781b ldrb r3, [r3, #0] 8000882: b2db uxtb r3, r3 8000884: 2b02 cmp r3, #2 - 8000886: d101 bne.n 800088c + 8000886: d004 beq.n 8000892 + 8000888: 4b06 ldr r3, [pc, #24] ; (80008a4 ) + 800088a: 781b ldrb r3, [r3, #0] + 800088c: b2db uxtb r3, r3 + 800088e: 2b04 cmp r3, #4 + 8000890: d101 bne.n 8000896 CLK_TOGGLE(); - 8000888: f7ff fd7a bl 8000380 + 8000892: f7ff fd75 bl 8000380 } } - 800088c: bf00 nop - 800088e: bd80 pop {r7, pc} - 8000890: 2000002d .word 0x2000002d - 8000894: 20000028 .word 0x20000028 - 8000898: 2000002c .word 0x2000002c + 8000896: bf00 nop + 8000898: bd80 pop {r7, pc} + 800089a: bf00 nop + 800089c: 2000002d .word 0x2000002d + 80008a0: 20000028 .word 0x20000028 + 80008a4: 2000002c .word 0x2000002c -0800089c

: +080008a8
: int main(void) { - 800089c: b580 push {r7, lr} - 800089e: af00 add r7, sp, #0 + 80008a8: b580 push {r7, lr} + 80008aa: af00 add r7, sp, #0 // config GPIO GPIO_init(); - 80008a0: f7ff fd4a bl 8000338 + 80008ac: f7ff fd44 bl 8000338 // if (RCC->BDCR & RCC_BDCR_LSEON) { LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - 80008a4: f04f 5080 mov.w r0, #268435456 ; 0x10000000 - 80008a8: f7ff ff32 bl 8000710 + 80008b0: f04f 5080 mov.w r0, #268435456 ; 0x10000000 + 80008b4: f7ff ff2c bl 8000710 LL_PWR_EnableBkUpAccess(); - 80008ac: f7ff ff9e bl 80007ec + 80008b8: f7ff ff98 bl 80007ec //expe = register RTC expe = RTC->BKP0R; - 80008b0: 4b2f ldr r3, [pc, #188] ; (8000970 ) - 80008b2: 6d1b ldr r3, [r3, #80] ; 0x50 - 80008b4: b2da uxtb r2, r3 - 80008b6: 4b2f ldr r3, [pc, #188] ; (8000974 ) - 80008b8: 701a strb r2, [r3, #0] + 80008bc: 4b35 ldr r3, [pc, #212] ; (8000994 ) + 80008be: 6d1b ldr r3, [r3, #80] ; 0x50 + 80008c0: b2da uxtb r2, r3 + 80008c2: 4b35 ldr r3, [pc, #212] ; (8000998 ) + 80008c4: 701a strb r2, [r3, #0] if (expe == 0) { - 80008ba: 4b2e ldr r3, [pc, #184] ; (8000974 ) - 80008bc: 781b ldrb r3, [r3, #0] - 80008be: b2db uxtb r3, r3 - 80008c0: 2b00 cmp r3, #0 - 80008c2: d10f bne.n 80008e4 + 80008c6: 4b34 ldr r3, [pc, #208] ; (8000998 ) + 80008c8: 781b ldrb r3, [r3, #0] + 80008ca: b2db uxtb r3, r3 + 80008cc: 2b00 cmp r3, #0 + 80008ce: d10f bne.n 80008f0 SystemClock_Config_24M_LSE(); - 80008c4: f000 f85c bl 8000980 + 80008d0: f000 f8ce bl 8000a70 expe = 1; - 80008c8: 4b2a ldr r3, [pc, #168] ; (8000974 ) - 80008ca: 2201 movs r2, #1 - 80008cc: 701a strb r2, [r3, #0] + 80008d4: 4b30 ldr r3, [pc, #192] ; (8000998 ) + 80008d6: 2201 movs r2, #1 + 80008d8: 701a strb r2, [r3, #0] LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - 80008ce: f04f 5080 mov.w r0, #268435456 ; 0x10000000 - 80008d2: f7ff ff1d bl 8000710 + 80008da: f04f 5080 mov.w r0, #268435456 ; 0x10000000 + 80008de: f7ff ff17 bl 8000710 LL_PWR_EnableBkUpAccess(); - 80008d6: f7ff ff89 bl 80007ec + 80008e2: f7ff ff83 bl 80007ec RTC->BKP0R = expe; - 80008da: 4b26 ldr r3, [pc, #152] ; (8000974 ) - 80008dc: 781b ldrb r3, [r3, #0] - 80008de: b2da uxtb r2, r3 - 80008e0: 4b23 ldr r3, [pc, #140] ; (8000970 ) - 80008e2: 651a str r2, [r3, #80] ; 0x50 + 80008e6: 4b2c ldr r3, [pc, #176] ; (8000998 ) + 80008e8: 781b ldrb r3, [r3, #0] + 80008ea: b2da uxtb r2, r3 + 80008ec: 4b29 ldr r3, [pc, #164] ; (8000994 ) + 80008ee: 651a str r2, [r3, #80] ; 0x50 } if (BLUE_BUTTON()){ - 80008e4: f7ff fd6e bl 80003c4 - 80008e8: 4603 mov r3, r0 - 80008ea: 2b00 cmp r3, #0 - 80008ec: d013 beq.n 8000916 + 80008f0: f7ff fd68 bl 80003c4 + 80008f4: 4603 mov r3, r0 + 80008f6: 2b00 cmp r3, #0 + 80008f8: d013 beq.n 8000922 expe ++; - 80008ee: 4b21 ldr r3, [pc, #132] ; (8000974 ) - 80008f0: 781b ldrb r3, [r3, #0] - 80008f2: b2db uxtb r3, r3 - 80008f4: 3301 adds r3, #1 - 80008f6: b2da uxtb r2, r3 - 80008f8: 4b1e ldr r3, [pc, #120] ; (8000974 ) - 80008fa: 701a strb r2, [r3, #0] + 80008fa: 4b27 ldr r3, [pc, #156] ; (8000998 ) + 80008fc: 781b ldrb r3, [r3, #0] + 80008fe: b2db uxtb r3, r3 + 8000900: 3301 adds r3, #1 + 8000902: b2da uxtb r2, r3 + 8000904: 4b24 ldr r3, [pc, #144] ; (8000998 ) + 8000906: 701a strb r2, [r3, #0] - if (expe > 2) expe = 1; - 80008fc: 4b1d ldr r3, [pc, #116] ; (8000974 ) - 80008fe: 781b ldrb r3, [r3, #0] - 8000900: b2db uxtb r3, r3 - 8000902: 2b02 cmp r3, #2 - 8000904: d902 bls.n 800090c - 8000906: 4b1b ldr r3, [pc, #108] ; (8000974 ) - 8000908: 2201 movs r2, #1 - 800090a: 701a strb r2, [r3, #0] + if (expe > 4) expe = 1; + 8000908: 4b23 ldr r3, [pc, #140] ; (8000998 ) + 800090a: 781b ldrb r3, [r3, #0] + 800090c: b2db uxtb r3, r3 + 800090e: 2b04 cmp r3, #4 + 8000910: d902 bls.n 8000918 + 8000912: 4b21 ldr r3, [pc, #132] ; (8000998 ) + 8000914: 2201 movs r2, #1 + 8000916: 701a strb r2, [r3, #0] RTC->BKP0R = expe; - 800090c: 4b19 ldr r3, [pc, #100] ; (8000974 ) - 800090e: 781b ldrb r3, [r3, #0] - 8000910: b2da uxtb r2, r3 - 8000912: 4b17 ldr r3, [pc, #92] ; (8000970 ) - 8000914: 651a str r2, [r3, #80] ; 0x50 + 8000918: 4b1f ldr r3, [pc, #124] ; (8000998 ) + 800091a: 781b ldrb r3, [r3, #0] + 800091c: b2da uxtb r2, r3 + 800091e: 4b1d ldr r3, [pc, #116] ; (8000994 ) + 8000920: 651a str r2, [r3, #80] ; 0x50 } // }else{ // } LL_PWR_DisableBkUpAccess(); - 8000916: f7ff ff79 bl 800080c + 8000922: f7ff ff73 bl 800080c switch(expe){ - 800091a: 4b16 ldr r3, [pc, #88] ; (8000974 ) - 800091c: 781b ldrb r3, [r3, #0] - 800091e: b2db uxtb r3, r3 - 8000920: 2b01 cmp r3, #1 - 8000922: d002 beq.n 800092a - 8000924: 2b02 cmp r3, #2 - 8000926: d003 beq.n 8000930 - 8000928: e005 b.n 8000936 + 8000926: 4b1c ldr r3, [pc, #112] ; (8000998 ) + 8000928: 781b ldrb r3, [r3, #0] + 800092a: b2db uxtb r3, r3 + 800092c: 2b01 cmp r3, #1 + 800092e: d002 beq.n 8000936 + 8000930: 2b02 cmp r3, #2 + 8000932: d003 beq.n 800093c + 8000934: e005 b.n 8000942 case 1: /* Configure the system clock */ SystemClock_Config_80M(); - 800092a: f000 f88f bl 8000a4c + 8000936: f000 f901 bl 8000b3c break; - 800092e: e002 b.n 8000936 + 800093a: e005 b.n 8000948 case 2: /* Configure the system clock */ SystemClock_Config_24M_LSE(); - 8000930: f000 f826 bl 8000980 + 800093c: f000 f898 bl 8000a70 break; - 8000934: bf00 nop + 8000940: e002 b.n 8000948 + default: //case 3 to 8 + SystemClock_Config_24M_LSE_FL3_VS2(); + 8000942: f000 f82f bl 80009a4 + break; + 8000946: bf00 nop } // init systick timer (tick period at 1 ms) LL_Init1msTick( SystemCoreClock ); - 8000936: 4b10 ldr r3, [pc, #64] ; (8000978 ) - 8000938: 681b ldr r3, [r3, #0] - 800093a: 4618 mov r0, r3 - 800093c: f000 fa66 bl 8000e0c + 8000948: 4b14 ldr r3, [pc, #80] ; (800099c ) + 800094a: 681b ldr r3, [r3, #0] + 800094c: 4618 mov r0, r3 + 800094e: f000 fad5 bl 8000efc LL_SYSTICK_EnableIT(); - 8000940: f7ff ff20 bl 8000784 + 8000952: f7ff ff17 bl 8000784 //Setup Sleep mode LL_LPM_EnableSleep(); - 8000944: f7ff ff2e bl 80007a4 + 8000956: f7ff ff25 bl 80007a4 //LL_LPM_EnableSleepOnExit(); while (1) { if (blue_mode){ - 8000948: 4b0c ldr r3, [pc, #48] ; (800097c ) - 800094a: 781b ldrb r3, [r3, #0] - 800094c: b2db uxtb r3, r3 - 800094e: 2b00 cmp r3, #0 - 8000950: d0fa beq.n 8000948 + 800095a: 4b11 ldr r3, [pc, #68] ; (80009a0 ) + 800095c: 781b ldrb r3, [r3, #0] + 800095e: b2db uxtb r3, r3 + 8000960: 2b00 cmp r3, #0 + 8000962: d0fa beq.n 800095a switch(expe){ - 8000952: 4b08 ldr r3, [pc, #32] ; (8000974 ) - 8000954: 781b ldrb r3, [r3, #0] - 8000956: b2db uxtb r3, r3 - 8000958: 2b01 cmp r3, #1 - 800095a: d002 beq.n 8000962 - 800095c: 2b02 cmp r3, #2 - 800095e: d002 beq.n 8000966 - 8000960: e004 b.n 800096c + 8000964: 4b0c ldr r3, [pc, #48] ; (8000998 ) + 8000966: 781b ldrb r3, [r3, #0] + 8000968: b2db uxtb r3, r3 + 800096a: 3b01 subs r3, #1 + 800096c: 2b03 cmp r3, #3 + 800096e: d8f4 bhi.n 800095a + 8000970: a201 add r2, pc, #4 ; (adr r2, 8000978 ) + 8000972: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8000976: bf00 nop + 8000978: 08000989 .word 0x08000989 + 800097c: 0800098d .word 0x0800098d + 8000980: 08000989 .word 0x08000989 + 8000984: 0800098d .word 0x0800098d case 1: + case 3: __WFI(); - 8000962: bf30 wfi + 8000988: bf30 wfi break; - 8000964: e002 b.n 800096c - case 2: - LL_RCC_MSI_EnablePLLMode(); - 8000966: f7ff fd9d bl 80004a4 - break; - 800096a: bf00 nop - if (blue_mode){ - 800096c: e7ec b.n 8000948 - 800096e: bf00 nop - 8000970: 40002800 .word 0x40002800 - 8000974: 2000002c .word 0x2000002c - 8000978: 20000000 .word 0x20000000 - 800097c: 2000002d .word 0x2000002d + 800098a: e002 b.n 8000992 -08000980 : + case 2: + case 4: + LL_RCC_MSI_EnablePLLMode(); + 800098c: f7ff fd8a bl 80004a4 + break; + 8000990: bf00 nop + if (blue_mode){ + 8000992: e7e2 b.n 800095a + 8000994: 40002800 .word 0x40002800 + 8000998: 2000002c .word 0x2000002c + 800099c: 20000000 .word 0x20000000 + 80009a0: 2000002d .word 0x2000002d + +080009a4 : + + } + } +} + +void SystemClock_Config_24M_LSE_FL3_VS2(void){ + 80009a4: b580 push {r7, lr} + 80009a6: af00 add r7, sp, #0 + LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); + 80009a8: f04f 5080 mov.w r0, #268435456 ; 0x10000000 + 80009ac: f7ff feb0 bl 8000710 + LL_FLASH_SetLatency(LL_FLASH_LATENCY_3); + 80009b0: 2003 movs r0, #3 + 80009b2: f7ff fec5 bl 8000740 + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_3) + 80009b6: bf00 nop + 80009b8: f7ff fed6 bl 8000768 + 80009bc: 4603 mov r3, r0 + 80009be: 2b03 cmp r3, #3 + 80009c0: d1fa bne.n 80009b8 + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE2); + 80009c2: f44f 6080 mov.w r0, #1024 ; 0x400 + 80009c6: f7ff fefd bl 80007c4 + LL_RCC_MSI_Enable(); + 80009ca: f7ff fd49 bl 8000460 + + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) + 80009ce: bf00 nop + 80009d0: f7ff fd56 bl 8000480 + 80009d4: 4603 mov r3, r0 + 80009d6: 2b01 cmp r3, #1 + 80009d8: d1fa bne.n 80009d0 + { + + } + + LL_PWR_EnableBkUpAccess(); + 80009da: f7ff ff07 bl 80007ec +// LL_RCC_ForceBackupDomainReset(); + LL_RCC_ReleaseBackupDomainReset(); + 80009de: f7ff fe31 bl 8000644 + LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); + 80009e2: 2000 movs r0, #0 + 80009e4: f7ff fd12 bl 800040c + + LL_RCC_MSI_EnableRangeSelection(); + 80009e8: f7ff fd6c bl 80004c4 + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); + 80009ec: 2060 movs r0, #96 ; 0x60 + 80009ee: f7ff fd79 bl 80004e4 + LL_RCC_MSI_SetCalibTrimming(0); + 80009f2: 2000 movs r0, #0 + 80009f4: f7ff fd8a bl 800050c + // LL_RCC_MSI_EnablePLLMode(); + + LL_RCC_LSE_Enable(); + 80009f8: f7ff fcf6 bl 80003e8 + + /* Wait till LSE is ready */ + while(LL_RCC_LSE_IsReady() != 1) + 80009fc: bf00 nop + 80009fe: f7ff fd1b bl 8000438 + 8000a02: 4603 mov r3, r0 + 8000a04: 2b01 cmp r3, #1 + 8000a06: d1fa bne.n 80009fe + { + + } + LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); + 8000a08: f44f 7080 mov.w r0, #256 ; 0x100 + 8000a0c: f7ff fdf2 bl 80005f4 + LL_RCC_EnableRTC(); + 8000a10: f7ff fe06 bl 8000620 + + LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); + 8000a14: f04f 7300 mov.w r3, #33554432 ; 0x2000000 + 8000a18: 2218 movs r2, #24 + 8000a1a: 2100 movs r1, #0 + 8000a1c: 2001 movs r0, #1 + 8000a1e: f7ff fe47 bl 80006b0 + LL_RCC_PLL_EnableDomain_SYS(); + 8000a22: f7ff fe65 bl 80006f0 + LL_RCC_PLL_Enable(); + 8000a26: f7ff fe1f bl 8000668 + + /* Wait till PLL is ready */ + while(LL_RCC_PLL_IsReady() != 1) + 8000a2a: bf00 nop + 8000a2c: f7ff fe2c bl 8000688 + 8000a30: 4603 mov r3, r0 + 8000a32: 2b01 cmp r3, #1 + 8000a34: d1fa bne.n 8000a2c + { + + } + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); + 8000a36: 2003 movs r0, #3 + 8000a38: f7ff fd7e bl 8000538 + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) + 8000a3c: bf00 nop + 8000a3e: f7ff fd8f bl 8000560 + 8000a42: 4603 mov r3, r0 + 8000a44: 2b0c cmp r3, #12 + 8000a46: d1fa bne.n 8000a3e + { + + } + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + 8000a48: 2000 movs r0, #0 + 8000a4a: f7ff fd97 bl 800057c + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + 8000a4e: 2000 movs r0, #0 + 8000a50: f7ff fda8 bl 80005a4 + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + 8000a54: 2000 movs r0, #0 + 8000a56: f7ff fdb9 bl 80005cc + LL_SetSystemCoreClock(24000000); + 8000a5a: 4804 ldr r0, [pc, #16] ; (8000a6c ) + 8000a5c: f000 fa5a bl 8000f14 + + /* Update the time base */ + if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) + 8000a60: 2000 movs r0, #0 + 8000a62: f000 f93f bl 8000ce4 + { + // Error_Handler(); + } +} + 8000a66: bf00 nop + 8000a68: bd80 pop {r7, pc} + 8000a6a: bf00 nop + 8000a6c: 016e3600 .word 0x016e3600 + +08000a70 : * @brief System Clock Configuration * @retval None * 24Mhz + RTC + LSE */ void SystemClock_Config_24M_LSE(void) { - 8000980: b580 push {r7, lr} - 8000982: af00 add r7, sp, #0 + 8000a70: b580 push {r7, lr} + 8000a72: af00 add r7, sp, #0 LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); - 8000984: f04f 5080 mov.w r0, #268435456 ; 0x10000000 - 8000988: f7ff fec2 bl 8000710 + 8000a74: f04f 5080 mov.w r0, #268435456 ; 0x10000000 + 8000a78: f7ff fe4a bl 8000710 LL_FLASH_SetLatency(LL_FLASH_LATENCY_1); - 800098c: 2001 movs r0, #1 - 800098e: f7ff fed7 bl 8000740 + 8000a7c: 2001 movs r0, #1 + 8000a7e: f7ff fe5f bl 8000740 while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_1) - 8000992: bf00 nop - 8000994: f7ff fee8 bl 8000768 - 8000998: 4603 mov r3, r0 - 800099a: 2b01 cmp r3, #1 - 800099c: d1fa bne.n 8000994 + 8000a82: bf00 nop + 8000a84: f7ff fe70 bl 8000768 + 8000a88: 4603 mov r3, r0 + 8000a8a: 2b01 cmp r3, #1 + 8000a8c: d1fa bne.n 8000a84 { } LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - 800099e: f44f 7000 mov.w r0, #512 ; 0x200 - 80009a2: f7ff ff0f bl 80007c4 + 8000a8e: f44f 7000 mov.w r0, #512 ; 0x200 + 8000a92: f7ff fe97 bl 80007c4 LL_RCC_MSI_Enable(); - 80009a6: f7ff fd5b bl 8000460 + 8000a96: f7ff fce3 bl 8000460 /* Wait till MSI is ready */ while(LL_RCC_MSI_IsReady() != 1) - 80009aa: bf00 nop - 80009ac: f7ff fd68 bl 8000480 - 80009b0: 4603 mov r3, r0 - 80009b2: 2b01 cmp r3, #1 - 80009b4: d1fa bne.n 80009ac + 8000a9a: bf00 nop + 8000a9c: f7ff fcf0 bl 8000480 + 8000aa0: 4603 mov r3, r0 + 8000aa2: 2b01 cmp r3, #1 + 8000aa4: d1fa bne.n 8000a9c { } LL_PWR_EnableBkUpAccess(); - 80009b6: f7ff ff19 bl 80007ec + 8000aa6: f7ff fea1 bl 80007ec // LL_RCC_ForceBackupDomainReset(); LL_RCC_ReleaseBackupDomainReset(); - 80009ba: f7ff fe43 bl 8000644 + 8000aaa: f7ff fdcb bl 8000644 LL_RCC_LSE_SetDriveCapability(LL_RCC_LSEDRIVE_LOW); - 80009be: 2000 movs r0, #0 - 80009c0: f7ff fd24 bl 800040c + 8000aae: 2000 movs r0, #0 + 8000ab0: f7ff fcac bl 800040c LL_RCC_MSI_EnableRangeSelection(); - 80009c4: f7ff fd7e bl 80004c4 + 8000ab4: f7ff fd06 bl 80004c4 LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - 80009c8: 2060 movs r0, #96 ; 0x60 - 80009ca: f7ff fd8b bl 80004e4 + 8000ab8: 2060 movs r0, #96 ; 0x60 + 8000aba: f7ff fd13 bl 80004e4 LL_RCC_MSI_SetCalibTrimming(0); - 80009ce: 2000 movs r0, #0 - 80009d0: f7ff fd9c bl 800050c + 8000abe: 2000 movs r0, #0 + 8000ac0: f7ff fd24 bl 800050c // LL_RCC_MSI_EnablePLLMode(); LL_RCC_LSE_Enable(); - 80009d4: f7ff fd08 bl 80003e8 + 8000ac4: f7ff fc90 bl 80003e8 /* Wait till LSE is ready */ while(LL_RCC_LSE_IsReady() != 1) - 80009d8: bf00 nop - 80009da: f7ff fd2d bl 8000438 - 80009de: 4603 mov r3, r0 - 80009e0: 2b01 cmp r3, #1 - 80009e2: d1fa bne.n 80009da + 8000ac8: bf00 nop + 8000aca: f7ff fcb5 bl 8000438 + 8000ace: 4603 mov r3, r0 + 8000ad0: 2b01 cmp r3, #1 + 8000ad2: d1fa bne.n 8000aca { } LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); - 80009e4: f44f 7080 mov.w r0, #256 ; 0x100 - 80009e8: f7ff fe04 bl 80005f4 + 8000ad4: f44f 7080 mov.w r0, #256 ; 0x100 + 8000ad8: f7ff fd8c bl 80005f4 LL_RCC_EnableRTC(); - 80009ec: f7ff fe18 bl 8000620 + 8000adc: f7ff fda0 bl 8000620 LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 24, LL_RCC_PLLR_DIV_4); - 80009f0: f04f 7300 mov.w r3, #33554432 ; 0x2000000 - 80009f4: 2218 movs r2, #24 - 80009f6: 2100 movs r1, #0 - 80009f8: 2001 movs r0, #1 - 80009fa: f7ff fe59 bl 80006b0 + 8000ae0: f04f 7300 mov.w r3, #33554432 ; 0x2000000 + 8000ae4: 2218 movs r2, #24 + 8000ae6: 2100 movs r1, #0 + 8000ae8: 2001 movs r0, #1 + 8000aea: f7ff fde1 bl 80006b0 LL_RCC_PLL_EnableDomain_SYS(); - 80009fe: f7ff fe77 bl 80006f0 + 8000aee: f7ff fdff bl 80006f0 LL_RCC_PLL_Enable(); - 8000a02: f7ff fe31 bl 8000668 + 8000af2: f7ff fdb9 bl 8000668 /* Wait till PLL is ready */ while(LL_RCC_PLL_IsReady() != 1) - 8000a06: bf00 nop - 8000a08: f7ff fe3e bl 8000688 - 8000a0c: 4603 mov r3, r0 - 8000a0e: 2b01 cmp r3, #1 - 8000a10: d1fa bne.n 8000a08 + 8000af6: bf00 nop + 8000af8: f7ff fdc6 bl 8000688 + 8000afc: 4603 mov r3, r0 + 8000afe: 2b01 cmp r3, #1 + 8000b00: d1fa bne.n 8000af8 { } LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - 8000a12: 2003 movs r0, #3 - 8000a14: f7ff fd90 bl 8000538 + 8000b02: 2003 movs r0, #3 + 8000b04: f7ff fd18 bl 8000538 /* Wait till System clock is ready */ while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - 8000a18: bf00 nop - 8000a1a: f7ff fda1 bl 8000560 - 8000a1e: 4603 mov r3, r0 - 8000a20: 2b0c cmp r3, #12 - 8000a22: d1fa bne.n 8000a1a + 8000b08: bf00 nop + 8000b0a: f7ff fd29 bl 8000560 + 8000b0e: 4603 mov r3, r0 + 8000b10: 2b0c cmp r3, #12 + 8000b12: d1fa bne.n 8000b0a { } LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - 8000a24: 2000 movs r0, #0 - 8000a26: f7ff fda9 bl 800057c + 8000b14: 2000 movs r0, #0 + 8000b16: f7ff fd31 bl 800057c LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - 8000a2a: 2000 movs r0, #0 - 8000a2c: f7ff fdba bl 80005a4 + 8000b1a: 2000 movs r0, #0 + 8000b1c: f7ff fd42 bl 80005a4 LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - 8000a30: 2000 movs r0, #0 - 8000a32: f7ff fdcb bl 80005cc + 8000b20: 2000 movs r0, #0 + 8000b22: f7ff fd53 bl 80005cc LL_SetSystemCoreClock(24000000); - 8000a36: 4804 ldr r0, [pc, #16] ; (8000a48 ) - 8000a38: f000 f9f4 bl 8000e24 + 8000b26: 4804 ldr r0, [pc, #16] ; (8000b38 ) + 8000b28: f000 f9f4 bl 8000f14 /* Update the time base */ if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - 8000a3c: 2000 movs r0, #0 - 8000a3e: f000 f8d9 bl 8000bf4 + 8000b2c: 2000 movs r0, #0 + 8000b2e: f000 f8d9 bl 8000ce4 { // Error_Handler(); } } - 8000a42: bf00 nop - 8000a44: bd80 pop {r7, pc} - 8000a46: bf00 nop - 8000a48: 016e3600 .word 0x016e3600 + 8000b32: bf00 nop + 8000b34: bd80 pop {r7, pc} + 8000b36: bf00 nop + 8000b38: 016e3600 .word 0x016e3600 -08000a4c : +08000b3c : void SystemClock_Config_80M(void) { - 8000a4c: b580 push {r7, lr} - 8000a4e: af00 add r7, sp, #0 + 8000b3c: b580 push {r7, lr} + 8000b3e: af00 add r7, sp, #0 LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); - 8000a50: 2004 movs r0, #4 - 8000a52: f7ff fe75 bl 8000740 + 8000b40: 2004 movs r0, #4 + 8000b42: f7ff fdfd bl 8000740 while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_4) - 8000a56: bf00 nop - 8000a58: f7ff fe86 bl 8000768 - 8000a5c: 4603 mov r3, r0 - 8000a5e: 2b04 cmp r3, #4 - 8000a60: d1fa bne.n 8000a58 + 8000b46: bf00 nop + 8000b48: f7ff fe0e bl 8000768 + 8000b4c: 4603 mov r3, r0 + 8000b4e: 2b04 cmp r3, #4 + 8000b50: d1fa bne.n 8000b48 { } LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); - 8000a62: f44f 7000 mov.w r0, #512 ; 0x200 - 8000a66: f7ff fead bl 80007c4 + 8000b52: f44f 7000 mov.w r0, #512 ; 0x200 + 8000b56: f7ff fe35 bl 80007c4 LL_RCC_MSI_Enable(); - 8000a6a: f7ff fcf9 bl 8000460 + 8000b5a: f7ff fc81 bl 8000460 /* Wait till MSI is ready */ while(LL_RCC_MSI_IsReady() != 1) - 8000a6e: bf00 nop - 8000a70: f7ff fd06 bl 8000480 - 8000a74: 4603 mov r3, r0 - 8000a76: 2b01 cmp r3, #1 - 8000a78: d1fa bne.n 8000a70 + 8000b5e: bf00 nop + 8000b60: f7ff fc8e bl 8000480 + 8000b64: 4603 mov r3, r0 + 8000b66: 2b01 cmp r3, #1 + 8000b68: d1fa bne.n 8000b60 { } LL_RCC_MSI_EnableRangeSelection(); - 8000a7a: f7ff fd23 bl 80004c4 + 8000b6a: f7ff fcab bl 80004c4 LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_6); - 8000a7e: 2060 movs r0, #96 ; 0x60 - 8000a80: f7ff fd30 bl 80004e4 + 8000b6e: 2060 movs r0, #96 ; 0x60 + 8000b70: f7ff fcb8 bl 80004e4 LL_RCC_MSI_SetCalibTrimming(0); - 8000a84: 2000 movs r0, #0 - 8000a86: f7ff fd41 bl 800050c + 8000b74: 2000 movs r0, #0 + 8000b76: f7ff fcc9 bl 800050c LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_MSI, LL_RCC_PLLM_DIV_1, 40, LL_RCC_PLLR_DIV_2); - 8000a8a: 2300 movs r3, #0 - 8000a8c: 2228 movs r2, #40 ; 0x28 - 8000a8e: 2100 movs r1, #0 - 8000a90: 2001 movs r0, #1 - 8000a92: f7ff fe0d bl 80006b0 + 8000b7a: 2300 movs r3, #0 + 8000b7c: 2228 movs r2, #40 ; 0x28 + 8000b7e: 2100 movs r1, #0 + 8000b80: 2001 movs r0, #1 + 8000b82: f7ff fd95 bl 80006b0 LL_RCC_PLL_EnableDomain_SYS(); - 8000a96: f7ff fe2b bl 80006f0 + 8000b86: f7ff fdb3 bl 80006f0 LL_RCC_PLL_Enable(); - 8000a9a: f7ff fde5 bl 8000668 + 8000b8a: f7ff fd6d bl 8000668 /* Wait till PLL is ready */ while(LL_RCC_PLL_IsReady() != 1) - 8000a9e: bf00 nop - 8000aa0: f7ff fdf2 bl 8000688 - 8000aa4: 4603 mov r3, r0 - 8000aa6: 2b01 cmp r3, #1 - 8000aa8: d1fa bne.n 8000aa0 + 8000b8e: bf00 nop + 8000b90: f7ff fd7a bl 8000688 + 8000b94: 4603 mov r3, r0 + 8000b96: 2b01 cmp r3, #1 + 8000b98: d1fa bne.n 8000b90 { } LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); - 8000aaa: 2003 movs r0, #3 - 8000aac: f7ff fd44 bl 8000538 + 8000b9a: 2003 movs r0, #3 + 8000b9c: f7ff fccc bl 8000538 /* Wait till System clock is ready */ while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) - 8000ab0: bf00 nop - 8000ab2: f7ff fd55 bl 8000560 - 8000ab6: 4603 mov r3, r0 - 8000ab8: 2b0c cmp r3, #12 - 8000aba: d1fa bne.n 8000ab2 + 8000ba0: bf00 nop + 8000ba2: f7ff fcdd bl 8000560 + 8000ba6: 4603 mov r3, r0 + 8000ba8: 2b0c cmp r3, #12 + 8000baa: d1fa bne.n 8000ba2 { } LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); - 8000abc: 2000 movs r0, #0 - 8000abe: f7ff fd5d bl 800057c + 8000bac: 2000 movs r0, #0 + 8000bae: f7ff fce5 bl 800057c LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); - 8000ac2: 2000 movs r0, #0 - 8000ac4: f7ff fd6e bl 80005a4 + 8000bb2: 2000 movs r0, #0 + 8000bb4: f7ff fcf6 bl 80005a4 LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); - 8000ac8: 2000 movs r0, #0 - 8000aca: f7ff fd7f bl 80005cc + 8000bb8: 2000 movs r0, #0 + 8000bba: f7ff fd07 bl 80005cc LL_SetSystemCoreClock(80000000); - 8000ace: 4804 ldr r0, [pc, #16] ; (8000ae0 ) - 8000ad0: f000 f9a8 bl 8000e24 + 8000bbe: 4804 ldr r0, [pc, #16] ; (8000bd0 ) + 8000bc0: f000 f9a8 bl 8000f14 /* Update the time base */ if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - 8000ad4: 2000 movs r0, #0 - 8000ad6: f000 f88d bl 8000bf4 + 8000bc4: 2000 movs r0, #0 + 8000bc6: f000 f88d bl 8000ce4 { // Error_Handler(); } } - 8000ada: bf00 nop - 8000adc: bd80 pop {r7, pc} - 8000ade: bf00 nop - 8000ae0: 04c4b400 .word 0x04c4b400 + 8000bca: bf00 nop + 8000bcc: bd80 pop {r7, pc} + 8000bce: bf00 nop + 8000bd0: 04c4b400 .word 0x04c4b400 -08000ae4 : +08000bd4 : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { - 8000ae4: b480 push {r7} - 8000ae6: af00 add r7, sp, #0 + 8000bd4: b480 push {r7} + 8000bd6: af00 add r7, sp, #0 /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ /* USER CODE END NonMaskableInt_IRQn 1 */ } - 8000ae8: bf00 nop - 8000aea: 46bd mov sp, r7 - 8000aec: f85d 7b04 ldr.w r7, [sp], #4 - 8000af0: 4770 bx lr + 8000bd8: bf00 nop + 8000bda: 46bd mov sp, r7 + 8000bdc: f85d 7b04 ldr.w r7, [sp], #4 + 8000be0: 4770 bx lr -08000af2 : +08000be2 : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { - 8000af2: b480 push {r7} - 8000af4: af00 add r7, sp, #0 + 8000be2: b480 push {r7} + 8000be4: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) - 8000af6: e7fe b.n 8000af6 + 8000be6: e7fe b.n 8000be6 -08000af8 : +08000be8 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { - 8000af8: b480 push {r7} - 8000afa: af00 add r7, sp, #0 + 8000be8: b480 push {r7} + 8000bea: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) - 8000afc: e7fe b.n 8000afc + 8000bec: e7fe b.n 8000bec -08000afe : +08000bee : /** * @brief This function handles Prefetch fault, memory access fault. */ void BusFault_Handler(void) { - 8000afe: b480 push {r7} - 8000b00: af00 add r7, sp, #0 + 8000bee: b480 push {r7} + 8000bf0: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) - 8000b02: e7fe b.n 8000b02 + 8000bf2: e7fe b.n 8000bf2 -08000b04 : +08000bf4 : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { - 8000b04: b480 push {r7} - 8000b06: af00 add r7, sp, #0 + 8000bf4: b480 push {r7} + 8000bf6: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) - 8000b08: e7fe b.n 8000b08 + 8000bf8: e7fe b.n 8000bf8 -08000b0a : +08000bfa : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { - 8000b0a: b480 push {r7} - 8000b0c: af00 add r7, sp, #0 + 8000bfa: b480 push {r7} + 8000bfc: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } - 8000b0e: bf00 nop - 8000b10: 46bd mov sp, r7 - 8000b12: f85d 7b04 ldr.w r7, [sp], #4 - 8000b16: 4770 bx lr + 8000bfe: bf00 nop + 8000c00: 46bd mov sp, r7 + 8000c02: f85d 7b04 ldr.w r7, [sp], #4 + 8000c06: 4770 bx lr -08000b18 : +08000c08 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { - 8000b18: b480 push {r7} - 8000b1a: af00 add r7, sp, #0 + 8000c08: b480 push {r7} + 8000c0a: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } - 8000b1c: bf00 nop - 8000b1e: 46bd mov sp, r7 - 8000b20: f85d 7b04 ldr.w r7, [sp], #4 - 8000b24: 4770 bx lr + 8000c0c: bf00 nop + 8000c0e: 46bd mov sp, r7 + 8000c10: f85d 7b04 ldr.w r7, [sp], #4 + 8000c14: 4770 bx lr -08000b26 : +08000c16 : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { - 8000b26: b480 push {r7} - 8000b28: af00 add r7, sp, #0 + 8000c16: b480 push {r7} + 8000c18: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } - 8000b2a: bf00 nop - 8000b2c: 46bd mov sp, r7 - 8000b2e: f85d 7b04 ldr.w r7, [sp], #4 - 8000b32: 4770 bx lr + 8000c1a: bf00 nop + 8000c1c: 46bd mov sp, r7 + 8000c1e: f85d 7b04 ldr.w r7, [sp], #4 + 8000c22: 4770 bx lr -08000b34 : +08000c24 : * @param None * @retval None */ void SystemInit(void) { - 8000b34: b480 push {r7} - 8000b36: af00 add r7, sp, #0 + 8000c24: b480 push {r7} + 8000c26: af00 add r7, sp, #0 /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ - 8000b38: 4b17 ldr r3, [pc, #92] ; (8000b98 ) - 8000b3a: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 8000b3e: 4a16 ldr r2, [pc, #88] ; (8000b98 ) - 8000b40: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 - 8000b44: f8c2 3088 str.w r3, [r2, #136] ; 0x88 + 8000c28: 4b17 ldr r3, [pc, #92] ; (8000c88 ) + 8000c2a: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 8000c2e: 4a16 ldr r2, [pc, #88] ; (8000c88 ) + 8000c30: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 + 8000c34: f8c2 3088 str.w r3, [r2, #136] ; 0x88 #endif /* Reset the RCC clock configuration to the default reset state ------------*/ /* Set MSION bit */ RCC->CR |= RCC_CR_MSION; - 8000b48: 4b14 ldr r3, [pc, #80] ; (8000b9c ) - 8000b4a: 681b ldr r3, [r3, #0] - 8000b4c: 4a13 ldr r2, [pc, #76] ; (8000b9c ) - 8000b4e: f043 0301 orr.w r3, r3, #1 - 8000b52: 6013 str r3, [r2, #0] + 8000c38: 4b14 ldr r3, [pc, #80] ; (8000c8c ) + 8000c3a: 681b ldr r3, [r3, #0] + 8000c3c: 4a13 ldr r2, [pc, #76] ; (8000c8c ) + 8000c3e: f043 0301 orr.w r3, r3, #1 + 8000c42: 6013 str r3, [r2, #0] /* Reset CFGR register */ RCC->CFGR = 0x00000000U; - 8000b54: 4b11 ldr r3, [pc, #68] ; (8000b9c ) - 8000b56: 2200 movs r2, #0 - 8000b58: 609a str r2, [r3, #8] + 8000c44: 4b11 ldr r3, [pc, #68] ; (8000c8c ) + 8000c46: 2200 movs r2, #0 + 8000c48: 609a str r2, [r3, #8] /* Reset HSEON, CSSON , HSION, and PLLON bits */ RCC->CR &= 0xEAF6FFFFU; - 8000b5a: 4b10 ldr r3, [pc, #64] ; (8000b9c ) - 8000b5c: 681b ldr r3, [r3, #0] - 8000b5e: 4a0f ldr r2, [pc, #60] ; (8000b9c ) - 8000b60: f023 53a8 bic.w r3, r3, #352321536 ; 0x15000000 - 8000b64: f423 2310 bic.w r3, r3, #589824 ; 0x90000 - 8000b68: 6013 str r3, [r2, #0] + 8000c4a: 4b10 ldr r3, [pc, #64] ; (8000c8c ) + 8000c4c: 681b ldr r3, [r3, #0] + 8000c4e: 4a0f ldr r2, [pc, #60] ; (8000c8c ) + 8000c50: f023 53a8 bic.w r3, r3, #352321536 ; 0x15000000 + 8000c54: f423 2310 bic.w r3, r3, #589824 ; 0x90000 + 8000c58: 6013 str r3, [r2, #0] /* Reset PLLCFGR register */ RCC->PLLCFGR = 0x00001000U; - 8000b6a: 4b0c ldr r3, [pc, #48] ; (8000b9c ) - 8000b6c: f44f 5280 mov.w r2, #4096 ; 0x1000 - 8000b70: 60da str r2, [r3, #12] + 8000c5a: 4b0c ldr r3, [pc, #48] ; (8000c8c ) + 8000c5c: f44f 5280 mov.w r2, #4096 ; 0x1000 + 8000c60: 60da str r2, [r3, #12] /* Reset HSEBYP bit */ RCC->CR &= 0xFFFBFFFFU; - 8000b72: 4b0a ldr r3, [pc, #40] ; (8000b9c ) - 8000b74: 681b ldr r3, [r3, #0] - 8000b76: 4a09 ldr r2, [pc, #36] ; (8000b9c ) - 8000b78: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 8000b7c: 6013 str r3, [r2, #0] + 8000c62: 4b0a ldr r3, [pc, #40] ; (8000c8c ) + 8000c64: 681b ldr r3, [r3, #0] + 8000c66: 4a09 ldr r2, [pc, #36] ; (8000c8c ) + 8000c68: f423 2380 bic.w r3, r3, #262144 ; 0x40000 + 8000c6c: 6013 str r3, [r2, #0] /* Disable all interrupts */ RCC->CIER = 0x00000000U; - 8000b7e: 4b07 ldr r3, [pc, #28] ; (8000b9c ) - 8000b80: 2200 movs r2, #0 - 8000b82: 619a str r2, [r3, #24] + 8000c6e: 4b07 ldr r3, [pc, #28] ; (8000c8c ) + 8000c70: 2200 movs r2, #0 + 8000c72: 619a str r2, [r3, #24] /* Configure the Vector Table location add offset address ------------------*/ #ifdef VECT_TAB_SRAM SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ #else SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ - 8000b84: 4b04 ldr r3, [pc, #16] ; (8000b98 ) - 8000b86: f04f 6200 mov.w r2, #134217728 ; 0x8000000 - 8000b8a: 609a str r2, [r3, #8] + 8000c74: 4b04 ldr r3, [pc, #16] ; (8000c88 ) + 8000c76: f04f 6200 mov.w r2, #134217728 ; 0x8000000 + 8000c7a: 609a str r2, [r3, #8] #endif } - 8000b8c: bf00 nop - 8000b8e: 46bd mov sp, r7 - 8000b90: f85d 7b04 ldr.w r7, [sp], #4 - 8000b94: 4770 bx lr - 8000b96: bf00 nop - 8000b98: e000ed00 .word 0xe000ed00 - 8000b9c: 40021000 .word 0x40021000 + 8000c7c: bf00 nop + 8000c7e: 46bd mov sp, r7 + 8000c80: f85d 7b04 ldr.w r7, [sp], #4 + 8000c84: 4770 bx lr + 8000c86: bf00 nop + 8000c88: e000ed00 .word 0xe000ed00 + 8000c8c: 40021000 .word 0x40021000 -08000ba0 : +08000c90 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* Set stack pointer */ - 8000ba0: f8df d034 ldr.w sp, [pc, #52] ; 8000bd8 + 8000c90: f8df d034 ldr.w sp, [pc, #52] ; 8000cc8 /* Call the clock system initialization function.*/ bl SystemInit - 8000ba4: f7ff ffc6 bl 8000b34 + 8000c94: f7ff ffc6 bl 8000c24 /* Copy the data segment initializers from flash to SRAM */ movs r1, #0 - 8000ba8: 2100 movs r1, #0 + 8000c98: 2100 movs r1, #0 b LoopCopyDataInit - 8000baa: e003 b.n 8000bb4 + 8000c9a: e003 b.n 8000ca4 -08000bac : +08000c9c : CopyDataInit: ldr r3, =_sidata - 8000bac: 4b0b ldr r3, [pc, #44] ; (8000bdc ) + 8000c9c: 4b0b ldr r3, [pc, #44] ; (8000ccc ) ldr r3, [r3, r1] - 8000bae: 585b ldr r3, [r3, r1] + 8000c9e: 585b ldr r3, [r3, r1] str r3, [r0, r1] - 8000bb0: 5043 str r3, [r0, r1] + 8000ca0: 5043 str r3, [r0, r1] adds r1, r1, #4 - 8000bb2: 3104 adds r1, #4 + 8000ca2: 3104 adds r1, #4 -08000bb4 : +08000ca4 : LoopCopyDataInit: ldr r0, =_sdata - 8000bb4: 480a ldr r0, [pc, #40] ; (8000be0 ) + 8000ca4: 480a ldr r0, [pc, #40] ; (8000cd0 ) ldr r3, =_edata - 8000bb6: 4b0b ldr r3, [pc, #44] ; (8000be4 ) + 8000ca6: 4b0b ldr r3, [pc, #44] ; (8000cd4 ) adds r2, r0, r1 - 8000bb8: 1842 adds r2, r0, r1 + 8000ca8: 1842 adds r2, r0, r1 cmp r2, r3 - 8000bba: 429a cmp r2, r3 + 8000caa: 429a cmp r2, r3 bcc CopyDataInit - 8000bbc: d3f6 bcc.n 8000bac + 8000cac: d3f6 bcc.n 8000c9c ldr r2, =_sbss - 8000bbe: 4a0a ldr r2, [pc, #40] ; (8000be8 ) + 8000cae: 4a0a ldr r2, [pc, #40] ; (8000cd8 ) b LoopFillZerobss - 8000bc0: e002 b.n 8000bc8 + 8000cb0: e002 b.n 8000cb8 -08000bc2 : +08000cb2 : /* Zero fill the bss segment. */ FillZerobss: movs r3, #0 - 8000bc2: 2300 movs r3, #0 + 8000cb2: 2300 movs r3, #0 str r3, [r2], #4 - 8000bc4: f842 3b04 str.w r3, [r2], #4 + 8000cb4: f842 3b04 str.w r3, [r2], #4 -08000bc8 : +08000cb8 : LoopFillZerobss: ldr r3, = _ebss - 8000bc8: 4b08 ldr r3, [pc, #32] ; (8000bec ) + 8000cb8: 4b08 ldr r3, [pc, #32] ; (8000cdc ) cmp r2, r3 - 8000bca: 429a cmp r2, r3 + 8000cba: 429a cmp r2, r3 bcc FillZerobss - 8000bcc: d3f9 bcc.n 8000bc2 + 8000cbc: d3f9 bcc.n 8000cb2 /* Call static constructors */ bl __libc_init_array - 8000bce: f000 f939 bl 8000e44 <__libc_init_array> + 8000cbe: f000 f939 bl 8000f34 <__libc_init_array> /* Call the application's entry point.*/ bl main - 8000bd2: f7ff fe63 bl 800089c
+ 8000cc2: f7ff fdf1 bl 80008a8
-08000bd6 : +08000cc6 : LoopForever: b LoopForever - 8000bd6: e7fe b.n 8000bd6 + 8000cc6: e7fe b.n 8000cc6 ldr sp, =_estack /* Set stack pointer */ - 8000bd8: 20018000 .word 0x20018000 + 8000cc8: 20018000 .word 0x20018000 ldr r3, =_sidata - 8000bdc: 08000eac .word 0x08000eac + 8000ccc: 08000f9c .word 0x08000f9c ldr r0, =_sdata - 8000be0: 20000000 .word 0x20000000 + 8000cd0: 20000000 .word 0x20000000 ldr r3, =_edata - 8000be4: 2000000c .word 0x2000000c + 8000cd4: 2000000c .word 0x2000000c ldr r2, =_sbss - 8000be8: 2000000c .word 0x2000000c + 8000cd8: 2000000c .word 0x2000000c ldr r3, = _ebss - 8000bec: 20000030 .word 0x20000030 + 8000cdc: 20000030 .word 0x20000030 -08000bf0 : +08000ce0 : * @retval : None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop - 8000bf0: e7fe b.n 8000bf0 + 8000ce0: e7fe b.n 8000ce0 ... -08000bf4 : +08000ce4 : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { - 8000bf4: b580 push {r7, lr} - 8000bf6: b084 sub sp, #16 - 8000bf8: af00 add r7, sp, #0 - 8000bfa: 6078 str r0, [r7, #4] + 8000ce4: b580 push {r7, lr} + 8000ce6: b084 sub sp, #16 + 8000ce8: af00 add r7, sp, #0 + 8000cea: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 8000bfc: 2300 movs r3, #0 - 8000bfe: 73fb strb r3, [r7, #15] + 8000cec: 2300 movs r3, #0 + 8000cee: 73fb strb r3, [r7, #15] /* Check uwTickFreq for MisraC 2012 (even if uwTickFreq is a enum type that doesn't take the value zero)*/ if ((uint32_t)uwTickFreq != 0U) - 8000c00: 4b17 ldr r3, [pc, #92] ; (8000c60 ) - 8000c02: 781b ldrb r3, [r3, #0] - 8000c04: 2b00 cmp r3, #0 - 8000c06: d023 beq.n 8000c50 + 8000cf0: 4b17 ldr r3, [pc, #92] ; (8000d50 ) + 8000cf2: 781b ldrb r3, [r3, #0] + 8000cf4: 2b00 cmp r3, #0 + 8000cf6: d023 beq.n 8000d40 { /*Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / (uint32_t)uwTickFreq)) == 0U) - 8000c08: 4b16 ldr r3, [pc, #88] ; (8000c64 ) - 8000c0a: 681a ldr r2, [r3, #0] - 8000c0c: 4b14 ldr r3, [pc, #80] ; (8000c60 ) - 8000c0e: 781b ldrb r3, [r3, #0] - 8000c10: 4619 mov r1, r3 - 8000c12: f44f 737a mov.w r3, #1000 ; 0x3e8 - 8000c16: fbb3 f3f1 udiv r3, r3, r1 - 8000c1a: fbb2 f3f3 udiv r3, r2, r3 - 8000c1e: 4618 mov r0, r3 - 8000c20: f000 f8ce bl 8000dc0 - 8000c24: 4603 mov r3, r0 - 8000c26: 2b00 cmp r3, #0 - 8000c28: d10f bne.n 8000c4a + 8000cf8: 4b16 ldr r3, [pc, #88] ; (8000d54 ) + 8000cfa: 681a ldr r2, [r3, #0] + 8000cfc: 4b14 ldr r3, [pc, #80] ; (8000d50 ) + 8000cfe: 781b ldrb r3, [r3, #0] + 8000d00: 4619 mov r1, r3 + 8000d02: f44f 737a mov.w r3, #1000 ; 0x3e8 + 8000d06: fbb3 f3f1 udiv r3, r3, r1 + 8000d0a: fbb2 f3f3 udiv r3, r2, r3 + 8000d0e: 4618 mov r0, r3 + 8000d10: f000 f8ce bl 8000eb0 + 8000d14: 4603 mov r3, r0 + 8000d16: 2b00 cmp r3, #0 + 8000d18: d10f bne.n 8000d3a { /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) - 8000c2a: 687b ldr r3, [r7, #4] - 8000c2c: 2b0f cmp r3, #15 - 8000c2e: d809 bhi.n 8000c44 + 8000d1a: 687b ldr r3, [r7, #4] + 8000d1c: 2b0f cmp r3, #15 + 8000d1e: d809 bhi.n 8000d34 { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); - 8000c30: 2200 movs r2, #0 - 8000c32: 6879 ldr r1, [r7, #4] - 8000c34: f04f 30ff mov.w r0, #4294967295 - 8000c38: f000 f8a6 bl 8000d88 + 8000d20: 2200 movs r2, #0 + 8000d22: 6879 ldr r1, [r7, #4] + 8000d24: f04f 30ff mov.w r0, #4294967295 + 8000d28: f000 f8a6 bl 8000e78 uwTickPrio = TickPriority; - 8000c3c: 4a0a ldr r2, [pc, #40] ; (8000c68 ) - 8000c3e: 687b ldr r3, [r7, #4] - 8000c40: 6013 str r3, [r2, #0] - 8000c42: e007 b.n 8000c54 + 8000d2c: 4a0a ldr r2, [pc, #40] ; (8000d58 ) + 8000d2e: 687b ldr r3, [r7, #4] + 8000d30: 6013 str r3, [r2, #0] + 8000d32: e007 b.n 8000d44 } else { status = HAL_ERROR; - 8000c44: 2301 movs r3, #1 - 8000c46: 73fb strb r3, [r7, #15] - 8000c48: e004 b.n 8000c54 + 8000d34: 2301 movs r3, #1 + 8000d36: 73fb strb r3, [r7, #15] + 8000d38: e004 b.n 8000d44 } } else { status = HAL_ERROR; - 8000c4a: 2301 movs r3, #1 - 8000c4c: 73fb strb r3, [r7, #15] - 8000c4e: e001 b.n 8000c54 + 8000d3a: 2301 movs r3, #1 + 8000d3c: 73fb strb r3, [r7, #15] + 8000d3e: e001 b.n 8000d44 } } else { status = HAL_ERROR; - 8000c50: 2301 movs r3, #1 - 8000c52: 73fb strb r3, [r7, #15] + 8000d40: 2301 movs r3, #1 + 8000d42: 73fb strb r3, [r7, #15] } /* Return function status */ return status; - 8000c54: 7bfb ldrb r3, [r7, #15] + 8000d44: 7bfb ldrb r3, [r7, #15] } - 8000c56: 4618 mov r0, r3 - 8000c58: 3710 adds r7, #16 - 8000c5a: 46bd mov sp, r7 - 8000c5c: bd80 pop {r7, pc} - 8000c5e: bf00 nop - 8000c60: 20000008 .word 0x20000008 - 8000c64: 20000000 .word 0x20000000 - 8000c68: 20000004 .word 0x20000004 + 8000d46: 4618 mov r0, r3 + 8000d48: 3710 adds r7, #16 + 8000d4a: 46bd mov sp, r7 + 8000d4c: bd80 pop {r7, pc} + 8000d4e: bf00 nop + 8000d50: 20000008 .word 0x20000008 + 8000d54: 20000000 .word 0x20000000 + 8000d58: 20000004 .word 0x20000004 -08000c6c <__NVIC_GetPriorityGrouping>: +08000d5c <__NVIC_GetPriorityGrouping>: \brief Get Priority Grouping \details Reads the priority grouping field from the NVIC Interrupt Controller. \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). */ __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) { - 8000c6c: b480 push {r7} - 8000c6e: af00 add r7, sp, #0 + 8000d5c: b480 push {r7} + 8000d5e: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); - 8000c70: 4b04 ldr r3, [pc, #16] ; (8000c84 <__NVIC_GetPriorityGrouping+0x18>) - 8000c72: 68db ldr r3, [r3, #12] - 8000c74: 0a1b lsrs r3, r3, #8 - 8000c76: f003 0307 and.w r3, r3, #7 + 8000d60: 4b04 ldr r3, [pc, #16] ; (8000d74 <__NVIC_GetPriorityGrouping+0x18>) + 8000d62: 68db ldr r3, [r3, #12] + 8000d64: 0a1b lsrs r3, r3, #8 + 8000d66: f003 0307 and.w r3, r3, #7 } - 8000c7a: 4618 mov r0, r3 - 8000c7c: 46bd mov sp, r7 - 8000c7e: f85d 7b04 ldr.w r7, [sp], #4 - 8000c82: 4770 bx lr - 8000c84: e000ed00 .word 0xe000ed00 + 8000d6a: 4618 mov r0, r3 + 8000d6c: 46bd mov sp, r7 + 8000d6e: f85d 7b04 ldr.w r7, [sp], #4 + 8000d72: 4770 bx lr + 8000d74: e000ed00 .word 0xe000ed00 -08000c88 <__NVIC_SetPriority>: +08000d78 <__NVIC_SetPriority>: \param [in] IRQn Interrupt number. \param [in] priority Priority to set. \note The priority cannot be set for every processor exception. */ __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) { - 8000c88: b480 push {r7} - 8000c8a: b083 sub sp, #12 - 8000c8c: af00 add r7, sp, #0 - 8000c8e: 4603 mov r3, r0 - 8000c90: 6039 str r1, [r7, #0] - 8000c92: 71fb strb r3, [r7, #7] + 8000d78: b480 push {r7} + 8000d7a: b083 sub sp, #12 + 8000d7c: af00 add r7, sp, #0 + 8000d7e: 4603 mov r3, r0 + 8000d80: 6039 str r1, [r7, #0] + 8000d82: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 8000c94: f997 3007 ldrsb.w r3, [r7, #7] - 8000c98: 2b00 cmp r3, #0 - 8000c9a: db0a blt.n 8000cb2 <__NVIC_SetPriority+0x2a> + 8000d84: f997 3007 ldrsb.w r3, [r7, #7] + 8000d88: 2b00 cmp r3, #0 + 8000d8a: db0a blt.n 8000da2 <__NVIC_SetPriority+0x2a> { NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8000c9c: 683b ldr r3, [r7, #0] - 8000c9e: b2da uxtb r2, r3 - 8000ca0: 490c ldr r1, [pc, #48] ; (8000cd4 <__NVIC_SetPriority+0x4c>) - 8000ca2: f997 3007 ldrsb.w r3, [r7, #7] - 8000ca6: 0112 lsls r2, r2, #4 - 8000ca8: b2d2 uxtb r2, r2 - 8000caa: 440b add r3, r1 - 8000cac: f883 2300 strb.w r2, [r3, #768] ; 0x300 + 8000d8c: 683b ldr r3, [r7, #0] + 8000d8e: b2da uxtb r2, r3 + 8000d90: 490c ldr r1, [pc, #48] ; (8000dc4 <__NVIC_SetPriority+0x4c>) + 8000d92: f997 3007 ldrsb.w r3, [r7, #7] + 8000d96: 0112 lsls r2, r2, #4 + 8000d98: b2d2 uxtb r2, r2 + 8000d9a: 440b add r3, r1 + 8000d9c: f883 2300 strb.w r2, [r3, #768] ; 0x300 } else { SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); } } - 8000cb0: e00a b.n 8000cc8 <__NVIC_SetPriority+0x40> + 8000da0: e00a b.n 8000db8 <__NVIC_SetPriority+0x40> SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8000cb2: 683b ldr r3, [r7, #0] - 8000cb4: b2da uxtb r2, r3 - 8000cb6: 4908 ldr r1, [pc, #32] ; (8000cd8 <__NVIC_SetPriority+0x50>) - 8000cb8: 79fb ldrb r3, [r7, #7] - 8000cba: f003 030f and.w r3, r3, #15 - 8000cbe: 3b04 subs r3, #4 - 8000cc0: 0112 lsls r2, r2, #4 - 8000cc2: b2d2 uxtb r2, r2 - 8000cc4: 440b add r3, r1 - 8000cc6: 761a strb r2, [r3, #24] + 8000da2: 683b ldr r3, [r7, #0] + 8000da4: b2da uxtb r2, r3 + 8000da6: 4908 ldr r1, [pc, #32] ; (8000dc8 <__NVIC_SetPriority+0x50>) + 8000da8: 79fb ldrb r3, [r7, #7] + 8000daa: f003 030f and.w r3, r3, #15 + 8000dae: 3b04 subs r3, #4 + 8000db0: 0112 lsls r2, r2, #4 + 8000db2: b2d2 uxtb r2, r2 + 8000db4: 440b add r3, r1 + 8000db6: 761a strb r2, [r3, #24] } - 8000cc8: bf00 nop - 8000cca: 370c adds r7, #12 - 8000ccc: 46bd mov sp, r7 - 8000cce: f85d 7b04 ldr.w r7, [sp], #4 - 8000cd2: 4770 bx lr - 8000cd4: e000e100 .word 0xe000e100 - 8000cd8: e000ed00 .word 0xe000ed00 + 8000db8: bf00 nop + 8000dba: 370c adds r7, #12 + 8000dbc: 46bd mov sp, r7 + 8000dbe: f85d 7b04 ldr.w r7, [sp], #4 + 8000dc2: 4770 bx lr + 8000dc4: e000e100 .word 0xe000e100 + 8000dc8: e000ed00 .word 0xe000ed00 -08000cdc : +08000dcc : \param [in] PreemptPriority Preemptive priority value (starting from 0). \param [in] SubPriority Subpriority value (starting from 0). \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). */ __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) { - 8000cdc: b480 push {r7} - 8000cde: b089 sub sp, #36 ; 0x24 - 8000ce0: af00 add r7, sp, #0 - 8000ce2: 60f8 str r0, [r7, #12] - 8000ce4: 60b9 str r1, [r7, #8] - 8000ce6: 607a str r2, [r7, #4] + 8000dcc: b480 push {r7} + 8000dce: b089 sub sp, #36 ; 0x24 + 8000dd0: af00 add r7, sp, #0 + 8000dd2: 60f8 str r0, [r7, #12] + 8000dd4: 60b9 str r1, [r7, #8] + 8000dd6: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 8000ce8: 68fb ldr r3, [r7, #12] - 8000cea: f003 0307 and.w r3, r3, #7 - 8000cee: 61fb str r3, [r7, #28] + 8000dd8: 68fb ldr r3, [r7, #12] + 8000dda: f003 0307 and.w r3, r3, #7 + 8000dde: 61fb str r3, [r7, #28] uint32_t PreemptPriorityBits; uint32_t SubPriorityBits; PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); - 8000cf0: 69fb ldr r3, [r7, #28] - 8000cf2: f1c3 0307 rsb r3, r3, #7 - 8000cf6: 2b04 cmp r3, #4 - 8000cf8: bf28 it cs - 8000cfa: 2304 movcs r3, #4 - 8000cfc: 61bb str r3, [r7, #24] + 8000de0: 69fb ldr r3, [r7, #28] + 8000de2: f1c3 0307 rsb r3, r3, #7 + 8000de6: 2b04 cmp r3, #4 + 8000de8: bf28 it cs + 8000dea: 2304 movcs r3, #4 + 8000dec: 61bb str r3, [r7, #24] SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); - 8000cfe: 69fb ldr r3, [r7, #28] - 8000d00: 3304 adds r3, #4 - 8000d02: 2b06 cmp r3, #6 - 8000d04: d902 bls.n 8000d0c - 8000d06: 69fb ldr r3, [r7, #28] - 8000d08: 3b03 subs r3, #3 - 8000d0a: e000 b.n 8000d0e - 8000d0c: 2300 movs r3, #0 - 8000d0e: 617b str r3, [r7, #20] + 8000dee: 69fb ldr r3, [r7, #28] + 8000df0: 3304 adds r3, #4 + 8000df2: 2b06 cmp r3, #6 + 8000df4: d902 bls.n 8000dfc + 8000df6: 69fb ldr r3, [r7, #28] + 8000df8: 3b03 subs r3, #3 + 8000dfa: e000 b.n 8000dfe + 8000dfc: 2300 movs r3, #0 + 8000dfe: 617b str r3, [r7, #20] return ( ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 8000d10: f04f 32ff mov.w r2, #4294967295 - 8000d14: 69bb ldr r3, [r7, #24] - 8000d16: fa02 f303 lsl.w r3, r2, r3 - 8000d1a: 43da mvns r2, r3 - 8000d1c: 68bb ldr r3, [r7, #8] - 8000d1e: 401a ands r2, r3 - 8000d20: 697b ldr r3, [r7, #20] - 8000d22: 409a lsls r2, r3 + 8000e00: f04f 32ff mov.w r2, #4294967295 + 8000e04: 69bb ldr r3, [r7, #24] + 8000e06: fa02 f303 lsl.w r3, r2, r3 + 8000e0a: 43da mvns r2, r3 + 8000e0c: 68bb ldr r3, [r7, #8] + 8000e0e: 401a ands r2, r3 + 8000e10: 697b ldr r3, [r7, #20] + 8000e12: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) - 8000d24: f04f 31ff mov.w r1, #4294967295 - 8000d28: 697b ldr r3, [r7, #20] - 8000d2a: fa01 f303 lsl.w r3, r1, r3 - 8000d2e: 43d9 mvns r1, r3 - 8000d30: 687b ldr r3, [r7, #4] - 8000d32: 400b ands r3, r1 + 8000e14: f04f 31ff mov.w r1, #4294967295 + 8000e18: 697b ldr r3, [r7, #20] + 8000e1a: fa01 f303 lsl.w r3, r1, r3 + 8000e1e: 43d9 mvns r1, r3 + 8000e20: 687b ldr r3, [r7, #4] + 8000e22: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 8000d34: 4313 orrs r3, r2 + 8000e24: 4313 orrs r3, r2 ); } - 8000d36: 4618 mov r0, r3 - 8000d38: 3724 adds r7, #36 ; 0x24 - 8000d3a: 46bd mov sp, r7 - 8000d3c: f85d 7b04 ldr.w r7, [sp], #4 - 8000d40: 4770 bx lr + 8000e26: 4618 mov r0, r3 + 8000e28: 3724 adds r7, #36 ; 0x24 + 8000e2a: 46bd mov sp, r7 + 8000e2c: f85d 7b04 ldr.w r7, [sp], #4 + 8000e30: 4770 bx lr ... -08000d44 : +08000e34 : \note When the variable __Vendor_SysTickConfig is set to 1, then the function SysTick_Config is not included. In this case, the file device.h must contain a vendor-specific implementation of this function. */ __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { - 8000d44: b580 push {r7, lr} - 8000d46: b082 sub sp, #8 - 8000d48: af00 add r7, sp, #0 - 8000d4a: 6078 str r0, [r7, #4] + 8000e34: b580 push {r7, lr} + 8000e36: b082 sub sp, #8 + 8000e38: af00 add r7, sp, #0 + 8000e3a: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) - 8000d4c: 687b ldr r3, [r7, #4] - 8000d4e: 3b01 subs r3, #1 - 8000d50: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 - 8000d54: d301 bcc.n 8000d5a + 8000e3c: 687b ldr r3, [r7, #4] + 8000e3e: 3b01 subs r3, #1 + 8000e40: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 + 8000e44: d301 bcc.n 8000e4a { return (1UL); /* Reload value impossible */ - 8000d56: 2301 movs r3, #1 - 8000d58: e00f b.n 8000d7a + 8000e46: 2301 movs r3, #1 + 8000e48: e00f b.n 8000e6a } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ - 8000d5a: 4a0a ldr r2, [pc, #40] ; (8000d84 ) - 8000d5c: 687b ldr r3, [r7, #4] - 8000d5e: 3b01 subs r3, #1 - 8000d60: 6053 str r3, [r2, #4] + 8000e4a: 4a0a ldr r2, [pc, #40] ; (8000e74 ) + 8000e4c: 687b ldr r3, [r7, #4] + 8000e4e: 3b01 subs r3, #1 + 8000e50: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ - 8000d62: 210f movs r1, #15 - 8000d64: f04f 30ff mov.w r0, #4294967295 - 8000d68: f7ff ff8e bl 8000c88 <__NVIC_SetPriority> + 8000e52: 210f movs r1, #15 + 8000e54: f04f 30ff mov.w r0, #4294967295 + 8000e58: f7ff ff8e bl 8000d78 <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ - 8000d6c: 4b05 ldr r3, [pc, #20] ; (8000d84 ) - 8000d6e: 2200 movs r2, #0 - 8000d70: 609a str r2, [r3, #8] + 8000e5c: 4b05 ldr r3, [pc, #20] ; (8000e74 ) + 8000e5e: 2200 movs r2, #0 + 8000e60: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - 8000d72: 4b04 ldr r3, [pc, #16] ; (8000d84 ) - 8000d74: 2207 movs r2, #7 - 8000d76: 601a str r2, [r3, #0] + 8000e62: 4b04 ldr r3, [pc, #16] ; (8000e74 ) + 8000e64: 2207 movs r2, #7 + 8000e66: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ - 8000d78: 2300 movs r3, #0 + 8000e68: 2300 movs r3, #0 } - 8000d7a: 4618 mov r0, r3 - 8000d7c: 3708 adds r7, #8 - 8000d7e: 46bd mov sp, r7 - 8000d80: bd80 pop {r7, pc} - 8000d82: bf00 nop - 8000d84: e000e010 .word 0xe000e010 + 8000e6a: 4618 mov r0, r3 + 8000e6c: 3708 adds r7, #8 + 8000e6e: 46bd mov sp, r7 + 8000e70: bd80 pop {r7, pc} + 8000e72: bf00 nop + 8000e74: e000e010 .word 0xe000e010 -08000d88 : +08000e78 : * This parameter can be a value between 0 and 15 * A lower priority value indicates a higher priority. * @retval None */ void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) { - 8000d88: b580 push {r7, lr} - 8000d8a: b086 sub sp, #24 - 8000d8c: af00 add r7, sp, #0 - 8000d8e: 4603 mov r3, r0 - 8000d90: 60b9 str r1, [r7, #8] - 8000d92: 607a str r2, [r7, #4] - 8000d94: 73fb strb r3, [r7, #15] + 8000e78: b580 push {r7, lr} + 8000e7a: b086 sub sp, #24 + 8000e7c: af00 add r7, sp, #0 + 8000e7e: 4603 mov r3, r0 + 8000e80: 60b9 str r1, [r7, #8] + 8000e82: 607a str r2, [r7, #4] + 8000e84: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00; - 8000d96: 2300 movs r3, #0 - 8000d98: 617b str r3, [r7, #20] + 8000e86: 2300 movs r3, #0 + 8000e88: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_NVIC_SUB_PRIORITY(SubPriority)); assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority)); prioritygroup = NVIC_GetPriorityGrouping(); - 8000d9a: f7ff ff67 bl 8000c6c <__NVIC_GetPriorityGrouping> - 8000d9e: 6178 str r0, [r7, #20] + 8000e8a: f7ff ff67 bl 8000d5c <__NVIC_GetPriorityGrouping> + 8000e8e: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); - 8000da0: 687a ldr r2, [r7, #4] - 8000da2: 68b9 ldr r1, [r7, #8] - 8000da4: 6978 ldr r0, [r7, #20] - 8000da6: f7ff ff99 bl 8000cdc - 8000daa: 4602 mov r2, r0 - 8000dac: f997 300f ldrsb.w r3, [r7, #15] - 8000db0: 4611 mov r1, r2 - 8000db2: 4618 mov r0, r3 - 8000db4: f7ff ff68 bl 8000c88 <__NVIC_SetPriority> + 8000e90: 687a ldr r2, [r7, #4] + 8000e92: 68b9 ldr r1, [r7, #8] + 8000e94: 6978 ldr r0, [r7, #20] + 8000e96: f7ff ff99 bl 8000dcc + 8000e9a: 4602 mov r2, r0 + 8000e9c: f997 300f ldrsb.w r3, [r7, #15] + 8000ea0: 4611 mov r1, r2 + 8000ea2: 4618 mov r0, r3 + 8000ea4: f7ff ff68 bl 8000d78 <__NVIC_SetPriority> } - 8000db8: bf00 nop - 8000dba: 3718 adds r7, #24 - 8000dbc: 46bd mov sp, r7 - 8000dbe: bd80 pop {r7, pc} + 8000ea8: bf00 nop + 8000eaa: 3718 adds r7, #24 + 8000eac: 46bd mov sp, r7 + 8000eae: bd80 pop {r7, pc} -08000dc0 : +08000eb0 : * @param TicksNumb: Specifies the ticks Number of ticks between two interrupts. * @retval status: - 0 Function succeeded. * - 1 Function failed. */ uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb) { - 8000dc0: b580 push {r7, lr} - 8000dc2: b082 sub sp, #8 - 8000dc4: af00 add r7, sp, #0 - 8000dc6: 6078 str r0, [r7, #4] + 8000eb0: b580 push {r7, lr} + 8000eb2: b082 sub sp, #8 + 8000eb4: af00 add r7, sp, #0 + 8000eb6: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); - 8000dc8: 6878 ldr r0, [r7, #4] - 8000dca: f7ff ffbb bl 8000d44 - 8000dce: 4603 mov r3, r0 + 8000eb8: 6878 ldr r0, [r7, #4] + 8000eba: f7ff ffbb bl 8000e34 + 8000ebe: 4603 mov r3, r0 } - 8000dd0: 4618 mov r0, r3 - 8000dd2: 3708 adds r7, #8 - 8000dd4: 46bd mov sp, r7 - 8000dd6: bd80 pop {r7, pc} + 8000ec0: 4618 mov r0, r3 + 8000ec2: 3708 adds r7, #8 + 8000ec4: 46bd mov sp, r7 + 8000ec6: bd80 pop {r7, pc} -08000dd8 : +08000ec8 : * configuration by calling this function, for a delay use rather osDelay RTOS service. * @param Ticks Number of ticks * @retval None */ __STATIC_INLINE void LL_InitTick(uint32_t HCLKFrequency, uint32_t Ticks) { - 8000dd8: b480 push {r7} - 8000dda: b083 sub sp, #12 - 8000ddc: af00 add r7, sp, #0 - 8000dde: 6078 str r0, [r7, #4] - 8000de0: 6039 str r1, [r7, #0] + 8000ec8: b480 push {r7} + 8000eca: b083 sub sp, #12 + 8000ecc: af00 add r7, sp, #0 + 8000ece: 6078 str r0, [r7, #4] + 8000ed0: 6039 str r1, [r7, #0] /* Configure the SysTick to have interrupt in 1ms time base */ SysTick->LOAD = (uint32_t)((HCLKFrequency / Ticks) - 1UL); /* set reload register */ - 8000de2: 687a ldr r2, [r7, #4] - 8000de4: 683b ldr r3, [r7, #0] - 8000de6: fbb2 f3f3 udiv r3, r2, r3 - 8000dea: 4a07 ldr r2, [pc, #28] ; (8000e08 ) - 8000dec: 3b01 subs r3, #1 - 8000dee: 6053 str r3, [r2, #4] + 8000ed2: 687a ldr r2, [r7, #4] + 8000ed4: 683b ldr r3, [r7, #0] + 8000ed6: fbb2 f3f3 udiv r3, r2, r3 + 8000eda: 4a07 ldr r2, [pc, #28] ; (8000ef8 ) + 8000edc: 3b01 subs r3, #1 + 8000ede: 6053 str r3, [r2, #4] SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ - 8000df0: 4b05 ldr r3, [pc, #20] ; (8000e08 ) - 8000df2: 2200 movs r2, #0 - 8000df4: 609a str r2, [r3, #8] + 8000ee0: 4b05 ldr r3, [pc, #20] ; (8000ef8 ) + 8000ee2: 2200 movs r2, #0 + 8000ee4: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - 8000df6: 4b04 ldr r3, [pc, #16] ; (8000e08 ) - 8000df8: 2205 movs r2, #5 - 8000dfa: 601a str r2, [r3, #0] + 8000ee6: 4b04 ldr r3, [pc, #16] ; (8000ef8 ) + 8000ee8: 2205 movs r2, #5 + 8000eea: 601a str r2, [r3, #0] SysTick_CTRL_ENABLE_Msk; /* Enable the Systick Timer */ } - 8000dfc: bf00 nop - 8000dfe: 370c adds r7, #12 - 8000e00: 46bd mov sp, r7 - 8000e02: f85d 7b04 ldr.w r7, [sp], #4 - 8000e06: 4770 bx lr - 8000e08: e000e010 .word 0xe000e010 + 8000eec: bf00 nop + 8000eee: 370c adds r7, #12 + 8000ef0: 46bd mov sp, r7 + 8000ef2: f85d 7b04 ldr.w r7, [sp], #4 + 8000ef6: 4770 bx lr + 8000ef8: e000e010 .word 0xe000e010 -08000e0c : +08000efc : * @param HCLKFrequency HCLK frequency in Hz * @note HCLK frequency can be calculated thanks to RCC helper macro or function @ref LL_RCC_GetSystemClocksFreq * @retval None */ void LL_Init1msTick(uint32_t HCLKFrequency) { - 8000e0c: b580 push {r7, lr} - 8000e0e: b082 sub sp, #8 - 8000e10: af00 add r7, sp, #0 - 8000e12: 6078 str r0, [r7, #4] + 8000efc: b580 push {r7, lr} + 8000efe: b082 sub sp, #8 + 8000f00: af00 add r7, sp, #0 + 8000f02: 6078 str r0, [r7, #4] /* Use frequency provided in argument */ LL_InitTick(HCLKFrequency, 100U); - 8000e14: 2164 movs r1, #100 ; 0x64 - 8000e16: 6878 ldr r0, [r7, #4] - 8000e18: f7ff ffde bl 8000dd8 + 8000f04: 2164 movs r1, #100 ; 0x64 + 8000f06: 6878 ldr r0, [r7, #4] + 8000f08: f7ff ffde bl 8000ec8 } - 8000e1c: bf00 nop - 8000e1e: 3708 adds r7, #8 - 8000e20: 46bd mov sp, r7 - 8000e22: bd80 pop {r7, pc} + 8000f0c: bf00 nop + 8000f0e: 3708 adds r7, #8 + 8000f10: 46bd mov sp, r7 + 8000f12: bd80 pop {r7, pc} -08000e24 : +08000f14 : * @note Variable can be calculated also through SystemCoreClockUpdate function. * @param HCLKFrequency HCLK frequency in Hz (can be calculated thanks to RCC helper macro) * @retval None */ void LL_SetSystemCoreClock(uint32_t HCLKFrequency) { - 8000e24: b480 push {r7} - 8000e26: b083 sub sp, #12 - 8000e28: af00 add r7, sp, #0 - 8000e2a: 6078 str r0, [r7, #4] + 8000f14: b480 push {r7} + 8000f16: b083 sub sp, #12 + 8000f18: af00 add r7, sp, #0 + 8000f1a: 6078 str r0, [r7, #4] /* HCLK clock frequency */ SystemCoreClock = HCLKFrequency; - 8000e2c: 4a04 ldr r2, [pc, #16] ; (8000e40 ) - 8000e2e: 687b ldr r3, [r7, #4] - 8000e30: 6013 str r3, [r2, #0] + 8000f1c: 4a04 ldr r2, [pc, #16] ; (8000f30 ) + 8000f1e: 687b ldr r3, [r7, #4] + 8000f20: 6013 str r3, [r2, #0] } - 8000e32: bf00 nop - 8000e34: 370c adds r7, #12 - 8000e36: 46bd mov sp, r7 - 8000e38: f85d 7b04 ldr.w r7, [sp], #4 - 8000e3c: 4770 bx lr - 8000e3e: bf00 nop - 8000e40: 20000000 .word 0x20000000 + 8000f22: bf00 nop + 8000f24: 370c adds r7, #12 + 8000f26: 46bd mov sp, r7 + 8000f28: f85d 7b04 ldr.w r7, [sp], #4 + 8000f2c: 4770 bx lr + 8000f2e: bf00 nop + 8000f30: 20000000 .word 0x20000000 -08000e44 <__libc_init_array>: - 8000e44: b570 push {r4, r5, r6, lr} - 8000e46: 4e0d ldr r6, [pc, #52] ; (8000e7c <__libc_init_array+0x38>) - 8000e48: 4c0d ldr r4, [pc, #52] ; (8000e80 <__libc_init_array+0x3c>) - 8000e4a: 1ba4 subs r4, r4, r6 - 8000e4c: 10a4 asrs r4, r4, #2 - 8000e4e: 2500 movs r5, #0 - 8000e50: 42a5 cmp r5, r4 - 8000e52: d109 bne.n 8000e68 <__libc_init_array+0x24> - 8000e54: 4e0b ldr r6, [pc, #44] ; (8000e84 <__libc_init_array+0x40>) - 8000e56: 4c0c ldr r4, [pc, #48] ; (8000e88 <__libc_init_array+0x44>) - 8000e58: f000 f818 bl 8000e8c <_init> - 8000e5c: 1ba4 subs r4, r4, r6 - 8000e5e: 10a4 asrs r4, r4, #2 - 8000e60: 2500 movs r5, #0 - 8000e62: 42a5 cmp r5, r4 - 8000e64: d105 bne.n 8000e72 <__libc_init_array+0x2e> - 8000e66: bd70 pop {r4, r5, r6, pc} - 8000e68: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 8000e6c: 4798 blx r3 - 8000e6e: 3501 adds r5, #1 - 8000e70: e7ee b.n 8000e50 <__libc_init_array+0xc> - 8000e72: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 8000e76: 4798 blx r3 - 8000e78: 3501 adds r5, #1 - 8000e7a: e7f2 b.n 8000e62 <__libc_init_array+0x1e> - 8000e7c: 08000ea4 .word 0x08000ea4 - 8000e80: 08000ea4 .word 0x08000ea4 - 8000e84: 08000ea4 .word 0x08000ea4 - 8000e88: 08000ea8 .word 0x08000ea8 +08000f34 <__libc_init_array>: + 8000f34: b570 push {r4, r5, r6, lr} + 8000f36: 4e0d ldr r6, [pc, #52] ; (8000f6c <__libc_init_array+0x38>) + 8000f38: 4c0d ldr r4, [pc, #52] ; (8000f70 <__libc_init_array+0x3c>) + 8000f3a: 1ba4 subs r4, r4, r6 + 8000f3c: 10a4 asrs r4, r4, #2 + 8000f3e: 2500 movs r5, #0 + 8000f40: 42a5 cmp r5, r4 + 8000f42: d109 bne.n 8000f58 <__libc_init_array+0x24> + 8000f44: 4e0b ldr r6, [pc, #44] ; (8000f74 <__libc_init_array+0x40>) + 8000f46: 4c0c ldr r4, [pc, #48] ; (8000f78 <__libc_init_array+0x44>) + 8000f48: f000 f818 bl 8000f7c <_init> + 8000f4c: 1ba4 subs r4, r4, r6 + 8000f4e: 10a4 asrs r4, r4, #2 + 8000f50: 2500 movs r5, #0 + 8000f52: 42a5 cmp r5, r4 + 8000f54: d105 bne.n 8000f62 <__libc_init_array+0x2e> + 8000f56: bd70 pop {r4, r5, r6, pc} + 8000f58: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 8000f5c: 4798 blx r3 + 8000f5e: 3501 adds r5, #1 + 8000f60: e7ee b.n 8000f40 <__libc_init_array+0xc> + 8000f62: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 8000f66: 4798 blx r3 + 8000f68: 3501 adds r5, #1 + 8000f6a: e7f2 b.n 8000f52 <__libc_init_array+0x1e> + 8000f6c: 08000f94 .word 0x08000f94 + 8000f70: 08000f94 .word 0x08000f94 + 8000f74: 08000f94 .word 0x08000f94 + 8000f78: 08000f98 .word 0x08000f98 -08000e8c <_init>: - 8000e8c: b5f8 push {r3, r4, r5, r6, r7, lr} - 8000e8e: bf00 nop - 8000e90: bcf8 pop {r3, r4, r5, r6, r7} - 8000e92: bc08 pop {r3} - 8000e94: 469e mov lr, r3 - 8000e96: 4770 bx lr +08000f7c <_init>: + 8000f7c: b5f8 push {r3, r4, r5, r6, r7, lr} + 8000f7e: bf00 nop + 8000f80: bcf8 pop {r3, r4, r5, r6, r7} + 8000f82: bc08 pop {r3} + 8000f84: 469e mov lr, r3 + 8000f86: 4770 bx lr -08000e98 <_fini>: - 8000e98: b5f8 push {r3, r4, r5, r6, r7, lr} - 8000e9a: bf00 nop - 8000e9c: bcf8 pop {r3, r4, r5, r6, r7} - 8000e9e: bc08 pop {r3} - 8000ea0: 469e mov lr, r3 - 8000ea2: 4770 bx lr +08000f88 <_fini>: + 8000f88: b5f8 push {r3, r4, r5, r6, r7, lr} + 8000f8a: bf00 nop + 8000f8c: bcf8 pop {r3, r4, r5, r6, r7} + 8000f8e: bc08 pop {r3} + 8000f90: 469e mov lr, r3 + 8000f92: 4770 bx lr diff --git a/RealOne/Debug/RealOne.map b/RealOne/Debug/RealOne.map index 8b2ce65..a2f198b 100644 --- a/RealOne/Debug/RealOne.map +++ b/RealOne/Debug/RealOne.map @@ -3456,7 +3456,7 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte 0x0000000008000000 g_pfnVectors 0x0000000008000188 . = ALIGN (0x4) -.text 0x0000000008000188 0xd1c +.text 0x0000000008000188 0xe0c 0x0000000008000188 . = ALIGN (0x4) *(.text) .text 0x0000000008000188 0x40 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o @@ -3547,234 +3547,237 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte .text.LL_PWR_DisableBkUpAccess 0x000000000800080c 0x20 Core/Src/main.o .text.SysTick_Handler - 0x000000000800082c 0x70 Core/Src/main.o + 0x000000000800082c 0x7c Core/Src/main.o 0x000000000800082c SysTick_Handler - .text.main 0x000000000800089c 0xe4 Core/Src/main.o - 0x000000000800089c main + .text.main 0x00000000080008a8 0xfc Core/Src/main.o + 0x00000000080008a8 main + .text.SystemClock_Config_24M_LSE_FL3_VS2 + 0x00000000080009a4 0xcc Core/Src/main.o + 0x00000000080009a4 SystemClock_Config_24M_LSE_FL3_VS2 .text.SystemClock_Config_24M_LSE - 0x0000000008000980 0xcc Core/Src/main.o - 0x0000000008000980 SystemClock_Config_24M_LSE + 0x0000000008000a70 0xcc Core/Src/main.o + 0x0000000008000a70 SystemClock_Config_24M_LSE .text.SystemClock_Config_80M - 0x0000000008000a4c 0x98 Core/Src/main.o - 0x0000000008000a4c SystemClock_Config_80M + 0x0000000008000b3c 0x98 Core/Src/main.o + 0x0000000008000b3c SystemClock_Config_80M .text.NMI_Handler - 0x0000000008000ae4 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000ae4 NMI_Handler + 0x0000000008000bd4 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000bd4 NMI_Handler .text.HardFault_Handler - 0x0000000008000af2 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000af2 HardFault_Handler + 0x0000000008000be2 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000be2 HardFault_Handler .text.MemManage_Handler - 0x0000000008000af8 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000af8 MemManage_Handler + 0x0000000008000be8 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000be8 MemManage_Handler .text.BusFault_Handler - 0x0000000008000afe 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000afe BusFault_Handler + 0x0000000008000bee 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000bee BusFault_Handler .text.UsageFault_Handler - 0x0000000008000b04 0x6 Core/Src/stm32l4xx_it.o - 0x0000000008000b04 UsageFault_Handler + 0x0000000008000bf4 0x6 Core/Src/stm32l4xx_it.o + 0x0000000008000bf4 UsageFault_Handler .text.SVC_Handler - 0x0000000008000b0a 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000b0a SVC_Handler + 0x0000000008000bfa 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000bfa SVC_Handler .text.DebugMon_Handler - 0x0000000008000b18 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000b18 DebugMon_Handler + 0x0000000008000c08 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000c08 DebugMon_Handler .text.PendSV_Handler - 0x0000000008000b26 0xe Core/Src/stm32l4xx_it.o - 0x0000000008000b26 PendSV_Handler + 0x0000000008000c16 0xe Core/Src/stm32l4xx_it.o + 0x0000000008000c16 PendSV_Handler .text.SystemInit - 0x0000000008000b34 0x6c Core/Src/system_stm32l4xx.o - 0x0000000008000b34 SystemInit + 0x0000000008000c24 0x6c Core/Src/system_stm32l4xx.o + 0x0000000008000c24 SystemInit .text.Reset_Handler - 0x0000000008000ba0 0x50 Core/Startup/startup_stm32l476rgtx.o - 0x0000000008000ba0 Reset_Handler + 0x0000000008000c90 0x50 Core/Startup/startup_stm32l476rgtx.o + 0x0000000008000c90 Reset_Handler .text.Default_Handler - 0x0000000008000bf0 0x2 Core/Startup/startup_stm32l476rgtx.o - 0x0000000008000bf0 RTC_Alarm_IRQHandler - 0x0000000008000bf0 EXTI2_IRQHandler - 0x0000000008000bf0 TIM8_TRG_COM_IRQHandler - 0x0000000008000bf0 TIM8_CC_IRQHandler - 0x0000000008000bf0 TIM1_CC_IRQHandler - 0x0000000008000bf0 TSC_IRQHandler - 0x0000000008000bf0 TAMP_STAMP_IRQHandler - 0x0000000008000bf0 EXTI3_IRQHandler - 0x0000000008000bf0 LPTIM2_IRQHandler - 0x0000000008000bf0 DFSDM1_FLT1_IRQHandler - 0x0000000008000bf0 I2C3_ER_IRQHandler - 0x0000000008000bf0 DFSDM1_FLT2_IRQHandler - 0x0000000008000bf0 EXTI0_IRQHandler - 0x0000000008000bf0 I2C2_EV_IRQHandler - 0x0000000008000bf0 CAN1_RX0_IRQHandler - 0x0000000008000bf0 FPU_IRQHandler - 0x0000000008000bf0 TIM1_UP_TIM16_IRQHandler - 0x0000000008000bf0 ADC1_2_IRQHandler - 0x0000000008000bf0 SPI1_IRQHandler - 0x0000000008000bf0 TIM6_DAC_IRQHandler - 0x0000000008000bf0 TIM8_UP_IRQHandler - 0x0000000008000bf0 DMA2_Channel2_IRQHandler - 0x0000000008000bf0 DMA1_Channel4_IRQHandler - 0x0000000008000bf0 SAI2_IRQHandler - 0x0000000008000bf0 DFSDM1_FLT3_IRQHandler - 0x0000000008000bf0 USART3_IRQHandler - 0x0000000008000bf0 DMA1_Channel7_IRQHandler - 0x0000000008000bf0 CAN1_RX1_IRQHandler - 0x0000000008000bf0 LCD_IRQHandler - 0x0000000008000bf0 UART5_IRQHandler - 0x0000000008000bf0 ADC3_IRQHandler - 0x0000000008000bf0 TIM4_IRQHandler - 0x0000000008000bf0 DMA2_Channel1_IRQHandler - 0x0000000008000bf0 QUADSPI_IRQHandler - 0x0000000008000bf0 I2C1_EV_IRQHandler - 0x0000000008000bf0 DMA1_Channel6_IRQHandler - 0x0000000008000bf0 UART4_IRQHandler - 0x0000000008000bf0 DMA2_Channel4_IRQHandler - 0x0000000008000bf0 TIM3_IRQHandler - 0x0000000008000bf0 RCC_IRQHandler - 0x0000000008000bf0 DMA1_Channel1_IRQHandler - 0x0000000008000bf0 Default_Handler - 0x0000000008000bf0 DMA2_Channel7_IRQHandler - 0x0000000008000bf0 EXTI15_10_IRQHandler - 0x0000000008000bf0 TIM7_IRQHandler - 0x0000000008000bf0 SDMMC1_IRQHandler - 0x0000000008000bf0 TIM5_IRQHandler - 0x0000000008000bf0 I2C3_EV_IRQHandler - 0x0000000008000bf0 EXTI9_5_IRQHandler - 0x0000000008000bf0 RTC_WKUP_IRQHandler - 0x0000000008000bf0 PVD_PVM_IRQHandler - 0x0000000008000bf0 SPI2_IRQHandler - 0x0000000008000bf0 CAN1_TX_IRQHandler - 0x0000000008000bf0 DMA2_Channel5_IRQHandler - 0x0000000008000bf0 DMA1_Channel5_IRQHandler - 0x0000000008000bf0 EXTI4_IRQHandler - 0x0000000008000bf0 RNG_IRQHandler - 0x0000000008000bf0 TIM1_TRG_COM_TIM17_IRQHandler - 0x0000000008000bf0 DMA1_Channel3_IRQHandler - 0x0000000008000bf0 COMP_IRQHandler - 0x0000000008000bf0 WWDG_IRQHandler - 0x0000000008000bf0 LPUART1_IRQHandler - 0x0000000008000bf0 DMA2_Channel6_IRQHandler - 0x0000000008000bf0 TIM2_IRQHandler - 0x0000000008000bf0 EXTI1_IRQHandler - 0x0000000008000bf0 USART2_IRQHandler - 0x0000000008000bf0 DFSDM1_FLT0_IRQHandler - 0x0000000008000bf0 I2C2_ER_IRQHandler - 0x0000000008000bf0 DMA1_Channel2_IRQHandler - 0x0000000008000bf0 TIM8_BRK_IRQHandler - 0x0000000008000bf0 CAN1_SCE_IRQHandler - 0x0000000008000bf0 FLASH_IRQHandler - 0x0000000008000bf0 USART1_IRQHandler - 0x0000000008000bf0 OTG_FS_IRQHandler - 0x0000000008000bf0 SPI3_IRQHandler - 0x0000000008000bf0 I2C1_ER_IRQHandler - 0x0000000008000bf0 FMC_IRQHandler - 0x0000000008000bf0 SWPMI1_IRQHandler - 0x0000000008000bf0 LPTIM1_IRQHandler - 0x0000000008000bf0 SAI1_IRQHandler - 0x0000000008000bf0 DMA2_Channel3_IRQHandler - 0x0000000008000bf0 TIM1_BRK_TIM15_IRQHandler - *fill* 0x0000000008000bf2 0x2 + 0x0000000008000ce0 0x2 Core/Startup/startup_stm32l476rgtx.o + 0x0000000008000ce0 RTC_Alarm_IRQHandler + 0x0000000008000ce0 EXTI2_IRQHandler + 0x0000000008000ce0 TIM8_TRG_COM_IRQHandler + 0x0000000008000ce0 TIM8_CC_IRQHandler + 0x0000000008000ce0 TIM1_CC_IRQHandler + 0x0000000008000ce0 TSC_IRQHandler + 0x0000000008000ce0 TAMP_STAMP_IRQHandler + 0x0000000008000ce0 EXTI3_IRQHandler + 0x0000000008000ce0 LPTIM2_IRQHandler + 0x0000000008000ce0 DFSDM1_FLT1_IRQHandler + 0x0000000008000ce0 I2C3_ER_IRQHandler + 0x0000000008000ce0 DFSDM1_FLT2_IRQHandler + 0x0000000008000ce0 EXTI0_IRQHandler + 0x0000000008000ce0 I2C2_EV_IRQHandler + 0x0000000008000ce0 CAN1_RX0_IRQHandler + 0x0000000008000ce0 FPU_IRQHandler + 0x0000000008000ce0 TIM1_UP_TIM16_IRQHandler + 0x0000000008000ce0 ADC1_2_IRQHandler + 0x0000000008000ce0 SPI1_IRQHandler + 0x0000000008000ce0 TIM6_DAC_IRQHandler + 0x0000000008000ce0 TIM8_UP_IRQHandler + 0x0000000008000ce0 DMA2_Channel2_IRQHandler + 0x0000000008000ce0 DMA1_Channel4_IRQHandler + 0x0000000008000ce0 SAI2_IRQHandler + 0x0000000008000ce0 DFSDM1_FLT3_IRQHandler + 0x0000000008000ce0 USART3_IRQHandler + 0x0000000008000ce0 DMA1_Channel7_IRQHandler + 0x0000000008000ce0 CAN1_RX1_IRQHandler + 0x0000000008000ce0 LCD_IRQHandler + 0x0000000008000ce0 UART5_IRQHandler + 0x0000000008000ce0 ADC3_IRQHandler + 0x0000000008000ce0 TIM4_IRQHandler + 0x0000000008000ce0 DMA2_Channel1_IRQHandler + 0x0000000008000ce0 QUADSPI_IRQHandler + 0x0000000008000ce0 I2C1_EV_IRQHandler + 0x0000000008000ce0 DMA1_Channel6_IRQHandler + 0x0000000008000ce0 UART4_IRQHandler + 0x0000000008000ce0 DMA2_Channel4_IRQHandler + 0x0000000008000ce0 TIM3_IRQHandler + 0x0000000008000ce0 RCC_IRQHandler + 0x0000000008000ce0 DMA1_Channel1_IRQHandler + 0x0000000008000ce0 Default_Handler + 0x0000000008000ce0 DMA2_Channel7_IRQHandler + 0x0000000008000ce0 EXTI15_10_IRQHandler + 0x0000000008000ce0 TIM7_IRQHandler + 0x0000000008000ce0 SDMMC1_IRQHandler + 0x0000000008000ce0 TIM5_IRQHandler + 0x0000000008000ce0 I2C3_EV_IRQHandler + 0x0000000008000ce0 EXTI9_5_IRQHandler + 0x0000000008000ce0 RTC_WKUP_IRQHandler + 0x0000000008000ce0 PVD_PVM_IRQHandler + 0x0000000008000ce0 SPI2_IRQHandler + 0x0000000008000ce0 CAN1_TX_IRQHandler + 0x0000000008000ce0 DMA2_Channel5_IRQHandler + 0x0000000008000ce0 DMA1_Channel5_IRQHandler + 0x0000000008000ce0 EXTI4_IRQHandler + 0x0000000008000ce0 RNG_IRQHandler + 0x0000000008000ce0 TIM1_TRG_COM_TIM17_IRQHandler + 0x0000000008000ce0 DMA1_Channel3_IRQHandler + 0x0000000008000ce0 COMP_IRQHandler + 0x0000000008000ce0 WWDG_IRQHandler + 0x0000000008000ce0 LPUART1_IRQHandler + 0x0000000008000ce0 DMA2_Channel6_IRQHandler + 0x0000000008000ce0 TIM2_IRQHandler + 0x0000000008000ce0 EXTI1_IRQHandler + 0x0000000008000ce0 USART2_IRQHandler + 0x0000000008000ce0 DFSDM1_FLT0_IRQHandler + 0x0000000008000ce0 I2C2_ER_IRQHandler + 0x0000000008000ce0 DMA1_Channel2_IRQHandler + 0x0000000008000ce0 TIM8_BRK_IRQHandler + 0x0000000008000ce0 CAN1_SCE_IRQHandler + 0x0000000008000ce0 FLASH_IRQHandler + 0x0000000008000ce0 USART1_IRQHandler + 0x0000000008000ce0 OTG_FS_IRQHandler + 0x0000000008000ce0 SPI3_IRQHandler + 0x0000000008000ce0 I2C1_ER_IRQHandler + 0x0000000008000ce0 FMC_IRQHandler + 0x0000000008000ce0 SWPMI1_IRQHandler + 0x0000000008000ce0 LPTIM1_IRQHandler + 0x0000000008000ce0 SAI1_IRQHandler + 0x0000000008000ce0 DMA2_Channel3_IRQHandler + 0x0000000008000ce0 TIM1_BRK_TIM15_IRQHandler + *fill* 0x0000000008000ce2 0x2 .text.HAL_InitTick - 0x0000000008000bf4 0x78 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - 0x0000000008000bf4 HAL_InitTick + 0x0000000008000ce4 0x78 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + 0x0000000008000ce4 HAL_InitTick .text.__NVIC_GetPriorityGrouping - 0x0000000008000c6c 0x1c Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000d5c 0x1c Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .text.__NVIC_SetPriority - 0x0000000008000c88 0x54 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000d78 0x54 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .text.NVIC_EncodePriority - 0x0000000008000cdc 0x66 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - *fill* 0x0000000008000d42 0x2 + 0x0000000008000dcc 0x66 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + *fill* 0x0000000008000e32 0x2 .text.SysTick_Config - 0x0000000008000d44 0x44 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000e34 0x44 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .text.HAL_NVIC_SetPriority - 0x0000000008000d88 0x38 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - 0x0000000008000d88 HAL_NVIC_SetPriority + 0x0000000008000e78 0x38 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000e78 HAL_NVIC_SetPriority .text.HAL_SYSTICK_Config - 0x0000000008000dc0 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - 0x0000000008000dc0 HAL_SYSTICK_Config + 0x0000000008000eb0 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000008000eb0 HAL_SYSTICK_Config .text.LL_InitTick - 0x0000000008000dd8 0x34 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + 0x0000000008000ec8 0x34 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o .text.LL_Init1msTick - 0x0000000008000e0c 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o - 0x0000000008000e0c LL_Init1msTick + 0x0000000008000efc 0x18 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + 0x0000000008000efc LL_Init1msTick .text.LL_SetSystemCoreClock - 0x0000000008000e24 0x20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o - 0x0000000008000e24 LL_SetSystemCoreClock + 0x0000000008000f14 0x20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + 0x0000000008000f14 LL_SetSystemCoreClock .text.__libc_init_array - 0x0000000008000e44 0x48 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc_nano.a(lib_a-init.o) - 0x0000000008000e44 __libc_init_array + 0x0000000008000f34 0x48 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc_nano.a(lib_a-init.o) + 0x0000000008000f34 __libc_init_array *(.glue_7) - .glue_7 0x0000000008000e8c 0x0 linker stubs + .glue_7 0x0000000008000f7c 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0000000008000e8c 0x0 linker stubs + .glue_7t 0x0000000008000f7c 0x0 linker stubs *(.eh_frame) - .eh_frame 0x0000000008000e8c 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + .eh_frame 0x0000000008000f7c 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o *(.init) - .init 0x0000000008000e8c 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o - 0x0000000008000e8c _init - .init 0x0000000008000e90 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o + .init 0x0000000008000f7c 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o + 0x0000000008000f7c _init + .init 0x0000000008000f80 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o *(.fini) - .fini 0x0000000008000e98 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o - 0x0000000008000e98 _fini - .fini 0x0000000008000e9c 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o - 0x0000000008000ea4 . = ALIGN (0x4) - 0x0000000008000ea4 _etext = . + .fini 0x0000000008000f88 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o + 0x0000000008000f88 _fini + .fini 0x0000000008000f8c 0x8 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o + 0x0000000008000f94 . = ALIGN (0x4) + 0x0000000008000f94 _etext = . -.vfp11_veneer 0x0000000008000ea4 0x0 - .vfp11_veneer 0x0000000008000ea4 0x0 linker stubs +.vfp11_veneer 0x0000000008000f94 0x0 + .vfp11_veneer 0x0000000008000f94 0x0 linker stubs -.v4_bx 0x0000000008000ea4 0x0 - .v4_bx 0x0000000008000ea4 0x0 linker stubs +.v4_bx 0x0000000008000f94 0x0 + .v4_bx 0x0000000008000f94 0x0 linker stubs -.iplt 0x0000000008000ea4 0x0 - .iplt 0x0000000008000ea4 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o +.iplt 0x0000000008000f94 0x0 + .iplt 0x0000000008000f94 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o -.rel.dyn 0x0000000008000ea4 0x0 - .rel.iplt 0x0000000008000ea4 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o +.rel.dyn 0x0000000008000f94 0x0 + .rel.iplt 0x0000000008000f94 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o -.rodata 0x0000000008000ea4 0x0 - 0x0000000008000ea4 . = ALIGN (0x4) +.rodata 0x0000000008000f94 0x0 + 0x0000000008000f94 . = ALIGN (0x4) *(.rodata) *(.rodata*) - 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000f94 . = ALIGN (0x4) -.ARM.extab 0x0000000008000ea4 0x0 - 0x0000000008000ea4 . = ALIGN (0x4) +.ARM.extab 0x0000000008000f94 0x0 + 0x0000000008000f94 . = ALIGN (0x4) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000f94 . = ALIGN (0x4) -.ARM 0x0000000008000ea4 0x0 - 0x0000000008000ea4 . = ALIGN (0x4) - 0x0000000008000ea4 __exidx_start = . +.ARM 0x0000000008000f94 0x0 + 0x0000000008000f94 . = ALIGN (0x4) + 0x0000000008000f94 __exidx_start = . *(.ARM.exidx*) - 0x0000000008000ea4 __exidx_end = . - 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000f94 __exidx_end = . + 0x0000000008000f94 . = ALIGN (0x4) -.preinit_array 0x0000000008000ea4 0x0 - 0x0000000008000ea4 . = ALIGN (0x4) - 0x0000000008000ea4 PROVIDE (__preinit_array_start = .) +.preinit_array 0x0000000008000f94 0x0 + 0x0000000008000f94 . = ALIGN (0x4) + 0x0000000008000f94 PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0000000008000ea4 PROVIDE (__preinit_array_end = .) - 0x0000000008000ea4 . = ALIGN (0x4) + 0x0000000008000f94 PROVIDE (__preinit_array_end = .) + 0x0000000008000f94 . = ALIGN (0x4) -.init_array 0x0000000008000ea4 0x4 - 0x0000000008000ea4 . = ALIGN (0x4) - 0x0000000008000ea4 PROVIDE (__init_array_start = .) +.init_array 0x0000000008000f94 0x4 + 0x0000000008000f94 . = ALIGN (0x4) + 0x0000000008000f94 PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x0000000008000ea4 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o - 0x0000000008000ea8 PROVIDE (__init_array_end = .) - 0x0000000008000ea8 . = ALIGN (0x4) + .init_array 0x0000000008000f94 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + 0x0000000008000f98 PROVIDE (__init_array_end = .) + 0x0000000008000f98 . = ALIGN (0x4) -.fini_array 0x0000000008000ea8 0x4 - 0x0000000008000ea8 . = ALIGN (0x4) +.fini_array 0x0000000008000f98 0x4 + 0x0000000008000f98 . = ALIGN (0x4) [!provide] PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0000000008000ea8 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o + .fini_array 0x0000000008000f98 0x4 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o [!provide] PROVIDE (__fini_array_end = .) - 0x0000000008000eac . = ALIGN (0x4) - 0x0000000008000eac _sidata = LOADADDR (.data) + 0x0000000008000f9c . = ALIGN (0x4) + 0x0000000008000f9c _sidata = LOADADDR (.data) -.data 0x0000000020000000 0xc load address 0x0000000008000eac +.data 0x0000000020000000 0xc load address 0x0000000008000f9c 0x0000000020000000 . = ALIGN (0x4) 0x0000000020000000 _sdata = . *(.data) @@ -3792,11 +3795,11 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte *fill* 0x0000000020000009 0x3 0x000000002000000c _edata = . -.igot.plt 0x000000002000000c 0x0 load address 0x0000000008000eb8 +.igot.plt 0x000000002000000c 0x0 load address 0x0000000008000fa8 .igot.plt 0x000000002000000c 0x0 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o 0x000000002000000c . = ALIGN (0x4) -.bss 0x000000002000000c 0x24 load address 0x0000000008000eb8 +.bss 0x000000002000000c 0x24 load address 0x0000000008000fa8 0x000000002000000c _sbss = . 0x000000002000000c __bss_start__ = _sbss *(.bss) @@ -3816,7 +3819,7 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte 0x0000000020000030 __bss_end__ = _ebss ._user_heap_stack - 0x0000000020000030 0x600 load address 0x0000000008000eb8 + 0x0000000020000030 0x600 load address 0x0000000008000fa8 0x0000000020000030 . = ALIGN (0x8) [!provide] PROVIDE (end = .) 0x0000000020000030 PROVIDE (_end = .) @@ -3860,15 +3863,15 @@ LOAD c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.exte 0x000000000000023a 0x22 c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o OUTPUT(RealOne.elf elf32-littlearm) -.debug_info 0x0000000000000000 0x4bd6 +.debug_info 0x0000000000000000 0x4be7 .debug_info 0x0000000000000000 0x84a Core/Src/gpio.o - .debug_info 0x000000000000084a 0xfc4 Core/Src/main.o - .debug_info 0x000000000000180e 0x35e Core/Src/stm32l4xx_it.o - .debug_info 0x0000000000001b6c 0x727 Core/Src/system_stm32l4xx.o - .debug_info 0x0000000000002293 0x22 Core/Startup/startup_stm32l476rgtx.o - .debug_info 0x00000000000022b5 0xc20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - .debug_info 0x0000000000002ed5 0xf6d Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - .debug_info 0x0000000000003e42 0xd94 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_info 0x000000000000084a 0xfd5 Core/Src/main.o + .debug_info 0x000000000000181f 0x35e Core/Src/stm32l4xx_it.o + .debug_info 0x0000000000001b7d 0x727 Core/Src/system_stm32l4xx.o + .debug_info 0x00000000000022a4 0x22 Core/Startup/startup_stm32l476rgtx.o + .debug_info 0x00000000000022c6 0xc20 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_info 0x0000000000002ee6 0xf6d Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_info 0x0000000000003e53 0xd94 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o .debug_abbrev 0x0000000000000000 0xd51 .debug_abbrev 0x0000000000000000 0x233 Core/Src/gpio.o @@ -3880,33 +3883,33 @@ OUTPUT(RealOne.elf elf32-littlearm) .debug_abbrev 0x000000000000081f 0x2fa Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .debug_abbrev 0x0000000000000b19 0x238 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o -.debug_aranges 0x0000000000000000 0x5b8 +.debug_aranges 0x0000000000000000 0x5c0 .debug_aranges 0x0000000000000000 0x70 Core/Src/gpio.o .debug_aranges - 0x0000000000000070 0x120 Core/Src/main.o + 0x0000000000000070 0x128 Core/Src/main.o .debug_aranges - 0x0000000000000190 0x58 Core/Src/stm32l4xx_it.o + 0x0000000000000198 0x58 Core/Src/stm32l4xx_it.o .debug_aranges - 0x00000000000001e8 0x28 Core/Src/system_stm32l4xx.o + 0x00000000000001f0 0x28 Core/Src/system_stm32l4xx.o .debug_aranges - 0x0000000000000210 0x28 Core/Startup/startup_stm32l476rgtx.o + 0x0000000000000218 0x28 Core/Startup/startup_stm32l476rgtx.o .debug_aranges - 0x0000000000000238 0x130 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + 0x0000000000000240 0x130 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o .debug_aranges - 0x0000000000000368 0x118 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + 0x0000000000000370 0x118 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .debug_aranges - 0x0000000000000480 0x138 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + 0x0000000000000488 0x138 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o -.debug_ranges 0x0000000000000000 0x540 +.debug_ranges 0x0000000000000000 0x548 .debug_ranges 0x0000000000000000 0x60 Core/Src/gpio.o - .debug_ranges 0x0000000000000060 0x110 Core/Src/main.o - .debug_ranges 0x0000000000000170 0x48 Core/Src/stm32l4xx_it.o - .debug_ranges 0x00000000000001b8 0x18 Core/Src/system_stm32l4xx.o - .debug_ranges 0x00000000000001d0 0x20 Core/Startup/startup_stm32l476rgtx.o - .debug_ranges 0x00000000000001f0 0x120 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - .debug_ranges 0x0000000000000310 0x108 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - .debug_ranges 0x0000000000000418 0x128 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_ranges 0x0000000000000060 0x118 Core/Src/main.o + .debug_ranges 0x0000000000000178 0x48 Core/Src/stm32l4xx_it.o + .debug_ranges 0x00000000000001c0 0x18 Core/Src/system_stm32l4xx.o + .debug_ranges 0x00000000000001d8 0x20 Core/Startup/startup_stm32l476rgtx.o + .debug_ranges 0x00000000000001f8 0x120 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_ranges 0x0000000000000318 0x108 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_ranges 0x0000000000000420 0x128 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o .debug_macro 0x0000000000000000 0x26337 .debug_macro 0x0000000000000000 0x204 Core/Src/gpio.o @@ -3966,32 +3969,32 @@ OUTPUT(RealOne.elf elf32-littlearm) .debug_macro 0x0000000000025ffb 0x29b Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o .debug_macro 0x0000000000026296 0xa1 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o -.debug_line 0x0000000000000000 0x40fa +.debug_line 0x0000000000000000 0x4155 .debug_line 0x0000000000000000 0x7e6 Core/Src/gpio.o - .debug_line 0x00000000000007e6 0xae0 Core/Src/main.o - .debug_line 0x00000000000012c6 0x855 Core/Src/stm32l4xx_it.o - .debug_line 0x0000000000001b1b 0x6eb Core/Src/system_stm32l4xx.o - .debug_line 0x0000000000002206 0x87 Core/Startup/startup_stm32l476rgtx.o - .debug_line 0x000000000000228d 0x961 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - .debug_line 0x0000000000002bee 0x9e9 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - .debug_line 0x00000000000035d7 0xb23 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_line 0x00000000000007e6 0xb3b Core/Src/main.o + .debug_line 0x0000000000001321 0x855 Core/Src/stm32l4xx_it.o + .debug_line 0x0000000000001b76 0x6eb Core/Src/system_stm32l4xx.o + .debug_line 0x0000000000002261 0x87 Core/Startup/startup_stm32l476rgtx.o + .debug_line 0x00000000000022e8 0x961 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_line 0x0000000000002c49 0x9e9 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_line 0x0000000000003632 0xb23 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o -.debug_str 0x0000000000000000 0xee8c5 +.debug_str 0x0000000000000000 0xee8e8 .debug_str 0x0000000000000000 0xe3d91 Core/Src/gpio.o 0xe4dab (size before relaxing) - .debug_str 0x00000000000e3d91 0x8e76 Core/Src/main.o - 0xedac0 (size before relaxing) - .debug_str 0x00000000000ecc07 0xad Core/Src/stm32l4xx_it.o + .debug_str 0x00000000000e3d91 0x8e99 Core/Src/main.o + 0xedae3 (size before relaxing) + .debug_str 0x00000000000ecc2a 0xad Core/Src/stm32l4xx_it.o 0xed404 (size before relaxing) - .debug_str 0x00000000000eccb4 0x79 Core/Src/system_stm32l4xx.o + .debug_str 0x00000000000eccd7 0x79 Core/Src/system_stm32l4xx.o 0xe3959 (size before relaxing) - .debug_str 0x00000000000ecd2d 0x36 Core/Startup/startup_stm32l476rgtx.o + .debug_str 0x00000000000ecd50 0x36 Core/Startup/startup_stm32l476rgtx.o 0x62 (size before relaxing) - .debug_str 0x00000000000ecd63 0x9fa Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_str 0x00000000000ecd86 0x9fa Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o 0xe443d (size before relaxing) - .debug_str 0x00000000000ed75d 0x3a6 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_str 0x00000000000ed780 0x3a6 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o 0xe41ad (size before relaxing) - .debug_str 0x00000000000edb03 0xdc2 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_str 0x00000000000edb26 0xdc2 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o 0xea58d (size before relaxing) .comment 0x0000000000000000 0x7b @@ -4004,12 +4007,12 @@ OUTPUT(RealOne.elf elf32-littlearm) .comment 0x000000000000007b 0x7c Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o .comment 0x000000000000007b 0x7c Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o -.debug_frame 0x0000000000000000 0x15c0 +.debug_frame 0x0000000000000000 0x15dc .debug_frame 0x0000000000000000 0x1a0 Core/Src/gpio.o - .debug_frame 0x00000000000001a0 0x480 Core/Src/main.o - .debug_frame 0x0000000000000620 0xf0 Core/Src/stm32l4xx_it.o - .debug_frame 0x0000000000000710 0x58 Core/Src/system_stm32l4xx.o - .debug_frame 0x0000000000000768 0x498 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o - .debug_frame 0x0000000000000c00 0x498 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o - .debug_frame 0x0000000000001098 0x4fc Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o - .debug_frame 0x0000000000001594 0x2c c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc_nano.a(lib_a-init.o) + .debug_frame 0x00000000000001a0 0x49c Core/Src/main.o + .debug_frame 0x000000000000063c 0xf0 Core/Src/stm32l4xx_it.o + .debug_frame 0x000000000000072c 0x58 Core/Src/system_stm32l4xx.o + .debug_frame 0x0000000000000784 0x498 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o + .debug_frame 0x0000000000000c1c 0x498 Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o + .debug_frame 0x00000000000010b4 0x4fc Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_utils.o + .debug_frame 0x00000000000015b0 0x2c c:/st/stm32cubeide_1.4.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc_nano.a(lib_a-init.o)